vite
vite copied to clipboard
`--watch` mode gets stuck on rebuild in v6
Describe the bug
When running vite build --watch it seems to often get stuck after saving changes to a file.
I have tried to narrow down the problem, and by deleting parts of the project it eventually no longer gets stuck. But I don't think this is to do with any particular part of the project - it seems more to do with the size of the build?
This did not happen with vite 5.4.14
Reproduction
https://github.com/MetRonnie/cylc-ui/tree/vite-6-build-watch
Steps to reproduce
yarn install
yarn vite build --watch
Then apply this diff to src/views/Tree.vue:
diff --git a/src/views/Tree.vue b/src/views/Tree.vue
index 6a15adf7..8375dc98 100644
--- a/src/views/Tree.vue
+++ b/src/views/Tree.vue
@@ -16,7 +16,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>.
-->
<template>
- <div class="h-100">
+ <div class="h-100 foo">
</div>
</template>
It should get stuck on rebuild. If not, try undoing the change and then re-doing it a few times.
System Info
System:
OS: Windows 11 10.0.22631
CPU: (12) x64 13th Gen Intel(R) Core(TM) i5-1345U
Memory: 4.14 GB / 15.66 GB
Binaries:
Node: 20.18.3 - C:\Program Files\nodejs\node.EXE
Yarn: 4.6.0 - ~\AppData\Roaming\npm\yarn.CMD
npm: 10.8.2 - C:\Program Files\nodejs\npm.CMD
Browsers:
Edge: Chromium (131.0.2903.112)
Internet Explorer: 11.0.22621.3527
npmPackages:
@vitejs/plugin-vue: 5.2.1 => 5.2.1
vite: 6.1.0 => 6.1.0
Used Package Manager
yarn
Logs
Click to expand!
vite:config config file loaded in 142.94ms +0ms
vite:config using resolved config: {
vite:config base: './',
vite:config resolve: {
vite:config externalConditions: [ 'node' ],
vite:config extensions: [ '.mjs', '.js', '.ts', '.jsx', '.tsx', '.json' ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: '@',
vite:config replacement: 'C:\\Users\\ronnie.dutta\\GitHub\\cylc-ui\\src'
vite:config },
vite:config { find: 'lodash', replacement: 'lodash-es' },
vite:config { find: 'react', replacement: 'preact/compat' },
vite:config { find: 'react-dom', replacement: 'preact/compat' },
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/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 plugins: [
vite:config 'vite:build-metadata',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'vite:esbuild',
vite:config 'vite:json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'vite:vue',
vite:config 'vuetify:import',
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 'commonjs',
vite:config 'vite:data-uri',
vite:config 'vite:rollup-options-plugins',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:build-import-analysis',
vite:config 'vite:esbuild-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: {},
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: {},
vite:config cssCodeSplit: true,
vite:config minify: 'esbuild',
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 css: {
vite:config transformer: 'postcss',
vite:config preprocessorMaxWorkers: 0,
vite:config devSourcemap: false,
vite:config preprocessorOptions: { scss: { api: 'modern-compiler' } },
vite:config lightningcss: undefined
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 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 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: [ '.mjs', '.js', '.ts', '.jsx', '.tsx', '.json' ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: '@',
vite:config replacement: 'C:\\Users\\ronnie.dutta\\GitHub\\cylc-ui\\src'
vite:config },
vite:config { find: 'lodash', replacement: 'lodash-es' },
vite:config { find: 'react', replacement: 'preact/compat' },
vite:config { find: 'react-dom', replacement: 'preact/compat' },
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/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 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: {},
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: {},
vite:config cssCodeSplit: true,
vite:config minify: 'esbuild',
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 },
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: [ '.mjs', '.js', '.ts', '.jsx', '.tsx', '.json' ],
vite:config dedupe: [ 'vue' ],
vite:config noExternal: [],
vite:config external: [],
vite:config preserveSymlinks: false,
vite:config alias: [
vite:config {
vite:config find: '@',
vite:config replacement: 'C:\\Users\\ronnie.dutta\\GitHub\\cylc-ui\\src'
vite:config },
vite:config { find: 'lodash', replacement: 'lodash-es' },
vite:config { find: 'react', replacement: 'preact/compat' },
vite:config { find: 'react-dom', replacement: 'preact/compat' },
vite:config {
vite:config find: /^\/?@vite\/env/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/C:/Users/ronnie.dutta/GitHub/cylc-ui/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 /^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 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: {},
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: {},
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: 'esbuild'
vite:config }
vite:config }
vite:config },
vite:config configFile: 'C:/Users/ronnie.dutta/GitHub/cylc-ui/vite.config.js',
vite:config configFileDependencies: [ 'C:/Users/ronnie.dutta/GitHub/cylc-ui/vite.config.js' ],
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: { watch: {} }
vite:config },
vite:config root: 'C:/Users/ronnie.dutta/GitHub/cylc-ui',
vite:config decodedBase: './',
vite:config rawBase: './',
vite:config publicDir: 'C:/Users/ronnie.dutta/GitHub/cylc-ui/public',
vite:config cacheDir: 'C:/Users/ronnie.dutta/GitHub/cylc-ui/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 json: { namedExports: true, stringify: 'auto' },
vite:config esbuild: { jsxDev: 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: [ 'C:/Users/ronnie.dutta/GitHub/cylc-ui' ]
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: 'C:/Users/ronnie.dutta/GitHub/cylc-ui',
vite:config env: { BASE_URL: './', MODE: 'production', DEV: false, PROD: true },
vite:config assetsInclude: [Function: assetsInclude],
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_C:/Users/ronnie.dutta/GitHub/cylc-ui' => {
vite:config dir: 'C:/Users/ronnie.dutta/GitHub/cylc-ui',
vite:config data: {
vite:config name: 'cylc-ui',
vite:config version: '2.7.0',
vite:config private: true,
vite:config license: 'GPL-3.0-only',
vite:config type: 'module',
vite:config scripts: { build: 'vite build --watch' },
vite:config dependencies: {
vite:config '@apollo/client': '3.12.6',
vite:config '@mdi/js': '7.4.47',
vite:config '@vueuse/core': '12.5.0',
vite:config axios: '1.7.8',
vite:config dedent: '1.5.3',
vite:config enumify: '2.0.0',
vite:config graphiql: '3.8.3',
vite:config graphql: '16.10.0',
vite:config 'graphql-tag': '2.12.6',
vite:config 'lodash-es': '4.17.21',
vite:config mitt: '3.0.1',
vite:config preact: '10.25.4',
vite:config 'simple-icons': '2.19.0',
vite:config 'subscriptions-transport-ws': '0.11.0',
vite:config vue: '3.5.13',
vite:config 'vue-router': '4.5.0',
vite:config 'vue-the-mask': '0.11.1',
vite:config vuetify: '3.7.11',
vite:config vuex: '4.1.0'
vite:config },
vite:config devDependencies: {
vite:config '@vitejs/plugin-vue': '5.2.1',
vite:config 'cross-fetch': '4.1.0',
vite:config 'sass-embedded': '1.83.4',
vite:config vite: '6.1.0',
vite:config 'vite-plugin-vuetify': '2.1.0'
vite:config },
vite:config peerDependenciesMeta: { react: { optional: true }, 'react-dom': { optional: true } },
vite:config bugs: { url: 'https://github.com/cylc/cylc-ui/issues' },
vite:config packageManager: '[email protected]'
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 experimental: { importGlobRestoreExtension: false, hmrPartialAccept: false },
vite:config future: undefined,
vite:config optimizeDeps: {
vite:config include: [],
vite:config exclude: [],
vite:config needsInterop: [],
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: false,
vite:config createEnvironment: [Function: defaultCreateDevEnvironment],
vite:config recoverable: false,
vite:config moduleRunnerTransform: false
vite:config },
vite:config webSocketToken: 'c-0ICK947DOc',
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 } +24ms
vite v6.1.0 building for production...
watching for file changes...
build started...
fonts.css doesn't exist at build time, it will remain unchanged to be resolved at runtime
transforming (1) src\main.js vite:resolve 0.44ms C:\Users\ronnie.dutta\GitHub\cylc-ui\src/views/${path.view}.vue -> null +0ms
vite:resolve 1.17ms @/views/${path.view}.vue -> C:\Users\ronnie.dutta\GitHub\cylc-ui\src/views/${path.view}.vue +0ms
✓ 1870 modules transformed.
dist/index.html 1.40 kB │ gzip: 0.81 kB
dist/assets/VContainer-Cb7FdSrp.css 9.55 kB │ gzip: 1.30 kB
dist/assets/VEmptyState-DJLSmSLo.css 14.47 kB │ gzip: 2.79 kB
dist/assets/index-BKH91wNg.css 70.56 kB │ gzip: 10.13 kB
dist/assets/forEachState-C8esYVuF.js 0.14 kB │ gzip: 0.14 kB
dist/assets/Dashboard-DRY3S7ET.js 0.14 kB │ gzip: 0.14 kB
dist/assets/Log-Czw7mGqo.js 0.14 kB │ gzip: 0.14 kB
dist/assets/Table-B_LkN30a.js 0.14 kB │ gzip: 0.14 kB
dist/assets/Tree-DiegOfgA.js 0.16 kB │ gzip: 0.16 kB
dist/assets/Gantt-BKn1kaKJ.js 0.17 kB │ gzip: 0.16 kB
dist/assets/Analysis-BKTQgJqN.js 0.17 kB │ gzip: 0.17 kB
dist/assets/Guide-55j_Nv-4.js 0.20 kB │ gzip: 0.18 kB
dist/assets/UserProfile-Bb2-6dYY.js 0.22 kB │ gzip: 0.19 kB
dist/assets/Info-u9-f7G0R.js 0.23 kB │ gzip: 0.20 kB
dist/assets/Workflows-V-vjgesW.js 0.23 kB │ gzip: 0.20 kB
dist/assets/mode-indent-Dvf_-b54.js 0.24 kB │ gzip: 0.20 kB
dist/assets/WorkflowsTable-BqdWaVS7.js 0.24 kB │ gzip: 0.21 kB
dist/assets/NoAuth-tAyKKGFD.js 0.35 kB │ gzip: 0.29 kB
dist/assets/VContainer-TdjXtSfC.js 0.43 kB │ gzip: 0.30 kB
dist/assets/dialog-CtdbBZb-.js 0.50 kB │ gzip: 0.36 kB
dist/assets/searchcursor-CTv_MgrI.js 0.50 kB │ gzip: 0.36 kB
dist/assets/matchbrackets-uhHYqRSB.js 0.50 kB │ gzip: 0.36 kB
dist/assets/codemirror-B_SQtuGk.js 0.51 kB │ gzip: 0.36 kB
dist/assets/mode-9YkorGW2.js 0.53 kB │ gzip: 0.37 kB
dist/assets/Range-CZNrBk8u.js 0.53 kB │ gzip: 0.24 kB
dist/assets/NotFound-CoWaKXHk.js 0.61 kB │ gzip: 0.38 kB
dist/assets/hint-YBvuFeWc.js 0.88 kB │ gzip: 0.55 kB
dist/assets/mode-DVHVQlsd.js 1.38 kB │ gzip: 0.74 kB
dist/assets/mode-DZLb9CsM.js 1.50 kB │ gzip: 0.81 kB
dist/assets/jump-to-line-BbKTZP2G.js 1.63 kB │ gzip: 0.92 kB
dist/assets/dialog-D6uBm_Ik.js 2.34 kB │ gzip: 0.99 kB
dist/assets/info-addon-1giLkuFZ.js 2.36 kB │ gzip: 0.96 kB
dist/assets/brace-fold-BUhaANNR.js 2.61 kB │ gzip: 1.26 kB
dist/assets/jump-Bw_-UFut.js 2.68 kB │ gzip: 1.14 kB
dist/assets/SchemaReference-CtfD6jo0.js 2.78 kB │ gzip: 0.99 kB
dist/assets/hint-D_oIc36H.js 2.94 kB │ gzip: 1.29 kB
dist/assets/matchbrackets-wZjJDgUp.js 3.10 kB │ gzip: 1.37 kB
dist/assets/info-BruuuOgx.js 3.56 kB │ gzip: 1.09 kB
dist/assets/closebrackets-BnSosFHE.js 4.03 kB │ gzip: 1.74 kB
dist/assets/lint-CzF5Eu3L.js 4.36 kB │ gzip: 1.95 kB
dist/assets/comment-ej4l5FTI.js 4.56 kB │ gzip: 1.85 kB
dist/assets/searchcursor-u4KpxxgS.js 5.35 kB │ gzip: 1.93 kB
dist/assets/lint-DjuWEDey.js 5.52 kB │ gzip: 2.29 kB
dist/assets/foldgutter-BiFDaTIh.js 5.68 kB │ gzip: 2.24 kB
dist/assets/search-BYhQOcEU.js 6.34 kB │ gzip: 2.49 kB
dist/assets/VEmptyState-CV9zvS59.js 9.36 kB │ gzip: 3.48 kB
dist/assets/show-hint-DMRoFPU9.js 11.16 kB │ gzip: 4.15 kB
dist/assets/sublime-l1lPT5Sb.js 15.82 kB │ gzip: 4.96 kB
dist/assets/javascript-Dd6csL6Z.js 18.45 kB │ gzip: 6.25 kB
dist/assets/lint-D_lzNPzx.js 28.66 kB │ gzip: 8.82 kB
dist/assets/codemirror-oT0Xpm9Z.js 174.00 kB │ gzip: 58.21 kB
dist/assets/index-DC1_jP6g.js 562.15 kB │ gzip: 181.31 kB
dist/assets/GraphiQL-BCejH88L.js 586.55 kB │ gzip: 202.19 kB
(!) 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.
built in 8904ms.
build started...
Validations
- [x] Follow our Code of Conduct
- [x] Read the Contributing Guidelines.
- [x] Read the docs.
- [x] Check that there isn't already an issue that reports the same bug to avoid creating a duplicate.
- [x] Make sure this is a Vite issue and not a framework-specific issue. For example, if it's a Vue SFC related bug, it should likely be reported to vuejs/core instead.
- [x] Check that this is a concrete bug. For Q&A open a GitHub Discussion or join our Discord Chat Server.
- [x] The provided reproduction is a minimal reproducible example of the bug.
It seems it's stuck at this line when loading \x00/path/to/project/node_modules/@apollo/client/cache/inmemory/fixPolyfills.js?commonjs-es-import.
https://github.com/rollup/plugins/blob/94951774773a8797ff7e1a93d0a7ebf14f009327/packages/commonjs/src/index.js#L291
Setting build.commonjsOptions.strictRequires: 'auto' seems to work as a workaround.
Ah interesting, your workaround works for the full project too 👍 I tried setting to to "debug" which the docs says implies "auto", and I get this on rebuilds
[plugin commonjs] The commonjs plugin automatically wrapped the following files:
[
"node_modules\\codemirror\\addon\\edit\\matchbrackets.js",
"node_modules\\codemirror\\addon\\search\\searchcursor.js",
"node_modules\\codemirror\\lib\\codemirror.js",
"node_modules\\codemirror\\addon\\dialog\\dialog.js",
"node_modules\\codemirror\\addon\\fold\\foldcode.js"
]
Thank you for the workaround, @sapphi-red. We have the same problem, though we thought it was a problem within froala.
I have another reproducer with a smaller footprint. Maybe it helps? See https://github.com/HerrDietz/froala-vite-build-reproducer
With this reproducer, i noticed something curious:
It seems like the problem was related to the number of imports. Once you remove any of the imports of the froala language files, the build runs smoothly. But as soon as you import 20 or more languages, the build will be stuck as soon as you change anything in the file some-dependency.js
@HerrDietz Thanks, that made it easier to debug.
It seems it's more a bug in rollup rather than the plugin: https://github.com/rollup/rollup/issues/5848
For a workaround, you can set build.rollupOptions.maxParallelFileOps: 100 (or more bigger number). (setting build.commonjsOptions.strictRequires: 'auto' makes the build indeterministic in some cases so I recommend this one over it)
For a workaround, you can set
build.rollupOptions.maxParallelFileOps: 100
Ah this does the trick too 👍
I also have a case of --watch getting stuck since v6.0.0 (at CSS transformation) and can confirm that build.rollupOptions.maxParallelFileOps: 100 fixes it.
There are more than 100 files in my build, both input and output. It is also using lib mode.
the only build.rollupOptions.maxParallelFileOps: 100 gave me error:
build started...
✓ 3 modules transformed.
[commonjs] Cannot read properties of undefined (reading 'resolved')
but after adding build.commonjsOptions.strictRequires: 'auto' to previous workaround seems problem resolved! Thanks for workarounds!
Closing as this was fixed in rollup v4.44.0.
Here is the relevant rollup change: https://github.com/rollup/rollup/pull/5986
Note that it just changed the default of maxParallelFileOps.