Detecção de Alterações do Componente Glimmer Não Funciona - Mutando Propriedades em Array @tracked

Você pode usar loadScript() para carregar JS, mesmo que a URL fornecida seja uma URL externa. Usar serviços externos como jsdelivr deve funcionar com isso.

import loadScript from "discourse/lib/load-script";

...

loadScript(URL).then(() => {
   // seu código
})

Embora eu não tenha testado extensivamente, um import dinâmico também deve funcionar.

async function load() {
  const {
    default: myDefault,
    foo,
    bar,
  } = await import(URL);
  // resto do código
}

Devo notar que é provavelmente mais seguro salvar os arquivos NPM diretamente em seu código em vez de depender de uma CDN externa, dependendo de quão crítico o JS é. Da mesma forma, você pode precisar fazer um pouco de empacotamento e pré-processamento antes de poder usá-lo no navegador.


Quanto a saber se o Immer funcionará com o discourse, eu não sei.