テーマコンポーネントへの ESM と CommonJS JavaScript のバンドル

最近、テーマコンポーネントを公開しました:

これは、npm パッケージ extract-timestamp の ESM インポートを行うものです。このパッケージは boundation を使ってスキャフォールディングされており、Node.js 用の CommonJS エディションと、ブラウザ用の ESM エディションを生成します。

テーマコンポーネントの JavaScript ファイル source/index.js は、依存関係である extract-timestamp を以下のようにインポートしています:

この build.bash ファイルは、テーマコンポーネントのロジックを含む source/index.js ファイルを Discourse 用の common/header.html へと変換するために使用されます:

このビルドは bash ./build.bash で実行するか、npm スクリプトワークフローを使用している場合は npm run build で実行します(以下参照):

その結果、以前にインポートされたものをバンドルして単一のファイルにパッケージ化した common/header.html ファイルが生成されます:

これは、独自にテーマコンポーネントを開発している他の人々にとっても役立つでしょう。

将来的には、この手順を自動化するために、boundation に Discourse テーマコンポーネント向けのファーストクラスのスキャフォールディングサポートを追加する予定です。

「いいね!」 3