WARNING: THIS SITE IS A MIRROR OF GITHUB.COM / IT CANNOT LOGIN OR REGISTER ACCOUNTS / THE CONTENTS ARE PROVIDED AS-IS / THIS SITE ASSUMES NO RESPONSIBILITY FOR ANY DISPLAYED CONTENT OR LINKS / IF YOU FOUND SOMETHING MAY NOT GOOD FOR EVERYONE, CONTACT ADMIN AT ilovescratch@foxmail.com
Skip to content

Bundle size ~19% larger with rolldown-vite when 'libmoji' is a dependency #501

@Denis6902

Description

@Denis6902

Describe the bug

I have a simple vanilla JS application that imports and uses libmoji.

  • When I build the application with standard vite, the final bundle size is 1072kB.
  • When I build the same application with rolldown-vite, the bundle size increases to 1277kB.

I expect the bundle size to be similar or ideally smaller with Rolldown, but it's 19% larger in this scenario

Reproduction

https://stackblitz.com/edit/vitejs-rolldown-vite-ecbdwyv2?file=package.json,src%2Fmain.js

Steps to reproduce

Part 1: Reproduce the issue with rolldown-vite

  1. Open the provided StackBlitz reproduction link.
  2. Open a new terminal inside StackBlitz.
  3. Run npm install.
  4. Run npm run build.
  5. After the build completes, observe the final bundle size reported in the terminal. It will be 1277kB.

Part 2: Compare with standard Vite

  1. In package.json, modify the devDependencies to use standard Vite. (e.g., change "vite": "npm:rolldown-vite@^7.2.2" to "vite": "^7.2.2").
  2. In the terminal, run the following commands to ensure a clean install: rm -rf node_modules package-lock.json && npm install
  3. Run npm run build again.
  4. Observe the bundle size in the terminal output. It will now 1072kB.

System Info

System:
    OS: Linux 6.6 Ubuntu 24.04.3 LTS 24.04.3 LTS (Noble Numbat)
    CPU: (12) x64 AMD Ryzen 5 7600 6-Core Processor
    Memory: 5.69 GB / 7.76 GB
    Container: Yes
    Shell: 5.2.21 - /bin/bash
  Binaries:
    Node: 25.1.0 - /home/denis/.nvm/versions/node/v25.1.0/bin/node
    npm: 11.6.2 - /home/denis/.nvm/versions/node/v25.1.0/bin/npm
    bun: 1.3.2 - /home/denis/.bun/bin/bun
  npmPackages:
    rolldown-vite:  7.1.14

Used Package Manager

npm

Logs

Click to expand!
vite:config no config file found. +0ms
  vite:env loading env files: [
  vite:env   '/home/denis/Projects/test/vite-project/.env',
  vite:env   '/home/denis/Projects/test/vite-project/.env.local',
  vite:env   '/home/denis/Projects/test/vite-project/.env.production',
  vite:env   '/home/denis/Projects/test/vite-project/.env.production.local'
  vite:env ] +0ms
  vite:env env files loaded in 0.39ms +1ms
  vite:env using resolved env: {} +0ms
  vite:config using resolved config: {
  vite:config   root: '/home/denis/Projects/test/vite-project',
  vite:config   base: '/',
  vite:config   mode: 'production',
  vite:config   configFile: undefined,
  vite:config   configLoader: undefined,
  vite:config   logLevel: undefined,
  vite:config   clearScreen: undefined,
  vite:config   build: {
  vite:config     target: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  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     rolldownOptions: { 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     rollupOptions: { platform: 'browser' },
  vite:config     ssr: false,
  vite:config     emitAssets: true,
  vite:config     createEnvironment: [Function: createEnvironment],
  vite:config     cssTarget: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  vite:config     cssMinify: true
  vite:config   },
  vite:config   worker: {
  vite:config     format: 'iife',
  vite:config     plugins: '() => plugins',
  vite:config     rollupOptions: {},
  vite:config     rolldownOptions: {}
  vite:config   },
  vite:config   optimizeDeps: {
  vite:config     include: [],
  vite:config     exclude: [],
  vite:config     needsInterop: [],
  vite:config     rollupOptions: { resolve: { symlinks: true }, output: { topLevelVar: 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   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 }, output: { topLevelVar: 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', 'module-sync' ]
  vite:config     }
  vite:config   },
  vite:config   environments: {
  vite:config     client: {
  vite:config       define: undefined,
  vite:config       resolve: {
  vite:config         externalConditions: [ 'node', 'module-sync' ],
  vite:config         extensions: [
  vite:config           '.mjs',  '.js',
  vite:config           '.mts',  '.ts',
  vite:config           '.jsx',  '.tsx',
  vite:config           '.json'
  vite:config         ],
  vite:config         dedupe: [],
  vite:config         noExternal: [],
  vite:config         external: [],
  vite:config         preserveSymlinks: false,
  vite:config         tsconfigPaths: false,
  vite:config         alias: [
  vite:config           {
  vite:config             find: /^\/?@vite\/env/,
  vite:config             replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/env.mjs'
  vite:config           },
  vite:config           {
  vite:config             find: /^\/?@vite\/client/,
  vite:config             replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/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: [],
  vite:config         needsInterop: [],
  vite:config         rollupOptions: { resolve: { symlinks: true }, output: { topLevelVar: 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],
  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: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  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         rolldownOptions: { 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         rollupOptions: { platform: 'browser' },
  vite:config         ssr: false,
  vite:config         emitAssets: true,
  vite:config         createEnvironment: [Function: createEnvironment],
  vite:config         cssTarget: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  vite:config         cssMinify: true
  vite:config       },
  vite:config       plugins: [
  vite:config         {
  vite:config           name: 'vite:watch-package-data',
  vite:config           buildStart: [Function: buildStart],
  vite:config           buildEnd: [Function: buildEnd],
  vite:config           watchChange: [Function: watchChange]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:alias',
  vite:config           _options: {
  vite:config             entries: [
  vite:config               {
  vite:config                 find: /^\/?@vite\/env/,
  vite:config                 replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/env.mjs'
  vite:config               },
  vite:config               {
  vite:config                 find: /^\/?@vite\/client/,
  vite:config                 replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/client.mjs'
  vite:config               }
  vite:config             ]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:module-preload-polyfill',
  vite:config           _options: { isServer: false }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:resolve-builtin:get-environment',
  vite:config           buildStart: [Function: buildStart],
  vite:config           perEnvironmentStartEndDuringDev: true
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:vite-resolve',
  vite:config           _options: {
  vite:config             resolveOptions: {
  vite:config               isBuild: true,
  vite:config               isProduction: true,
  vite:config               asSrc: true,
  vite:config               preferRelative: false,
  vite:config               isRequire: undefined,
  vite:config               root: '/home/denis/Projects/test/vite-project',
  vite:config               scan: false,
  vite:config               mainFields: [ 'browser', 'module', 'jsnext:main', 'jsnext', 'main' ],
  vite:config               conditions: [ 'module', 'browser', 'development|production' ],
  vite:config               externalConditions: [ 'node', 'module-sync' ],
  vite:config               extensions: [
  vite:config                 '.mjs',  '.js',
  vite:config                 '.mts',  '.ts',
  vite:config                 '.jsx',  '.tsx',
  vite:config                 '.json'
  vite:config               ],
  vite:config               tryIndex: true,
  vite:config               tryPrefix: undefined,
  vite:config               preserveSymlinks: false,
  vite:config               tsconfigPaths: false
  vite:config             },
  vite:config             environmentConsumer: 'client',
  vite:config             environmentName: 'client',
  vite:config             builtins: [],
  vite:config             external: [],
  vite:config             noExternal: [],
  vite:config             dedupe: [],
  vite:config             finalizeBareSpecifier: undefined,
  vite:config             finalizeOtherSpecifiers: undefined,
  vite:config             resolveSubpathImports: [Function: resolveSubpathImports]
  vite:config           },
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:html-inline-proxy',
  vite:config           resolveId: {
  vite:config             filter: { id: /[?&]html-proxy\b/ },
  vite:config             handler: [Function: handler]
  vite:config           },
  vite:config           load: {
  vite:config             filter: { id: /[?&]html-proxy\b/ },
  vite:config             handler: [Function: handler]
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:css',
  vite:config           buildStart: [Function: buildStart],
  vite:config           buildEnd: [Function: buildEnd],
  vite:config           load: {
  vite:config             filter: {
  vite:config               id: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           transform: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/,
  vite:config                 exclude: [
  vite:config                   /[?&]commonjs-proxy/,
  vite:config                   /[?&](?:worker|sharedworker|raw|url)\b/
  vite:config                 ]
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:transform',
  vite:config           _options: {
  vite:config             include: [ /\.(m?ts|[jt]sx)$/ ],
  vite:config             exclude: [ /\.js$/ ],
  vite:config             jsxRefreshInclude: undefined,
  vite:config             jsxRefreshExclude: undefined,
  vite:config             isServerConsumer: false,
  vite:config             jsxInject: undefined,
  vite:config             transformOptions: { jsx: { development: false }, sourcemap: true }
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:json',
  vite:config           _options: { namedExports: true, stringify: 'auto', minify: true },
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:wasm-helper',
  vite:config           _options: { decodedBase: '/' }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:worker',
  vite:config           buildStart: [Function: buildStart],
  vite:config           load: {
  vite:config             filter: { id: /(?:\?|&)(worker|sharedworker)(?:&|$)/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           shouldTransformCachedModule: [Function: shouldTransformCachedModule],
  vite:config           transform: {
  vite:config             filter: { id: /(?:\?|&)worker_file&type=(\w+)(?:&|$)/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:asset',
  vite:config           perEnvironmentStartEndDuringDev: true,
  vite:config           buildStart: [Function: buildStart],
  vite:config           resolveId: {
  vite:config             filter: {
  vite:config               id: [
  vite:config                 /(\?|&)url(?:&|$)/,
  vite:config                 /\.(apng|bmp|png|jpe?g|jfif|pjpeg|pjp|gif|svg|ico|webp|avif|cur|jxl|mp4|webm|ogg|mp3|wav|flac|aac|opus|mov|m4a|vtt|woff2?|eot|ttf|otf|webmanifest|pdf|txt)(\?.*)?$/i
  vite:config               ]
  vite:config             },
  vite:config             handler: [Function: handler]
  vite:config           },
  vite:config           load: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: [
  vite:config                   /(\?|&)raw(?:&|$)/,
  vite:config                   /(\?|&)url(?:&|$)/,
  vite:config                   /\.(apng|bmp|png|jpe?g|jfif|pjpeg|pjp|gif|svg|ico|webp|avif|cur|jxl|mp4|webm|ogg|mp3|wav|flac|aac|opus|mov|m4a|vtt|woff2?|eot|ttf|otf|webmanifest|pdf|txt)(\?.*)?$/i
  vite:config                 ],
  vite:config                 exclude: /^\0/
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:wasm-fallback',
  vite:config           _options: undefined,
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         { name: 'vite:define', options: [Function: options] },
  vite:config         {
  vite:config           name: 'vite:css-post',
  vite:config           renderStart: [Function: renderStart],
  vite:config           transform: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/,
  vite:config                 exclude: [
  vite:config                   /[?&]commonjs-proxy/,
  vite:config                   /[?&](?:worker|sharedworker|raw|url)\b/
  vite:config                 ]
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [AsyncFunction: renderChunk],
  vite:config           augmentChunkHash: [Function: augmentChunkHash],
  vite:config           generateBundle: [AsyncFunction: generateBundle]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:build-html',
  vite:config           transform: {
  vite:config             filter: { id: /\.html$/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           generateBundle: [AsyncFunction: generateBundle]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:worker-import-meta-url',
  vite:config           applyToEnvironment: [Function: applyToEnvironment],
  vite:config           shouldTransformCachedModule: [Function: shouldTransformCachedModule],
  vite:config           transform: {
  vite:config             filter: {
  vite:config               code: /new\s+(?:Worker|SharedWorker)\s*\(\s*new\s+URL.+?import\.meta\.url/s
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:asset-import-meta-url',
  vite:config           applyToEnvironment: [Function: applyToEnvironment],
  vite:config           transform: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 exclude: [
  vite:config                   /^vite\/preload\-helper\.js$/,
  vite:config                   /^\/home\/denis\/Projects\/test\/vite\-project\/node_modules\/vite\/dist\/client\/client\.mjs$/
  vite:config                 ]
  vite:config               },
  vite:config               code: /new\s+URL.+import\.meta\.url/s
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           }
  vite:config         },
  vite:config         { name: 'vite:force-systemjs-wrap-complete' },
  vite:config         {
  vite:config           name: 'vite:prepare-out-dir',
  vite:config           options: [Function: options],
  vite:config           renderStart: { order: 'pre', handler: [Function: handler] }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:dynamic-import-vars',
  vite:config           _options: {
  vite:config             include: undefined,
  vite:config             exclude: [ /node_modules/ ],
  vite:config             resolver: [Function: resolver]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:import-glob',
  vite:config           _options: {
  vite:config             root: '/home/denis/Projects/test/vite-project',
  vite:config             restoreQueryExtension: false
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:build-import-analysis',
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:build-import-analysis',
  vite:config           _options: {
  vite:config             preloadCode: `const scriptRel = 'modulepreload';const assetsURL = function(dep) { return "/"+dep };const seen = {};export const __vitePreload = function preload(baseModule, deps, importerUrl) {\n` +
  vite:config               '\tlet promise = Promise.resolve();\n' +
  vite:config               '\tif (__VITE_IS_MODERN__ && deps && deps.length > 0) {\n' +
  vite:config               '\t\tconst links = document.getElementsByTagName("link");\n' +
  vite:config               '\t\tconst cspNonceMeta = document.querySelector("meta[property=csp-nonce]");\n' +
  vite:config               '\t\tconst cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");\n' +
  vite:config               '\t\tfunction allSettled(promises$2) {\n' +
  vite:config               '\t\t\treturn Promise.all(promises$2.map((p) => Promise.resolve(p).then((value$1) => ({\n' +
  vite:config               '\t\t\t\tstatus: "fulfilled",\n' +
  vite:config               '\t\t\t\tvalue: value$1\n' +
  vite:config               '\t\t\t}), (reason) => ({\n' +
  vite:config               '\t\t\t\tstatus: "rejected",\n' +
  vite:config               '\t\t\t\treason\n' +
  vite:config               '\t\t\t}))));\n' +
  vite:config               '\t\t}\n' +
  vite:config               '\t\tpromise = allSettled(deps.map((dep) => {\n' +
  vite:config               '\t\t\tdep = assetsURL(dep, importerUrl);\n' +
  vite:config               '\t\t\tif (dep in seen) return;\n' +
  vite:config               '\t\t\tseen[dep] = true;\n' +
  vite:config               '\t\t\tconst isCss = dep.endsWith(".css");\n' +
  vite:config               '\t\t\tconst cssSelector = isCss ? "[rel=\\"stylesheet\\"]" : "";\n' +
  vite:config               '\t\t\tif (!!importerUrl) for (let i$1 = links.length - 1; i$1 >= 0; i$1--) {\n' +
  vite:config               '\t\t\t\tconst link$1 = links[i$1];\n' +
  vite:config               '\t\t\t\tif (link$1.href === dep && (!isCss || link$1.rel === "stylesheet")) return;\n' +
  vite:config               '\t\t\t}\n' +
  vite:config               '\t\t\telse if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) return;\n' +
  vite:config               '\t\t\tconst link = document.createElement("link");\n' +
  vite:config               '\t\t\tlink.rel = isCss ? "stylesheet" : scriptRel;\n' +
  vite:config               '\t\t\tif (!isCss) link.as = "script";\n' +
  vite:config               '\t\t\tlink.crossOrigin = "";\n' +
  vite:config               '\t\t\tlink.href = dep;\n' +
  vite:config               '\t\t\tif (cspNonce) link.setAttribute("nonce", cspNonce);\n' +
  vite:config               '\t\t\tdocument.head.appendChild(link);\n' +
  vite:config               '\t\t\tif (isCss) return new Promise((res, rej) => {\n' +
  vite:config               '\t\t\t\tlink.addEventListener("load", res);\n' +
  vite:config               '\t\t\t\tlink.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`)));\n' +
  vite:config               '\t\t\t});\n' +
  vite:config               '\t\t}));\n' +
  vite:config               '\t}\n' +
  vite:config               '\tfunction handlePreloadError(err$2) {\n' +
  vite:config               '\t\tconst e$1 = new Event("vite:preloadError", { cancelable: true });\n' +
  vite:config               '\t\te$1.payload = err$2;\n' +
  vite:config               '\t\twindow.dispatchEvent(e$1);\n' +
  vite:config               '\t\tif (!e$1.defaultPrevented) throw err$2;\n' +
  vite:config               '\t}\n' +
  vite:config               '\treturn promise.then((res) => {\n' +
  vite:config               '\t\tfor (const item of res || []) {\n' +
  vite:config               '\t\t\tif (item.status !== "rejected") continue;\n' +
  vite:config               '\t\t\thandlePreloadError(item.reason);\n' +
  vite:config               '\t\t}\n' +
  vite:config               '\t\treturn baseModule().catch(handlePreloadError);\n' +
  vite:config               '\t});\n' +
  vite:config               '}',
  vite:config             insertPreload: true,
  vite:config             optimizeModulePreloadRelativePaths: false,
  vite:config             renderBuiltUrl: false,
  vite:config             isRelativeBase: false
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:terser',
  vite:config           applyToEnvironment: [Function: applyToEnvironment],
  vite:config           renderChunk: [AsyncFunction: renderChunk],
  vite:config           closeBundle: [Function: closeBundle]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:reporter',
  vite:config           _options: {
  vite:config             isTty: true,
  vite:config             isLib: false,
  vite:config             assetsDir: 'assets/',
  vite:config             chunkLimit: 500,
  vite:config             shouldLogInfo: true,
  vite:config             reportCompressedSize: true,
  vite:config             warnLargeChunks: true
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:load-fallback',
  vite:config           _options: undefined
  vite:config         }
  vite:config       ],
  vite:config       optimizeDepsPluginNames: []
  vite:config     },
  vite:config     ssr: {
  vite:config       define: undefined,
  vite:config       resolve: {
  vite:config         externalConditions: [ 'node', 'module-sync' ],
  vite:config         extensions: [
  vite:config           '.mjs',  '.js',
  vite:config           '.mts',  '.ts',
  vite:config           '.jsx',  '.tsx',
  vite:config           '.json'
  vite:config         ],
  vite:config         dedupe: [],
  vite:config         noExternal: [],
  vite:config         external: [],
  vite:config         preserveSymlinks: false,
  vite:config         tsconfigPaths: false,
  vite:config         alias: [
  vite:config           {
  vite:config             find: /^\/?@vite\/env/,
  vite:config             replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/env.mjs'
  vite:config           },
  vite:config           {
  vite:config             find: /^\/?@vite\/client/,
  vite:config             replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/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           /^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 }, output: { topLevelVar: 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],
  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: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  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         rolldownOptions: { 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         rollupOptions: { platform: 'node' },
  vite:config         ssr: true,
  vite:config         emitAssets: true,
  vite:config         createEnvironment: [Function: createEnvironment],
  vite:config         cssTarget: [ 'chrome107', 'edge107', 'firefox104', 'safari16' ],
  vite:config         cssMinify: 'lightningcss'
  vite:config       },
  vite:config       plugins: [
  vite:config         {
  vite:config           name: 'vite:watch-package-data',
  vite:config           buildStart: [Function: buildStart],
  vite:config           buildEnd: [Function: buildEnd],
  vite:config           watchChange: [Function: watchChange]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:alias',
  vite:config           _options: {
  vite:config             entries: [
  vite:config               {
  vite:config                 find: /^\/?@vite\/env/,
  vite:config                 replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/env.mjs'
  vite:config               },
  vite:config               {
  vite:config                 find: /^\/?@vite\/client/,
  vite:config                 replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/client.mjs'
  vite:config               }
  vite:config             ]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:module-preload-polyfill',
  vite:config           _options: { isServer: true }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:resolve-builtin:get-environment',
  vite:config           buildStart: [Function: buildStart],
  vite:config           perEnvironmentStartEndDuringDev: true
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:vite-resolve',
  vite:config           _options: {
  vite:config             resolveOptions: {
  vite:config               isBuild: true,
  vite:config               isProduction: true,
  vite:config               asSrc: true,
  vite:config               preferRelative: false,
  vite:config               isRequire: undefined,
  vite:config               root: '/home/denis/Projects/test/vite-project',
  vite:config               scan: false,
  vite:config               mainFields: [ 'module', 'jsnext:main', 'jsnext', 'main' ],
  vite:config               conditions: [ 'module', 'node', 'development|production' ],
  vite:config               externalConditions: [ 'node', 'module-sync' ],
  vite:config               extensions: [
  vite:config                 '.mjs',  '.js',
  vite:config                 '.mts',  '.ts',
  vite:config                 '.jsx',  '.tsx',
  vite:config                 '.json'
  vite:config               ],
  vite:config               tryIndex: true,
  vite:config               tryPrefix: undefined,
  vite:config               preserveSymlinks: false,
  vite:config               tsconfigPaths: false
  vite:config             },
  vite:config             environmentConsumer: 'server',
  vite:config             environmentName: 'ssr',
  vite:config             builtins: [
  vite:config               '_http_agent',
  vite:config               '_http_client',
  vite:config               '_http_common',
  vite:config               '_http_incoming',
  vite:config               '_http_outgoing',
  vite:config               '_http_server',
  vite:config               '_stream_duplex',
  vite:config               '_stream_passthrough',
  vite:config               '_stream_readable',
  vite:config               '_stream_transform',
  vite:config               '_stream_wrap',
  vite:config               '_stream_writable',
  vite:config               '_tls_common',
  vite:config               '_tls_wrap',
  vite:config               'assert',
  vite:config               'assert/strict',
  vite:config               'async_hooks',
  vite:config               'buffer',
  vite:config               'child_process',
  vite:config               'cluster',
  vite:config               'console',
  vite:config               'constants',
  vite:config               'crypto',
  vite:config               'dgram',
  vite:config               'diagnostics_channel',
  vite:config               'dns',
  vite:config               'dns/promises',
  vite:config               'domain',
  vite:config               'events',
  vite:config               'fs',
  vite:config               'fs/promises',
  vite:config               'http',
  vite:config               'http2',
  vite:config               'https',
  vite:config               'inspector',
  vite:config               'inspector/promises',
  vite:config               'module',
  vite:config               'net',
  vite:config               'os',
  vite:config               'path',
  vite:config               'path/posix',
  vite:config               'path/win32',
  vite:config               'perf_hooks',
  vite:config               'process',
  vite:config               'punycode',
  vite:config               'querystring',
  vite:config               'readline',
  vite:config               'readline/promises',
  vite:config               'repl',
  vite:config               'stream',
  vite:config               'stream/consumers',
  vite:config               'stream/promises',
  vite:config               'stream/web',
  vite:config               'string_decoder',
  vite:config               'sys',
  vite:config               'timers',
  vite:config               'timers/promises',
  vite:config               'tls',
  vite:config               'trace_events',
  vite:config               'tty',
  vite:config               'url',
  vite:config               'util',
  vite:config               'util/types',
  vite:config               'v8',
  vite:config               'vm',
  vite:config               'wasi',
  vite:config               'worker_threads',
  vite:config               'zlib',
  vite:config               /^node:/,
  vite:config               /^bun:/
  vite:config             ],
  vite:config             external: [],
  vite:config             noExternal: [],
  vite:config             dedupe: [],
  vite:config             finalizeBareSpecifier: undefined,
  vite:config             finalizeOtherSpecifiers: undefined,
  vite:config             resolveSubpathImports: [Function: resolveSubpathImports]
  vite:config           },
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:html-inline-proxy',
  vite:config           resolveId: {
  vite:config             filter: { id: /[?&]html-proxy\b/ },
  vite:config             handler: [Function: handler]
  vite:config           },
  vite:config           load: {
  vite:config             filter: { id: /[?&]html-proxy\b/ },
  vite:config             handler: [Function: handler]
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:css',
  vite:config           buildStart: [Function: buildStart],
  vite:config           buildEnd: [Function: buildEnd],
  vite:config           load: {
  vite:config             filter: {
  vite:config               id: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           transform: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/,
  vite:config                 exclude: [
  vite:config                   /[?&]commonjs-proxy/,
  vite:config                   /[?&](?:worker|sharedworker|raw|url)\b/
  vite:config                 ]
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:transform',
  vite:config           _options: {
  vite:config             include: [ /\.(m?ts|[jt]sx)$/ ],
  vite:config             exclude: [ /\.js$/ ],
  vite:config             jsxRefreshInclude: undefined,
  vite:config             jsxRefreshExclude: undefined,
  vite:config             isServerConsumer: true,
  vite:config             jsxInject: undefined,
  vite:config             transformOptions: { jsx: { development: false }, sourcemap: true }
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:json',
  vite:config           _options: { namedExports: true, stringify: 'auto', minify: true },
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:wasm-helper',
  vite:config           _options: { decodedBase: '/' }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:worker',
  vite:config           buildStart: [Function: buildStart],
  vite:config           load: {
  vite:config             filter: { id: /(?:\?|&)(worker|sharedworker)(?:&|$)/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           shouldTransformCachedModule: [Function: shouldTransformCachedModule],
  vite:config           transform: {
  vite:config             filter: { id: /(?:\?|&)worker_file&type=(\w+)(?:&|$)/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:asset',
  vite:config           perEnvironmentStartEndDuringDev: true,
  vite:config           buildStart: [Function: buildStart],
  vite:config           resolveId: {
  vite:config             filter: {
  vite:config               id: [
  vite:config                 /(\?|&)url(?:&|$)/,
  vite:config                 /\.(apng|bmp|png|jpe?g|jfif|pjpeg|pjp|gif|svg|ico|webp|avif|cur|jxl|mp4|webm|ogg|mp3|wav|flac|aac|opus|mov|m4a|vtt|woff2?|eot|ttf|otf|webmanifest|pdf|txt)(\?.*)?$/i
  vite:config               ]
  vite:config             },
  vite:config             handler: [Function: handler]
  vite:config           },
  vite:config           load: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: [
  vite:config                   /(\?|&)raw(?:&|$)/,
  vite:config                   /(\?|&)url(?:&|$)/,
  vite:config                   /\.(apng|bmp|png|jpe?g|jfif|pjpeg|pjp|gif|svg|ico|webp|avif|cur|jxl|mp4|webm|ogg|mp3|wav|flac|aac|opus|mov|m4a|vtt|woff2?|eot|ttf|otf|webmanifest|pdf|txt)(\?.*)?$/i
  vite:config                 ],
  vite:config                 exclude: /^\0/
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:wasm-fallback',
  vite:config           _options: undefined,
  vite:config           load: [AsyncFunction (anonymous)],
  vite:config           resolveId: [AsyncFunction (anonymous)],
  vite:config           transform: [AsyncFunction (anonymous)],
  vite:config           watchChange: [AsyncFunction (anonymous)]
  vite:config         },
  vite:config         { name: 'vite:define', options: [Function: options] },
  vite:config         {
  vite:config           name: 'vite:css-post',
  vite:config           renderStart: [Function: renderStart],
  vite:config           transform: {
  vite:config             filter: {
  vite:config               id: {
  vite:config                 include: /\.(css|less|sass|scss|styl|stylus|pcss|postcss|sss)(?:$|\?)/,
  vite:config                 exclude: [
  vite:config                   /[?&]commonjs-proxy/,
  vite:config                   /[?&](?:worker|sharedworker|raw|url)\b/
  vite:config                 ]
  vite:config               }
  vite:config             },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           renderChunk: [AsyncFunction: renderChunk],
  vite:config           augmentChunkHash: [Function: augmentChunkHash],
  vite:config           generateBundle: [AsyncFunction: generateBundle]
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:build-html',
  vite:config           transform: {
  vite:config             filter: { id: /\.html$/ },
  vite:config             handler: [AsyncFunction: handler]
  vite:config           },
  vite:config           generateBundle: [AsyncFunction: generateBundle]
  vite:config         },
  vite:config         { name: 'vite:force-systemjs-wrap-complete' },
  vite:config         {
  vite:config           name: 'vite:prepare-out-dir',
  vite:config           options: [Function: options],
  vite:config           renderStart: { order: 'pre', handler: [Function: handler] }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:dynamic-import-vars',
  vite:config           _options: {
  vite:config             include: undefined,
  vite:config             exclude: [ /node_modules/ ],
  vite:config             resolver: [Function: resolver]
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:import-glob',
  vite:config           _options: {
  vite:config             root: '/home/denis/Projects/test/vite-project',
  vite:config             restoreQueryExtension: false
  vite:config           }
  vite:config         },
  vite:config         {
  vite:config           name: 'vite:build-import-analysis',
  vite:config           renderChunk: [Function: renderChunk],
  vite:config           generateBundle: [Function: generateBundle]
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:build-import-analysis',
  vite:config           _options: {
  vite:config             preloadCode: `const scriptRel = 'modulepreload';const assetsURL = function(dep) { return "/"+dep };const seen = {};export const __vitePreload = function preload(baseModule, deps, importerUrl) {\n` +
  vite:config               '\tlet promise = Promise.resolve();\n' +
  vite:config               '\tif (__VITE_IS_MODERN__ && deps && deps.length > 0) {\n' +
  vite:config               '\t\tconst links = document.getElementsByTagName("link");\n' +
  vite:config               '\t\tconst cspNonceMeta = document.querySelector("meta[property=csp-nonce]");\n' +
  vite:config               '\t\tconst cspNonce = cspNonceMeta?.nonce || cspNonceMeta?.getAttribute("nonce");\n' +
  vite:config               '\t\tfunction allSettled(promises$2) {\n' +
  vite:config               '\t\t\treturn Promise.all(promises$2.map((p) => Promise.resolve(p).then((value$1) => ({\n' +
  vite:config               '\t\t\t\tstatus: "fulfilled",\n' +
  vite:config               '\t\t\t\tvalue: value$1\n' +
  vite:config               '\t\t\t}), (reason) => ({\n' +
  vite:config               '\t\t\t\tstatus: "rejected",\n' +
  vite:config               '\t\t\t\treason\n' +
  vite:config               '\t\t\t}))));\n' +
  vite:config               '\t\t}\n' +
  vite:config               '\t\tpromise = allSettled(deps.map((dep) => {\n' +
  vite:config               '\t\t\tdep = assetsURL(dep, importerUrl);\n' +
  vite:config               '\t\t\tif (dep in seen) return;\n' +
  vite:config               '\t\t\tseen[dep] = true;\n' +
  vite:config               '\t\t\tconst isCss = dep.endsWith(".css");\n' +
  vite:config               '\t\t\tconst cssSelector = isCss ? "[rel=\\"stylesheet\\"]" : "";\n' +
  vite:config               '\t\t\tif (!!importerUrl) for (let i$1 = links.length - 1; i$1 >= 0; i$1--) {\n' +
  vite:config               '\t\t\t\tconst link$1 = links[i$1];\n' +
  vite:config               '\t\t\t\tif (link$1.href === dep && (!isCss || link$1.rel === "stylesheet")) return;\n' +
  vite:config               '\t\t\t}\n' +
  vite:config               '\t\t\telse if (document.querySelector(`link[href="${dep}"]${cssSelector}`)) return;\n' +
  vite:config               '\t\t\tconst link = document.createElement("link");\n' +
  vite:config               '\t\t\tlink.rel = isCss ? "stylesheet" : scriptRel;\n' +
  vite:config               '\t\t\tif (!isCss) link.as = "script";\n' +
  vite:config               '\t\t\tlink.crossOrigin = "";\n' +
  vite:config               '\t\t\tlink.href = dep;\n' +
  vite:config               '\t\t\tif (cspNonce) link.setAttribute("nonce", cspNonce);\n' +
  vite:config               '\t\t\tdocument.head.appendChild(link);\n' +
  vite:config               '\t\t\tif (isCss) return new Promise((res, rej) => {\n' +
  vite:config               '\t\t\t\tlink.addEventListener("load", res);\n' +
  vite:config               '\t\t\t\tlink.addEventListener("error", () => rej(/* @__PURE__ */ new Error(`Unable to preload CSS for ${dep}`)));\n' +
  vite:config               '\t\t\t});\n' +
  vite:config               '\t\t}));\n' +
  vite:config               '\t}\n' +
  vite:config               '\tfunction handlePreloadError(err$2) {\n' +
  vite:config               '\t\tconst e$1 = new Event("vite:preloadError", { cancelable: true });\n' +
  vite:config               '\t\te$1.payload = err$2;\n' +
  vite:config               '\t\twindow.dispatchEvent(e$1);\n' +
  vite:config               '\t\tif (!e$1.defaultPrevented) throw err$2;\n' +
  vite:config               '\t}\n' +
  vite:config               '\treturn promise.then((res) => {\n' +
  vite:config               '\t\tfor (const item of res || []) {\n' +
  vite:config               '\t\t\tif (item.status !== "rejected") continue;\n' +
  vite:config               '\t\t\thandlePreloadError(item.reason);\n' +
  vite:config               '\t\t}\n' +
  vite:config               '\t\treturn baseModule().catch(handlePreloadError);\n' +
  vite:config               '\t});\n' +
  vite:config               '}',
  vite:config             insertPreload: false,
  vite:config             optimizeModulePreloadRelativePaths: false,
  vite:config             renderBuiltUrl: false,
  vite:config             isRelativeBase: false
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:reporter',
  vite:config           _options: {
  vite:config             isTty: true,
  vite:config             isLib: false,
  vite:config             assetsDir: 'assets/',
  vite:config             chunkLimit: 500,
  vite:config             shouldLogInfo: true,
  vite:config             reportCompressedSize: true,
  vite:config             warnLargeChunks: false
  vite:config           }
  vite:config         },
  vite:config         BuiltinPlugin {
  vite:config           name: 'builtin:load-fallback',
  vite:config           _options: undefined
  vite:config         }
  vite:config       ],
  vite:config       optimizeDepsPluginNames: []
  vite:config     }
  vite:config   },
  vite:config   resolve: {
  vite:config     externalConditions: [ 'node', 'module-sync' ],
  vite:config     extensions: [
  vite:config       '.mjs',  '.js',
  vite:config       '.mts',  '.ts',
  vite:config       '.jsx',  '.tsx',
  vite:config       '.json'
  vite:config     ],
  vite:config     dedupe: [],
  vite:config     noExternal: [],
  vite:config     external: [],
  vite:config     preserveSymlinks: false,
  vite:config     tsconfigPaths: false,
  vite:config     alias: [
  vite:config       {
  vite:config         find: /^\/?@vite\/env/,
  vite:config         replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/vite/dist/client/env.mjs'
  vite:config       },
  vite:config       {
  vite:config         find: /^\/?@vite\/client/,
  vite:config         replacement: '/@fs/home/denis/Projects/test/vite-project/node_modules/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   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: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] },
  vite:config     worker: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] },
  vite:config     optimizeDeps: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] },
  vite:config     ssr: {
  vite:config       optimizeDeps: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] }
  vite:config     },
  vite:config     environments: {
  vite:config       client: {
  vite:config         define: undefined,
  vite:config         resolve: undefined,
  vite:config         dev: {},
  vite:config         build: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] },
  vite:config         optimizeDeps: { rolldownOptions: undefined, rollupOptions: [Getter/Setter] }
  vite:config       },
  vite:config       ssr: {
  vite:config         define: undefined,
  vite:config         resolve: { mainFields: undefined, conditions: undefined },
  vite:config         dev: { createEnvironment: undefined, warmup: undefined },
  vite:config         build: {
  vite:config           rolldownOptions: undefined,
  vite:config           rollupOptions: undefined,
  vite:config           createEnvironment: undefined
  vite:config         },
  vite:config         optimizeDeps: { rolldownOptions: undefined, rollupOptions: undefined }
  vite:config       }
  vite:config     },
  vite:config     resolve: { conditions: undefined, mainFields: undefined }
  vite:config   },
  vite:config   decodedBase: '/',
  vite:config   rawBase: '/',
  vite:config   publicDir: '/home/denis/Projects/test/vite-project/public',
  vite:config   cacheDir: '/home/denis/Projects/test/vite-project/node_modules/.vite',
  vite:config   command: 'build',
  vite:config   isWorker: false,
  vite:config   mainConfig: null,
  vite:config   bundleChain: [],
  vite:config   isProduction: true,
  vite:config   plugins: [
  vite:config     'vite:watch-package-data',
  vite:config     'builtin:alias',
  vite:config     'native:modulepreload-polyfill',
  vite:config     'vite:resolve-builtin:get-environment',
  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     '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:prepare-out-dir',
  vite:config     'vite:rollup-options-plugins',
  vite:config     'native:dynamic-import-vars',
  vite:config     'builtin:import-glob',
  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   css: {
  vite:config     transformer: 'postcss',
  vite:config     preprocessorMaxWorkers: true,
  vite:config     devSourcemap: false
  vite:config   },
  vite:config   json: { namedExports: true, stringify: 'auto' },
  vite:config   esbuild: { jsxDev: false },
  vite:config   oxc: { jsx: { development: false } },
  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: [ '/home/denis/Projects/test/vite-project' ]
  vite:config     },
  vite:config     preTransformRequests: true,
  vite:config     perEnvironmentStartEndDuringDev: false,
  vite:config     sourcemapIgnoreList: [Function: isInNodeModules]
  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: '/home/denis/Projects/test/vite-project',
  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: warn],
  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_/home/denis/Projects/test/vite-project' => {
  vite:config       dir: '/home/denis/Projects/test/vite-project',
  vite:config       data: {
  vite:config         name: 'vite-project',
  vite:config         private: true,
  vite:config         version: '0.0.0',
  vite:config         type: 'module',
  vite:config         scripts: { dev: 'vite', build: 'vite build', preview: 'vite preview' },
  vite:config         devDependencies: { vite: 'npm:[email protected]' },
  vite:config         overrides: { vite: 'npm:[email protected]' },
  vite:config         dependencies: { libmoji: '^2.3.0' }
  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   appType: 'spa',
  vite:config   experimental: {
  vite:config     importGlobRestoreExtension: false,
  vite:config     renderBuiltUrl: undefined,
  vite:config     hmrPartialAccept: false,
  vite:config     enableNativePlugin: 'v1'
  vite:config   },
  vite:config   future: undefined,
  vite:config   dev: {
  vite:config     warmup: [],
  vite:config     sourcemap: { js: true },
  vite:config     sourcemapIgnoreList: [Function: isInNodeModules],
  vite:config     preTransformRequests: false,
  vite:config     createEnvironment: [Function: defaultCreateDevEnvironment],
  vite:config     recoverable: false,
  vite:config     moduleRunnerTransform: false
  vite:config   },
  vite:config   webSocketToken: '1jS3KMJ6dHI-',
  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   nativePluginEnabledLevel: 1,
  vite:config   Symbol(vite:resolved-config): true
  vite:config } +35ms
rolldown-vite v7.1.14 building for production...
✓ 10 modules transformed.
dist/index.html                     0.45 kB │ gzip:   0.29 kB
dist/assets/index-BRH9nwdz.css      1.37 kB │ gzip:   0.65 kB
dist/assets/index-Bvwq0b7q.js   1,277.35 kB │ gzip: 159.18 kB
✓ built in 113ms
[plugin builtin:reporter]
(!) Some chunks are larger than 500 kB after minification. Consider:
- Using dynamic import() to code-split the application
- Use build.rollupOptions.output.manualChunks to improve chunking: https://rollupjs.org/configuration-options/#output-manualchunks
- Adjust chunk size limit for this warning via build.chunkSizeWarningLimit.

Validations

Metadata

Metadata

Assignees

No one assigned

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions