@vitejs/plugin-legacy compatibility
Open
Nobody has claimed this yet.
vite
- Dominant language
- JavaScript
- Stars
- 20.8k
- Forks
- 2.3k
- Avg merge
- 1d 16h
- Merged PRs (30d)
- 156
Description
Describe the bug
When use @vitejs/plugin-legacy and build project will report a error like title
Reproduction
init a project
npm create svelte@latest myapp
select SvelteKit demo app and use js with jsdoc without eslint prettier
cd myapp
npm i
npm add -D terser @vitejs/plugin-legacy
and this is my vite.config.js
import { sveltekit } from '@sveltejs/kit/vite';
import { defineConfig } from 'vitest/config';
import legacy from '@vitejs/plugin-legacy'
export default defineConfig({
plugins: [sveltekit(),
legacy({
targets: ['ie >= 11'],
// additionalLegacyPolyfills: ['regenerator-runtime/runtime']
})],
test: {
include: ['src/**/*.{test,spec}.{js,ts}']
}
});
then run npm run build
Logs
npm run build
> myapp1@0.0.1 build
> vite build
vite v4.2.1 building SSR bundle for production...
transforming (76) src\routes\styles.css"confetti" is imported from external module "@neoconfetti/svelte" but never used in "src/routes/sverdle/+page.svelte".
✓ 76 modules transformed.
03:49:34 [vite-plugin-svelte] ssr compile done.
package files time avg
myapp1 9 0.12s 13.6ms
vite v4.2.1 building for production...
✓ 68 modules transformed.
03:49:35 [vite-plugin-svelte] dom compile done.
package files time avg
myapp1 9 0.21s 23.9ms
.svelte-kit/output/client/_app/immutable/chunks/environment-legacy.4dce968a.js 0.09 kB │ gzip: 0.10 kB
.svelte-kit/output/client/_app/immutable/entry/_page.js-legacy.818d04a5.js 0.16 kB │ gzip: 0.15 kB
.svelte-kit/output/client/_app/immutable/chunks/1-legacy.2fe92f75.js 0.17 kB │ gzip: 0.16 kB
.svelte-kit/output/client/_app/immutable/chunks/0-legacy.f6c69d6b.js 0.17 kB │ gzip: 0.16 kB
.svelte-kit/output/client/_app/immutable/chunks/4-legacy.e8750627.js 0.18 kB │ gzip: 0.16 kB
.svelte-kit/output/client/_app/immutable/chunks/_page-legacy.5cb57f9d.js 0.21 kB │ gzip: 0.18 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-how-to-play-page.js-legacy.28e9ddcd.js 0.21 kB │ gzip: 0.18 kB
.svelte-kit/output/client/_app/immutable/entry/about-page.js-legacy.28e9ddcd.js 0.21 kB │ gzip: 0.18 kB
.svelte-kit/output/client/_app/immutable/chunks/2-legacy.738b7e2a.js 0.23 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/chunks/3-legacy.27edf6bc.js 0.24 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/chunks/5-legacy.095529f5.js 0.25 kB │ gzip: 0.20 kB
.svelte-kit/output/client/_app/immutable/chunks/_page-legacy.605e5302.js 0.30 kB │ gzip: 0.24 kB
.svelte-kit/output/client/_app/immutable/chunks/_page-legacy.57cccc63.js 0.30 kB │ gzip: 0.24 kB
.svelte-kit/output/client/_app/immutable/chunks/stores-legacy.424e3504.js 0.32 kB │ gzip: 0.20 kB
.svelte-kit/output/client/_app/immutable/chunks/parse-legacy.f8ebba68.js 1.66 kB │ gzip: 0.80 kB
.svelte-kit/output/client/_app/immutable/chunks/index-legacy.76424930.js 1.82 kB │ gzip: 0.94 kB
.svelte-kit/output/client/_app/immutable/entry/error.svelte-legacy.e95abda1.js 4.29 kB │ gzip: 1.87 kB
.svelte-kit/output/client/_app/immutable/entry/about-page.svelte-legacy.26caac0f.js 4.89 kB │ gzip: 2.03 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-how-to-play-page.svelte-legacy.149be04b.js 8.59 kB │ gzip: 3.26 kB
.svelte-kit/output/client/_app/immutable/entry/app-legacy.9260f420.js 8.87 kB │ gzip: 3.20 kB
.svelte-kit/output/client/_app/immutable/chunks/index-legacy.36d073a9.js 10.97 kB │ gzip: 4.32 kB
.svelte-kit/output/client/_app/immutable/entry/_page.svelte-legacy.2c4d30f9.js 10.99 kB │ gzip: 4.37 kB
.svelte-kit/output/client/_app/immutable/chunks/singletons-legacy.3bacab32.js 11.27 kB │ gzip: 4.30 kB
.svelte-kit/output/client/_app/immutable/entry/_layout.svelte-legacy.b3a2cda6.js 14.49 kB │ gzip: 4.97 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-page.svelte-legacy.9ade52de.js 33.80 kB │ gzip: 11.86 kB
.svelte-kit/output/client/_app/immutable/entry/start-legacy.1bf605ba.js 47.01 kB │ gzip: 15.37 kB
.svelte-kit/output/client/_app/immutable/polyfills-legacy.a1ac9343.js 111.79 kB │ gzip: 44.77 kB
.svelte-kit/output/client/_app/version.json 0.03 kB
.svelte-kit/output/client/_app/immutable/assets/github.1ea8d62e.svg 1.75 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-logo.87df40b8.svg 1.89 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-greek-ext-400-normal.9e2fe623.woff2 7.51 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-cyrillic-400-normal.c7d433fd.woff2 9.10 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-greek-400-normal.a8be01ce.woff2 10.52 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-latin-ext-400-normal.6bfabd30.woff2 11.36 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-cyrillic-ext-400-normal.3df7909e.woff2 15.77 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-latin-400-normal.e43b3538.woff2 16.28 kB
.svelte-kit/output/client/vite-manifest.json 17.86 kB
.svelte-kit/output/client/_app/immutable/assets/fira-mono-all-400-normal.1e3b098c.woff 77.36 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-welcome.c18bcf5a.webp 115.47 kB
.svelte-kit/output/client/_app/immutable/assets/svelte-welcome.6c300099.png 360.81 kB
.svelte-kit/output/client/_app/immutable/assets/_page.358c415e.css 0.82 kB │ gzip: 0.35 kB
.svelte-kit/output/client/_app/immutable/assets/_page.265a38f0.css 1.45 kB │ gzip: 0.53 kB
.svelte-kit/output/client/_app/immutable/assets/_page.3fab429f.css 3.81 kB │ gzip: 1.07 kB
.svelte-kit/output/client/_app/immutable/assets/_layout.de12584b.css 5.20 kB │ gzip: 1.66 kB
.svelte-kit/output/client/_app/immutable/chunks/environment.9aa685ef.js 0.03 kB │ gzip: 0.05 kB
.svelte-kit/output/client/_app/immutable/chunks/1.8ac850bd.js 0.08 kB │ gzip: 0.10 kB
.svelte-kit/output/client/_app/immutable/chunks/0.728c83e5.js 0.09 kB │ gzip: 0.10 kB
.svelte-kit/output/client/_app/immutable/chunks/4.74f478d8.js 0.09 kB │ gzip: 0.10 kB
.svelte-kit/output/client/_app/immutable/chunks/2.a919aa70.js 0.14 kB │ gzip: 0.13 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.da46b06b.js 0.14 kB │ gzip: 0.14 kB
.svelte-kit/output/client/_app/immutable/chunks/3.116e9dbd.js 0.14 kB │ gzip: 0.13 kB
.svelte-kit/output/client/_app/immutable/chunks/5.2cea7012.js 0.16 kB │ gzip: 0.14 kB
.svelte-kit/output/client/_app/immutable/entry/_page.js.8fbef9d3.js 0.17 kB │ gzip: 0.16 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.1806d283.js 0.20 kB │ gzip: 0.18 kB
.svelte-kit/output/client/_app/immutable/chunks/_page.40474c2a.js 0.20 kB │ gzip: 0.18 kB
.svelte-kit/output/client/_app/immutable/entry/about-page.js.a6816201.js 0.23 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-how-to-play-page.js.a6816201.js 0.23 kB │ gzip: 0.19 kB
.svelte-kit/output/client/_app/immutable/chunks/stores.219db425.js 0.24 kB │ gzip: 0.17 kB
.svelte-kit/output/client/_app/immutable/chunks/index.fec15d98.js 0.50 kB │ gzip: 0.33 kB
.svelte-kit/output/client/_app/immutable/entry/error.svelte.f366197c.js 0.90 kB │ gzip: 0.56 kB
.svelte-kit/output/client/_app/immutable/chunks/parse.d12b0d5b.js 1.32 kB │ gzip: 0.65 kB
.svelte-kit/output/client/_app/immutable/chunks/singletons.06279ebd.js 2.49 kB │ gzip: 1.27 kB
.svelte-kit/output/client/_app/immutable/entry/about-page.svelte.b1ff7cc1.js 2.58 kB │ gzip: 1.18 kB
.svelte-kit/output/client/_app/immutable/entry/_layout.svelte.01683685.js 5.24 kB │ gzip: 2.01 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-how-to-play-page.svelte.1b3a9631.js 5.36 kB │ gzip: 2.03 kB
.svelte-kit/output/client/_app/immutable/entry/_page.svelte.bd0ea470.js 5.77 kB │ gzip: 2.57 kB
.svelte-kit/output/client/_app/immutable/entry/app.1f01e37c.js 6.86 kB │ gzip: 2.56 kB
.svelte-kit/output/client/_app/immutable/chunks/index.f43cbd37.js 8.37 kB │ gzip: 3.42 kB
.svelte-kit/output/client/_app/immutable/entry/sverdle-page.svelte.87ecbf1c.js 16.34 kB │ gzip: 6.73 kB
.svelte-kit/output/client/_app/immutable/entry/start.8364f121.js 22.56 kB │ gzip: 9.02 kB
✓ built in 8.76s
[vite-plugin-sveltekit-compile] Cannot read properties of undefined (reading 'filter')
✓ built in 10.05s
error during build:
TypeError: Cannot read properties of undefined (reading 'filter')
at Object.handler (file:///D:/OA/myapp1/node_modules/@sveltejs/kit/src/exports/vite/index.js:735:24)
at process.processTicksAndRejections (node:internal/process/task_queues:95:5)
at async PluginDriver.hookParallel (file:///D:/OA/myapp1/node_modules/rollup/dist/es/shared/node-entry.js:24317:17)
at async file:///D:/OA/myapp1/node_modules/rollup/dist/es/shared/node-entry.js:25678:13
at async catchUnfinishedHookActions (file:///D:/OA/myapp1/node_modules/rollup/dist/es/shared/node-entry.js:24758:20)
at async build (file:///D:/OA/myapp1/node_modules/vite/dist/node/chunks/dep-79892de8.js:46246:22)
at async CAC.<anonymous> (file:///D:/OA/myapp1/node_modules/vite/dist/node/cli.js:813:9)
System Info
System:
OS: Windows 10 10.0.22621
CPU: (16) x64 AMD Ryzen 7 5800X3D 8-Core Processor
Memory: 103.84 GB / 127.93 GB
Binaries:
Node: 19.5.0 - ~\scoop\apps\nodejs\current\node.EXE
Yarn: 1.22.19 - ~\scoop\apps\nodejs\current\yarn.CMD
npm: 9.5.1 - ~\scoop\apps\nodejs\current\bin\npm.CMD
Browsers:
Edge: Spartan (44.22621.1413.0), Chromium (111.0.1661.51)
Internet Explorer: 11.0.22621.1
npmPackages:
@sveltejs/adapter-auto: ^2.0.0 => 2.0.0
@sveltejs/kit: ^1.5.0 => 1.14.0
svelte: ^3.54.0 => 3.57.0
vite: ^4.2.0 => 4.2.1
Severity
annoyance
Additional Information
No response
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Reproduce the failure from vite.config.js by creating the SvelteKit demo, adding terser and @vitejs/plugin-legacy, and running npm run build. Inspect the reported @sveltejs/kit/src/exports/vite/index.js failure and verify that the build completes successfully with the legacy plugin enabled.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript, vite
- Domain
- build-system, tooling
- Issue type
- Bug
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 35/100