Situação
Queremos adicionar esta biblioteca externa logging JS à nossa Instância do Discourse para melhorar o fluxo de depuração, utilizando esse wrapper de logging leve que nos permite, por exemplo, configurar um nível de log via log.setLevel('debug').
Essa biblioteca externa deve estar disponível em todos os nossos plugins personalizados, Temas e Componentes de Tema instalados em nosso App.
Implementação
• Importar o JS via register_asset em vários Plugins importaria o arquivo JS múltiplas vezes?
• Existe uma biblioteca JS alternativa com funcionalidade semelhante após o Ember ter descontinuado seu utilitário de logging em favor do console.log?
Atualmente, seguimos o caminho abaixo para implementá-lo.
- Instalar um Plugin que importa o JS externo e torna a biblioteca JS disponível via objeto window (
window.log = log)
• Importar a biblioteca JS apenas uma vez
• Outros plugins/Temas/Componentes de Tema dependeriam desse Plugin, e coisas como plugins de código aberto forçariam os usuários a instalar ambos os plugins
Isso faz sentido ou você sugeriria uma abordagem diferente?