Skip to content

Commit d4cfe2e

Browse files
sapphi-redrojadesign
authored andcommitted
feat(resolve)!: allow removing conditions (#503)
closes #503
1 parent f43aaea commit d4cfe2e

File tree

3 files changed

+27
-8
lines changed

3 files changed

+27
-8
lines changed

docs/config/shared-options.md

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@ Für SSR-Builds funktioniert die Deduplizierung für ESM-Build-Ausgaben, die von
118118
119119
## resolve.conditions
120120
121-
- **Typ:** `string[]`
121+
- **Type:** `string[]`
122+
- **Default:** `['module', 'browser', 'development|production']`
122123
123124
Zusätzliche erlaubte Bedingungen bei der Auflösung von [bedingten Exports](https://nodejs.org/api/packages.html#packages_conditional_exports) aus einem Paket.
124125
@@ -137,7 +138,9 @@ Ein Paket mit bedingten Exports kann das folgende `exports`-Feld in seiner `pack
137138

138139
Hier sind `import` und `require` "Bedingungen". Bedingungen können verschachtelt sein und sollten von am spezifischsten bis am wenigsten spezifisch angegeben werden.
139140

140-
Vite hat eine Liste von "erlaubten Bedingungen" und passt die erste Bedingung an, die in der erlaubten Liste steht, an. Die standardmäßig erlaubten Bedingungen sind: `import`, `module`, `browser`, `default` und `production/development` basierend auf dem aktuellen Modus. Die Konfigurationsoption `resolve.conditions` ermöglicht die Angabe zusätzlicher erlaubter Bedingungen.
141+
`development|production` ist ein spezieller Wert, der je nach dem Wert von `process.env.NODE_ENV` durch `production` oder `development` ersetzt wird. Er wird durch `production` ersetzt, wenn `process.env.NODE_ENV === 'production'` ist, und andernfalls durch `development`.
142+
143+
Beachten Sie, dass die Bedingungen `import`, `require` und `default` immer angewendet werden, wenn die Anforderungen erfüllt sind.
141144

142145
:::warning Auflösen von Subpath-Exports
143146
Die Verwendung von Exportschlüsseln, die mit "/" enden, ist von Node veraltet und funktioniert möglicherweise nicht gut. Bitte kontaktieren Sie den Paketautor, um stattdessen [`*`-Subpfadmuster](https://nodejs.org/api/packages.html#package-entry-points) zu verwenden.

docs/config/ssr-options.md

Lines changed: 5 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -33,16 +33,15 @@ Build-Ziel für den SSR-Server.
3333

3434
## ssr.resolve.conditions
3535

36-
- **Typ:** `String[]`
37-
- **Verwandt:** [Bedingungen auflösen](./shared-options.md#resolve-conditions)
38-
39-
Standardmäßig wird die Root [`resolve.conditions`](./shared-options.md#resolve-conditions) verwendet.
36+
- **Type:** `string[]`
37+
- **Default:** `['module', 'node', 'development|production']` (`['module', 'browser', 'development|production']` für `ssr.target === 'webworker'`)
38+
- **Verwandte Themen:** [Bedingungen auflösen](./shared-options.md#resolve-conditions)
4039

4140
Diese Bedingungen werden in der Plugin-Pipeline verwendet und betreffen nur nicht-externalisierte Abhängigkeiten während des SSR-Builds. Verwenden Sie `ssr.resolve.externalConditions`, um externalisierte Importe zu beeinflussen.
4241

4342
## ssr.resolve.externalConditions
4443

45-
- **Typ:** `String[]`
46-
- **Standard:** `[]`
44+
- **Type:** `string[]`
45+
- **Default:** `['node']`
4746

4847
Bedingungen, die beim ssr-Import (einschließlich `ssrLoadModule`) von externalisierten Abhängigkeiten verwendet werden.

docs/guide/migration.md

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -12,6 +12,23 @@ Die experimentelle Vite Runtime API entwickelte sich zur Module Runner API, die
1212

1313
## Allgemeine Änderungen
1414

15+
### Standardwert für `resolve.conditions`
16+
17+
Diese Änderung hat keine Auswirkungen auf Benutzer, die [`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) konfiguriert haben.
18+
19+
In Vite 5 war der Standardwert für `resolve.conditions` `[]` und einige Bedingungen wurden intern hinzugefügt. Der Standardwert für `ssr.resolve.conditions` war der Wert von `resolve.conditions`.
20+
21+
Ab Vite 6 werden einige der Bedingungen nicht mehr intern hinzugefügt und müssen in die Konfigurationswerte aufgenommen werden.
22+
Die Bedingungen, die nicht mehr intern hinzugefügt werden, sind
23+
24+
- `resolve.conditions` sind `['module', 'browser', 'development|production']`
25+
- `ssr.resolve.conditions` sind `['module', 'node', 'development|production']`
26+
27+
Die Standardwerte für diese Optionen werden auf die entsprechenden Werte aktualisiert, und „ssr.resolve.conditions“ verwendet „resolve.conditions“ nicht mehr als Standardwert. Beachten Sie, dass „development|production“ eine spezielle Variable ist, die je nach Wert von „process.env.NODE_ENV“ durch „production“ oder „development“ ersetzt wird.
28+
29+
Wenn Sie einen benutzerdefinierten Wert für `resolve.conditions` oder `ssr.resolve.conditions` angegeben haben, müssen Sie diesen aktualisieren, um die neuen Bedingungen einzubeziehen.
30+
Wenn Sie beispielsweise zuvor `['custom']` für `resolve.conditions` angegeben haben, müssen Sie stattdessen `['custom', 'module', 'browser', 'development|production']` angeben.
31+
1532
### JSON stringify
1633

1734
In Vite 5, wenn [`json.stringify: true`](/config/shared-options#json-stringify) gesetzt ist, war [`json.namedExports`](/config/shared-options#json-namedexports) deaktiviert.

0 commit comments

Comments
 (0)