Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

--watch mode gets stuck on rebuild in v6 #19410

Open
7 tasks done
MetRonnie opened this issue Feb 12, 2025 · 5 comments
Open
7 tasks done

--watch mode gets stuck on rebuild in v6 #19410

MetRonnie opened this issue Feb 12, 2025 · 5 comments
Labels
bug: upstream Bug in a dependency of Vite feat: commonjs @rollup/plugin-commonjs issue p2-edge-case Bug, but has workaround or limited in scope (priority)

Comments

@MetRonnie
Copy link

MetRonnie commented Feb 12, 2025

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: 'yarn@4.6.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   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

@sapphi-red
Copy link
Member

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.

@sapphi-red sapphi-red added p2-edge-case Bug, but has workaround or limited in scope (priority) feat: commonjs @rollup/plugin-commonjs issue labels Feb 13, 2025
@MetRonnie
Copy link
Author

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"
]

@HerrDietz
Copy link

HerrDietz commented Feb 14, 2025

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

@sapphi-red
Copy link
Member

@HerrDietz Thanks, that made it easier to debug.

It seems it's more a bug in rollup rather than the plugin: rollup/rollup#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)

@sapphi-red sapphi-red added the bug: upstream Bug in a dependency of Vite label Feb 17, 2025
@MetRonnie
Copy link
Author

For a workaround, you can set build.rollupOptions.maxParallelFileOps: 100

Ah this does the trick too 👍

@sapphi-red sapphi-red marked this as a duplicate of #19456 Feb 18, 2025
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug: upstream Bug in a dependency of Vite feat: commonjs @rollup/plugin-commonjs issue p2-edge-case Bug, but has workaround or limited in scope (priority)
Projects
None yet
Development

No branches or pull requests

3 participants
pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy