Description
Describe the bug
CSS via code split with dynamic import should be outputed and loaded in production build, with enableNativePlugin.
The css is bundled in output so that stage is working but it seems to be missing in the __vite__mapDeps
.
When native plugins is not enabled the index.js
file contains:
const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/View-CLkBZI-a.js","assets/runtime-core.esm-bundler-aeCuvUzG.js","assets/View-D0TLelry.css"])))
However, with native plugins enabled there is no reference to the css file that should be imported along side the codesplitted js file.
Reproduction
https://github.com/blake-newman/vitejs-vite-6jmtyy62
Steps to reproduce
https://github.com/blake-newman/vitejs-vite-6jmtyy62
Steps to build
pnpm install
pnpm run build
pnpm run start
With enableNativePlugin: true
the css for dynamic import (loaded via router) is not loaded, the background of the component should be blue. The css is outputed in the dist but seems to be missing from the import mapping in the index.js file.
With enableNativePlugin: 'resolver'
or enableNativePlugin: false
the css is correctly code split and loaded, the background is blue.
System Info
npx envinfo --system --npmPackages '{vite,rolldown-vite,@vitejs/*,rollup,rolldown}' --binaries --browsers
System:
OS: macOS 15.5
CPU: (14) arm64 Apple M4 Pro
Memory: 241.66 MB / 48.00 GB
Shell: 5.9 - /opt/homebrew/bin/zsh
Binaries:
Node: 20.18.3 - ~/.local/share/mise/installs/node/20.18.3/bin/node
npm: 10.8.2 - ~/.local/share/mise/installs/node/20.18.3/bin/npm
pnpm: 10.11.0 - ~/.local/share/mise/installs/node/20.18.3/bin/pnpm
Browsers:
Chrome: 137.0.7151.68
Safari: 18.5
npmPackages:
@vitejs/plugin-vue: 5.2.4 => 5.2.4
@vitejs/plugin-vue-jsx: 4.2.0 => 4.2.0
rolldown-vite: 6.3.16
Used Package Manager
pnpm
Logs
Native plugins enabled
vite:config config file loaded in 151.44ms +0ms
vite:env loading env files: [
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.local',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.production',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.production.local'
vite:env ] +0ms
vite:env env files loaded in 0.62ms +1ms
vite:env using resolved env: {} +0ms
vite:config using resolved config: {
vite:config experimental: {
vite:config importGlobRestoreExtension: false,
vite:config hmrPartialAccept: false,
vite:config enableNativePlugin: true
vite:config },
vite:config plugins: [
vite:config 'vite:watch-package-data',
vite:config 'builtin:alias',
vite:config 'unplugin-vue-setup-component-pre',
vite:config 'unplugin-vue-named-template-pre',
vite:config 'unplugin-vue-chain-call',
vite:config 'unplugin-vue-define-props',
vite:config 'unplugin-vue-define-props-refs',
vite:config 'unplugin-vue-define-emit',
vite:config 'unplugin-vue-define-models',
vite:config 'unplugin-vue-define-prop',
vite:config 'unplugin-vue-jsx-directive',
vite:config 'unplugin-vue-reactivity-transform',
vite:config 'unplugin-vue-hoist-static',
vite:config 'native:modulepreload-polyfill',
vite:config 'vite:resolve-import-glob-subpath-imports',
vite:config 'vite:resolve-builtin',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'native:transform',
vite:config 'builtin:json',
vite:config 'builtin:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'unplugin-vue-short-vmodel',
vite:config 'vite:vue',
vite:config 'vite:vue-jsx',
vite:config 'vue-macros-devtools',
vite:config 'vue-macros-exclude-dep-optimize',
vite:config 'builtin:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'vite:rollup-options-plugins',
vite:config 'builtin:dynamic-import-vars',
vite:config 'builtin:import-glob',
vite:config 'unplugin-vue-define-render',
vite:config 'unplugin-vue-setup-component-post',
vite:config 'unplugin-vue-named-template-post',
vite:config 'vite:build-import-analysis',
vite:config 'native:import-analysis-build',
vite:config 'vite:terser',
vite:config 'vite:manifest',
vite:config 'vite:ssr-manifest',
vite:config 'native:reporter',
vite:config 'builtin:load-fallback'
vite:config ],
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'browser' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: 'oxc',
vite:config ssr: false,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: true
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'browser', 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'browser', 'development|production' ],
vite:config builtins: []
vite:config },
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config ssr: {
vite:config target: 'node',
vite:config optimizeDeps: {
vite:config esbuildOptions: { preserveSymlinks: false },
vite:config include: [],
vite:config exclude: [],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: true
vite:config },
vite:config external: [],
vite:config noExternal: [],
vite:config resolve: {
vite:config conditions: [ 'module', 'node', 'development|production' ],
vite:config externalConditions: [ 'node' ]
vite:config }
vite:config },
vite:config esbuild: { jsxDev: false, include: /\.ts$/ },
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [ 'vue-macros/macros' ],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: false,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config environments: {
vite:config client: {
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'browser', 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'browser', 'development|production' ],
vite:config builtins: []
vite:config },
vite:config keepProcessEnv: false,
vite:config consumer: 'client',
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [ 'vue-macros/macros' ],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: false,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: true,
vite:config createEnvironment: [Function: defaultCreateClientDevEnvironment],
vite:config recoverable: true,
vite:config moduleRunnerTransform: false
vite:config },
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'browser' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: 'oxc',
vite:config ssr: false,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: true
vite:config },
vite:config optimizeDepsPluginNames: []
vite:config },
vite:config ssr: {
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'node', 'development|production' ],
vite:config builtins: [
vite:config '_http_agent', '_http_client', '_http_common',
vite:config '_http_incoming', '_http_outgoing', '_http_server',
vite:config '_stream_duplex', '_stream_passthrough', '_stream_readable',
vite:config '_stream_transform', '_stream_wrap', '_stream_writable',
vite:config '_tls_common', '_tls_wrap', 'assert',
vite:config 'assert/strict', 'async_hooks', 'buffer',
vite:config 'child_process', 'cluster', 'console',
vite:config 'constants', 'crypto', 'dgram',
vite:config 'diagnostics_channel', 'dns', 'dns/promises',
vite:config 'domain', 'events', 'fs',
vite:config 'fs/promises', 'http', 'http2',
vite:config 'https', 'inspector', 'inspector/promises',
vite:config 'module', 'net', 'os',
vite:config 'path', 'path/posix', 'path/win32',
vite:config 'perf_hooks', 'process', 'punycode',
vite:config 'querystring', 'readline', 'readline/promises',
vite:config 'repl', 'stream', 'stream/consumers',
vite:config 'stream/promises', 'stream/web', 'string_decoder',
vite:config 'sys', 'timers', 'timers/promises',
vite:config 'tls', 'trace_events', 'tty',
vite:config 'url', 'util', 'util/types',
vite:config 'v8', 'vm', 'wasi',
vite:config 'worker_threads', 'zlib', /^node:/,
vite:config /^npm:/, /^bun:/
vite:config ]
vite:config },
vite:config keepProcessEnv: true,
vite:config consumer: 'server',
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: true,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: false,
vite:config createEnvironment: [Function: defaultCreateDevEnvironment],
vite:config recoverable: false,
vite:config moduleRunnerTransform: true
vite:config },
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'node' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: false,
vite:config ssr: true,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: 'lightningcss'
vite:config },
vite:config optimizeDepsPluginNames: []
vite:config }
vite:config },
vite:config configFile: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/vite.config.ts',
vite:config configFileDependencies: [],
vite:config inlineConfig: {
vite:config root: undefined,
vite:config base: undefined,
vite:config mode: undefined,
vite:config configFile: undefined,
vite:config configLoader: undefined,
vite:config logLevel: undefined,
vite:config clearScreen: undefined,
vite:config build: {}
vite:config },
vite:config root: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config base: '/',
vite:config decodedBase: '/',
vite:config rawBase: '/',
vite:config publicDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/public',
vite:config cacheDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.vite',
vite:config command: 'build',
vite:config mode: 'production',
vite:config isWorker: false,
vite:config mainConfig: null,
vite:config bundleChain: [],
vite:config isProduction: true,
vite:config css: {
vite:config transformer: 'postcss',
vite:config preprocessorMaxWorkers: 0,
vite:config devSourcemap: false
vite:config },
vite:config json: { namedExports: true, stringify: 'auto' },
vite:config oxc: {
vite:config jsxInject: undefined,
vite:config include: /\.ts$/,
vite:config exclude: undefined,
vite:config jsx: { development: false }
vite:config },
vite:config server: {
vite:config port: 5173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {},
vite:config warmup: { clientFiles: [], ssrFiles: [] },
vite:config middlewareMode: false,
vite:config fs: {
vite:config strict: true,
vite:config deny: [ '.env', '.env.*', '*.{crt,pem}', '**/.git/**' ],
vite:config allow: [ '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62' ]
vite:config },
vite:config preTransformRequests: true,
vite:config perEnvironmentStartEndDuringDev: false,
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1]
vite:config },
vite:config builder: undefined,
vite:config preview: {
vite:config port: 4173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {}
vite:config },
vite:config envDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
vite:config assetsInclude: [Function: assetsInclude],
vite:config rawAssetsInclude: [],
vite:config logger: {
vite:config hasWarned: false,
vite:config info: [Function: info],
vite:config warn: [Function (anonymous)],
vite:config warnOnce: [Function: warnOnce],
vite:config error: [Function: error],
vite:config clearScreen: [Function: clearScreen],
vite:config hasErrorLogged: [Function: hasErrorLogged]
vite:config },
vite:config packageCache: Map(1) {
vite:config 'fnpd_/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62' => {
vite:config dir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config data: {
vite:config name: 'vite-vue-typescript-starter',
vite:config private: true,
vite:config version: '0.0.0',
vite:config type: 'module',
vite:config scripts: {
vite:config dev: 'vite',
vite:config build: 'vite build',
vite:config preview: 'vite preview',
vite:config start: 'serve dist'
vite:config },
vite:config dependencies: { vue: '^3.5.14' },
vite:config devDependencies: {
vite:config '@vitejs/plugin-vue': '5.2.4',
vite:config '@vitejs/plugin-vue-jsx': '4.2.0',
vite:config 'vue-macros': '3.0.0-beta.13',
vite:config '@vue/tsconfig': '^0.7.0',
vite:config serve: '14.2.4',
vite:config typescript: '~5.8.3',
vite:config vite: 'npm:rolldown-vite@latest',
vite:config 'vue-tsc': '^2.2.10',
vite:config 'vue-router': '4.5.1'
vite:config },
vite:config packageManager: 'pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977'
vite:config },
vite:config hasSideEffects: [Function: hasSideEffects],
vite:config setResolvedCache: [Function: setResolvedCache],
vite:config getResolvedCache: [Function: getResolvedCache]
vite:config },
vite:config set: [Function (anonymous)]
vite:config },
vite:config worker: { format: 'iife', plugins: '() => plugins', rollupOptions: {} },
vite:config appType: 'spa',
vite:config future: undefined,
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: false,
vite:config createEnvironment: [Function: defaultCreateDevEnvironment],
vite:config recoverable: false,
vite:config moduleRunnerTransform: false
vite:config },
vite:config webSocketToken: 'AJOSRzflzqgo',
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks],
vite:config createResolver: [Function: createResolver],
vite:config fsDenyGlob: [Function: arrayMatcher],
vite:config safeModulePaths: Set(0) {},
vite:config additionalAllowedHosts: []
vite:config } +17ms
rolldown-vite v6.3.16 building for production...
✓ 29 modules transformed.
dist/index.html 0.55 kB │ gzip: 0.34 kB
dist/assets/View-D0TLelry.css 0.04 kB │ gzip: 0.06 kB
dist/assets/index-DB2S97Cz.css 1.29 kB │ gzip: 0.64 kB
dist/assets/View-eyzvFfSJ.js 0.36 kB │ gzip: 0.29 kB
dist/assets/index-CdqQ3s2O.js 29.90 kB │ gzip: 11.94 kB
dist/assets/runtime-core.esm-bundler-Dl_hUiaK.js 52.55 kB │ gzip: 20.69 kB
✓ built in 106ms
Native plugins disabled
vite:config config file loaded in 160.47ms +0ms
vite:env loading env files: [
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.local',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.production',
vite:env '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/.env.production.local'
vite:env ] +0ms
vite:env env files loaded in 0.63ms +1ms
vite:env using resolved env: {} +0ms
vite:config using resolved config: {
vite:config experimental: {
vite:config importGlobRestoreExtension: false,
vite:config hmrPartialAccept: false,
vite:config enableNativePlugin: false
vite:config },
vite:config plugins: [
vite:config 'vite:watch-package-data',
vite:config 'alias',
vite:config 'unplugin-vue-setup-component-pre',
vite:config 'unplugin-vue-named-template-pre',
vite:config 'unplugin-vue-chain-call',
vite:config 'unplugin-vue-define-props',
vite:config 'unplugin-vue-define-props-refs',
vite:config 'unplugin-vue-define-emit',
vite:config 'unplugin-vue-define-models',
vite:config 'unplugin-vue-define-prop',
vite:config 'unplugin-vue-jsx-directive',
vite:config 'unplugin-vue-reactivity-transform',
vite:config 'unplugin-vue-hoist-static',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:oxc',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'unplugin-vue-short-vmodel',
vite:config 'vite:vue',
vite:config 'vite:vue-jsx',
vite:config 'vue-macros-devtools',
vite:config 'vue-macros-exclude-dep-optimize',
vite:config 'vite:wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:build-html',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:force-systemjs-wrap-complete',
vite:config 'vite:rollup-options-plugins',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'unplugin-vue-define-render',
vite:config 'unplugin-vue-setup-component-post',
vite:config 'unplugin-vue-named-template-post',
vite:config 'vite:build-import-analysis',
vite:config 'vite:oxc-transpile',
vite:config 'vite:terser',
vite:config 'vite:manifest',
vite:config 'vite:ssr-manifest',
vite:config 'vite:reporter',
vite:config 'vite:load-fallback'
vite:config ],
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'browser' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: 'oxc',
vite:config ssr: false,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: true
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'browser', 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'browser', 'development|production' ],
vite:config builtins: []
vite:config },
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config ssr: {
vite:config target: 'node',
vite:config optimizeDeps: {
vite:config esbuildOptions: { preserveSymlinks: false },
vite:config include: [],
vite:config exclude: [],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: true
vite:config },
vite:config external: [],
vite:config noExternal: [],
vite:config resolve: {
vite:config conditions: [ 'module', 'node', 'development|production' ],
vite:config externalConditions: [ 'node' ]
vite:config }
vite:config },
vite:config esbuild: { jsxDev: false, include: /\.ts$/ },
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [ 'vue-macros/macros' ],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: false,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config environments: {
vite:config client: {
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'browser', 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'browser', 'development|production' ],
vite:config builtins: []
vite:config },
vite:config keepProcessEnv: false,
vite:config consumer: 'client',
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [ 'vue-macros/macros' ],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: false,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: true,
vite:config createEnvironment: [Function: defaultCreateClientDevEnvironment],
vite:config recoverable: true,
vite:config moduleRunnerTransform: false
vite:config },
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'browser' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: 'oxc',
vite:config ssr: false,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: true
vite:config },
vite:config optimizeDepsPluginNames: []
vite:config },
vite:config ssr: {
vite:config define: {
vite:config __VUE_OPTIONS_API__: true,
vite:config __VUE_PROD_DEVTOOLS__: false,
vite:config __VUE_PROD_HYDRATION_MISMATCH_DETAILS__: false
vite:config },
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [
vite:config '.mjs', '.js',
vite:config '.mts', '.ts',
vite:config '.jsx', '.tsx',
vite:config '.json'
vite:config ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.pnpm/rolldown-vite@6.3.16_jiti@2.4.2/node_modules/rolldown-vite/dist/client/client.mjs'
vite:config }
vite:config ],
vite:config mainFields: [ 'module', 'jsnext:main', 'jsnext' ],
vite:config conditions: [ 'module', 'node', 'development|production' ],
vite:config builtins: [
vite:config '_http_agent', '_http_client', '_http_common',
vite:config '_http_incoming', '_http_outgoing', '_http_server',
vite:config '_stream_duplex', '_stream_passthrough', '_stream_readable',
vite:config '_stream_transform', '_stream_wrap', '_stream_writable',
vite:config '_tls_common', '_tls_wrap', 'assert',
vite:config 'assert/strict', 'async_hooks', 'buffer',
vite:config 'child_process', 'cluster', 'console',
vite:config 'constants', 'crypto', 'dgram',
vite:config 'diagnostics_channel', 'dns', 'dns/promises',
vite:config 'domain', 'events', 'fs',
vite:config 'fs/promises', 'http', 'http2',
vite:config 'https', 'inspector', 'inspector/promises',
vite:config 'module', 'net', 'os',
vite:config 'path', 'path/posix', 'path/win32',
vite:config 'perf_hooks', 'process', 'punycode',
vite:config 'querystring', 'readline', 'readline/promises',
vite:config 'repl', 'stream', 'stream/consumers',
vite:config 'stream/promises', 'stream/web', 'string_decoder',
vite:config 'sys', 'timers', 'timers/promises',
vite:config 'tls', 'trace_events', 'tty',
vite:config 'url', 'util', 'util/types',
vite:config 'v8', 'vm', 'wasi',
vite:config 'worker_threads', 'zlib', /^node:/,
vite:config /^npm:/, /^bun:/
vite:config ]
vite:config },
vite:config keepProcessEnv: true,
vite:config consumer: 'server',
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [],
vite:config needsInterop: [],
vite:config rollupOptions: { resolve: { symlinks: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config noDiscovery: true,
vite:config esbuildOptions: { preserveSymlinks: false }
vite:config },
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: false,
vite:config createEnvironment: [Function: defaultCreateDevEnvironment],
vite:config recoverable: false,
vite:config moduleRunnerTransform: true
vite:config },
vite:config build: {
vite:config target: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config polyfillModulePreload: true,
vite:config modulePreload: { polyfill: true },
vite:config outDir: 'dist',
vite:config assetsDir: 'assets',
vite:config assetsInlineLimit: 4096,
vite:config sourcemap: false,
vite:config terserOptions: {},
vite:config rollupOptions: { platform: 'node' },
vite:config commonjsOptions: { include: [ /node_modules/ ], extensions: [ '.js', '.cjs' ] },
vite:config dynamicImportVarsOptions: { warnOnError: true, exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config manifest: false,
vite:config lib: false,
vite:config ssrManifest: false,
vite:config ssrEmitAssets: false,
vite:config reportCompressedSize: true,
vite:config chunkSizeWarningLimit: 500,
vite:config watch: null,
vite:config cssCodeSplit: true,
vite:config minify: false,
vite:config ssr: true,
vite:config emitAssets: true,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'es2020', 'edge88', 'firefox78', 'chrome87', 'safari14' ],
vite:config cssMinify: 'lightningcss'
vite:config },
vite:config optimizeDepsPluginNames: []
vite:config }
vite:config },
vite:config configFile: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/vite.config.ts',
vite:config configFileDependencies: [],
vite:config inlineConfig: {
vite:config root: undefined,
vite:config base: undefined,
vite:config mode: undefined,
vite:config configFile: undefined,
vite:config configLoader: undefined,
vite:config logLevel: undefined,
vite:config clearScreen: undefined,
vite:config build: {}
vite:config },
vite:config root: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config base: '/',
vite:config decodedBase: '/',
vite:config rawBase: '/',
vite:config publicDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/public',
vite:config cacheDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62/node_modules/.vite',
vite:config command: 'build',
vite:config mode: 'production',
vite:config isWorker: false,
vite:config mainConfig: null,
vite:config bundleChain: [],
vite:config isProduction: true,
vite:config css: {
vite:config transformer: 'postcss',
vite:config preprocessorMaxWorkers: 0,
vite:config devSourcemap: false
vite:config },
vite:config json: { namedExports: true, stringify: 'auto' },
vite:config oxc: {
vite:config jsxInject: undefined,
vite:config include: /\.ts$/,
vite:config exclude: undefined,
vite:config jsx: { development: false }
vite:config },
vite:config server: {
vite:config port: 5173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {},
vite:config warmup: { clientFiles: [], ssrFiles: [] },
vite:config middlewareMode: false,
vite:config fs: {
vite:config strict: true,
vite:config deny: [ '.env', '.env.*', '*.{crt,pem}', '**/.git/**' ],
vite:config allow: [ '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62' ]
vite:config },
vite:config preTransformRequests: true,
vite:config perEnvironmentStartEndDuringDev: false,
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1]
vite:config },
vite:config builder: undefined,
vite:config preview: {
vite:config port: 4173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {}
vite:config },
vite:config envDir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config env: { BASE_URL: '/', MODE: 'production', DEV: false, PROD: true },
vite:config assetsInclude: [Function: assetsInclude],
vite:config rawAssetsInclude: [],
vite:config logger: {
vite:config hasWarned: false,
vite:config info: [Function: info],
vite:config warn: [Function (anonymous)],
vite:config warnOnce: [Function: warnOnce],
vite:config error: [Function: error],
vite:config clearScreen: [Function: clearScreen],
vite:config hasErrorLogged: [Function: hasErrorLogged]
vite:config },
vite:config packageCache: Map(1) {
vite:config 'fnpd_/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62' => {
vite:config dir: '/Users/blake.newman/sandbox/vitejs-vite-6jmtyy62',
vite:config data: {
vite:config name: 'vite-vue-typescript-starter',
vite:config private: true,
vite:config version: '0.0.0',
vite:config type: 'module',
vite:config scripts: {
vite:config dev: 'vite',
vite:config build: 'vite build',
vite:config preview: 'vite preview',
vite:config start: 'serve dist'
vite:config },
vite:config dependencies: { vue: '^3.5.14' },
vite:config devDependencies: {
vite:config '@vitejs/plugin-vue': '5.2.4',
vite:config '@vitejs/plugin-vue-jsx': '4.2.0',
vite:config 'vue-macros': '3.0.0-beta.13',
vite:config '@vue/tsconfig': '^0.7.0',
vite:config serve: '14.2.4',
vite:config typescript: '~5.8.3',
vite:config vite: 'npm:rolldown-vite@latest',
vite:config 'vue-tsc': '^2.2.10',
vite:config 'vue-router': '4.5.1'
vite:config },
vite:config packageManager: 'pnpm@10.11.0+sha512.6540583f41cc5f628eb3d9773ecee802f4f9ef9923cc45b69890fb47991d4b092964694ec3a4f738a420c918a333062c8b925d312f42e4f0c263eb603551f977'
vite:config },
vite:config hasSideEffects: [Function: hasSideEffects],
vite:config setResolvedCache: [Function: setResolvedCache],
vite:config getResolvedCache: [Function: getResolvedCache]
vite:config },
vite:config set: [Function (anonymous)]
vite:config },
vite:config worker: { format: 'iife', plugins: '() => plugins', rollupOptions: {} },
vite:config appType: 'spa',
vite:config future: undefined,
vite:config dev: {
vite:config warmup: [],
vite:config sourcemap: { js: true },
vite:config sourcemapIgnoreList: [Function: isInNodeModules$1],
vite:config preTransformRequests: false,
vite:config createEnvironment: [Function: defaultCreateDevEnvironment],
vite:config recoverable: false,
vite:config moduleRunnerTransform: false
vite:config },
vite:config webSocketToken: 'b8KPfitQAS-X',
vite:config getSortedPlugins: [Function: getSortedPlugins],
vite:config getSortedPluginHooks: [Function: getSortedPluginHooks],
vite:config createResolver: [Function: createResolver],
vite:config fsDenyGlob: [Function: arrayMatcher],
vite:config safeModulePaths: Set(0) {},
vite:config additionalAllowedHosts: []
vite:config } +27ms
rolldown-vite v6.3.16 building for production...
✓ 30 modules transformed.
dist/index.html 0.56 kB │ gzip: 0.34 kB
dist/assets/View-D0TLelry.css 0.05 kB │ gzip: 0.07 kB
dist/assets/index-DB2S97Cz.css 1.30 kB │ gzip: 0.64 kB
dist/assets/View-CLkBZI-a.js 0.37 kB │ gzip: 0.30 kB
dist/assets/index-B3RVWFUe.js 31.32 kB │ gzip: 12.48 kB
dist/assets/runtime-core.esm-bundler-aeCuvUzG.js 52.56 kB │ gzip: 20.69 kB
✓ built in 140ms
Validations
- Follow our Code of Conduct
- Read the Contributing Guidelines.
- Read the docs and the Rolldown-related guide.
- Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- The provided reproduction is a minimal reproducible example of the bug.