Reproduced on Vite 8.0.0 and 8.0.2.
vite:config no config file found. +0ms
vite:env loading env files: [
vite:env '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/.env',
vite:env '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/.env.local',
vite:env '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/.env.development',
vite:env '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/.env.development.local'
vite:env ] +0ms
vite:env env files loaded in 0.28ms +1ms
vite:env using resolved env: {} +0ms
vite:config using resolved config: {
vite:config root: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react',
vite:config base: '/',
vite:config mode: 'development',
vite:config configFile: undefined,
vite:config configLoader: undefined,
vite:config logLevel: undefined,
vite:config clearScreen: undefined,
vite:config server: {
vite:config port: 5173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {},
vite:config warmup: { clientFiles: [], ssrFiles: [] },
vite:config middlewareMode: false,
vite:config fs: {
vite:config strict: true,
vite:config deny: [ '.env', '.env.*', '*.{crt,pem}', '**/.git/**' ],
vite:config allow: [ '/Users/daniel/Downloads/webviewer-samples-main' ]
vite:config },
vite:config preTransformRequests: true,
vite:config perEnvironmentStartEndDuringDev: false,
vite:config perEnvironmentWatchChangeDuringDev: false,
vite:config forwardConsole: { enabled: false, unhandledErrors: false, logLevels: [] },
vite:config sourcemapIgnoreList: [Function: isInNodeModules]
vite:config },
vite:config forceOptimizeDeps: undefined,
vite:config experimental: {
vite:config importGlobRestoreExtension: false,
vite:config renderBuiltUrl: undefined,
vite:config hmrPartialAccept: false,
vite:config bundledDev: false
vite:config },
vite:config build: {
vite:config target: [ 'chrome111', 'edge111', 'firefox114', 'safari16.4', 'ios16.4' ],
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: { exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config license: false,
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: false,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [ 'chrome111', 'edge111', 'firefox114', 'safari16.4', 'ios16.4' ],
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 rolldownOptions: { resolve: { symlinks: true }, output: { topLevelVar: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config ignoreOutdatedRequests: false,
vite:config noDiscovery: false,
vite:config rollupOptions: [Getter/Setter],
vite:config esbuildOptions: { preserveSymlinks: false }
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/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/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 rolldownOptions: { resolve: { symlinks: true }, output: { topLevelVar: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config ignoreOutdatedRequests: false,
vite:config noDiscovery: false,
vite:config rollupOptions: [Getter/Setter],
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: [
vite:config 'chrome111',
vite:config 'edge111',
vite:config 'firefox114',
vite:config 'safari16.4',
vite:config 'ios16.4'
vite:config ],
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: { exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config license: false,
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: [
vite:config 'chrome111',
vite:config 'edge111',
vite:config 'firefox114',
vite:config 'safari16.4',
vite:config 'ios16.4'
vite:config ],
vite:config cssMinify: true
vite:config },
vite:config plugins: [
vite:config {
vite:config name: 'vite:optimized-deps',
vite:config applyToEnvironment: [Function: applyToEnvironment],
vite:config resolveId: [Function: resolveId],
vite:config load: [AsyncFunction: load]
vite:config },
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 {
vite:config name: 'vite:pre-alias',
vite:config applyToEnvironment: [Function: applyToEnvironment],
vite:config resolveId: [AsyncFunction: resolveId]
vite:config },
vite:config {
vite:config name: 'alias',
vite:config buildStart: [AsyncFunction: buildStart],
vite:config resolveId: [Function: resolveId]
vite:config },
vite:config {
vite:config name: 'vite:modulepreload-polyfill',
vite:config resolveId: {
vite:config filter: { id: /^vite\/modulepreload\-polyfill$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: { id: /^vite\/modulepreload\-polyfill\.js$/ },
vite:config handler: [Function: handler]
vite:config }
vite:config },
vite:config {
vite:config name: 'vite:resolve-dev',
vite:config applyToEnvironment: [Function: applyToEnvironment],
vite:config resolveId: {
vite:config filter: {
vite:config id: {
vite:config exclude: [ /^\0/, /^virtual:/, /^\/virtual:/, /^__vite-/ ]
vite:config }
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config }
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 enforce: undefined,
vite:config name: 'builtin:vite-resolve',
vite:config _options: {
vite:config resolveOptions: {
vite:config isBuild: false,
vite:config isProduction: false,
vite:config asSrc: true,
vite:config preferRelative: false,
vite:config isRequire: undefined,
vite:config root: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react',
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 disableCache: false,
vite:config legacyInconsistentCjsInterop: undefined,
vite:config finalizeBareSpecifier: [Function (anonymous)],
vite:config finalizeOtherSpecifiers: [Function (anonymous)],
vite:config resolveSubpathImports: [Function: resolveSubpathImports],
vite:config onWarn: [AsyncFunction: onWarn],
vite:config yarnPnp: false
vite:config },
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook],
vite:config perEnvironmentWatchChangeDuringDev: true
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 enforce: undefined,
vite:config name: 'builtin:oxc-runtime',
vite:config _options: undefined,
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: { handler: [AsyncFunction: wrappedHook], order: 'pre' },
vite:config resolveId: { handler: [AsyncFunction: wrappedHook], order: 'pre' },
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:oxc',
vite:config configureServer: [Function: configureServer],
vite:config transform: [AsyncFunction: transform]
vite:config },
vite:config BuiltinPlugin {
vite:config enforce: undefined,
vite:config name: 'builtin:vite-json',
vite:config _options: { namedExports: true, stringify: 'auto', minify: false },
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:wasm-helper',
vite:config resolveId: {
vite:config filter: { id: /^vite\/wasm\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: {
vite:config id: [
vite:config /^vite\/wasm\-helper\.js$/,
vite:config /(?<![?#].*)\.wasm\?init/
vite:config ]
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config renderChunk: undefined
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 transform: {
vite:config filter: { id: /(?:\?|&)worker_file&type=(\w+)(?:&|$)/ },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config generateBundle: [Function: generateBundle],
vite:config watchChange: [Function: watchChange]
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 generateBundle: [Function: generateBundle],
vite:config watchChange: [Function: watchChange]
vite:config },
vite:config BuiltinPlugin {
vite:config enforce: undefined,
vite:config name: 'builtin:vite-wasm-fallback',
vite:config _options: undefined,
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:define',
vite:config transform: { handler: [AsyncFunction: handler] }
vite:config },
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 generateBundle: [AsyncFunction: generateBundle]
vite:config },
vite:config {
vite:config name: 'vite:worker-import-meta-url',
vite:config applyToEnvironment: [Function: applyToEnvironment],
vite:config transform: {
vite:config filter: {
vite:config code: /\bnew\s+(?:Worker|SharedWorker)\s*\(\s*(new\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*(?:,\s*)?\))/dg
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 /^\/Users\/daniel\/Downloads\/webviewer\-samples\-main\/webviewer\-react\/node_modules\/vite\/dist\/client\/client\.mjs$/
vite:config ]
vite:config },
vite:config code: /\bnew\s+URL\s*\(\s*('[^']+'|"[^"]+"|`[^`]+`)\s*,\s*import\.meta\.url\s*(?:,\s*)?\)/dg
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config }
vite:config },
vite:config {
vite:config name: 'vite:dynamic-import-vars',
vite:config resolveId: {
vite:config filter: { id: /^vite\/dynamic\-import\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: { id: /^vite\/dynamic\-import\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config transform: {
vite:config filter: {
vite:config id: {
vite:config exclude: /^\/Users\/daniel\/Downloads\/webviewer\-samples\-main\/webviewer\-react\/node_modules\/vite\/dist\/client\/client\.mjs$/
vite:config },
vite:config code: /\bimport\s*[(/]/
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config }
vite:config },
vite:config {
vite:config name: 'vite:import-glob',
vite:config buildStart: [Function: buildStart],
vite:config transform: {
vite:config filter: { code: 'import.meta.glob' },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config hotUpdate: [Function: hotUpdate]
vite:config },
vite:config {
vite:config name: 'vite:client-inject',
vite:config buildStart: [AsyncFunction: buildStart],
vite:config transform: [AsyncFunction: transform]
vite:config },
vite:config {
vite:config name: 'vite:css-analysis',
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 {
vite:config name: 'vite:import-analysis',
vite:config transform: [AsyncFunction: transform]
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/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/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 rolldownOptions: { resolve: { symlinks: true }, output: { topLevelVar: true } },
vite:config extensions: [],
vite:config disabled: undefined,
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config ignoreOutdatedRequests: false,
vite:config noDiscovery: true,
vite:config rollupOptions: [Getter/Setter],
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: [
vite:config 'chrome111',
vite:config 'edge111',
vite:config 'firefox114',
vite:config 'safari16.4',
vite:config 'ios16.4'
vite:config ],
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: { exclude: [ /node_modules/ ] },
vite:config write: true,
vite:config emptyOutDir: null,
vite:config copyPublicDir: true,
vite:config license: false,
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: false,
vite:config createEnvironment: [Function: createEnvironment],
vite:config cssTarget: [
vite:config 'chrome111',
vite:config 'edge111',
vite:config 'firefox114',
vite:config 'safari16.4',
vite:config 'ios16.4'
vite:config ],
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 {
vite:config name: 'alias',
vite:config buildStart: [AsyncFunction: buildStart],
vite:config resolveId: [Function: resolveId]
vite:config },
vite:config {
vite:config name: 'vite:modulepreload-polyfill',
vite:config resolveId: {
vite:config filter: { id: /^vite\/modulepreload\-polyfill$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: { id: /^vite\/modulepreload\-polyfill\.js$/ },
vite:config handler: [Function: handler]
vite:config }
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 enforce: undefined,
vite:config name: 'builtin:vite-resolve',
vite:config _options: {
vite:config resolveOptions: {
vite:config isBuild: false,
vite:config isProduction: false,
vite:config asSrc: true,
vite:config preferRelative: false,
vite:config isRequire: undefined,
vite:config root: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react',
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 disableCache: false,
vite:config legacyInconsistentCjsInterop: undefined,
vite:config finalizeBareSpecifier: undefined,
vite:config finalizeOtherSpecifiers: undefined,
vite:config resolveSubpathImports: [Function: resolveSubpathImports],
vite:config onWarn: [AsyncFunction: onWarn],
vite:config yarnPnp: false
vite:config },
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook],
vite:config perEnvironmentWatchChangeDuringDev: true
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 enforce: undefined,
vite:config name: 'builtin:oxc-runtime',
vite:config _options: undefined,
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: { handler: [AsyncFunction: wrappedHook], order: 'pre' },
vite:config resolveId: { handler: [AsyncFunction: wrappedHook], order: 'pre' },
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:oxc',
vite:config configureServer: [Function: configureServer],
vite:config transform: [AsyncFunction: transform]
vite:config },
vite:config BuiltinPlugin {
vite:config enforce: undefined,
vite:config name: 'builtin:vite-json',
vite:config _options: { namedExports: true, stringify: 'auto', minify: false },
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:wasm-helper',
vite:config resolveId: {
vite:config filter: { id: /^vite\/wasm\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: {
vite:config id: [
vite:config /^vite\/wasm\-helper\.js$/,
vite:config /(?<![?#].*)\.wasm\?init/
vite:config ]
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config renderChunk: {
vite:config filter: { code: /__VITE_WASM_INIT__([\w$]+)__/g },
vite:config handler: [AsyncFunction: handler]
vite:config }
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 transform: {
vite:config filter: { id: /(?:\?|&)worker_file&type=(\w+)(?:&|$)/ },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config generateBundle: [Function: generateBundle],
vite:config watchChange: [Function: watchChange]
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 generateBundle: [Function: generateBundle],
vite:config watchChange: [Function: watchChange]
vite:config },
vite:config BuiltinPlugin {
vite:config enforce: undefined,
vite:config name: 'builtin:vite-wasm-fallback',
vite:config _options: undefined,
vite:config getOrder: [AsyncFunction: wrappedHook],
vite:config load: [AsyncFunction: wrappedHook],
vite:config resolveId: [AsyncFunction: wrappedHook],
vite:config transform: [AsyncFunction: wrappedHook],
vite:config watchChange: [AsyncFunction: wrappedHook]
vite:config },
vite:config {
vite:config name: 'vite:define',
vite:config transform: { handler: [AsyncFunction: handler] }
vite:config },
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 generateBundle: [AsyncFunction: generateBundle]
vite:config },
vite:config {
vite:config name: 'vite:dynamic-import-vars',
vite:config resolveId: {
vite:config filter: { id: /^vite\/dynamic\-import\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config load: {
vite:config filter: { id: /^vite\/dynamic\-import\-helper\.js$/ },
vite:config handler: [Function: handler]
vite:config },
vite:config transform: {
vite:config filter: {
vite:config id: {
vite:config exclude: /^\/Users\/daniel\/Downloads\/webviewer\-samples\-main\/webviewer\-react\/node_modules\/vite\/dist\/client\/client\.mjs$/
vite:config },
vite:config code: /\bimport\s*[(/]/
vite:config },
vite:config handler: [AsyncFunction: handler]
vite:config }
vite:config },
vite:config {
vite:config name: 'vite:import-glob',
vite:config buildStart: [Function: buildStart],
vite:config transform: {
vite:config filter: { code: 'import.meta.glob' },
vite:config handler: [AsyncFunction: handler]
vite:config },
vite:config hotUpdate: [Function: hotUpdate]
vite:config },
vite:config {
vite:config name: 'vite:client-inject',
vite:config buildStart: [AsyncFunction: buildStart],
vite:config transform: [AsyncFunction: transform]
vite:config },
vite:config {
vite:config name: 'vite:css-analysis',
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 {
vite:config name: 'vite:import-analysis',
vite:config transform: [AsyncFunction: transform]
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/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/node_modules/vite/dist/client/env.mjs'
vite:config },
vite:config {
vite:config find: /^\/?@vite\/client/,
vite:config replacement: '/@fs/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/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 server: { host: undefined },
vite:config forceOptimizeDeps: undefined,
vite:config experimental: { bundledDev: 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 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: {}
vite:config }
vite:config },
vite:config resolve: { conditions: undefined, mainFields: undefined }
vite:config },
vite:config decodedBase: '/',
vite:config rawBase: '/',
vite:config publicDir: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/public',
vite:config cacheDir: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react/node_modules/.vite',
vite:config command: 'serve',
vite:config isBundled: false,
vite:config isWorker: false,
vite:config mainConfig: null,
vite:config bundleChain: [],
vite:config isProduction: false,
vite:config plugins: [
vite:config 'vite:optimized-deps',
vite:config 'vite:watch-package-data',
vite:config 'vite:pre-alias',
vite:config 'alias',
vite:config 'vite:modulepreload-polyfill',
vite:config 'vite:resolve-dev',
vite:config 'vite:resolve-builtin:get-environment',
vite:config 'vite:resolve-builtin',
vite:config 'vite:html-inline-proxy',
vite:config 'vite:css',
vite:config 'builtin:oxc-runtime',
vite:config 'vite:oxc',
vite:config 'builtin:vite-json',
vite:config 'vite:wasm-helper',
vite:config 'vite:worker',
vite:config 'vite:asset',
vite:config 'builtin:vite-wasm-fallback',
vite:config 'vite:define',
vite:config 'vite:css-post',
vite:config 'vite:worker-import-meta-url',
vite:config 'vite:asset-import-meta-url',
vite:config 'vite:dynamic-import-vars',
vite:config 'vite:import-glob',
vite:config 'vite:client-inject',
vite:config 'vite:css-analysis',
vite:config 'vite:import-analysis'
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: true, charset: 'utf8', legalComments: 'none' },
vite:config oxc: { jsx: { development: true } },
vite:config builder: undefined,
vite:config preview: {
vite:config port: 4173,
vite:config strictPort: false,
vite:config host: undefined,
vite:config allowedHosts: [],
vite:config https: undefined,
vite:config open: false,
vite:config proxy: undefined,
vite:config cors: {
vite:config origin: /^https?:\/\/(?:(?:[^:]+\.)?localhost|127\.0\.0\.1|\[::1\])(?::\d+)?$/
vite:config },
vite:config headers: {}
vite:config },
vite:config envDir: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react',
vite:config env: { BASE_URL: '/', MODE: 'development', DEV: true, PROD: false },
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_/Users/daniel/Downloads/webviewer-samples-main/webviewer-react' => {
vite:config dir: '/Users/daniel/Downloads/webviewer-samples-main/webviewer-react',
vite:config data: {
vite:config type: 'module',
vite:config dependencies: { '@pdftron/webviewer': '^11.12.0' },
vite:config devDependencies: { vite: '8.0.2' },
vite:config scripts: {
vite:config dev: 'npm run copy-webviewer && vite dev',
vite:config build: 'npm run copy-webviewer && vite build',
vite:config 'copy-webviewer': 'cp -r ./node_modules/@pdftron/webviewer/public ./public'
vite:config }
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 future: undefined,
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 rolldownOptions: { resolve: { symlinks: true }, output: { topLevelVar: true } },
vite:config extensions: [],
vite:config holdUntilCrawlEnd: true,
vite:config force: false,
vite:config ignoreOutdatedRequests: false,
vite:config noDiscovery: true,
vite:config rollupOptions: { resolve: { symlinks: true }, output: { topLevelVar: 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 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 devtools: { config: { host: 'localhost' }, enabled: false },
vite:config webSocketToken: '3jEmRt-FNGpT',
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 Symbol(vite:resolved-config): true
vite:config } +19ms
vite:deps (client) Hash is consistent. Skipping. Use --force to override. +0ms
Describe the bug
Reproduction code
Vite 7 behaviour
Webviewer loads and renders a PDF
Vite 8 behaviour
Error:
window.Webviewergets defined, indicating that the side-effects of the import occurred, but the import did not initialize theWebviewervariable with the default export.Workaround code
Specifying
Webviewer.defaultinstead ofWebviewerworks on Vite 8.Reproduced on Vite 8.0.0 and 8.0.2.
Reproduction
https://github.com/DanielPower/vite-8-apryse-import-failure-reproduction
Steps to reproduce
Run
npm installand thennpm run devSystem Info
System: OS: macOS 26.5 CPU: (8) arm64 Apple M1 Pro Memory: 96.02 MB / 16.00 GB Shell: 5.9 - /bin/zsh Binaries: Node: 24.13.1 - /Users/daniel/.nvm/versions/node/v24.13.1/bin/node npm: 11.8.0 - /Users/daniel/.nvm/versions/node/v24.13.1/bin/npm pnpm: 11.2.2 - /opt/homebrew/bin/pnpm Browsers: Chrome: 148.0.7778.179 Firefox: 151.0.1 Safari: 26.5 npmPackages: vite: 8.0.2 => 8.0.2Used Package Manager
npm
Logs
Validations