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することはできません
reactnativereact_nativereact.native
同様に、 jsonstream が存在する限り、以下の名前のパッケージもpublishできません
json-streamjson.streamjson_streamjs-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チームの気持ちを感じる)