Skip to content
OpenSmartRoute
Skillv1.0.0

vite-advanced

Advanced Vite 8 patterns including Rolldown-powered builds, advancedChunks, Environment API, plugin development, SSR configuration, library mode, and build optimization. Use when customizing build pip

by yonatangross(0) 0 installs
Free
Sign in to install

Free account. Installing gives you the manifest plus copy-paste snippets.

See reviews

About

Imported from yonatangross/orchestkit (src/skills/vite-advanced/SKILL.md). Install upstream with npx skills add yonatangross/orchestkit --skill vite-advanced. Copyright stays with the author (MIT).

Vite Advanced Patterns

A wrapper around Vite 8 (Rolldown-powered), not a copy of its documentation. Vite's own docs are the source of truth for config keys, API surface, and migration mechanics. This skill carries the house delta plus four enforceable rules.

Vite 8 replaces the esbuild+Rollup pipeline with Rolldown (Rust-based unified bundler) and is the default for new projects. advancedChunks supersedes manualChunks; build.rollupOptions becomes build.rolldownOptions.

Upstream coverage (do not restate)

Fetch these from Vite rather than expecting them here. Rows marked with a rule keep a narrower, enforceable house subset in that rule file: read the rule for the house position, fetch the doc for the full API.

Topic Fetch from
Vite 7 to 8 migration: rolldownOptions, transformWithOxc, moduleType: 'js', removed hooks and output formats, browser target bumps https://vite.dev/guide/migration
Rolldown adoption path, rolldown-vite, Oxc, advancedChunks group syntax (house subset stays in rules/vite-advanced-chunks.md) https://vite.dev/guide/rolldown
Build options: target, minify, sourcemap, cssCodeSplit, cssMinify, assetsInlineLimit, chunkSizeWarningLimit https://vite.dev/config/build-options
Dependency pre-bundling and optimizeDeps include/exclude/force https://vite.dev/guide/dep-pre-bundling
SSR: client and server entry points, middleware-mode dev server, production server wiring, streaming https://vite.dev/guide/ssr
Environment API config and per-environment build output (house subset stays in rules/vite-environments.md) https://vite.dev/guide/api-environment
Environment API for plugins: this.environment, perEnvironmentPlugin, applyToEnvironment https://vite.dev/guide/api-environment-plugins
Environment API for frameworks: createBuilder, buildApp, ModuleRunner https://vite.dev/guide/api-environment-frameworks
Plugin hook reference, virtual modules, enforce/apply, handleHotUpdate (house subset stays in rules/vite-plugin-hooks.md) https://vite.dev/guide/api-plugin
Env variables and modes, .env files, the VITE_ prefix https://vite.dev/guide/env-and-mode
Deploying a static site and verifying with vite preview https://vite.dev/guide/static-deploy

Library mode is not in the table: references/library-mode.md and rules/vite-lib-config.md still carry it in full.

House delta

Read references/ork-delta.md for the rules Vite's docs do not state: the Vite 8 adoption path for existing production apps, the VITE_ secrets rule, the production sourcemap setting, the house build budget, the vite preview gate, chunk-name stability across the advancedChunks migration, the visualizer diff requirement, and the node_modules/.vite cache-clearing step.

House config

Not a Vite tutorial: these are the settings the delta above makes non-negotiable, in the shape we actually ship them.

// vite.config.ts
import { defineConfig } from 'vite';

export default defineConfig({
  build: {
    // 'hidden' emits maps for the error reporter without publishing source.
    // Never true (publishes source) and never 'inline' (inflates every JS file).
    sourcemap: 'hidden',
    rollupOptions: {
      output: {
        // Carry existing chunk NAMES across the manualChunks to advancedChunks
        // migration. A renamed group changes its filename and invalidates that
        // chunk for every returning visitor, even with identical contents.
        advancedChunks: {
          groups: [
            { name: 'vendor', test: /node_modules/, priority: 10 },
            { name: 'app', priority: 0 },
          ],
        },
      },
    },
  },
});
# Prove the build. `vite build` exiting 0 means the bundler finished, not that the
# app runs: base-path mistakes and dev-only env vars survive a green build.
vite build && vite preview      # then walk the routes, console must be clean

# Diff the chunk graph before and after any chunk-config change.
npx vite-bundle-visualizer

# Stale pre-bundle cache mimics a broken plugin. Clear it BEFORE editing plugin code.
rm -rf node_modules/.vite && vite --force

VITE_-prefixed variables are inlined into the client bundle at build time. They are public bundle content, never secrets. Audit .env.production before deploy.

Rules

Rule Covers
rules/vite-advanced-chunks.md Chunk splitting: advancedChunks groups, priority, maxSize, minShareCount
rules/vite-environments.md environments config for client, SSR, and edge; per-environment outDir
rules/vite-lib-config.md Library mode externals, dual ESM/CJS output, exports map, type declarations
rules/vite-plugin-hooks.md Hook order, virtual modules via resolveId + load, enforce and apply

Key Decisions

Decision Recommendation
New projects Vite 8 (default)
Existing production apps Stage the upgrade through rolldown-vite before committing
Multi-env builds Environment API (environments config)
Plugin scope Use this.environment for env-aware plugins
SSR Middleware mode for dev, separate builds for prod
Chunks advancedChunks for Vite 8, manualChunks for Vite 7 compat

Related Skills

  • ork:react-server-components-framework - SSR integration
  • ork:storybook-testing - Component testing with Vitest
  • ork:performance - Core Web Vitals targets behind the build budget

References

Load on demand with Read("references/<file>"):

File Content
ork-delta.md House rules that Vite's docs do not state
library-mode.md Building publishable npm packages

Use it

Copy one of these into your project. Installing also returns the manifest and these snippets.

yaml
targets:
  - https://api.opensmartroute.ai/api/v1/registry/yonatangross-orchestkit-vite-advanced/manifest   # or paste the manifest below

Manifest

An Open Capability Manifest: the router reads it to know what this does, what it costs and when to pick it.

yonatangross-orchestkit-vite-advanced.ocm.jsonjson
{
  "ocm": "1",
  "id": "yonatangross-orchestkit-vite-advanced",
  "kind": "skill",
  "name": "vite-advanced",
  "description": "Advanced Vite 8 patterns including Rolldown-powered builds, advancedChunks, Environment API, plugin development, SSR configuration, library mode, and build optimization. Use when customizing build pipelines, creating plugins, or configuring multi-environment builds.",
  "publisher": "yonatangross",
  "version": "1.0.0",
  "capabilities": {
    "domains": [
      "coding"
    ],
    "tags": [
      "skill-md",
      "vite",
      "vite8",
      "rolldown",
      "build",
      "bundler",
      "plugins",
      "ssr",
      "library-mode",
      "environment-api"
    ],
    "languages": [
      "en"
    ]
  },
  "quality_prior": 0.6,
  "examples": [
    "Advanced Vite 8 patterns including Rolldown-powered builds, advancedChunks, Environment API, plugin development, SSR configuration, library mode, and build optimization. Use when customizing build pipelines, creating plugins, or configuring multi-environment builds."
  ],
  "primary": false,
  "metadata": {
    "source": {
      "provider": "skills.sh",
      "repository": "https://github.com/yonatangross/orchestkit",
      "path": "src/skills/vite-advanced/SKILL.md",
      "ref": "HEAD",
      "url": "https://github.com/yonatangross/orchestkit/blob/HEAD/src/skills/vite-advanced/SKILL.md",
      "key": "yonatangross/orchestkit/src/skills/vite-advanced/SKILL.md"
    },
    "compatibility": "Claude Code 2.1.251+.",
    "allowed_tools": [
      "Read",
      "Glob",
      "Grep",
      "WebFetch",
      "WebSearch"
    ],
    "license": "MIT"
  },
  "instructions": "# Vite Advanced Patterns\n\nA wrapper around **Vite 8** (Rolldown-powered), not a copy of its documentation.\nVite's own docs are the source of truth for config keys, API surface, and migration\nmechanics. This skill carries the house delta plus four enforceable rules.\n\nVite 8 replaces the esbuild+Rollup pipeline with **Rolldown** (Rust-based unified\nbundler) and is the default for new projects. `advancedChunks` supersedes\n`manualChunks`; `build.rollupOptions` becomes `build.rolldownOptions`.\n\n## Upstream coverage (do not restate)\n\nFetch these from Vite rather than expecting them here. Rows marked",
  "cost": {
    "context_tokens": 1452
  }
}

Fetch it by URL: GET /api/v1/registry/yonatangross-orchestkit-vite-advanced/manifest?version=1.0.0

Reviews

Star ratings from people who tried it. One review per account; edit yours any time.

No reviews yet. Install it, try it, and be the first to rate it.