gpt4 book ai didi

javascript - 打包前清理 package.json

转载 作者:行者123 更新时间:2023-12-03 09:12:24 30 4
gpt4 key购买 nike

假设您有一个包含以下 package.json 的 npm 项目:

{
"name": "XXX",
"version": "YYY",
"license": "ZZZ",
"scripts": {
"scriptA": "...",
"scriptB": "...",
"preinstall": "...",
"postinstall": "..."
},
"devDependencies": {
"depA": "vA",
"depB": "vB"
},
"dependencies": {
"depC": "vC",
"depD": "vD"
}
}

打包/发布包时,您不需要 scriptsdevDependency 键。但更危险的是,当人们将您的软件包作为依赖项安装时,preinstallpostinstall 脚本可能会触发奇怪/不需要的操作。

那么如何清理 package.json,即删除不需要的 key ?

我目前使用的是 npm 3.10。如果我使用npm pack命令,根据npm documentation如果没有提供参数,它将简单地打包当前包(因此从磁盘获取原始 package.json),并且我无法提供任何选项来清理它。

我当然可以编写自己的脚本来压缩包并生成我自己的package.json。这是要走的路吗?

最佳答案

我创建了clean-package来做到这一点。

最简单的用法只需三步:

  1. npm install clean-package --save-dev

  2. clean-package Hook 到 prepackpostpack 脚本

    "scripts": {
    "prepack": "clean-package",
    "postpack": "clean-package restore"
    }
  3. clean-package 配置为 package.json 中的根属性

    "clean-package": {
    "remove": [
    "script",
    "devDependencies"
    ]
    }

还有更多选项和扩展用途,因此存储库上有更多信息:https://github.com/roydukkey/clean-package .

关于javascript - 打包前清理 package.json,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40942495/

30 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com