パッケージ再論

パッケージは、出版物執筆プロジェクトのデリバラブルである。あるいは、デリバラブルをパッケージという形態にまとめる。

原則は、git管理していること。

{
 "repository": {
   "type": "git",
   "url": " ... "
  }
}

urlは、git clone または npm install に対して、[/関係者/]の環境において有効な文字列。

version にはSemVer文字列を入れる。同じ文字列 〈VER〉 が次の形でタグ付けされていること。

  • /^\s*v\.?\s*〈VER〉/i
  • /^\s*ver\.?\s*〈VER〉/i
  • /^\s*version\s*〈VER〉/i

次は必須:

  • name
  • version
  • repository

推奨

  • files
  • description
  • author
  • contributors

意味が変わるもの

  • main 出版物全体のメタデータが書いてある原稿ファイル、なければ package.json のメタデータ。

追加:

  • blitPublication : true,
  • gitCommitHash コミットのハッシュ値

その他のファイル:

https://garafu.blogspot.com/2016/11/packagejson-specification-ja.html より:

以下のファイルは設定に関わらず常に含まれます。

  • package.json
  • README
  • CHANGELOG
  • LICENSE / LICENCE

以下のファイルは常に無視されます。

  • .git
  • CVS
  • .svn
  • .hg
  • .lock-wscript
  • .wafpickle-N
  • *.swp
  • .DS_Store
  • ._*
  • npm-debug.log

常にあれば入れるファイル:

  • AUTHORS.* package.json を上書きする。
  • CONTRIBUTORS.* package.json に追加される。
  • BUILD.{md|txt} ビルド手順

メイン原稿ファイルに author{s}?, contributor{s}? があれば、最優先される。

  • package.json < AUTHORS, CONTRIBUTORS < メイン原稿ファイル
git管理してない場合

“現物”で受け渡しをする。

  • repository は書かない。
  • gitCommitHash は書かない。
  • タグの規則は意味ない。
  • 実際のファイルをディレクトリに置いて、zipアーカイブする。