Skip to content

Commit 67d4285

Browse files
authored
docs: migration guide (#1291) (#1542)
Co-authored-by: Rush Ali <s0aPii.ra@googlemail.com> closes #1291 #1542
1 parent b838b63 commit 67d4285

4 files changed

Lines changed: 416 additions & 66 deletions

File tree

docs/config/build-options.md

Lines changed: 10 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -123,10 +123,10 @@ Es sollte nur verwendet werden, wenn Sie einen nicht-mainstream Browser anvisier
123123

124124
## build.cssMinify
125125

126-
- **Typ:** `boolean | 'esbuild' | 'lightningcss'`
127-
- **Standard:** dasselbe wie [`build.minify`](#build-minify) für Clients, `'esbuild'` für SSR
126+
- **Typ:** `boolean | 'lightningcss' | 'esbuild'`
127+
- **Standard:** dasselbe wie [`build.minify`](#build-minify) für Clients, `'lightningcss'` für SSR
128128

129-
Diese Option ermöglicht es Benutzern, die CSS-Minimierung speziell zu überschreiben, anstatt auf die Standardwerte von `build.minify` zurückzugreifen. Vite verwendet standardmäßig `esbuild` zur Minimierung von CSS. Setzen Sie die Option auf `'lightningcss'`, um stattdessen [Lightning CSS](https://lightningcss.dev/minification.html) zu verwenden. Wenn ausgewählt, kann es mit [`css.lightningcss`](./shared-options.md#css-lightningcss) konfiguriert werden.
129+
Diese Option ermöglicht es Benutzern, die CSS-Minimierung speziell zu überschreiben, anstatt auf die Standardwerte von `build.minify` zurückzugreifen. Dadurch können Sie die Minimierung für JS und CSS unabhängig voneinander konfigurieren. Vite verwendet standardmäßig [Lightning CSS](https://lightningcss.dev/minification.html), um CSS zu minimieren. Es kann mit [`css.lightningcss`](./shared-options.md#css-lightningcss) konfiguriert werden. Setzen sie die Option auf `'esbuild'`, um esbuild stattdessen zu verwenden.
130130

131131
## build.sourcemap
132132

@@ -255,16 +255,19 @@ Während des SSR-Builds werden statische Assets nicht ausgegeben, da davon ausge
255255

256256
## build.minify
257257

258-
- **Typ:** `boolean | 'terser' | 'esbuild'`
259-
- **Standard:** 'esbuild' für Client-Build, 'false' für SSR-Build
258+
- **Typ:** `boolean | 'oxc' | 'terser' | 'esbuild'`
259+
- **Standard:** 'oxc' für Client-Build, 'false' für SSR-Build
260260

261-
Setzen Sie dies auf `false`, um die Minimierung zu deaktivieren, oder geben Sie den Minimierer an, der verwendet werden soll. Die Standardeinstellung ist [esbuild](https://github.com/evanw/esbuild), das 20 ~ 40x schneller als terser ist und nur eine 1 ~ 2% schlechtere Komprimierung bietet. [Benchmarks](https://github.com/privatenumber/minification-benchmarks)
261+
Setzen Sie dies auf `false`, um die Minimierung zu deaktivieren, oder geben Sie den Minimierer an, der verwendet werden soll. Die Standardeinstellung ist [Oxc Minimierer](https://oxc.rs/docs/guide/usage/minifier), das 30 ~ 90x schneller als terser ist und nur eine 0,5 ~ 2% schlechtere Komprimierung bietet. [Benchmarks](https://github.com/privatenumber/minification-benchmarks)
262+
263+
`build.minify: 'esbuild'` ist veraltet und wird in der Zukunft entfernt.
262264

263265
Beachten Sie, dass die Option `build.minify` keine Leerzeichen minimiert, wenn das Format `'es'` im Lib-Modus verwendet wird, da es reine Anmerkungen entfernt und Tree-Shaking bricht.
264266

265-
Terser muss installiert sein, wenn es auf `'terser'` eingestellt ist.
267+
esbuild oder Terser müssen installiert sein, wenn der Wert auf `'esbuild'` oder `'terser'` gesetzt ist.
266268

267269
```sh
270+
npm add -D esbuild
268271
npm add -D terser
269272
```
270273

docs/config/dep-optimization-options.md

Lines changed: 19 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -47,6 +47,23 @@ export default defineConfig({
4747
})
4848
```
4949

50+
## optimizeDeps.rolldownOptions <NonInheritBadge />
51+
52+
- **Typ:** [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<``RolldownOptions`, `'input' | 'logLevel' | 'output'> & {
53+
output?: [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<`
54+
`RolldownOutputOptions`,
55+
`'format' | 'sourcemap' | 'dir' | 'banner'>`
56+
`}`
57+
58+
<!-- TODO: add link to RolldownOptions -->
59+
<!-- TODO: add link to RolldownOutputOptions -->
60+
61+
Optionen die an Rolldown übergeben werden, während die Abhängigkeiten gescannt und optimiert werden.
62+
63+
Bestimmte Optionen werden ausgelassen, da eine Änderungen an ihnen nicht kompatibel mit der Abhängigkeitsoptimierung von Vite wäre.
64+
65+
- `plugins` werden mit dem Abhängigkeits-Plugin von Vite zusammengeführt
66+
5067
## optimizeDeps.esbuildOptions <NonInheritBadge />
5168

5269
- **Typ:** [`Omit`](https://www.typescriptlang.org/docs/handbook/utility-types.html#omittype-keys)`<`[`EsbuildBuildOptions`](https://esbuild.github.io/api/#general-options)`,
@@ -60,13 +77,9 @@ export default defineConfig({
6077
| 'outbase'
6178
| 'outExtension'
6279
| 'metafile'>`
80+
- **Veraltet**
6381

64-
Optionen, die an esbuild während des Abhängigkeits-Scannens und der Optimierung übergeben werden sollen.
65-
66-
Bestimmte Optionen werden ausgelassen, da ihre Änderung nicht mit der Abhängigkeitsoptimierung von Vite kompatibel wäre.
67-
68-
- `external` wird ebenfalls ausgelassen, verwenden Sie Vites `optimizeDeps.exclude`-Option
69-
- `plugins` werden mit dem Abhängigkeits-Plugin von Vite zusammengeführt
82+
Diese Option ist intern zu `optimizeDeps.rolldownOptions` konvertiert. Nutzen Sie `optimizeDeps.rolldownOptions` stattdessen.
7083

7184
## optimizeDeps.force <NonInheritBadge />
7285

docs/config/shared-options.md

Lines changed: 20 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -354,36 +354,44 @@ Wenn auf `true` gesetzt, wird importiertes JSON in `export default JSON.parse(".
354354

355355
Bei der Einstellung `'auto'` werden die Daten nur dann stringifiziert, wenn [die Daten größer als 10kB sind](https://v8.dev/blog/cost-of-javascript-2019#json:~:text=A%20good%20rule%20of%20thumb%20is%20to%20apply%20this%20technique%20for%20objects%20of%2010%20kB%20or%20larger).
356356

357-
## esbuild
357+
## oxc
358358

359-
- **Typ:** `ESBuildOptions | false`
359+
- **Typ:** `OxcOptions | false`
360360

361-
`ESBuildOptions` erweitert [die eigenen Transformationsoptionen von esbuild](https://esbuild.github.io/api/#transform). Der häufigste Anwendungsfall ist die Anpassung von JSX:
361+
`OxcOptions` erweitert [die Transformationsoptionen von Oxc](https://oxc.rs/docs/guide/usage/transformer). Der häufigste Anwendungsfall ist die Anpassung von JSX:
362362

363363
```js
364364
export default defineConfig({
365-
esbuild: {
366-
jsxFactory: 'h',
367-
jsxFragment: 'Fragment',
365+
oxc: {
366+
jsx: {
367+
runtime: 'classic',
368+
pragma: 'h',
369+
pragmaFrag: 'Fragment',
370+
},
368371
},
369372
})
370373
```
371374

372-
Standardmäßig wird esbuild auf Dateien mit den Erweiterungen `ts`, `jsx` und `tsx` angewendet. Sie können dies mit `esbuild.include` und `esbuild.exclude` anpassen, die eine Regex, ein [picomatch-Muster](https://github.com/micromatch/picomatch#globbing-features) oder ein Array davon sein können.
375+
Standardmäßig wird die Transformation von Oxc auf Dateien mit den Erweiterungen `ts`, `jsx` und `tsx` angewendet. Sie können dies mit `oxc.include` und `oxc.exclude` anpassen, die eine Regex, ein [picomatch-Muster](https://github.com/micromatch/picomatch#globbing-features) oder ein Array davon sein können.
373376

374-
Darüber hinaus können Sie auch `esbuild.jsxInject` verwenden, um automatisch JSX-Helper-Imports für jede von esbuild transformierte Datei einzufügen:
377+
Darüber hinaus können Sie auch `oxc.jsxInject` verwenden, um automatisch JSX-Helper-Imports für jede von Oxc transformierte Datei einzufügen:
375378

376379
```js
377380
export default defineConfig({
378-
esbuild: {
381+
oxc: {
379382
jsxInject: `import React from 'react'`,
380383
},
381384
})
382385
```
383386

384-
Wenn [`build.minify`](./build-options.md#build-minify) auf `true` gesetzt ist, werden standardmäßig alle Minify-Optimierungen angewendet. Um bestimmte Aspekte davon zu deaktivieren, setzen Sie eine der Optionen `esbuild.minifyIdentifiers`, `esbuild.minifySyntax` oder `esbuild.minifyWhitespace` auf `false`. Beachten Sie, dass die Option `esbuild.minify` nicht verwendet werden kann, um `build.minify` zu überschreiben.
387+
Auf `false` setzen, um die Oxc-Transformation zu deaktivieren.
388+
389+
## esbuild
390+
391+
- **Typ:** `ESBuildOptions | false`
392+
- **Veraltet**
385393

386-
Auf `false` setzen, um esbuild-Transformationen zu deaktivieren.
394+
Diese Option wird intern zu `oxc` konvertiert. Verwenden Sie stattdessen die `oxc`-Option.
387395

388396
## assetsInclude
389397

@@ -503,4 +511,4 @@ Weitere Informationen finden Sie im [SSR-Handbuch von Vite](/guide/ssr#vite-cli)
503511

504512
Aktivieren Sie zukünftige grundlegende Änderungen, um eine reibungslose Migration zur nächsten Hauptversion von Vite vorzubereiten. Die Liste kann jederzeit aktualisiert, ergänzt oder gekürzt werden, wenn neue Funktionen entwickelt werden.
505513

506-
Weitere Informationen zu den möglichen Optionen finden Sie auf der Seite [Grundlegende Änderungen](/changes/).
514+
Weitere Informationen zu den möglichen Optionen finden Sie auf der Seite [Grundlegende Änderungen](/changes/).

0 commit comments

Comments
 (0)