Añadir librería JS externa globalmente a todos los Plugins y Temas (Componentes)

Situación

Queremos agregar esta librería externa de logging JS a nuestra instancia de Discourse para mejorar el flujo de trabajo de depuración, utilizando este envoltorio ligero de registro que nos permite, por ejemplo, configurar un nivel de registro mediante log.setLevel('debug').

Esta librería externa debe estar disponible en todos nuestros plugins personalizados, temas y componentes de tema instalados en nuestra aplicación.

Implementación

• ¿Importar el JS mediante register_asset en varios plugins importaría el archivo JS múltiples veces?
• ¿Existe alguna librería JS alternativa con funcionalidad similar tras la descontinuación de la utilidad de registro de Ember en favor de console.log?

Actualmente hemos seguido el siguiente camino para implementarlo:

  1. Instalar un plugin que importe el JS externo y exponga la librería JS a través del objeto global (window.log = log)
    • Importar la librería JS solo una vez
    • Otros plugins/temas/componentes de tema dependerían de ese plugin, y cosas como los plugins de código abierto obligarían a los usuarios a instalar ambos plugins

¿Tiene esto sentido o sugerirías un enfoque diferente?

Esto me parece muy desacoplado… ¿por qué no crear un plugin o componente independiente que lo introduzca y luego asegurarte de que siempre se instale?

Sí, esa fue en realidad la solución que mencioné que estamos utilizando actualmente. Tener un plugin que importa el JS y otros plugins que lo usan dependerán de que este plugin esté instalado.

¡Gracias por tu respuesta!