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

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 を利用すると良い。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.