wandres.dev
Build & Producción cheatsheet
⌘ REFERENCIA · 52 elementos

Cheatsheet de Build & Producción

El camino a producción entero en un sitio: pnpm, Vite, el bundler, librerías, monorepos y caching. Busca por comando o por lo que quieres hacer.

📦 pnpm 8

Instalar (usa el store enlazado)pnpm install
Añadir devDependencypnpm add pkg -D
Ejecutar en todos los paquetespnpm -r build
Ejecutar en un paquetepnpm --filter web dev
El paquete y sus dependenciaspnpm --filter ...web build
Dependencia interna del monorepoworkspace:*
Versión compartida del catalogcatalog:
CI: fallar si el lock no coincidepnpm install --frozen-lockfile

📄 package.json 6

El paquete es ESM"type": "module"
Puntos de entrada públicos"exports": { ".": … }
Permite tree shaking agresivo"sideEffects": false
Qué se publica"files": ["dist"]
Fijar el gestor (corepack)"packageManager": "pnpm@11"
Rango minor / patch^1.2.3 · ~1.2.3

⚡ Vite 8

Crear proyectonpm create vite@latest
Dev server (ESM, HMR)vite · vite dev
Build de producción → dist/vite build
Previsualizar el buildvite preview
vite.config.tsdefineConfig({ plugins: [] })
Alias de importsresolve.alias
Proxy de API en devserver.proxy
Variable de entornoimport.meta.env.PUBLIC_X

🦀 Bundler 7

Bundler en Rust (Vite 8, sobre Oxc)Rolldown
El modelo de plugins que heredó ViteRollup
Go, bundler+transform, optimizeDepsesbuild
Linter/formatter en Rust (Oxc)oxlint · oxfmt
Split point (chunk bajo demanda)import("./x")
Controlar el agrupado de chunksmanualChunks
Marca llamada sin efectos (tree shake)/* @__PURE__ */

📚 Librerías 6

Vite en modo libreríabuild.lib
Empaquetadores de libreríatsup · unbuild · tsdown
Dual package + tiposexports: { import, require, types }
Verificar el empaquetadopublint · attw
Publicar con procedencia firmadanpm publish --provenance
Prerelease sin mover latestnpm publish --tag next

🗄️ Monorepo · caché 7

Ejecutar tareas con cachéturbo run build
Deps primeroturbo.json → dependsOn: ["^build"]
Base del hashing de la cachéinputs / outputs
Activar remote caching (Vercel)turbo login · link
Caché remota en CITURBO_TOKEN · TURBO_TEAM
Solo lo afectado por el cambionx affected
Caché remota + tareas distribuidasnx-cloud · DTE

🦋 Changesets 4

Declarar el impacto de un cambiopnpm changeset
Subir versiones + changelogchangeset version
Publicar al registrochangeset publish
Release automatizado en CIchangesets/action

🚀 Producción 6

Analizar el bundle (treemap)rollup-plugin-visualizer
Presupuesto de tamaño en CIsize-limit
Auditar Web Vitals en cada PRLighthouse CI
Compresión en el servidorgzip · brotli
Depurar producción sin exponerlossource maps
Cache-busting por contenido[name].[hash].js