Skip to content

Commit 0587920

Browse files
authored
feat(resolve)!: allow removing conditions (#1694)
* feat(resolve)!: allow removing conditions resolve #1678 vitejs/vite@d002e7d の反映です。 * 削除する行のミスを修正
1 parent 2e06531 commit 0587920

File tree

3 files changed

+23
-4
lines changed

3 files changed

+23
-4
lines changed

config/shared-options.md

Lines changed: 4 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -117,6 +117,7 @@ SSR ビルドの場合、`build.rollupOptions.output` で設定された ESM ビ
117117
## resolve.conditions
118118
119119
- **型:** `string[]`
120+
- **デフォルト:** `['module', 'browser', 'development|production']`
120121
121122
パッケージからの[条件付きエクスポート](https://nodejs.org/api/packages.html#packages_conditional_exports)解決する際に許可される追加の条件。
122123
@@ -135,7 +136,9 @@ SSR ビルドの場合、`build.rollupOptions.output` で設定された ESM ビ
135136

136137
ここで、`import``require` は「条件」です。条件はネストさせることができ、最も具体的なものから最も具体的でないものまで指定する必要があります。
137138

138-
Vite には「許可された条件」のリストがあり、許可されたリストにある最初の条件と一致します。 デフォルトで許可される条件は、`import``module``browser``default` と、現在のモードに基づく `production/development` です。`resolve.conditions` 設定オプションを使用すると、追加の許可条件を指定できます。
139+
`development|production` は、`process.env.NODE_ENV` の値に応じて `production` または `development` に置換される特殊な値です。`process.env.NODE_ENV === 'production'` の場合には `production` に置換され、それ以外の場合は `development` に置換されます。
140+
141+
要件が満たされている場合は、`import``require``default` の条件が常に適用されることに注意してください。
139142

140143
:::warning サブパスのエクスポートの解決
141144
エクスポートのキーが "/" で終わるのは Node では非推奨で、うまく動作しない可能性があります。代わりに [`*` サブパスパターン](https://nodejs.org/api/packages.html#package-entry-points) を使用するよう、パッケージ作者に連絡してください。

config/ssr-options.md

Lines changed: 2 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -34,15 +34,14 @@ SSR サーバーのビルドターゲット。
3434
## ssr.resolve.conditions
3535

3636
- **型:** `string[]`
37+
- **デフォルト:** `['module', 'node', 'development|production']``ssr.target === 'webworker'` の場合は `['module', 'browser', 'development|production']`
3738
- **関連:** [Resolve Conditions](./shared-options.md#resolve-conditions)
3839

39-
デフォルトはルートの [`resolve.conditions`](./shared-options.md#resolve-conditions) です。
40-
4140
これらの条件はプラグインパイプラインで使用され、SSR ビルド時に外部化されていない依存関係にのみ影響します。外部化されたインポートに影響を与えるには `ssr.resolve.externalConditions` を使用してください。
4241

4342
## ssr.resolve.externalConditions
4443

4544
- **型:** `string[]`
46-
- **デフォルト:** `[]`
45+
- **デフォルト:** `['node']`
4746

4847
外部化された依存関係の SSR インポート(`ssrLoadModule` を含む)の際に使用される条件。

guide/migration.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,23 @@ Vite の実装変更に伴い、いくつかの内部 API が削除されまし
1212

1313
## 全般的な変更
1414

15+
### `resolve.conditions` のデフォルト値
16+
17+
この変更は、[`resolve.conditions`](/config/shared-options#resolve-conditions) / [`ssr.resolve.conditions`](/config/ssr-options#ssr-resolve-conditions) / [`ssr.resolve.externalConditions`](/config/ssr-options#ssr-resolve-externalconditions) を設定していなかったユーザーには影響しません。
18+
19+
Vite 5 では、`resolve.conditions` のデフォルト値は `[]` であり、いくつかの条件が内部的に追加されていました。`ssr.resolve.conditions` のデフォルト値は `resolve.conditions` の値でした。
20+
21+
Vite 6 からは、一部の条件が内部的に追加されなくなったため、設定の値に含める必要があります。
22+
内部的に追加されなくなった条件は次のとおりです。
23+
24+
- `resolve.conditions` では `['module', 'browser', 'development|production']`
25+
- `ssr.resolve.conditions` では `['module', 'node', 'development|production']`
26+
27+
これらのオプションに対するデフォルト値は対応する値に更新され、`ssr.resolve.conditions``resolve.conditions` をデフォルト値として使用しなくなりました。`development|production` は、`process.env.NODE_ENV` の値に応じて `production` または `development` に置換される特殊な値であることに注意してください。
28+
29+
`resolve.conditions` または `ssr.resolve.conditions` にカスタムの値を指定していた場合は、それらを新しい条件に含むように更新する必要があります。
30+
たとえば、これまで `resolve.conditions``['custom']` と指定していた場合は、代わりに `['custom', 'module', 'browser', 'development|production']` と指定する必要があります。
31+
1532
### JSON stringify
1633

1734
Vite 5 では、[`json.stringify: true`](/config/shared-options#json-stringify) が設定されている場合、[`json.namedExports`](/config/shared-options#json-namedexports) が無効になっていました。

0 commit comments

Comments
 (0)