How to ship javascript library with plugin?

Scusa per il necroing di questo thread, ma è qui che Google mi ha portato. Sto cercando da un paio d’ore di far caricare una libreria JS all’interno del mio plugin.

  • Nella cartella assets/javascripts della mia app, ho un file chiamato argdown-core.js.
  • Nel mio file plugin.rb, sto eseguendo register_asset 'javascripts/argdown-core.js'.
  • In assets/javascripts/discourse-markdown/argdown.js.es6, sto eseguendo import { argdown } from "argdown-core.js".

Ho provato molte varianti delle istruzioni sopra e continuo a ottenere Uncaught Error: Could not find module argdown-core.js imported from discourse/plugins/Argdown/discourse-markdown/argdown.

Alcune delle cose che ho provato:

  • Spostare il file in varie cartelle
  • Molte permutazioni sulla riga import
  • Aggiungere .es6 all’estensione del file - sembra che altri file JS abbiano bisogno di questo per funzionare
  • Aggiungere :server_side alla fine della mia riga register_asset in plugin.rb, dato che è lì che dovrebbe essere eseguito
  • Cercare altri plugin che richiedono librerie di terze parti - non riesco a trovarne nessuno che utilizzi strategie diverse dalle mie
  • Scavare nel codice di Discourse per cercare di capire il sistema di bundling

Probabilmente è una cosa semplice e mi sto perdendo qualcosa di ovvio. Qualcuno può aiutarmi?