loadScript() を使用すると、URL が外部 URL であっても JS を読み込むことができます。 jsdelivr のような外部サービスでも機能するはずです。
import loadScript from "discourse/lib/load-script";
...
loadScript(URL).then(() => {
// your code
})
広範囲にテストしたわけではありませんが、動的インポート も機能するはずです。
async function load() {
const {
default: myDefault,
foo,
bar,
} = await import(URL);
// rest of code
}
NPM ファイルを外部 CDN に依存するのではなく、コードに直接保存する方が安全である可能性が高いことに注意してください。これは、JS がどれほど重要かによって異なります。同様に、ブラウザで使用できるようになる前に、バンドルとプリプロセスを少し行う必要がある場合があります。
Immer が discourse で機能するかどうかについては、わかりません。