mcpField
W
webpack-plugin-recipes

webpack-plugin-recipes

github.com/pproenca開発218122 回インストール11 週間前に更新
リポジトリ

webpack-plugin-recipes について

webpack 5 の課題に応じたプラグイン選びと実装を支援するレシピ集です。26 の実例に、動作するコード、解説、応用例、適用しない場合の指針を収録しています。

主な機能

  1. 01webpack 5 プラグインのレシピ26件
  2. 02課題別の6カテゴリ
  3. 03動作するプラグインコード
  4. 04設計の解説と応用例
  5. 05適用しない場合の指針

活用シーン

  1. 01インポートやシークレットのビルド検査
  2. 02マニフェストや仮想モジュールの生成
  3. 03webpack 出力の後続システムへの連携
  4. 04実践的なプラグインパターンの学習

インストール

コマンドをコピーしてターミナルで実行します。

$npx skills add https://github.com/pproenca/dot-skills --skill webpack-plugin-recipes

インストール後、Claude Code で/webpack-plugin-recipesを入力して読み込まれたか確認します。

同梱ファイル

SKILL.md と一緒にインストールされる参考資料やスクリプト。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
assets-add-cache-busting-query.md
assets-optimize-images.md
assets-pre-compress-gzip-brotli.md
assets-route-by-type.md
assets-skip-empty-chunks.md
dx-build-duration-report.md
dx-diff-changed-chunks.md
dx-notify-on-done.md
dx-open-browser-on-first-build.md
guard-bundle-budget.md
guard-forbidden-imports.md
guard-no-secrets-bundled.md
guard-required-env-vars.md
meta-asset-manifest.md
meta-inject-build-info.md
meta-license-notice.md
meta-sri-manifest.md
transform-banner-with-dynamic-content.md
transform-conditional-polyfill.md
transform-define-from-config.md
transform-replace-library.md
transform-strip-debug-helpers.md
virtual-barrel-from-directory.md
virtual-module-from-memory.md
virtual-routes-from-filesystem.md
virtual-types-from-runtime.md

詳細

dot-skills Webpack 5 プラグインのベストプラクティス

本番環境を想定した webpack 5 プラグインのクックブックです。解決する問題ごとに 26 個のレシピを整理しています。各レシピでは、まず明確な問題を提示し(「これがないと何が困るのか」)、素朴な非プラグイン方式を示したうえで、説明、バリエーション、「使わないほうがよいケース」のガイダンスとともに、動作するプラグインを完全な形で紹介します(60~150 行)。

webpack-plugin-authoring とあわせてご利用ください。authoring では、あらゆるプラグインを正しく作成する「方法」を解説し、レシピでは、特定の課題に対して「どの」プラグインを作成すべきかを解説します。各レシピでは、適用する authoring のルールを相互参照しています。

適用するタイミング

次のような場合に、これらのレシピを参照してください。

  • チームで「プラグインにすべきだと思う」ビルド時の問題(アーキテクチャルール、シークレットの漏えい防止、アセットの整理など)が繰り返し発生している
  • webpack の出力を後続システム(SSR サーバー、CDN、監視システムなど)と連携させる必要がある
  • 独自のプラグインを作成するか、既存のプラグインを採用するかを検討している。これらのレシピでは基本となるパターンを紹介しているため、適合性を判断できます
  • 別のバンドラーから移行しており、フレームワーク形式の機能(ファイルシステムルーティング、仮想モジュールなど)を再現する必要がある
  • 新しいエンジニアに webpack プラグインの作成方法を教えている。レシピでは現実的なエンドツーエンドの例を紹介しています

優先度別レシピカテゴリ

優先度カテゴリ影響度接頭辞
1ビルド時のガードレールCRITICALguard-
2ビルドメタデータとマニフェストHIGHmeta-
3仮想モジュールとコード生成HIGHvirtual-
4コード変換MEDIUM-HIGHtransform-
5開発者エクスペリエンスMEDIUMdx-
6アセットパイプラインMEDIUMassets-

クイックリファレンス

1. ビルド時のガードレール(CRITICAL)
  • guard-bundle-budget — エントリーごとに設定した gzip 圧縮後の予算を初期 JS が超えた場合、ビルドを失敗させます
  • guard-forbidden-imports — 禁止されたインポートがアーキテクチャの境界を越えた場合、ビルドを失敗させます
  • guard-required-env-vars — 必須の環境変数が不足している場合、ビルドを失敗させます
  • guard-no-secrets-bundled — シークレットらしき文字列がクライアントバンドルに漏れた場合、ビルドを失敗させます
2. ビルドメタデータとマニフェスト(HIGH)
  • meta-inject-build-info — DefinePlugin を使って __COMMIT__/__BUILD_TIME__ をソースに注入し、build-info.json を出力します
  • meta-asset-manifest — チャンクグループごとに、論理名 → ハッシュ付きファイル名を対応付けるマニフェストを出力します
  • meta-license-notice — node_modules/ ではなくモジュールグラフをたどって LICENSES.txt を生成します
  • meta-sri-manifest — CSP に準拠するため、アセットごとに SHA-384 SRI ハッシュを計算します
3. 仮想モジュールとコード生成(HIGH)
4. コード変換(中〜高)
5. 開発者エクスペリエンス(中)
  • dx-build-duration-report — ビルド時間を保存し、現在のビルドが中央値より30%以上遅い場合に警告します
  • dx-notify-on-done — ビルド完了時にデスクトップ通知(ローカル)と Slack Webhook(CI)を送信します
  • dx-diff-changed-chunks — リビルド間で実際に変更されたチャンクのみを表示します
  • dx-open-browser-on-first-build — 初回ビルドが成功した後に開発サーバーの URL を開きます(成功前には開きません)
6. アセットパイプライン(中)

使用方法

ユーザーが webpack の問題を説明した場合(またはプラグインを求めた場合):

  1. 問題のカテゴリを特定します(ガードレール?メタデータ?コード生成?変換?開発者エクスペリエンス?アセット?)
  2. 該当するレシピファイルを開き、適切なレシピかどうかを確認するため、まず Problem セクションを読みます
  3. 動作する出発点として Plugin セクションを使い、プロジェクトの具体的な要件に合わせて調整します
  4. How it works を読み、各設計上の判断の背景にある理由を確認します(作成ルールへの相互参照があります)
  5. 一般的な調整方法は Variations を確認し、適合性を確かめるために When NOT to use も確認します

プラグイン作成のパターンをより幅広く学ぶには、webpack-plugin-authoring スキルと組み合わせてください。そこにある44のルールでは、このスキルの各レシピで適用されている基礎的な API を学べます。

参照ファイル

ファイル説明
references/_sections.mdカテゴリの定義と影響レベル
assets/templates/_template.md新しいレシピを作成するためのテンプレート
metadata.jsonバージョンとソースへの参照

コメント