我一直在处理许多旧的npm软件包,这些软件包的依赖项全部乱序。他们收缩包裹,因此更新依赖关系是一项工作(测试和验证依赖关系更改没有破坏任何东西),但我手动移动了devDependencies
的一些依赖关系dependencies
密钥的关键字,除了按字母顺序排列之前我不想做任何事情。而不是手动操作,是否有一种简单的方法可以用npm以编程方式对它们进行字母顺序排列?
答案 0 :(得分:48)
只需运行"A"
或String
,npm就会对该部分进行排序,而不会实际触及任何内容。当然,你应该确保你传递的软件包名称(可以是任何东西,键盘垃圾邮件)不在你的package.json中。
答案 1 :(得分:34)
sort-package-json
package不仅对dependencies
和devDependencies
进行排序,还对其他键进行排序。我知道原始问题没有询问其他密钥,但我觉得将所有密钥排序都很酷。
包页面中的示例:
$ cd my-project
$ cat package.json
{
"dependencies": {},
"version": "1.0.0",
"keywords": [
"thing"
],
"name": "foo"
}
$ npm i -g sort-package-json
$ sort-package-json
Ok, your package.json is sorted
$ cat package.json
{
"name": "foo",
"version": "1.0.0",
"keywords": [
"thing"
],
"dependencies": {}
}
这不会删除跟Wolfgang提到的npm-sort
包之类的尾部换行符。
答案 2 :(得分:14)
除了martias答案外,您还可以运行:
npx sort-package-json
这不会永久安装。您需要npm> 5.2。
答案 3 :(得分:5)
我找到了npm-sort
package,它看起来效果很好,并且轻微的一点就是它从package.json
文件中删除了尾随的换行符。
答案 4 :(得分:0)
您可能还想看一下fixpack,这是一个CLI(CLI),用于按照(有些许)观点对package.json进行更新。但是,您可以添加.fixpackrc
来定义自己的规则,默认值为:
答案 5 :(得分:-1)
在VS代码中,有一个很好的打包程序或整个json文件。
还有一种叫做“分类器”的东西,它可以分类得更多而且很棒。