「esToyohime」というライブラリ生成器を作りました。バンドル処理には、esbuildを使用しています。
レポジトリ: https://github.com/nakasyou/esToyohime
ロゴはこんな感じです:
うさぎはcc0の画像から取ってきました。 Turbowarpで編集しました。
今、私は、KaguraJSというゲームフレームワークを作っています。 そのフレームワークを作るのに、必要だと考えたからです。
Rollup.js等も考えました。でも、私は、esToyohimeを作成しました。
なぜかというと、**node_modules
が大嫌い**だからです。
node_modules
は、依存ライブラリを追加するときの、npm i
をするたびに大きくなります。
node_modules
は、Node.jsで開発するときに、いつもストレスになっていました。
私の開発用のノートパソコンは、SSDで、いつも容量限界です。それが嫌なので、私はesToyohimeを作りました。
esToyohimeは、Denoで動きます。Denoは、**node_modules
を使いません**。
私にとって、まさに神でした。
Rollupは、Node.jsで動きます。それが嫌なので、esToyohimeを作りました。
Denoで開発するので、npmとはおさらばです。 package.jsonも必要ありません!
しかし、今あるJavaScriptプロジェクトのほとんどが、npmに登録されていると感じます。 npmに登録しなければ、いけないような気がします。
Denoが開発している、dntを内蔵しました! これにより、npmのパッケージとしても生成できます!
これは、ほとんど、esbuildのおかげで作ることが出来ました。esbuildのwatchをそのまま使っています。
コマンドライン引数を使って、そのままバンドルできます。
esToyohimeの設定ファイルが、build.ts
なら、deno run -A build.ts --build
でビルドできます。
でも、ちょっとめんどくさいですね。
なので、deno.json
のタスクランナーに登録すれば良いのです。
{
"tasks": {
"build": "deno run -A build.ts --build",
"dev": "deno run -A build.ts --watch",
"npm": "deno run -A build.ts --npm"
}
}
こうすれば、deno task build
ですみます。
こんな感じのものを作ってみました。 まだ使える段階ではありませんが、だんだんと成長させていきたいです。
以上。