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チームの気持ちを感じる)