1. ホーム
  2. npm

[解決済み] パッケージをインストールせずに package.json をアルファベット順に並べる方法はありますか?

2023-01-30 15:30:01

質問

私は、依存関係が順番通りになっていない多くの古い npm パッケージで作業しています。それらはシュリンクラップされたパッケージなので、依存関係を更新するのはちょっとした仕事です (依存関係の変更が何も壊さないことをテストして検証します)。 devDependencies キーから dependencies というキーがあり、コミットする前にそれらをアルファベット順に並べる以外は何もしたくありません。手動で行うよりも、npmでプログラム的にアルファベットを付ける簡単な方法はありますか?

どのように解決するのですか?

この sort-package-json パッケージ だけでなく dependenciesdevDependencies などのキーがありますが、他のキーもあります。元の質問が他のキーについて尋ねていないことは知っていますが、私はすべてのキーがソートされているのはクールだと思います。

単純に実行すればいいんです。

npx sort-package-json

パッケージページからの例です。

$ cd my-project

$ cat package.json
{
  "dependencies": {
    "sort-package-json": "1.0.0",
    "sort-object-keys": "1.0.0"
  },
  "version": "1.0.0",
  "name": "my-awesome-project"
}
 
$ npx sort-package-json
package.json is sorted!
 
$ cat package.json
{
  "name": "my-awesome-project",
  "version": "1.0.0",
  "dependencies": {
    "sort-object-keys": "1.0.0",
    "sort-package-json": "1.0.0"
  }
}

のように末尾の改行が削除されません。 npm-sort パッケージのように末尾の改行を削除しません。

複数のファイル

$ sort-package-json "my-package/package.json" "other-package/package.json"

$ sort-package-json "package.json" "packages/*/package.json"