Edited at

fixpackでpackage.jsonの各項目を並び替える

More than 1 year has passed since last update.

Node.js でコードを書くときに、必ず目にする package.json

その、package.json に関する知見である。


package.json の並び順

package.json の並び順であるが、私は「package.json | npm Documentation」に書かれている順番で記述することが多い。(デファクト・スタンダードか公式に沿っておくのが無難である)

しかし、毎回手動で並び替えるのは手間である。

そこで、fixpack を利用してフォーマットすると良い。


fixpack で並び替える


インストール

グローバルにインストールする。

$ npm i -g fixpack


fixpack を使う

package.json が存在するディレクトリで、以下を実行する。

デフォルトでは、name description version author の順で並び替えて、残りをアルファベット順で並び替える。

$ fixpack


並び順を設定ファイルで指定する

自分で決めた並び順にしたい場合は、設定ファイルで上書きすることができる。

$HOME ディレクトリに .fixpackrc を作成して、JSON形式で書いていく。


筆者の .fixpackrc

参考までに、自分の .fixpackrc を貼っておく。


.fixpackrc

{

"sortToTop": [
"name",
"version",
"description",
"keywords",
"homepage",
"bugs",
"license",
"author",
"files",
"main",
"bin",
"man",
"directories",
"repository",
"scripts",
"config",
"dependencies",
"devDependencies",
"peerDependencies",
"bundledDependencies",
"optionalDependencies",
"engines",
"os",
"cpu",
"private",
"publishConfig"
],
"required": [
"name",
"version"
],
"warn": [
"description",
"keywords",
"homepage",
"bugs",
"license",
"author",
"main",
"repository"
],
"sortedSubItems": [
"files",
"directories",
"dependencies",
"devDependencies",
"peerDependencies",
"bundledDependencies",
"optionalDependencies"
]
}

sortToTop が並び順の指定である。

並び順以外にも、無いとエラーを吐く項目の指定や、無いと警告を出す項目の指定などを行っている。

他にも幾つかの設定項目があるので、README.md を見ると良い。


まとめ

package.json の各項目の並び替えには fixpack を利用すると良い。