Pasar información de estado a un trabajador de servicio antes de `instalar`

Antecedentes

Soy nuevo en los trabajadores de servicios pero estoy trabajando en unbiblioteca que pretende convertirse en "fuera de línea primero" (realmente, casi "solo fuera de línea") (FWIW, la intención es permitir a los consumidores de la biblioteca proporcionar configuración JSON que represente textos multilineales tabulares y obtener a cambio una aplicación que permita a sus usuarios para navegar por estos textos de una manera altamente personalizable por rangos de párrafo / verso).

Otros proyectos son instalar la biblioteca como una dependencia y luego proporcionar información a través de nuestra API de JavaScript, como la ruta de un archivo de configuración JSON que indica los archivos que nuestra aplicación consumirá para producir una aplicación (fuera de línea) para ellos.

Si bien sé que podríamos hacer cualquiera de los siguientes:

requerir que los usuarios proporcionen una ruta codificada desde la cual nuestro trabajador de servicioinstall script podría usarwaitUntil con su propia solicitud JSON para recuperar los archivos necesarios del usuarioomitir el servicio del trabajadorinstall paso del trabajador de servicio para el archivo JSON, y confíe enfetch eventos para actualizar el caché, proporcionando una pantalla alternativa si el usuario completó la instalación y se desconectó antes de que pudieran ocurrir las recuperaciones.Publique cierta información de estado de nuestro script principal en un servidor que el trabajador del servicio, una vez registrado, consultará antes de completar suinstall evento.

... pero todas las opciones parecen menos que ideales porque, respectivamente:

Los consumidores de nuestra biblioteca pueden preferir poder designar su propia ubicación para su configuración JSON.Dado que la configuración JSON designa archivos críticos para mostrar a sus usuarios algo útil, prefiero no permitir que se complete una instalación solo para decir que el usuario tiene que volver a conectarse para obtener el resto de los archivos si no pueden permanecer en línea después delinstall evento para ver todas las recuperaciones necesarias.Además de querer evitar más viajes al servidor y código adicional, preferiría que nuestro código esté tan orientado a la desconexión que pueda funcionar completamente en simples servidores de archivos estáticos.

Pregunta:

¿Hay alguna forma de pasar un mensaje o información de estado a un trabajador de servicio?antes de elinstall se produce un evento, ya sea como parte de la cadena de consulta de la URL del trabajador del servicio o mediante un evento de mensajería? El evento de mensajería incluso podría llegar técnicamente después delinstall el evento comienza siempre que pueda ocurrir antes de unwaitUntil dentro deinstall Esta completo.

Sé que podría probar esto yo mismo, pero me gustaría saber cuáles son las mejores prácticas de todos modos cuando los archivos críticos de la aplicación deben obtenerse dinámicamente como en bibliotecas como la nuestra.

Estoy adivinandoindexedDB podría ser la única alternativa aquí (es decir, guardar la información de configuración o la ruta de la configuración JSON en indexedDB, registrar un trabajador de servicio y recuperar los datos indexedDB desde elinstall evento)? Incluso esto no sería lo ideal, ya que dejo que los usuarios definan un espacio de nombres para su almacenamiento, pero necesito una forma para que también se transfiera al trabajador, o de lo contrario, podrían chocar varias aplicaciones de este tipo en el origen.

Respuestas a la pregunta(2)

Su respuesta a la pregunta