Detección de cambios de componentes Glimmer no funciona: mutación de propiedades en arreglo @tracked

Puedes usar loadScript() para cargar JS, incluso si la URL proporcionada es una URL externa. Usar servicios externos como jsdelivr debería funcionar con esto.

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

...

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

Aunque no lo he probado exhaustivamente, una importación dinámica también debería funcionar.

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

Debo señalar que probablemente sea más seguro guardar los archivos NPM directamente en tu código en lugar de depender de una CDN externa, dependiendo de cuán crítico sea el JS. De manera similar, es posible que necesites hacer un poco de empaquetado y preprocesamiento antes de poder usarlo en el navegador.


En cuanto a si Immer funcionará con Discourse, no lo sé.