mcpField
W
webpack-plugin-authoring

webpack-plugin-authoring

github.com/pproenca开发218122 次安装11 周前更新
代码仓库

关于 webpack-plugin-authoring

用于编写和审查 webpack 5 插件的最佳实践技能,按八类组织了 44 条规则。面向需要处理钩子、资源、缓存、诊断、性能和打包的插件开发者。

主要功能

  1. 01涵盖八类插件主题的 44 条规则
  2. 02钩子选择与 tap 模式指南
  3. 03资源流水线和 source map 实践
  4. 04缓存、监视模式和生命周期指南
  5. 05选项验证与构建诊断
  6. 06性能、兼容性和打包建议

适用场景

  1. 01编写新的 webpack 5 插件
  2. 02审查插件的正确性和性能
  3. 03排查插件输出缺失或监视模式过期问题
  4. 04准备将插件发布到 npm

安装

复制下面的命令,在终端中运行。

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

安装后在 Claude Code 中输入/webpack-plugin-authoring确认已加载。

包含的文件

除 SKILL.md 外,安装时一起下载的参考资料和脚本。

AGENTS.md
metadata.json
assets/templates/
_template.md
references/
_sections.md
asset-buffer-not-source-for-binary.md
asset-content-hash-via-output-options.md
asset-delete-then-emit-loses-info.md
asset-emit-asset-not-direct-assignment.md
asset-preserve-source-maps.md
asset-set-info-metadata.md
asset-source-from-compiler-webpack.md
cache-add-file-dependencies.md
cache-build-dependencies-for-persistent-cache.md
cache-context-dependencies-for-directories.md
cache-missing-dependencies-for-optional-files.md
cache-use-input-file-system.md
compat-custom-hooks-via-weakmap.md
compat-export-shape-and-cjs-esm.md
compat-feature-detection-not-version-check.md
compat-use-compiler-webpack-namespace.md
compat-webpack-as-peer-dependency.md
diag-attach-loc-to-errors.md
diag-progress-reporting.md
diag-push-webpack-error-not-throw.md
diag-use-compilation-get-logger.md
diag-warnings-vs-errors-exit-codes.md
hook-bail-hook-return-semantics.md
hook-name-matches-class-name.md
hook-normal-module-factory-stages.md
hook-prefer-process-assets-over-emit.md

详细介绍

dot-skills Webpack 5 插件最佳实践

编写正确、高性能 webpack 5 插件的全面指南。包含 8 个类别中的 44 条规则(8 条 hook + 7 条 asset + 5 条 cache + 5 条 life + 4 条 schema + 5 条 diag + 5 条 perf + 5 条 compat = 44),按编写生命周期排序:hook 选择是基础,然后是 asset 操作、缓存和监视模式正确性、生命周期规范,接着是面向用户的问题(schema 验证、错误报告),最后是性能和打包。

这些模式源自 webpack/webpack、webpack-contrib 插件套件(mini-css-extract、terser、compression、copy、css-minimizer),以及 vercel/next.js 中 Next.js 的 webpack 集成。

适用场景

在以下情况下,参考这些规则:

  • 编写新插件(定义 apply(compiler)、选择要 tap 的 hook)
  • 检查现有插件代码的正确性或性能
  • 调试“为什么我的插件没有输出”——通常是 hook/stage 不匹配
  • 添加 asset 操作逻辑(processAssets、emitAsset、updateAsset)
  • 修复监视模式下的数据过时问题或持久缓存污染
  • 将插件从 webpack 4 迁移到 webpack 5(或同时支持两者)
  • 将插件发布到 npm(导出形式、peerDependencies、schema)

按优先级划分的规则类别

优先级类别影响前缀
1Hook 选择与 Tap 模式CRITICALhook-
2Asset 管线CRITICALasset-
3缓存与监视模式HIGHcache-
4插件生命周期与状态HIGHlife-
5Schema 与选项验证MEDIUM-HIGHschema-
6错误、警告与日志记录MEDIUM-HIGHdiag-
7性能与并行处理MEDIUMperf-
8兼容性与打包LOW-MEDIUMcompat-

快速参考

1. Hook 选择与 Tap 模式(CRITICAL)
2. 资源管线(关键)
3. 缓存与监视模式(高)
4. 插件生命周期与状态(高)
5. Schema 与选项验证(中高)
6. 错误、警告与日志记录(中高)
7. 性能与并行处理(中)
8. 兼容性与打包(低至中)

使用方法

编写或审查插件代码时,请查阅 AGENTS.md 中的相关类别,然后阅读对应的规则文件,了解完整模式及其依据。

参考文件

文件描述
references/_sections.md类别定义、影响级别、说明
assets/templates/_template.md编写新规则的模板
metadata.json版本、领域、来源参考

评论

支持 Markdown