Capítulo 445 de 456
Turbopack is Next.js's Rust-based incremental bundler, the default bundler since v16, offering a unified graph, incremental caching, and lazy bundling for much faster dev/build performance vs webpack.
--webpack there.import.meta.env: Turbopack-only static env metadata (DEV, PROD, MODE, BASE_URL, SSR), statically analyzed for dead-branch elimination.import.meta.glob(): Vite-compatible glob import API, Turbopack-only; supports lazy (default, thunks) or { eager: true } loading, import (named export selection), query, multiple patterns with ! negation, and TypeScript generics.webpackIgnore, turbopackIgnore (Turbopack-only), turbopackOptional (Turbopack-only) control dynamic import/require bundling behavior.if (import.meta.env.DEV) {
console.log('development mode')
}
import.meta.env.DEV, permitindo eliminação de branch morto pelo Turbopack.const modules = import.meta.glob('./dir/*.js')
for (const path in modules) {
const module = await modules[path]()
}
module.exports = {
turbopack: {
resolveAlias: { '~*': '*' },
},
}
~ do Sass (não suportada pelo Turbopack) via alias.| Feature suportada zero-config | Status |
|---|---|
| JS/TS, ESNext, CommonJS, ESM | Supported |
| Babel | Supported (auto-detectado desde Next.js 16 se houver config file) |
| JSX/TSX, Fast Refresh, RSC | Supported |
| Root layout auto-criação | Unsupported (precisa criar manualmente) |
| CSS Modules, CSS Nesting, PostCSS, Sass/SCSS | Supported |
sassOptions.functions (custom Sass funcs) | Not supported (Rust não executa JS) |
| Less | Planned via plugins |
Path aliases (tsconfig paths/baseUrl) | Supported |
| Webpack plugins | Not supported (loaders sim, plugins não) |
Opções import.meta.glob: eager, import, query, base, caseSensitive.
~ do Sass legacy (@import '~bootstrap/...'): não suportada; trocar por import sem ~ ou usar resolveAlias.sassOptions.functions com Turbopack: não suportado, exige webpack.line-height, letter-spacing).@import explícito.--webpack pra optar por webpack em vez disso.import.meta.env e import.meta.glob só existem com Turbopack, sem equivalente em webpack.~ do Sass, precisão decimal de CSS diferente, sem webpack plugins.next dev --internal-trace gera trace pra debug de performance/memória, útil pra reportar issues.rules/resolveAlias/etc. referenciada aqui.