Skip to content

Commit cefad13

Browse files
committed
1 parent 1b0ec88 commit cefad13

File tree

4 files changed

+55
-17
lines changed

4 files changed

+55
-17
lines changed

docs/config/ssr-options.md

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -54,7 +54,7 @@ Ten en cuenta que si tanto `ssr.noExternal: true` como `ssr.external: true` est
5454

5555
Por ejemplo, al establecer `['node', 'custom']`, deberías ejecutar `NODE_OPTIONS='--conditions custom' vite` en desarrollo y `NODE_OPTIONS="--conditions custom" node ./dist/server.js` después de compilar.
5656

57-
### ssr.resolve.mainFields
57+
## ssr.resolve.mainFields
5858

5959
- **Tipo:** `string[]`
6060
- **Por defecto:** `['module', 'jsnext:main', 'jsnext']`

docs/guide/features.md

Lines changed: 27 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -213,7 +213,7 @@ Todos los frameworks modernos mantienen integraciones con Vite. La mayoría de l
213213
- Soporte para Vue a través de [@vitejs/plugin-vue](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue)
214214
- Soporte para Vue JSX a través de [@vitejs/plugin-vue-jsx](https://github.com/vitejs/vite-plugin-vue/tree/main/packages/plugin-vue-jsx)
215215
- Soporte para React a través de [@vitejs/plugin-react](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react)
216-
- Soporte para React usando SWC a través de [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react-swc)
216+
- Soporte para React usando SWC a través de [@vitejs/plugin-react-swc](https://github.com/vitejs/vite-plugin-react/tree/main/packages/plugin-react-swc)
217217

218218
Consulta la [Guía de Plugins](https://vite.dev/plugins) para más información.
219219

@@ -581,6 +581,32 @@ const modules = import.meta.glob('./dir/*.js', {
581581
})
582582
```
583583

584+
#### Ruta base
585+
586+
También puedes utilizar la opción `base` para proporcionar la ruta base para las importaciones:
587+
588+
```ts twoslash
589+
import 'vite/client'
590+
// ---cut---
591+
const modulesWithBase = import.meta.glob('./**/*.js', {
592+
base: './base',
593+
})
594+
```
595+
596+
```ts
597+
// código producido por vite:
598+
const modulesWithBase = {
599+
'./dir/foo.js': () => import('./base/dir/foo.js'),
600+
'./dir/bar.js': () => import('./base/dir/bar.js'),
601+
}
602+
```
603+
604+
La opción `base` solo puede ser un directorio relativo al archivo importador o una ruta absoluta en relación con la raíz del proyecto. Los alias y los módulos virtuales no están soportados.
605+
606+
Solo los globs que son rutas relativas se interpretan como relativas al directorio base resuelto.
607+
608+
Todas las claves de módulo resultantes se modifican para que sean relativas al directorio base si se proporciona.
609+
584610
### Advertencias de importación glob
585611

586612
Ten en cuenta que:

docs/guide/rolldown.md

Lines changed: 26 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -89,15 +89,15 @@ Luego de agregar estos `overrides`, reinstala tus dependencias y ejecuta tu serv
8989

9090
Aunque Rolldown busca ser un reemplazo directo de Rollup, todavía hay funciones en desarrollo y algunas diferencias intencionales de comportamiento. Para una lista completa y actualizada, consulta [esta solicitud de cambios en GitHub](https://github.com/vitejs/rolldown-vite/pull/84#issue-2903144667), el cual se actualiza de forma constante.
9191

92-
### Errores de Validación de Opciones
92+
### Advertencias de Validación de Opciones
9393

94-
Rolldown lanza un error cuando se pasan opciones desconocidas o no válidas. Dado que algunas opciones disponibles en Rollup no son compatibles con Rolldown, es posible que encuentres errores según las opciones que tú o el meta framework que uses hayan configurado. A continuación, se muestra un ejemplo de uno de estos mensajes de error:
94+
Rolldown lanza una advertencia cuando se pasan opciones desconocidas o no válidas. Dado que algunas opciones disponibles en Rollup no son compatibles con Rolldown, es posible que encuentres advertencias según las opciones que tú o el meta framework que uses hayan configurado. A continuación, se muestra un ejemplo de uno de estos mensajes de advertencia:
9595

96-
> Error: Failed validate input options.
96+
> Warning validate output options.
9797
>
98-
> - Para "preserveEntrySignatures". Clave no válida: Se esperaba `never` pero se recibió `"preserveEntrySignatures"`.
98+
> - For the "generatedCode". Invalid key: Expected never but received "generatedCode".
9999
100-
Si tú no estás pasando esa opción directamente, esto debe ser corregido por el framework que estés utilizando. Mientras tanto, puedes suprimir este error estableciendo la variable de entorno `ROLLDOWN_OPTIONS_VALIDATION=loose`.
100+
Si tú no estás pasando esa opción directamente, esto debe ser corregido por el framework que estés utilizando.
101101

102102
### Diferencias en la API
103103

@@ -234,7 +234,7 @@ Esta sección es principalmente relevante para autores de plugins y frameworks.
234234
- El minificador de **Oxc** se usa para la minificación de JS por defecto (anteriormente se usaba esbuild).
235235
- **Rolldown** se usa para empaquetar la configuración (anteriormente se usaba esbuild).
236236

237-
### Detectar `rolldown-vite`
237+
### Detectando `rolldown-vite`
238238

239239
::: warning
240240
En la mayoría de los casos, no necesitas detectar si tu plugin se ejecuta con `rolldown-vite` o con `vite`, y deberías procurar un comportamiento consistente entre ambos, sin ramificaciones condicionales.
@@ -256,6 +256,14 @@ const plugin = {
256256
}
257257
```
258258

259+
::: tip
260+
261+
A partir de Vite 7.0.0, `this.meta` está disponible en todos los hooks. En versiones anteriores, `this.meta` no estaba disponible en hooks específicos de Vite, como el hook `config`.
262+
263+
:::
264+
265+
<br>
266+
259267
- Comprobando la existencia de la exportación `rolldownVersion`:
260268

261269
```js
@@ -272,17 +280,15 @@ Si tienes `vite` como dependencia (no como dependencia par), la exportación `ro
272280

273281
### Ignorar la validación de opciones en Rolldown
274282

275-
Como se [mencionó anteriormente](#errores-de-validacion-de-opciones), Rolldown lanza un error cuando se pasan opciones desconocidas o inválidas.
276-
277-
Esto se puede solucionar pasando la opción condicionalmente, verificando si se está ejecutando con `rolldown-vite` como se muestra [aquí arriba](#detectar-rolldown-vite).
283+
Como se [mencionó anteriormente](#advertencias-de-validacion-de-opciones), Rolldown lanza una advertencia cuando se pasan opciones desconocidas o inválidas.
278284

279-
También puedes suprimir el error estableciendo la variable de entorno `ROLLDOWN_OPTIONS_VALIDATION=loose`.
280-
281-
Sin embargo, ten en cuenta que **eventualmente deberás dejar de pasar las opciones no compatibles con Rolldown**.
285+
Esto se puede solucionar pasando la opción condicionalmente, verificando si se está ejecutando con `rolldown-vite` como se muestra [aquí arriba](#detectando-rolldown-vite).
282286

283287
### `transformWithEsbuild` requiere que `esbuild` esté instalado por separado
284288

285-
Una función similar llamada `transformWithOxc`, que usa Oxc en lugar de `esbuild`, es exportada desde `rolldown-vite`.
289+
Como Vite ya no usa `esbuild` por sí mismo, `esbuild` ahora es un peer-dependency opcional. Si tu plugin usa `transformWithEsbuild`, el plugin necesita agregar `esbuild` a sus dependencias o el usuario necesitará instalarlo manualmente.
290+
291+
La migración recomendada es usar la nueva función exportada `transformWithOxc`, que utiliza Oxc en lugar de `esbuild`.
286292

287293
### Capa de Compatibilidad para Opciones de `esbuild`
288294

@@ -304,6 +310,12 @@ const plugin = {
304310
Rolldown introdujo una [característica de filtro de hooks](https://rolldown.rs/guide/plugin-development#plugin-hook-filters) para reducir la sobrecarga de comunicación entre los entornos de ejecución de Rust y JavaScript. Al usar esta característica, puedes hacer que tu plugin sea más eficiente.
305311
Esta funcionalidad también es compatible con Rollup 4.38.0+ y Vite 6.3.0+. Para hacer que tu plugin sea compatible con versiones anteriores, asegúrate de ejecutar el filtro dentro de los controladores de hooks.
306312

313+
::: tip
314+
315+
[`@rolldown/pluginutils`](https://www.npmjs.com/package/@rolldown/pluginutils) exporta algunas utilidades para filtros de hooks como `exactRegex` y `prefixRegex`.
316+
317+
:::
318+
307319
### Convertir Contenido a JavaScript en los Hooks `load` o `transform`
308320

309321
Si estás convirtiendo el contenido a JavaScript desde otros tipos en los hooks `load` o `transform`, es posible que debas agregar `moduleType: 'js'` al valor devuelto.
@@ -323,4 +335,4 @@ const plugin = {
323335
}
324336
```
325337

326-
Esto se debe a que [Rolldown admite módulos no JavaScript](https://rolldown.rs/guide/in-depth/module-types) e infiere el tipo de módulo a partir de las extensiones, a menos que se especifique lo contrario. Ten en cuenta que `rolldown-vite` no admite ModuleTypes en desarrollo.
338+
Esto se debe a que [Rolldown soporta módulos de no JavaScript](https://rolldown.rs/guide/in-depth/module-types) e infiere el tipo de módulo a partir de las extensiones, a menos que se especifique lo contrario.

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@
4848
"@algolia/client-search": "^5.25.0",
4949
"@eslint/js": "^9.27.0",
5050
"@shikijs/vitepress-twoslash": "^2.5.0",
51-
"@types/express": "^5.0.2",
51+
"@types/express": "^5.0.3",
5252
"@types/node": "22.15.32",
5353
"@types/react": "^18.3.23",
5454
"@typescript-eslint/parser": "^8.33.0",

0 commit comments

Comments
 (0)