Skip to content
Merged
Show file tree
Hide file tree
Changes from 1 commit
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
6 changes: 4 additions & 2 deletions config/shared-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -117,6 +117,7 @@ SSR ビルドの場合、`build.rollupOptions.output` で設定された ESM ビ
## resolve.conditions

- **型:** `string[]`
- **デフォルト:** `['module', 'browser', 'development|production']`

パッケージからの[条件付きエクスポート](https://nodejs.org/api/packages.html#packages_conditional_exports)解決する際に許可される追加の条件。

Expand All @@ -133,9 +134,10 @@ SSR ビルドの場合、`build.rollupOptions.output` で設定された ESM ビ
}
```

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

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

要件が満たされている場合は、`import`、`require`、`default` の条件が常に適用されることに注意してください。

:::warning サブパスのエクスポートの解決
エクスポートのキーが "/" で終わるのは Node では非推奨で、うまく動作しない可能性があります。代わりに [`*` サブパスパターン](https://nodejs.org/api/packages.html#package-entry-points) を使用するよう、パッケージ作者に連絡してください。
Expand Down
5 changes: 2 additions & 3 deletions config/ssr-options.md
Original file line number Diff line number Diff line change
Expand Up @@ -34,15 +34,14 @@ SSR サーバーのビルドターゲット。
## ssr.resolve.conditions

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

デフォルトはルートの [`resolve.conditions`](./shared-options.md#resolve-conditions) です。

これらの条件はプラグインパイプラインで使用され、SSR ビルド時に外部化されていない依存関係にのみ影響します。外部化されたインポートに影響を与えるには `ssr.resolve.externalConditions` を使用してください。

## ssr.resolve.externalConditions

- **型:** `string[]`
- **デフォルト:** `[]`
- **デフォルト:** `['node']`

外部化された依存関係の SSR インポート(`ssrLoadModule` を含む)の際に使用される条件。
17 changes: 17 additions & 0 deletions guide/migration.md
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,23 @@ Vite の実装変更に伴い、いくつかの内部 API が削除されまし

## 全般的な変更

### `resolve.conditions` のデフォルト値

この変更は、[`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) を設定していなかったユーザーには影響しません。

Vite 5 では、`resolve.conditions` のデフォルト値は `[]` であり、いくつかの条件が内部的に追加されていました。`ssr.resolve.conditions` のデフォルト値は `resolve.conditions` の値でした。

Vite 6 からは、一部の条件が内部的に追加されなくなったため、設定の値に含める必要があります。
内部的に追加されなくなった条件は次のとおりです。

- `resolve.conditions` では `['module', 'browser', 'development|production']`
- `ssr.resolve.conditions` では `['module', 'node', 'development|production']`

これらのオプションに対するデフォルト値は対応する値に更新され、`ssr.resolve.conditions` は `resolve.conditions` をデフォルト値として使用しなくなりました。`development|production` は、`process.env.NODE_ENV` の値に応じて `production` または `development` に置換される特殊な値であることに注意してください。

`resolve.conditions` または `ssr.resolve.conditions` にカスタムの値を指定していた場合は、それらを新しい条件に含むように更新する必要があります。
たとえば、これまで `resolve.conditions` に `['custom']` と指定していた場合は、代わりに `['custom', 'module', 'browser', 'development|production']` と指定する必要があります。

### JSON stringify

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