プラグイン設定のスキーマとヘルパー。ディレクトリ内のローカルプラグインファイルを探索し、プラグイン仕様の識別子とオプションを読み取り、パス的な仕様を宣言元の設定ファイルからの相対で解決し、ロード同一性によってプラグインの重複を除く。
Members
(static, constant) Options
任意のインラインプラグインオプション(文字列キーで未知の値を持つレコード)のスキーマ。
(static, constant) Spec
プラグイン仕様のスキーマ。単純な識別子文字列、または [identifier, options] のタプル。
Methods
(static) deduplicatePluginOrigins(plugins) → {Array}
ロード上の同一性(npm 仕様はパッケージ名、ローカル仕様は厳密なファイル URL)でプラグインを重複排除し、それぞれ最後に宣言された出現を残す。その際、元の順序と各エントリの完全な来歴を保持する。
| Name | Type | Description |
|---|---|---|
plugins | Array | プラグインの origin エントリ。各エントリは |
元の順序を保った、重複排除済みのプラグインエントリ。
- Type:
- Array
(static) load(dir) → {Promise.<Array.<string>>}
ディレクトリ内の plugin/ または plugins/ 配下にあるローカルのプラグインファイルを検出する。
| Name | Type | Description |
|---|---|---|
dir | string | 走査対象のディレクトリ(その |
検出された .js/.mjs プラグインのファイル URL(file://)。
- Type:
- Promise.<Array.<string>>
(static) pluginOptions(plugin) → {Object|undefined}
プラグイン仕様からインラインオプションを抽出する(存在する場合)。
| Name | Type | Description |
|---|---|---|
plugin | string | | プラグイン仕様文字列、または |
オプションオブジェクト。仕様が単なる識別子の場合は undefined。
- Type:
- Object |
undefined
(static) pluginSpecifier(plugin) → {string}
プラグイン仕様から識別子部分を抽出する。
| Name | Type | Description |
|---|---|---|
plugin | string | | プラグイン仕様文字列、または |
プラグイン識別子。
- Type:
- string
(static) resolvePluginSpec(plugin, configFilepath) → {Promise.<(string|Array)>}
パス形式のプラグイン仕様を、それを宣言した設定ファイルを基準として絶対的な file:// URL(またはそのパッケージエントリ)に解決する。パス以外の仕様(例: npm パッケージ名)はそのまま返す。
| Name | Type | Description |
|---|---|---|
plugin | string | | プラグイン仕様文字列、または |
configFilepath | string | プラグインを宣言した設定ファイルのパス。 |
解決済みの仕様。オプションが存在した場合はタプルの形を保持する。
- Type:
- Promise.<(string|Array)>