searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

第三方npm包打补丁流程

2024-05-28 09:14:18
104
0

开发过程中可能遇到npm根据需求补丁场景可以原作者issuefork仓库代码修改合并请求即可

 

patch-package工具

patch-package"让应用程序作者能够立即对npm依赖进行修复并保持这些修复。

 

Set-up

In package.json

 "scripts": {
+  "postinstall": "patch-package"
 }
 

npm

npm i patch-package
 

yarn v1

yarn add patch-package postinstall-postinstall
 

patch-package"让应用程序作者能够立即对npm依赖进行修复并保持这些修复。

# fix a bug in one of your dependencies
vim node_modules/some-package/brokenFile.js

# run patch-package to create a .patch file
npx patch-package some-package

# commit the patch file to share the fix with your team
git add patches/some-package+3.14.15.patch
git commit -m "fix brokenFile.js in some-package"
 

patch-package创建的补丁在你使用npm(>=5)或yarn时会自动而且优雅地应用。

不再需要等待拉取请求合并和发布。也不需要再fork仓库只是为了修复那一个微小的问题阻止你的应用程序工作。

这样其他同事新代码时候就会自动打上补丁

 

例子

修改npm前提是npm包有esm风格代码(由于vite打包后的代码是压缩后的,难以做出修改)

 

在此npm做出修改,就可以创建patch文件

npx patch-package some-package
 

就会项目根目录创建patches文件夹生成patch文件可以查看到补丁内容

 

最后package.json添加命令即可实现协同开发打补丁操作

 

0条评论
0 / 1000
w****n
17文章数
1粉丝数
w****n
17 文章 | 1 粉丝
原创

第三方npm包打补丁流程

2024-05-28 09:14:18
104
0

开发过程中可能遇到npm根据需求补丁场景可以原作者issuefork仓库代码修改合并请求即可

 

patch-package工具

patch-package"让应用程序作者能够立即对npm依赖进行修复并保持这些修复。

 

Set-up

In package.json

 "scripts": {
+  "postinstall": "patch-package"
 }
 

npm

npm i patch-package
 

yarn v1

yarn add patch-package postinstall-postinstall
 

patch-package"让应用程序作者能够立即对npm依赖进行修复并保持这些修复。

# fix a bug in one of your dependencies
vim node_modules/some-package/brokenFile.js

# run patch-package to create a .patch file
npx patch-package some-package

# commit the patch file to share the fix with your team
git add patches/some-package+3.14.15.patch
git commit -m "fix brokenFile.js in some-package"
 

patch-package创建的补丁在你使用npm(>=5)或yarn时会自动而且优雅地应用。

不再需要等待拉取请求合并和发布。也不需要再fork仓库只是为了修复那一个微小的问题阻止你的应用程序工作。

这样其他同事新代码时候就会自动打上补丁

 

例子

修改npm前提是npm包有esm风格代码(由于vite打包后的代码是压缩后的,难以做出修改)

 

在此npm做出修改,就可以创建patch文件

npx patch-package some-package
 

就会项目根目录创建patches文件夹生成patch文件可以查看到补丁内容

 

最后package.json添加命令即可实现协同开发打补丁操作

 

文章来自个人专栏
Vue前端开发
17 文章 | 1 订阅
0条评论
0 / 1000
请输入你的评论
0
0