CodeVetter · Repo Unpack · System map
nuxt/nuxt
This is a framework monorepo rather than a single deployed application. Configuration loading and module initialization produce generated application modules consumed by an app builder and a separately selected server builder. Vue application state lives within NuxtApp instances, while renderer artifacts are cached per renderer instance and sessions persist through sealed cookies. Published package exports, documentation packaging, playground scripts, and release automation form separate delivery surfaces.
- The core programmatic entrypoint exports createNuxt and loadNuxt from core/nuxt.ts and build from core/builder.ts; the nuxt and nuxi executables delegate directly to the external @nuxt/cli/cli package.
- The documented package split assigns module authoring to packages/kit, framework orchestration to packages/nuxt, configuration types/defaults to packages/schema, and compilation to the Vite, Webpack, and Rspack packages.
- createNuxt constructs the Hookable lifecycle, virtual filesystem, application registry, build-output providers, and serverBuild description; ready enters initNuxt within Nuxt context.
- App-builder configuration maps vite, webpack, and rspack names to their packages and defaults to Vite; server.builder independently maps nitro and vite and defaults to @nuxt/nitro-server.
- The server renderer exposes createNuxtRenderer(...).fetch(event) returning Promise<Response>; Nitro adapts ServerRequest into an event, optionally decorates legacy semantics, and calls that renderer.
- NuxtApp owns reactive payload.data, payload.state, payload._errors, async-data registries, and state defaults; createRendererInstance separately owns renderer options and lazily loaded build artifacts.
- The inspected persistence paths include hydration payloads, optional template writes, renderer prerender payload-cache operations, and sealed session cookies; these have distinct state owners.
- Root scripts build workspace packages, prepare development artifacts, run the playground, and expose distinct unit, runtime, fixture, type, bundle, public-API, and Playwright test commands; the package manager is pinned to pnpm@12.6.0.
- The documented Nitro Node deployment starts .output/server/index.mjs and uses NITRO_PORT/PORT and NITRO_HOST/HOST; the default server-build description resolves client/server inputs under buildDir and deployment output under .output.
- The docs package distributes raw Markdown/YAML. UI templates are built with Vite, UnoCSS, and rendering plugins, while docs deployment automation triggers a webhook on documentation pushes.
- Release automation creates release PRs, handles merged release branches, packs tarballs, and publishes through npm OIDC; the main branch remains a v5 prerelease line and v5 tags publish under 5x.