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

[vite-plugin-sveltekit-compile] Cannot read properties of undefined (reading 'filter') #9515

Open
lily756 opened this issue Mar 25, 2023 · 3 comments
Labels
feature request New feature or request
Milestone

Comments

@lily756
Copy link

lily756 commented Mar 25, 2023

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

@dummdidumm
Copy link
Member

Likely fixed by parts of #6265

@dummdidumm dummdidumm added this to the non-urgent milestone Mar 30, 2023
@Tal500
Copy link
Contributor

Tal500 commented Mar 31, 2023

Likely fixed by parts of #6265

This PR totally "fixes" this😀

In more details: SvelteKit doesn't really support Vite plugin-legacy, in so many ways...
The starting point it doesn't fit along, is that plugin-legacy duplicates the rollup outputs, one for legacy and one for modern, but SvelteKit assumes the output is only one.

@wmurphyrd
Copy link

In more details: SvelteKit doesn't really support Vite plugin-legacy, in so many ways...
The starting point it doesn't fit along, is that plugin-legacy duplicates the rollup outputs, one for legacy and one for modern, but SvelteKit assumes the output is only one.

Thanks for this tip on where the issue lies. For my case I was able to resolve then by skipping those legacy chunks because what I really needed support for was the modern polyfills

    plugins: [
        sveltekit(),
        legacy({
            modernPolyfills: true,
            renderLegacyChunks: false
        })
    ],

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature request New feature or request
Projects
None yet
Development

No branches or pull requests

4 participants