node-patch-packages
v1.0.2
Published
自定义脚本文件在pnpm i时自动化执行npm包补丁操作
Downloads
12
Readme
node-patch-packages
项目简介
node-patch-packages 是一个用于自动生成和应用 npm 依赖补丁的工具包。它支持在 monorepo 或普通前端项目中,自动生成 patch 文件并在安装依赖时自动应用补丁,极大简化了第三方包的定制和维护。
功能特性
- 一键生成指定依赖的 patch 补丁文件
- 支持多种包管理器(npm、pnpm、yarn、bun)
- 安装依赖时自动应用所有补丁
- 支持命令行和 Node.js API 两种用法
- 补丁文件自动清理无效 diff,兼容多平台 node_modules 结构
安装
npm install node-patch-packages --save-dev
# 或
pnpm add -D node-patch-packages快速上手
1. 配置 patch-list.json
在项目根目录下新建 patch-list.json,内容为需要自动 patch 的包名数组,例如:
["openapi-ts-request"]2. 生成补丁
npx gen-patch <包名>
# 例如
npx gen-patch openapi-ts-request会在项目根目录生成 patches/<包名>@<版本>.patch 文件。
3. 自动应用补丁
每次 npm install / pnpm install / yarn install 时,都会自动执行补丁应用,无需手动干预。
你也可以手动执行:
npx auto-apply进阶用法
作为 Node.js 模块调用
import { generatePatch, autoApply } from 'node-patch-packages'
generatePatch('openapi-ts-request')
autoApply()常见问题
Q: 为什么补丁没有生效?
A: 请确认patch-list.json配置正确,且补丁文件已生成在patches/目录下。Q: 支持哪些包管理器?
A: 支持 npm、pnpm、yarn、bun,自动识别并适配。Q: 如何自定义补丁目录或更多配置?
A: 可根据实际需求扩展patch-list.json或源码。
参与贡献
- Fork 本仓库
- 新建分支
- 提交代码
- 新建 Pull Request
License
MIT
