npmの新しいパッケージ名ルールについて
新年初記事は軽めにさくっと。
年末にひっそりと(?)ブログ記事が公開されていたけど、結構重要そうなnpmリポジトリのアップデートについて。
元記事はこちら
New Package Moniker rules
We've recently made some changes to how package naming works to better fight typosquatting, and help package authors…blog.npmjs.org
We've recently made some changes to how package naming works to better fight typosquatting, and help package authors…blog.npmjs.org
まとめると、
-
.
_
を無視して結合した文字列でパッケージ名のユニーク性を検証します
react-native
は reactnative
というキーで扱われ、以下の名前のパッケージをpublishすることはできません
reactnative
react_native
react.native
同様に、 jsonstream
が存在する限り、以下の名前のパッケージもpublishできません
json-stream
json.stream
json_stream
js-on-stream
また、この検証処理は validate-npm-package-name パッケージでローカルでも試せるとのこと
validate-npm-package-name
Give me a string and I'll tell you if it's a valid npm package namewww.npmjs.com
Give me a string and I'll tell you if it's a valid npm package namewww.npmjs.com
新しいルールに抵触してしまうパッケージを公開したい場合は、Scoped Packageを使いましょう(Scopedへの移行を促したいnpmチームの気持ちを感じる)