Marginalia

npmの新しいパッケージ名ルールについて

新年初記事は軽めにさくっと。

年末にひっそりと(?)ブログ記事が公開されていたけど、結構重要そうな npm レジストリのアップデートについて。

元記事はこちら

まとめると、

  •  . _ を無視して結合した文字列でパッケージ名のユニーク性を検証します

react-nativereactnative というキーで扱われ、以下の名前のパッケージを publish することはできません

  • reactnative
  • react_native
  • react.native

同様に、 jsonstream が存在する限り、以下の名前のパッケージも publish できません

  • json-stream
  • json.stream
  • json_stream
  • js-on-stream

また、この検証処理は validate-npm-package-name パッケージでローカルでも試せるとのこと

新しいルールに抵触してしまうパッケージを公開したい場合は、Scoped Package を使いましょう(Scoped への移行を促したい npm チームの気持ちを感じる)