sveltejs / sveltejs/kit

@vitejs/plugin-legacy compatibility

Open
#9,515 3 comments 9 reactions 0 assignees View on GitHub

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

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. 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

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.