我一直在研究许多旧的npm软件包,它们的依赖项全部乱序.它们是收缩包,所以更新依赖关系是一项工作(测试和验证依赖项更改没有破坏任何东西),但我手动将一些依赖项从devDependencies
键移动到dependencies
键,我不想要在我提交之前做任何事情,除了按字母顺序排列它们.而不是手动操作,是否有一种简单的方法可以用npm以编程方式对它们进行字母顺序排列?
只需运行npm remove --save anything
或npm remove --save-dev whatever
npm将对该部分进行排序,而不实际触及任何内容.当然,你应该确保你传递的软件包名称(可以是任何东西,键盘垃圾邮件)不在你的package.json中.
该sort-package-json
软件包不仅排序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": {} }
这不会像npm-sort
Wolfgang提到的包那样删除尾随的换行符.
除了martias的答案,你可以运行:
npx sort-package-json
这不会永久安装它.你需要npm> 5.2.
我发现这个npm-sort
包看起来效果很好,并且轻微的一点就是它从package.json
文件中删除了尾随的换行符.