NPMパッケージのネーミングは
- @user-or-org/package@version
npm: URIスキームをつければ:
- npm:@user-or-org/package@version
TypeScriptの宣言空間種別を、
- [val] 値名 宣言空間
- [type] 型名 宣言空間
- [ns] 名前空間名 宣言空間
とすると、
- npm:@user-or-org/package@version/[val]foo
とかになる。
ここで言っているプログラム・エンティティとは:
- 変数
- 関数
- クラス (コンテナ)
- メンバー変数
- メンバー関数〈メソッド〉
- インターフェイス(TypeScriptのみ) (コンテナ)
- 名前空間〈内部モジュール〉(コンテナ)
- ファイルモジュール(コンテナ)
- 列挙(TypeScriptのみ)
- 型別名(TypeScriptのみ)
例えばクラス foo のメソッド bar があると、異なる宣言空間にある名前は次のように表現できるだろう。
- npm:@user-or-org/package@version/[val]foo/[val]bar
- npm:@user-or-org/package@version/[type]foo/[val]bar
impor宣言は、長い名前を短くする接頭辞マップと解釈できる。接頭辞が空なら、環境〈アンビエント〉の大域空間に名前が配置〈allocate | placement〉される。
JavaScript/TypeScriptの名前に関しては、次の2つを読めば大丈夫。