diff --git a/.changeset/huge-ideas-nail.md b/.changeset/huge-ideas-nail.md new file mode 100644 index 000000000..064592a40 --- /dev/null +++ b/.changeset/huge-ideas-nail.md @@ -0,0 +1,5 @@ +--- +'@sveltejs/vite-plugin-svelte': minor +--- + +feat: add support for the new experimental.async option and apply dynamicCompileOptions when compiling Svelte modules diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 914ea722b..28bde419b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -49,6 +49,8 @@ jobs: cache-dependency-path: '**/pnpm-lock.yaml' - name: install run: pnpm install --frozen-lockfile --prefer-offline --ignore-scripts + - name: sync + run: pnpm -r sync # required to ensure sveltekit test project have tsconfig.json which may be required by the checks below - name: format run: pnpm check:format - name: lint @@ -77,21 +79,26 @@ jobs: node: [22] os: [ubuntu-latest, macos-latest, windows-latest] vite: ['current'] + svelte: ['current'] include: - node: 20 os: ubuntu-latest vite: 'current' + svelte: 'current' - node: 24 os: ubuntu-latest vite: 'current' - # baseline test lowest vite and node version + svelte: 'current' + # baseline test lowest svelte, vite and node version - node: 20.19 os: ubuntu-latest vite: 'baseline' + svelte: 'baseline' # future test with rolldown-vite - node: 24 os: ubuntu-latest vite: 'rolldown-vite' + svelte: 'current' steps: - uses: actions/checkout@v4 - uses: actions/setup-node@v4 @@ -115,6 +122,11 @@ jobs: run: | pnpm update -r --no-save vite@6.3.0 pnpm ls vite + - name: downgrade svelte to baseline + if: matrix.svelte == 'baseline' + run: | + pnpm update -r --no-save svelte@5.0.0 + pnpm ls svelte - name: update vite to rolldown-vite if: matrix.vite == 'rolldown-vite' run: | @@ -134,7 +146,7 @@ jobs: - uses: actions/upload-artifact@v4 if: failure() with: - name: test-failure-${{github.run_id}}-${{ matrix.os }}-${{ matrix.node }}-${{ matrix.vite }} + name: test-failure-${{github.run_id}}-os_${{ matrix.os }}-node_${{ matrix.node }}-vite_${{ matrix.vite }}-svelte_${{matrix.svelte}} path: | test-temp.tar pnpm-debug.log diff --git a/package.json b/package.json index f05b580ec..00ea5117a 100644 --- a/package.json +++ b/package.json @@ -28,7 +28,7 @@ "@eslint/js": "^9.31.0", "@stylistic/eslint-plugin-js": "^4.4.1", "@sveltejs/eslint-config": "^8.2.0", - "@sveltejs/kit": "^2.22.5", + "@sveltejs/kit": "^2.23.0", "@svitejs/changesets-changelog-github-compact": "^1.2.0", "@types/fs-extra": "^11.0.4", "@types/node": "^22.16.3", @@ -51,7 +51,7 @@ "prettier": "^3.6.2", "prettier-plugin-svelte": "^3.4.0", "publint": "^0.3.12", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-eslint-parser": "^1.2.0", "typescript": "^5.8.3", "typescript-eslint": "^8.36.0", diff --git a/packages/e2e-tests/_test_dependencies/svelte-api-only/package.json b/packages/e2e-tests/_test_dependencies/svelte-api-only/package.json index a02ce1c24..b1e94cb53 100644 --- a/packages/e2e-tests/_test_dependencies/svelte-api-only/package.json +++ b/packages/e2e-tests/_test_dependencies/svelte-api-only/package.json @@ -15,6 +15,6 @@ }, "type": "module", "dependencies": { - "svelte": "^5.35.6" + "svelte": "^5.0.0" } } diff --git a/packages/e2e-tests/autoprefixer-browerslist/package.json b/packages/e2e-tests/autoprefixer-browerslist/package.json index cf7e7098d..a6a6cfcb1 100644 --- a/packages/e2e-tests/autoprefixer-browerslist/package.json +++ b/packages/e2e-tests/autoprefixer-browerslist/package.json @@ -15,7 +15,7 @@ "autoprefixer": "^10.4.21", "postcss": "^8.5.6", "postcss-load-config": "^6.0.1", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-preprocess": "^6.0.3", "vite": "^7.0.4" }, diff --git a/packages/e2e-tests/configfile-custom/package.json b/packages/e2e-tests/configfile-custom/package.json index 6beaf91e2..bff9fc7c6 100644 --- a/packages/e2e-tests/configfile-custom/package.json +++ b/packages/e2e-tests/configfile-custom/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/configfile-esm/package.json b/packages/e2e-tests/configfile-esm/package.json index 7a0b6edc1..4ae4b95aa 100644 --- a/packages/e2e-tests/configfile-esm/package.json +++ b/packages/e2e-tests/configfile-esm/package.json @@ -12,7 +12,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-preprocess": "^6.0.3", "vite": "^7.0.4" }, diff --git a/packages/e2e-tests/css-dev-sourcemap/package.json b/packages/e2e-tests/css-dev-sourcemap/package.json index 2a4bc959f..85dbbe19d 100644 --- a/packages/e2e-tests/css-dev-sourcemap/package.json +++ b/packages/e2e-tests/css-dev-sourcemap/package.json @@ -11,7 +11,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/css-treeshake/__tests__/css-treeshake.spec.ts b/packages/e2e-tests/css-treeshake/__tests__/css-treeshake.spec.ts index d9edac1c8..5951ff99f 100644 --- a/packages/e2e-tests/css-treeshake/__tests__/css-treeshake.spec.ts +++ b/packages/e2e-tests/css-treeshake/__tests__/css-treeshake.spec.ts @@ -1,37 +1,48 @@ -import { browserLogs, findAssetFile, getColor, getEl, getText, isBuild } from '~utils'; +import { + browserLogs, + findAssetFile, + getColor, + getEl, + getText, + IS_SVELTE_BASELINE, + isBuild +} from '~utils'; import { expect } from 'vitest'; -test('should not have failed requests', async () => { - browserLogs.forEach((msg) => { - expect(msg).not.toMatch('404'); +// support for treeshaking css was added after 5.0.0 +describe.skipIf(IS_SVELTE_BASELINE)('css-treeshake', () => { + test('should not have failed requests', async () => { + browserLogs.forEach((msg) => { + expect(msg).not.toMatch('404'); + }); }); -}); - -test('should apply css from used components', async () => { - expect(await getText('#app')).toBe('App'); - expect(await getColor('#app')).toBe('blue'); - expect(await getText('#a')).toBe('A'); - expect(await getColor('#a')).toBe('red'); -}); - -test('should apply css from unused components that contain global styles', async () => { - expect(await getEl('head style[src]')); - expect(await getColor('#test')).toBe('green'); // from B.svelte -}); -test('should not render unused components', async () => { - expect(await getEl('#b')).toBeNull(); - expect(await getEl('#c')).toBeNull(); -}); + test('should apply css from used components', async () => { + expect(await getText('#app')).toBe('App'); + expect(await getColor('#app')).toBe('blue'); + expect(await getText('#a')).toBe('A'); + expect(await getColor('#a')).toBe('red'); + }); -if (isBuild) { - test('should include unscoped global styles from unused components', async () => { - const cssOutput = findAssetFile(/index-.*\.css/); - expect(cssOutput).toContain('#test{color:green}'); // from B.svelte + test('should apply css from unused components that contain global styles', async () => { + expect(await getEl('head style[src]')); + expect(await getColor('#test')).toBe('green'); // from B.svelte }); - test('should not include scoped styles from unused components', async () => { - const cssOutput = findAssetFile(/index-.*\.css/); - // from C.svelte - expect(cssOutput).not.toContain('.unused'); + + test('should not render unused components', async () => { + expect(await getEl('#b')).toBeNull(); + expect(await getEl('#c')).toBeNull(); }); -} + + if (isBuild) { + test('should include unscoped global styles from unused components', async () => { + const cssOutput = findAssetFile(/index-.*\.css/); + expect(cssOutput).toContain('#test{color:green}'); // from B.svelte + }); + test('should not include scoped styles from unused components', async () => { + const cssOutput = findAssetFile(/index-.*\.css/); + // from C.svelte + expect(cssOutput).not.toContain('.unused'); + }); + } +}); diff --git a/packages/e2e-tests/css-treeshake/package.json b/packages/e2e-tests/css-treeshake/package.json index 9168c9581..b8343c3d1 100644 --- a/packages/e2e-tests/css-treeshake/package.json +++ b/packages/e2e-tests/css-treeshake/package.json @@ -11,7 +11,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/custom-extensions/package.json b/packages/e2e-tests/custom-extensions/package.json index 8f9719fb4..3b129dd16 100644 --- a/packages/e2e-tests/custom-extensions/package.json +++ b/packages/e2e-tests/custom-extensions/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/dynamic-compile-options/package.json b/packages/e2e-tests/dynamic-compile-options/package.json index 8f9719fb4..3b129dd16 100644 --- a/packages/e2e-tests/dynamic-compile-options/package.json +++ b/packages/e2e-tests/dynamic-compile-options/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/e2e-server.js b/packages/e2e-tests/e2e-server.js index e61e5406a..25bdc25e1 100644 --- a/packages/e2e-tests/e2e-server.js +++ b/packages/e2e-tests/e2e-server.js @@ -4,6 +4,7 @@ import treeKill from 'tree-kill'; import fs from 'node:fs'; import path from 'node:path'; import process from 'node:process'; +import { rootDir } from 'vitest/node'; const isWin = process.platform === 'win32'; async function startedOnPort(serverProcess, port, timeout) { @@ -77,6 +78,16 @@ export async function serve(root, isBuild, port) { } }; + const pkg = JSON.parse(fs.readFileSync(path.join(rootDir, 'package.json'), 'utf-8')); + if (pkg.scripts?.sync) { + try { + await execa('pnpm', ['sync']); + } catch (e) { + console.error(`Failed to run sync script in ${rootDir}`); + throw e; + } + } + if (isBuild) { let buildResult; let hasErr = false; diff --git a/packages/e2e-tests/env/package.json b/packages/e2e-tests/env/package.json index 730fd1ca0..51096d8fe 100644 --- a/packages/e2e-tests/env/package.json +++ b/packages/e2e-tests/env/package.json @@ -9,7 +9,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/hmr/package.json b/packages/e2e-tests/hmr/package.json index 18b2c7ba2..47320934f 100644 --- a/packages/e2e-tests/hmr/package.json +++ b/packages/e2e-tests/hmr/package.json @@ -14,7 +14,7 @@ "@sveltejs/vite-plugin-svelte": "workspace:^", "e2e-test-dep-vite-plugins": "file:../_test_dependencies/vite-plugins", "node-fetch": "^3.3.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/raw.txt b/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/raw.txt index b193bc953..3bf3716a0 100644 --- a/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/raw.txt +++ b/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/raw.txt @@ -1,10 +1,14 @@ diff --git a/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/ssr-raw.txt b/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/ssr-raw.txt index b193bc953..3bf3716a0 100644 --- a/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/ssr-raw.txt +++ b/packages/e2e-tests/import-queries/__tests__/__snapshots__/svelte-5/ssr-raw.txt @@ -1,10 +1,14 @@ diff --git a/packages/e2e-tests/import-queries/package.json b/packages/e2e-tests/import-queries/package.json index 95be87581..1632e036c 100644 --- a/packages/e2e-tests/import-queries/package.json +++ b/packages/e2e-tests/import-queries/package.json @@ -11,7 +11,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/import-queries/src/Dummy.svelte b/packages/e2e-tests/import-queries/src/Dummy.svelte index b193bc953..3bf3716a0 100644 --- a/packages/e2e-tests/import-queries/src/Dummy.svelte +++ b/packages/e2e-tests/import-queries/src/Dummy.svelte @@ -1,10 +1,14 @@ diff --git a/packages/e2e-tests/inspector-kit/package.json b/packages/e2e-tests/inspector-kit/package.json index 1d34282dd..14f34513a 100644 --- a/packages/e2e-tests/inspector-kit/package.json +++ b/packages/e2e-tests/inspector-kit/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@sveltejs/kit": "^2.22.5", "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/inspector-vite/package.json b/packages/e2e-tests/inspector-vite/package.json index 2730d7220..ce5f0f053 100644 --- a/packages/e2e-tests/inspector-vite/package.json +++ b/packages/e2e-tests/inspector-vite/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/kit-async/.gitignore b/packages/e2e-tests/kit-async/.gitignore new file mode 100644 index 000000000..1e3a96105 --- /dev/null +++ b/packages/e2e-tests/kit-async/.gitignore @@ -0,0 +1,8 @@ +.DS_Store +node_modules +/build +/.svelte-kit +#.env +.env.* +!.env.example +logs diff --git a/packages/e2e-tests/kit-async/__tests__/kit-async.spec.ts b/packages/e2e-tests/kit-async/__tests__/kit-async.spec.ts new file mode 100644 index 000000000..f023519cb --- /dev/null +++ b/packages/e2e-tests/kit-async/__tests__/kit-async.spec.ts @@ -0,0 +1,12 @@ +import { describe, expect, it } from 'vitest'; +import { getText, IS_SVELTE_BASELINE, sleep } from '~utils'; + +describe.skipIf(IS_SVELTE_BASELINE)('kit-async', async () => { + it('works', async () => { + expect(await getText('h1')).toBe('Hello async world!'); + expect(await getText('span')).toBe('Wait for it ...'); + // TODO ideally this would wait for the actual async settled but that requires a new util + await sleep(700); // the async derived resolves after 500ms + expect(await getText('span')).toBe('foo'); + }); +}); diff --git a/packages/e2e-tests/kit-async/jsconfig.json b/packages/e2e-tests/kit-async/jsconfig.json new file mode 100644 index 000000000..0a738d2b1 --- /dev/null +++ b/packages/e2e-tests/kit-async/jsconfig.json @@ -0,0 +1,15 @@ +{ + "extends": "./.svelte-kit/tsconfig.json", + "compilerOptions": { + "allowJs": true, + "checkJs": true, + "esModuleInterop": true, + "forceConsistentCasingInFileNames": true, + "resolveJsonModule": true, + "skipLibCheck": true, + "sourceMap": true, + "strict": true, + "moduleResolution": "bundler" + }, + "exclude": ["src/routes/+page.svelte"] +} diff --git a/packages/e2e-tests/kit-async/package.json b/packages/e2e-tests/kit-async/package.json new file mode 100644 index 000000000..f3dc1d0b6 --- /dev/null +++ b/packages/e2e-tests/kit-async/package.json @@ -0,0 +1,24 @@ +{ + "name": "e2e-tests-kit-async", + "private": true, + "version": "0.0.0", + "type": "module", + "scripts": { + "dev": "vite dev", + "build": "vite build", + "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "sync": "svelte-kit sync || echo ''", + "check": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json", + "check:watch": "svelte-kit sync && svelte-check --tsconfig ./jsconfig.json --watch" + }, + "devDependencies": { + "@sveltejs/adapter-node": "^5.2.12", + "@sveltejs/kit": "^2.23.0", + "@sveltejs/vite-plugin-svelte": "workspace:^", + "svelte": "^5.36.1", + "svelte-check": "^4.0.0", + "typescript": "^5.8.3", + "vite": "^7.0.2" + } +} diff --git a/packages/e2e-tests/kit-async/src/app.d.ts b/packages/e2e-tests/kit-async/src/app.d.ts new file mode 100644 index 000000000..da08e6da5 --- /dev/null +++ b/packages/e2e-tests/kit-async/src/app.d.ts @@ -0,0 +1,13 @@ +// See https://svelte.dev/docs/kit/types#app.d.ts +// for information about these interfaces +declare global { + namespace App { + // interface Error {} + // interface Locals {} + // interface PageData {} + // interface PageState {} + // interface Platform {} + } +} + +export {}; diff --git a/packages/e2e-tests/kit-async/src/app.html b/packages/e2e-tests/kit-async/src/app.html new file mode 100644 index 000000000..77a5ff52c --- /dev/null +++ b/packages/e2e-tests/kit-async/src/app.html @@ -0,0 +1,12 @@ + + + + + + + %sveltekit.head% + + +
%sveltekit.body%
+ + diff --git a/packages/e2e-tests/kit-async/src/lib/Counter.svelte b/packages/e2e-tests/kit-async/src/lib/Counter.svelte new file mode 100644 index 000000000..daa09bea4 --- /dev/null +++ b/packages/e2e-tests/kit-async/src/lib/Counter.svelte @@ -0,0 +1,11 @@ + + + diff --git a/packages/e2e-tests/kit-async/src/lib/async.svelte.js b/packages/e2e-tests/kit-async/src/lib/async.svelte.js new file mode 100644 index 000000000..df276426b --- /dev/null +++ b/packages/e2e-tests/kit-async/src/lib/async.svelte.js @@ -0,0 +1,10 @@ +export async function asyncFoo() { + const foo = $derived( + await new Promise((resolve) => + setTimeout(() => { + resolve('foo'); + }, 500) + ) + ); + return () => foo; +} diff --git a/packages/e2e-tests/kit-async/src/lib/index.ts b/packages/e2e-tests/kit-async/src/lib/index.ts new file mode 100644 index 000000000..856f2b6c3 --- /dev/null +++ b/packages/e2e-tests/kit-async/src/lib/index.ts @@ -0,0 +1 @@ +// place files you want to import through the `$lib` alias in this folder. diff --git a/packages/e2e-tests/kit-async/src/routes/+page.svelte b/packages/e2e-tests/kit-async/src/routes/+page.svelte new file mode 100644 index 000000000..bd190c1ce --- /dev/null +++ b/packages/e2e-tests/kit-async/src/routes/+page.svelte @@ -0,0 +1,13 @@ + + +

Hello async world!

+ + + {(await asyncFoo())()} + {#snippet pending()} + Wait for it ... + {/snippet} + + diff --git a/packages/e2e-tests/kit-async/static/favicon.png b/packages/e2e-tests/kit-async/static/favicon.png new file mode 100644 index 000000000..825b9e65a Binary files /dev/null and b/packages/e2e-tests/kit-async/static/favicon.png differ diff --git a/packages/e2e-tests/kit-async/svelte.config.js b/packages/e2e-tests/kit-async/svelte.config.js new file mode 100644 index 000000000..df63f4e4e --- /dev/null +++ b/packages/e2e-tests/kit-async/svelte.config.js @@ -0,0 +1,15 @@ +import node from '@sveltejs/adapter-node'; + +/** @type {import('@sveltejs/kit').Config} */ +const config = { + kit: { + adapter: node() + }, + compilerOptions: { + experimental: { + async: true + } + } +}; + +export default config; diff --git a/packages/e2e-tests/kit-async/vite.config.js b/packages/e2e-tests/kit-async/vite.config.js new file mode 100644 index 000000000..740d9c5d7 --- /dev/null +++ b/packages/e2e-tests/kit-async/vite.config.js @@ -0,0 +1,17 @@ +import { sveltekit } from '@sveltejs/kit/vite'; +import { defineConfig } from 'vite'; + +export default defineConfig({ + server: { + watch: { + // During tests we edit the files too fast and sometimes chokidar + // misses change events, so enforce polling for consistency + usePolling: true, + interval: 100 + } + }, + build: { + minify: false + }, + plugins: [sveltekit()] +}); diff --git a/packages/e2e-tests/kit-node/__tests__/kit.spec.ts b/packages/e2e-tests/kit-node/__tests__/kit.spec.ts index 3e410d031..b33ea7914 100644 --- a/packages/e2e-tests/kit-node/__tests__/kit.spec.ts +++ b/packages/e2e-tests/kit-node/__tests__/kit.spec.ts @@ -11,7 +11,8 @@ import { browserLogs, fetchPageText, reloadPage, - readFileContent + readFileContent, + IS_SVELTE_BASELINE } from '~utils'; import glob from 'tiny-glob'; @@ -331,26 +332,31 @@ describe('kit-node', () => { 'svelte-i18n', 'e2e-test-dep-svelte-api-only', 'svelte/animate', - 'svelte/attachments', 'svelte/easing', 'svelte/events', 'svelte/internal', 'svelte/internal/client', 'svelte/motion', 'svelte/reactivity', - 'svelte/reactivity/window', 'svelte/store', 'svelte/transition', 'svelte', - 'svelte > clsx', 'svelte/internal/disclose-version', - 'svelte/internal/flags/legacy', - 'svelte/internal/flags/tracing', 'svelte/legacy', 'svelte-i18n > deepmerge', 'svelte-i18n > cli-color', 'svelte-i18n > tiny-glob' ]; + if (!IS_SVELTE_BASELINE) { + expectedIncludes.push( + 'svelte/reactivity/window', + 'svelte > clsx', + 'svelte/attachments', + 'svelte/internal/flags/async', + 'svelte/internal/flags/legacy', + 'svelte/internal/flags/tracing' + ); + } expectedIncludes = expectedIncludes.filter( (item) => !(isServe && item.startsWith('svelte-i18n >')) @@ -369,24 +375,29 @@ describe('kit-node', () => { ); const expectedDedupe = [ 'svelte/animate', - 'svelte/attachments', 'svelte/easing', 'svelte/events', 'svelte/internal', 'svelte/internal/client', 'svelte/motion', 'svelte/reactivity', - 'svelte/reactivity/window', 'svelte/store', 'svelte/transition', 'svelte', 'svelte/internal/disclose-version', - 'svelte/internal/flags/legacy', - 'svelte/internal/flags/tracing', 'svelte/internal/server', 'svelte/server', 'svelte/legacy' ]; + if (!IS_SVELTE_BASELINE) { + expectedDedupe.push( + 'svelte/attachments', + 'svelte/internal/flags/async', + 'svelte/internal/flags/legacy', + 'svelte/internal/flags/tracing', + 'svelte/reactivity/window' + ); + } expectArrayEqual(config.resolve.dedupe, expectedDedupe, `resolve.dedupe in ${filename}`); expectArrayEqual( diff --git a/packages/e2e-tests/kit-node/package.json b/packages/e2e-tests/kit-node/package.json index cc4f14f1b..fb80f5573 100644 --- a/packages/e2e-tests/kit-node/package.json +++ b/packages/e2e-tests/kit-node/package.json @@ -6,19 +6,21 @@ "dev": "vite dev", "build": "vite build", "preview": "vite preview", + "prepare": "svelte-kit sync || echo ''", + "sync": "svelte-kit sync || echo ''", "check": "svelte-check --tsconfig ./jsconfig.json", "check:watch": "svelte-check --tsconfig ./jsconfig.json --watch", "package": "svelte-package && echo just here for testing, don't remove svelte-package!" }, "devDependencies": { "@sveltejs/adapter-node": "^5.2.13", - "@sveltejs/kit": "^2.22.5", + "@sveltejs/kit": "^2.23.0", "@sveltejs/package": "^2.3.12", "@sveltejs/vite-plugin-svelte": "workspace:^", "e2e-test-dep-svelte-api-only": "file:../_test_dependencies/svelte-api-only", "e2e-test-dep-vite-plugins": "file:../_test_dependencies/vite-plugins", "e2e-test-dep-svelte-nested-workspace-devdep": "../_test_dependencies/svelte-nested-workspace-devdep", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-check": "^4.2.2", "svelte-i18n": "^4.0.1", "tiny-glob": "^0.2.9", diff --git a/packages/e2e-tests/package-json-svelte-field/package.json b/packages/e2e-tests/package-json-svelte-field/package.json index 311dbaaa6..53e5cd63e 100644 --- a/packages/e2e-tests/package-json-svelte-field/package.json +++ b/packages/e2e-tests/package-json-svelte-field/package.json @@ -14,7 +14,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/prebundle-svelte-deps/__tests__/prebundle-svelte-deps.spec.ts b/packages/e2e-tests/prebundle-svelte-deps/__tests__/prebundle-svelte-deps.spec.ts index 8f4de11f6..ecb11072e 100644 --- a/packages/e2e-tests/prebundle-svelte-deps/__tests__/prebundle-svelte-deps.spec.ts +++ b/packages/e2e-tests/prebundle-svelte-deps/__tests__/prebundle-svelte-deps.spec.ts @@ -2,6 +2,7 @@ import { browserLogs, editFile, getText, + IS_SVELTE_BASELINE, isBuild, readVitePrebundleMetadata, waitForServerRestartAndPageReload @@ -34,7 +35,12 @@ if (!isBuild) { expect(optimizedPaths).toContain('e2e-test-dep-svelte-nested'); expect(optimizedPaths).toContain('e2e-test-dep-svelte-module'); expect(optimizedPaths).toContain('svelte'); - expect(optimizedPaths).toContain('svelte > clsx'); + if (!IS_SVELTE_BASELINE) { + // clsx was added after svelte 5.0.0 + expect(optimizedPaths).toContain('svelte > clsx'); + } else { + expect(optimizedPaths).not.toContain('svelte > clsx'); + } }); test('should not optimize excluded svelte dependencies', () => { diff --git a/packages/e2e-tests/prebundle-svelte-deps/package.json b/packages/e2e-tests/prebundle-svelte-deps/package.json index 4ebe0f1a6..2d1c7375e 100644 --- a/packages/e2e-tests/prebundle-svelte-deps/package.json +++ b/packages/e2e-tests/prebundle-svelte-deps/package.json @@ -19,7 +19,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-preprocess": "^6.0.3", "vite": "^7.0.4" } diff --git a/packages/e2e-tests/preprocess-with-vite/package.json b/packages/e2e-tests/preprocess-with-vite/package.json index 88a35735c..2808c5e67 100644 --- a/packages/e2e-tests/preprocess-with-vite/package.json +++ b/packages/e2e-tests/preprocess-with-vite/package.json @@ -13,7 +13,7 @@ "magic-string": "^0.30.17", "sass": "^1.89.2", "stylus": "^0.64.0", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" }, "type": "module" diff --git a/packages/e2e-tests/resolve-exports-svelte/package.json b/packages/e2e-tests/resolve-exports-svelte/package.json index 09485d284..8f56ad5e2 100644 --- a/packages/e2e-tests/resolve-exports-svelte/package.json +++ b/packages/e2e-tests/resolve-exports-svelte/package.json @@ -13,7 +13,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/scan-deps/package.json b/packages/e2e-tests/scan-deps/package.json index c97639983..575467714 100644 --- a/packages/e2e-tests/scan-deps/package.json +++ b/packages/e2e-tests/scan-deps/package.json @@ -10,7 +10,7 @@ }, "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/svelte-preprocess/package.json b/packages/e2e-tests/svelte-preprocess/package.json index 7d6895361..1f71df2aa 100644 --- a/packages/e2e-tests/svelte-preprocess/package.json +++ b/packages/e2e-tests/svelte-preprocess/package.json @@ -10,7 +10,7 @@ "devDependencies": { "@sveltejs/vite-plugin-svelte": "workspace:^", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-preprocess": "^6.0.3", "typescript": "^5.8.3", "vite": "^7.0.4" diff --git a/packages/e2e-tests/testUtils.ts b/packages/e2e-tests/testUtils.ts index 06083776f..6f5ffa2ca 100644 --- a/packages/e2e-tests/testUtils.ts +++ b/packages/e2e-tests/testUtils.ts @@ -18,6 +18,10 @@ import { waitForViteConnect } from './vitestSetup.js'; +import { VERSION } from 'svelte/compiler'; + +export const IS_SVELTE_BASELINE = VERSION === '5.0.0'; + export * from './vitestSetup.js'; export const hmrUpdateTimeout = 10000; diff --git a/packages/e2e-tests/ts-type-import/package.json b/packages/e2e-tests/ts-type-import/package.json index 909a882c8..5d83b3793 100644 --- a/packages/e2e-tests/ts-type-import/package.json +++ b/packages/e2e-tests/ts-type-import/package.json @@ -11,7 +11,7 @@ "@sveltejs/vite-plugin-svelte": "workspace:^", "@tsconfig/svelte": "^5.0.4", "@types/node": "^22.16.3", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "svelte-preprocess": "^6.0.3", "vite": "^7.0.4" }, diff --git a/packages/e2e-tests/vite-ssr-esm/package.json b/packages/e2e-tests/vite-ssr-esm/package.json index e8e3353d0..968599d94 100644 --- a/packages/e2e-tests/vite-ssr-esm/package.json +++ b/packages/e2e-tests/vite-ssr-esm/package.json @@ -20,7 +20,7 @@ "npm-run-all2": "^8.0.4", "polka": "1.0.0-next.28", "sirv": "^3.0.1", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/e2e-tests/vitestSetup.ts b/packages/e2e-tests/vitestSetup.ts index 16efa5c94..a8b2adff6 100644 --- a/packages/e2e-tests/vitestSetup.ts +++ b/packages/e2e-tests/vitestSetup.ts @@ -112,7 +112,8 @@ beforeAll( 'dist', 'build', '.svelte', - '.svelte-kit' + '.svelte-kit', + 'logs' ]; testDir = tempDir; const isIgnored = (file) => { diff --git a/packages/vite-plugin-svelte-inspector/package.json b/packages/vite-plugin-svelte-inspector/package.json index acb19889a..80d4d0d30 100644 --- a/packages/vite-plugin-svelte-inspector/package.json +++ b/packages/vite-plugin-svelte-inspector/package.json @@ -48,7 +48,7 @@ }, "devDependencies": { "@types/debug": "^4.1.12", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/vite-plugin-svelte/__tests__/svelte-version.spec.js b/packages/vite-plugin-svelte/__tests__/svelte-version.spec.js new file mode 100644 index 000000000..29a3d094e --- /dev/null +++ b/packages/vite-plugin-svelte/__tests__/svelte-version.spec.js @@ -0,0 +1,26 @@ +import { describe, it, expect } from 'vitest'; +import { gte } from '../src/utils/svelte-version.js'; + +describe('gte', () => { + it('returns false for smaller patch', () => { + expect(gte('1.2.2', '1.2.3')).toBe(false); + }); + it('returns false for smaller minor', () => { + expect(gte('1.1.4', '1.2.3')).toBe(false); + }); + it('returns false for smaller major', () => { + expect(gte('0.3.4', '1.2.3')).toBe(false); + }); + it('returns true for equal', () => { + expect(gte('1.2.3', '1.2.3')).toBe(true); + }); + it('returns true for larger patch', () => { + expect(gte('1.2.4', '1.2.3')).toBe(true); + }); + it('returns true for larger minor', () => { + expect(gte('1.3.1', '1.2.3')).toBe(true); + }); + it('returns true for larger major', () => { + expect(gte('2.0.0', '1.2.3')).toBe(true); + }); +}); diff --git a/packages/vite-plugin-svelte/package.json b/packages/vite-plugin-svelte/package.json index 48e2e1411..fb13ae847 100644 --- a/packages/vite-plugin-svelte/package.json +++ b/packages/vite-plugin-svelte/package.json @@ -53,7 +53,7 @@ "devDependencies": { "@types/debug": "^4.1.12", "sass": "^1.89.2", - "svelte": "^5.35.6", + "svelte": "^5.36.1", "vite": "^7.0.4" } } diff --git a/packages/vite-plugin-svelte/src/plugins/compile-module.js b/packages/vite-plugin-svelte/src/plugins/compile-module.js index 2ae406cfe..4ae62f985 100644 --- a/packages/vite-plugin-svelte/src/plugins/compile-module.js +++ b/packages/vite-plugin-svelte/src/plugins/compile-module.js @@ -1,7 +1,8 @@ import { buildModuleIdFilter, buildModuleIdParser } from '../utils/id.js'; import * as svelteCompiler from 'svelte/compiler'; -import { logCompilerWarnings } from '../utils/log.js'; +import { log, logCompilerWarnings } from '../utils/log.js'; import { toRollupError } from '../utils/error.js'; +import { isSvelteWithAsync } from '../utils/svelte-version.js'; /** * @param {import('../types/plugin-api.d.ts').PluginAPI} api @@ -16,6 +17,12 @@ export function compileModule(api) { * @type {import("../types/id.js").ModuleIdParser} */ let idParser; + + /** + * @type {import('svelte/compiler').ModuleCompileOptions} + */ + let staticModuleCompileOptions; + /** @type {import('vite').Plugin} */ const plugin = { name: 'vite-plugin-svelte:compile-module', @@ -25,6 +32,7 @@ export function compileModule(api) { //@ts-expect-error transform defined below but filter not in type plugin.transform.filter = buildModuleIdFilter(options); idParser = buildModuleIdParser(options); + staticModuleCompileOptions = filterNonModuleCompilerOptions(options.compilerOptions); }, transform: { async handler(code, id) { @@ -33,12 +41,48 @@ export function compileModule(api) { if (!moduleRequest) { return; } + const filename = moduleRequest.filename; + /** @type {import('svelte/compiler').CompileOptions} */ + const compileOptions = { + ...staticModuleCompileOptions, + dev: !this.environment.config.isProduction, + generate: ssr ? 'server' : 'client', + filename + }; + const dynamicCompileOptions = await options?.dynamicCompileOptions?.({ + filename, + code, + compileOptions + }); + if (dynamicCompileOptions && log.debug.enabled) { + log.debug( + `dynamic compile options for ${filename}: ${JSON.stringify(dynamicCompileOptions)}`, + undefined, + 'compileModule' + ); + } + const finalCompileOptions = dynamicCompileOptions + ? { + ...compileOptions, + ...dynamicCompileOptions + } + : compileOptions; + if (dynamicCompileOptions?.experimental) { + finalCompileOptions.experimental = { + ...compileOptions.experimental, + ...dynamicCompileOptions.experimental + }; + } + const finalModuleCompileOptions = filterNonModuleCompilerOptions(finalCompileOptions); + if (log.debug.enabled) { + log.debug( + `final ModuleCompileOptions for ${filename}: ${JSON.stringify(finalModuleCompileOptions)}`, + undefined, + 'compileModule' + ); + } try { - const compileResult = svelteCompiler.compileModule(code, { - dev: !this.environment.config.isProduction, - generate: ssr ? 'server' : 'client', - filename: moduleRequest.filename - }); + const compileResult = svelteCompiler.compileModule(code, finalModuleCompileOptions); logCompilerWarnings(moduleRequest, compileResult.warnings, options); return compileResult.js; } catch (e) { @@ -49,3 +93,38 @@ export function compileModule(api) { }; return plugin; } + +/** + * + * @param {import('svelte/compiler').CompileOptions} compilerOptions + * @return {import('svelte/compiler').ModuleCompileOptions} + */ +function filterNonModuleCompilerOptions(compilerOptions) { + /** @type {Array} */ + const knownModuleCompileOptionNames = ['dev', 'generate', 'filename', 'rootDir', 'warningFilter']; + if (isSvelteWithAsync) { + knownModuleCompileOptionNames.push('experimental'); + } + // not typed but this is temporary until svelte itself ignores CompileOptions passed to compileModule + const experimentalModuleCompilerOptionNames = ['async']; + + /** @type {import('svelte/compiler').ModuleCompileOptions} */ + const filtered = filterByPropNames(compilerOptions, knownModuleCompileOptionNames); + if (filtered.experimental) { + filtered.experimental = filterByPropNames( + filtered.experimental, + experimentalModuleCompilerOptionNames + ); + } + return filtered; +} + +/** + * + * @param {object} o + * @param {string[]} names + * @returns {object} + */ +function filterByPropNames(o, names) { + return Object.fromEntries(Object.entries(o).filter(([name]) => names.includes(name))); +} diff --git a/packages/vite-plugin-svelte/src/utils/svelte-version.js b/packages/vite-plugin-svelte/src/utils/svelte-version.js index 87925b652..b716a6bdf 100644 --- a/packages/vite-plugin-svelte/src/utils/svelte-version.js +++ b/packages/vite-plugin-svelte/src/utils/svelte-version.js @@ -3,10 +3,25 @@ import { VERSION } from 'svelte/compiler'; /** * @type {boolean} */ -export const isSvelte5 = VERSION.startsWith('5.'); +export const isSvelteWithAsync = gte(VERSION, '5.36.0'); /** - * @type {boolean} + * compare semver versions, does not include comparing tags (-next.xy is ignored) + * + * @param {string} a semver version + * @param {string} b semver version + * @return {boolean} true if a is greater or equal to b */ -export const isSvelte5WithHMRSupport = - VERSION.startsWith('5.0.0-next.') && Number(VERSION.slice(11)) > 96; +export function gte(a, b) { + const aNum = a.split(/[.-]/, 3).map(Number); + const bNum = b.split(/[.-]/, 3).map(Number); + for (let i = 0; i < aNum.length; i++) { + if (aNum[i] < bNum[i]) { + return false; + } + if (aNum[i] > bNum[i]) { + return true; + } + } + return true; +} diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 257ad4a52..3c2ab8e49 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -5,11 +5,11 @@ settings: excludeLinksFromLockfile: false overrides: - '@sveltejs/kit': ^2.22.5 + '@sveltejs/kit': ^2.23.0 '@sveltejs/kit>@sveltejs/vite-plugin-svelte': workspace:^ '@sveltejs/vite-plugin-svelte': workspace:^ '@sveltejs/vite-plugin-svelte-inspector': workspace:^ - svelte: ^5.35.6 + svelte: ^5.36.1 vite: ^7.0.4 '@types/node@<=20.12.0': 20.19.7 send@<0.19.0: ^0.19.1 @@ -33,10 +33,10 @@ importers: version: 4.4.1(eslint@9.31.0) '@sveltejs/eslint-config': specifier: ^8.2.0 - version: 8.2.0(@stylistic/eslint-plugin-js@4.4.1(eslint@9.31.0))(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint-plugin-n@17.21.0(eslint@9.31.0)(typescript@5.8.3))(eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.35.6))(eslint@9.31.0)(typescript-eslint@8.36.0(eslint@9.31.0)(typescript@5.8.3))(typescript@5.8.3) + version: 8.2.0(@stylistic/eslint-plugin-js@4.4.1(eslint@9.31.0))(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint-plugin-n@17.21.0(eslint@9.31.0)(typescript@5.8.3))(eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.36.1))(eslint@9.31.0)(typescript-eslint@8.37.0(eslint@9.31.0)(typescript@5.8.3))(typescript@5.8.3) '@sveltejs/kit': - specifier: ^2.22.5 - version: 2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + specifier: ^2.23.0 + version: 2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) '@svitejs/changesets-changelog-github-compact': specifier: ^1.2.0 version: 1.2.0 @@ -45,7 +45,7 @@ importers: version: 11.0.4 '@types/node': specifier: ^22.16.3 - version: 22.16.3 + version: 22.16.4 cross-env: specifier: ^7.0.3 version: 7.0.3 @@ -69,7 +69,7 @@ importers: version: 5.5.1(@types/eslint@9.6.1)(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint@9.31.0)(prettier@3.6.2) eslint-plugin-svelte: specifier: ^3.10.1 - version: 3.10.1(eslint@9.31.0)(svelte@5.35.6) + version: 3.10.1(eslint@9.31.0)(svelte@5.36.1) execa: specifier: ^8.0.1 version: 8.0.1 @@ -99,28 +99,28 @@ importers: version: 3.6.2 prettier-plugin-svelte: specifier: ^3.4.0 - version: 3.4.0(prettier@3.6.2)(svelte@5.35.6) + version: 3.4.0(prettier@3.6.2)(svelte@5.36.1) publint: specifier: ^0.3.12 version: 0.3.12 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-eslint-parser: specifier: ^1.2.0 - version: 1.2.0(svelte@5.35.6) + version: 1.2.0(svelte@5.36.1) typescript: specifier: ^5.8.3 version: 5.8.3 typescript-eslint: specifier: ^8.36.0 - version: 8.36.0(eslint@9.31.0)(typescript@5.8.3) + version: 8.37.0(eslint@9.31.0)(typescript@5.8.3) vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) vitest: specifier: ^3.2.4 - version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.3)(jsdom@26.1.0)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 3.2.4(@types/debug@4.1.12)(@types/node@22.16.4)(jsdom@26.1.0)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests: devDependencies: @@ -147,8 +147,8 @@ importers: packages/e2e-tests/_test_dependencies/svelte-api-only: dependencies: svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 packages/e2e-tests/_test_dependencies/svelte-exports-simple: dependencies: @@ -160,7 +160,7 @@ importers: dependencies: '@types/node': specifier: ^22.16.3 - version: 22.16.3 + version: 22.16.4 e2e-test-dep-cjs-only: specifier: file:../cjs-only version: file:packages/e2e-tests/_test_dependencies/cjs-only @@ -220,14 +220,14 @@ importers: specifier: ^6.0.1 version: 6.0.1(postcss@8.5.6)(yaml@2.8.0) svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3) + version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3) vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/configfile-custom: dependencies: @@ -239,11 +239,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/configfile-esm: dependencies: @@ -255,14 +255,14 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3) + version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3) vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/css-dev-sourcemap: devDependencies: @@ -273,11 +273,11 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/css-treeshake: devDependencies: @@ -288,11 +288,11 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/custom-extensions: devDependencies: @@ -300,11 +300,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/dependencies: dependencies: @@ -330,11 +330,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/env: devDependencies: @@ -342,11 +342,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/hmr: dependencies: @@ -364,11 +364,11 @@ importers: specifier: ^3.3.2 version: 3.3.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/import-queries: devDependencies: @@ -379,26 +379,26 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/inspector-kit: devDependencies: '@sveltejs/kit': - specifier: ^2.22.5 - version: 2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + specifier: ^2.23.0 + version: 2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) '@sveltejs/vite-plugin-svelte': specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/inspector-vite: devDependencies: @@ -406,23 +406,47 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + + packages/e2e-tests/kit-async: + devDependencies: + '@sveltejs/adapter-node': + specifier: ^5.2.12 + version: 5.2.13(@sveltejs/kit@2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))) + '@sveltejs/kit': + specifier: ^2.23.0 + version: 2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + '@sveltejs/vite-plugin-svelte': + specifier: workspace:^ + version: link:../../vite-plugin-svelte + svelte: + specifier: ^5.36.1 + version: 5.36.1 + svelte-check: + specifier: ^4.0.0 + version: 4.2.2(picomatch@4.0.2)(svelte@5.36.1)(typescript@5.8.3) + typescript: + specifier: ^5.8.3 + version: 5.8.3 + vite: + specifier: ^7.0.4 + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/kit-node: devDependencies: '@sveltejs/adapter-node': specifier: ^5.2.13 - version: 5.2.13(@sveltejs/kit@2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))) + version: 5.2.13(@sveltejs/kit@2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))) '@sveltejs/kit': - specifier: ^2.22.5 - version: 2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + specifier: ^2.23.0 + version: 2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) '@sveltejs/package': specifier: ^2.3.12 - version: 2.3.12(svelte@5.35.6)(typescript@5.8.3) + version: 2.3.12(svelte@5.36.1)(typescript@5.8.3) '@sveltejs/vite-plugin-svelte': specifier: workspace:^ version: link:../../vite-plugin-svelte @@ -436,14 +460,14 @@ importers: specifier: file:../_test_dependencies/vite-plugins version: file:packages/e2e-tests/_test_dependencies/vite-plugins svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-check: specifier: ^4.2.2 - version: 4.2.2(picomatch@4.0.2)(svelte@5.35.6)(typescript@5.8.3) + version: 4.2.2(picomatch@4.0.2)(svelte@5.36.1)(typescript@5.8.3) svelte-i18n: specifier: ^4.0.1 - version: 4.0.1(svelte@5.35.6) + version: 4.0.1(svelte@5.36.1) tiny-glob: specifier: ^0.2.9 version: 0.2.9 @@ -452,7 +476,7 @@ importers: version: 5.8.3 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/package-json-svelte-field: dependencies: @@ -470,11 +494,11 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/prebundle-svelte-deps: dependencies: @@ -504,14 +528,14 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3) + version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3) vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/preprocess-with-vite: devDependencies: @@ -531,11 +555,11 @@ importers: specifier: ^0.64.0 version: 0.64.0 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/resolve-exports-svelte: dependencies: @@ -547,11 +571,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/scan-deps: devDependencies: @@ -559,11 +583,11 @@ importers: specifier: workspace:^ version: link:../../vite-plugin-svelte svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/svelte-preprocess: devDependencies: @@ -574,17 +598,17 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3) + version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3) typescript: specifier: ^5.8.3 version: 5.8.3 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/ts-type-import: devDependencies: @@ -596,16 +620,16 @@ importers: version: 5.0.4 '@types/node': specifier: ^22.16.3 - version: 22.16.3 + version: 22.16.4 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 svelte-preprocess: specifier: ^6.0.3 - version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3) + version: 6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3) vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/e2e-tests/vite-ssr-esm: devDependencies: @@ -634,11 +658,11 @@ importers: specifier: ^3.0.1 version: 3.0.1 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/vite-plugin-svelte: dependencies: @@ -659,7 +683,7 @@ importers: version: 0.30.17 vitefu: specifier: ^1.1.1 - version: 1.1.1(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + version: 1.1.1(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) devDependencies: '@types/debug': specifier: ^4.1.12 @@ -668,11 +692,11 @@ importers: specifier: ^1.89.2 version: 1.89.2 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages/vite-plugin-svelte-inspector: dependencies: @@ -687,11 +711,11 @@ importers: specifier: ^4.1.12 version: 4.1.12 svelte: - specifier: ^5.35.6 - version: 5.35.6 + specifier: ^5.36.1 + version: 5.36.1 vite: specifier: ^7.0.4 - version: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + version: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) packages: @@ -1450,7 +1474,7 @@ packages: '@sveltejs/adapter-node@5.2.13': resolution: {integrity: sha512-yS2TVFmIrxjGhYaV5/iIUrJ3mJl6zjaYn0lBD70vTLnYvJeqf3cjvLXeXCUCuYinhSBoyF4DpfGla49BnIy7sQ==} peerDependencies: - '@sveltejs/kit': ^2.22.5 + '@sveltejs/kit': ^2.23.0 '@sveltejs/eslint-config@8.2.0': resolution: {integrity: sha512-5ab8AXjLoY+H0dsYTGB+9L8AnOvOzd9NZkECj40VAk6Uh9u7+5d8jVk+YYW6NGsEQ+HwHBUi19yij+q+5Pm+aQ==} @@ -1463,13 +1487,13 @@ packages: typescript: '>= 5' typescript-eslint: '>= 8' - '@sveltejs/kit@2.22.5': - resolution: {integrity: sha512-l5i+LcDaoymD2mg5ziptnHmzzF79+c9twJiDoLWAPKq7afMEe4mvGesJ+LVtm33A92mLzd2KUHgtGSqTrvfkvg==} + '@sveltejs/kit@2.23.0': + resolution: {integrity: sha512-jAgNHbzYiiQe3VFtVkAvX4r/9Py1dhRJSLz95viuGVNY+atqhoYTR4G1bvw1YAlxqh9LtXoJ1Onen+GpnXq69g==} engines: {node: '>=18.13'} hasBin: true peerDependencies: '@sveltejs/vite-plugin-svelte': workspace:^ - svelte: ^5.35.6 + svelte: ^5.36.1 vite: ^7.0.4 '@sveltejs/package@2.3.12': @@ -1477,7 +1501,7 @@ packages: engines: {node: ^16.14 || >=18} hasBin: true peerDependencies: - svelte: ^5.35.6 + svelte: ^5.36.1 '@svitejs/changesets-changelog-github-compact@1.2.0': resolution: {integrity: sha512-08eKiDAjj4zLug1taXSIJ0kGL5cawjVCyJkBb6EWSg5fEPX6L+Wtr0CH2If4j5KYylz85iaZiFlUItvgJvll5g==} @@ -1522,8 +1546,8 @@ packages: '@types/node@20.19.7': resolution: {integrity: sha512-1GM9z6BJOv86qkPvzh2i6VW5+VVrXxCLknfmTkWEqz+6DqosiY28XUWCTmBcJ0ACzKqx/iwdIREfo1fwExIlkA==} - '@types/node@22.16.3': - resolution: {integrity: sha512-sr4Xz74KOUeYadexo1r8imhRtlVXcs+j3XK3TcoiYk7B1t3YRVJgtaD3cwX73NYb71pmVuMLNRhJ9XKdoDB74g==} + '@types/node@22.16.4': + resolution: {integrity: sha512-PYRhNtZdm2wH/NT2k/oAJ6/f2VD2N2Dag0lGlx2vWgMSJXGNmlce5MiTQzoWAiIJtso30mjnfQCOKVH+kAQC/g==} '@types/resolve@1.20.2': resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==} @@ -1531,63 +1555,63 @@ packages: '@types/unist@2.0.11': resolution: {integrity: sha512-CmBKiL6NNo/OqgmMn95Fk9Whlp2mtvIv+KNpQKN2F4SjvrEesubTRWGYSg+BnWZOnlCaSTU1sMpsBOzgbYhnsA==} - '@typescript-eslint/eslint-plugin@8.36.0': - resolution: {integrity: sha512-lZNihHUVB6ZZiPBNgOQGSxUASI7UJWhT8nHyUGCnaQ28XFCw98IfrMCG3rUl1uwUWoAvodJQby2KTs79UTcrAg==} + '@typescript-eslint/eslint-plugin@8.37.0': + resolution: {integrity: sha512-jsuVWeIkb6ggzB+wPCsR4e6loj+rM72ohW6IBn2C+5NCvfUVY8s33iFPySSVXqtm5Hu29Ne/9bnA0JmyLmgenA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - '@typescript-eslint/parser': ^8.36.0 + '@typescript-eslint/parser': ^8.37.0 eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/parser@8.36.0': - resolution: {integrity: sha512-FuYgkHwZLuPbZjQHzJXrtXreJdFMKl16BFYyRrLxDhWr6Qr7Kbcu2s1Yhu8tsiMXw1S0W1pjfFfYEt+R604s+Q==} + '@typescript-eslint/parser@8.37.0': + resolution: {integrity: sha512-kVIaQE9vrN9RLCQMQ3iyRlVJpTiDUY6woHGb30JDkfJErqrQEmtdWH3gV0PBAfGZgQXoqzXOO0T3K6ioApbbAA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/project-service@8.36.0': - resolution: {integrity: sha512-JAhQFIABkWccQYeLMrHadu/fhpzmSQ1F1KXkpzqiVxA/iYI6UnRt2trqXHt1sYEcw1mxLnB9rKMsOxXPxowN/g==} + '@typescript-eslint/project-service@8.37.0': + resolution: {integrity: sha512-BIUXYsbkl5A1aJDdYJCBAo8rCEbAvdquQ8AnLb6z5Lp1u3x5PNgSSx9A/zqYc++Xnr/0DVpls8iQ2cJs/izTXA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/scope-manager@8.36.0': - resolution: {integrity: sha512-wCnapIKnDkN62fYtTGv2+RY8FlnBYA3tNm0fm91kc2BjPhV2vIjwwozJ7LToaLAyb1ca8BxrS7vT+Pvvf7RvqA==} + '@typescript-eslint/scope-manager@8.37.0': + resolution: {integrity: sha512-0vGq0yiU1gbjKob2q691ybTg9JX6ShiVXAAfm2jGf3q0hdP6/BruaFjL/ManAR/lj05AvYCH+5bbVo0VtzmjOA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/tsconfig-utils@8.36.0': - resolution: {integrity: sha512-Nhh3TIEgN18mNbdXpd5Q8mSCBnrZQeY9V7Ca3dqYvNDStNIGRmJA6dmrIPMJ0kow3C7gcQbpsG2rPzy1Ks/AnA==} + '@typescript-eslint/tsconfig-utils@8.37.0': + resolution: {integrity: sha512-1/YHvAVTimMM9mmlPvTec9NP4bobA1RkDbMydxG8omqwJJLEW/Iy2C4adsAESIXU3WGLXFHSZUU+C9EoFWl4Zg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/type-utils@8.36.0': - resolution: {integrity: sha512-5aaGYG8cVDd6cxfk/ynpYzxBRZJk7w/ymto6uiyUFtdCozQIsQWh7M28/6r57Fwkbweng8qAzoMCPwSJfWlmsg==} + '@typescript-eslint/type-utils@8.37.0': + resolution: {integrity: sha512-SPkXWIkVZxhgwSwVq9rqj/4VFo7MnWwVaRNznfQDc/xPYHjXnPfLWn+4L6FF1cAz6e7dsqBeMawgl7QjUMj4Ow==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/types@8.36.0': - resolution: {integrity: sha512-xGms6l5cTJKQPZOKM75Dl9yBfNdGeLRsIyufewnxT4vZTrjC0ImQT4fj8QmtJK84F58uSh5HVBSANwcfiXxABQ==} + '@typescript-eslint/types@8.37.0': + resolution: {integrity: sha512-ax0nv7PUF9NOVPs+lmQ7yIE7IQmAf8LGcXbMvHX5Gm+YJUYNAl340XkGnrimxZ0elXyoQJuN5sbg6C4evKA4SQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - '@typescript-eslint/typescript-estree@8.36.0': - resolution: {integrity: sha512-JaS8bDVrfVJX4av0jLpe4ye0BpAaUW7+tnS4Y4ETa3q7NoZgzYbN9zDQTJ8kPb5fQ4n0hliAt9tA4Pfs2zA2Hg==} + '@typescript-eslint/typescript-estree@8.37.0': + resolution: {integrity: sha512-zuWDMDuzMRbQOM+bHyU4/slw27bAUEcKSKKs3hcv2aNnc/tvE/h7w60dwVw8vnal2Pub6RT1T7BI8tFZ1fE+yg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/utils@8.36.0': - resolution: {integrity: sha512-VOqmHu42aEMT+P2qYjylw6zP/3E/HvptRwdn/PZxyV27KhZg2IOszXod4NcXisWzPAGSS4trE/g4moNj6XmH2g==} + '@typescript-eslint/utils@8.37.0': + resolution: {integrity: sha512-TSFvkIW6gGjN2p6zbXo20FzCABbyUAuq6tBvNRGsKdsSQ6a7rnV6ADfZ7f4iI3lIiXc4F4WWvtUfDw9CJ9pO5A==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 typescript: '>=4.8.4 <5.9.0' - '@typescript-eslint/visitor-keys@8.36.0': - resolution: {integrity: sha512-vZrhV2lRPWDuGoxcmrzRZyxAggPL+qp3WzUrlZD+slFueDiYHxeBa34dUXPuC0RmGKzl4lS5kFJYvKCq9cnNDA==} + '@typescript-eslint/visitor-keys@8.37.0': + resolution: {integrity: sha512-YzfhzcTnZVPiLfP/oeKtDp2evwvHLMe0LOy7oe+hb9KKIumLNohYS9Hgp1ifwpu42YWxhZE8yieggz6JpqO/1w==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} '@vitest/expect@3.2.4': @@ -2062,15 +2086,11 @@ packages: engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.1 || ^9.0.0 - svelte: ^5.35.6 + svelte: ^5.36.1 peerDependenciesMeta: svelte: optional: true - eslint-scope@8.3.0: - resolution: {integrity: sha512-pUNxi75F8MJ/GdeKtVLSbYg4ZI34J6C0C7sbL4YOp2exGwen7ZsuBqKzUhXd0qMQ362yET3z+uPwKeg/0C2XCQ==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-scope@8.4.0: resolution: {integrity: sha512-sNXOfKCn74rt8RICKMvJS7XKV/Xk9kA7DyJr8mJik3S7Cwgy3qlkkmyS2uQB3jiJg6VNdZd/pDBJu0nvG2NlTg==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2079,10 +2099,6 @@ packages: resolution: {integrity: sha512-wpc+LXeiyiisxPlEkUzU6svyS1frIO3Mgxj1fdy7Pm8Ygzguax2N3Fa/D/ag1WqbOprdI+uY6wMUl8/a2G+iag==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} - eslint-visitor-keys@4.2.0: - resolution: {integrity: sha512-UyLnSehNt62FFhSwjZlHmeokpRK59rcz29j+F1/aDgbkbRTk7wIc9XzdoasMUbRNKDM0qQt/+BJ4BrpFeABemw==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - eslint-visitor-keys@4.2.1: resolution: {integrity: sha512-Uhdk5sfqcee/9H/rCOJikYz67o0a2Tw2hGRPOG2Y1R2dg7brRe1uG0yaNQDHu+TO/uQPF/5eCapvYSmHUjt7JQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2104,10 +2120,6 @@ packages: resolution: {integrity: sha512-kTUIGKQ/mDPFoJ0oVfcmyJn4iBDRptjNVIzwIFR7tqWXdVI9xfA2RMwY/gbSpJG3lkdWNEjLap/NqVHZiJsdfg==} engines: {node: '>=0.10'} - espree@10.3.0: - resolution: {integrity: sha512-0QYC8b24HWY8zjRnDTL6RiHfDbAWn63qb4LMj1Z4b076A4une81+z03Kg7l7mn/48PUTqoLptSXez8oknU8Clg==} - engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} - espree@10.4.0: resolution: {integrity: sha512-j6PAQ2uUr79PZhBjP5C5fhl8e39FmRnOjsD5lGnWrFU8i2G776tBK7+nP8KuQUTTyAZUwfQqXAgrVH5MbH9CYQ==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} @@ -2185,14 +2197,6 @@ packages: fastq@1.19.1: resolution: {integrity: sha512-GwLTyxkCXjXbxqIhTsMI2Nui8huMPtnxg7krajPJAjnEG/iiOS7i+zCtWGZR9G0NBKbXKh6X9m9UIsYX/N6vvQ==} - fdir@6.4.5: - resolution: {integrity: sha512-4BG7puHpVsIYxZUbiUE3RqGloLaSSwzYie5jvasC4LWuBWzZawynvYouhjbQKw2JuIGYdm0DzIxl8iVidKlUEw==} - peerDependencies: - picomatch: ^3 || ^4 - peerDependenciesMeta: - picomatch: - optional: true - fdir@6.4.6: resolution: {integrity: sha512-hiFoqpyZcfNm1yc4u8oWCf9A2c4D3QjCrks3zmoVKVxpQRzmPNar1hUJcBG2RQHvEVGDN+Jm81ZheVLAQMK6+w==} peerDependencies: @@ -2541,9 +2545,6 @@ packages: resolution: {integrity: sha512-9ie8ItPR6tjY5uYJh8K/Zrv/RMZ5VOlOWvtZdEHYSTFKZfIBPQa9tOAEeAWhd+AnIneLJ22w5fjOYtoutpWq5w==} engines: {node: '>=18'} - loupe@3.1.3: - resolution: {integrity: sha512-kkIp7XSkP78ZxJEsSxW3712C6teJVoeHHwgo9zJ380de7IYyJ2ISlxojcH2pC5OFLewESmnRi/+XCDIEEVyoug==} - loupe@3.1.4: resolution: {integrity: sha512-wJzkKwJrheKtknCOKNEtDK4iqg/MxmZheEMtSTYvnzRdEYaZzmgH976nenp8WdJRdx5Vc1X/9MO0Oszl6ezeXg==} @@ -2887,7 +2888,7 @@ packages: resolution: {integrity: sha512-pn1ra/0mPObzqoIQn/vUTR3ZZI6UuZ0sHqMK5x2jMLGrs53h0sXhkVuDcrlssHwIMk7FYrMjHBPoUSyyEEDlBQ==} peerDependencies: prettier: ^3.0.0 - svelte: ^5.35.6 + svelte: ^5.36.1 prettier@2.8.8: resolution: {integrity: sha512-tdN8qQGvNjw4CHbY+XXk0JgCXn9QiF21a55rBe5LJAU+kDyC4WQn4+awm2Xfk2lQMk5fKup9XgzTZtGkjBdP9Q==} @@ -3110,14 +3111,14 @@ packages: engines: {node: '>= 18.0.0'} hasBin: true peerDependencies: - svelte: ^5.35.6 + svelte: ^5.36.1 typescript: '>=5.0.0' svelte-eslint-parser@1.2.0: resolution: {integrity: sha512-mbPtajIeuiyU80BEyGvwAktBeTX7KCr5/0l+uRGLq1dafwRNrjfM5kHGJScEBlPG3ipu6dJqfW/k0/fujvIEVw==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: - svelte: ^5.35.6 + svelte: ^5.36.1 peerDependenciesMeta: svelte: optional: true @@ -3127,7 +3128,7 @@ packages: engines: {node: '>= 16'} hasBin: true peerDependencies: - svelte: ^5.35.6 + svelte: ^5.36.1 svelte-preprocess@6.0.3: resolution: {integrity: sha512-PLG2k05qHdhmRG7zR/dyo5qKvakhm8IJ+hD2eFRQmMLHp7X3eJnjeupUtvuRpbNiF31RjVw45W+abDwHEmP5OA==} @@ -3142,7 +3143,7 @@ packages: sass: ^1.26.8 stylus: '>=0.55' sugarss: ^2.0.0 || ^3.0.0 || ^4.0.0 - svelte: ^5.35.6 + svelte: ^5.36.1 typescript: ^5.0.0 peerDependenciesMeta: '@babel/core': @@ -3169,11 +3170,11 @@ packages: svelte2tsx@0.7.39: resolution: {integrity: sha512-NX8a7eSqF1hr6WKArvXr7TV7DeE+y0kDFD7L5JP7TWqlwFidzGKaG415p992MHREiiEWOv2xIWXJ+mlONofs0A==} peerDependencies: - svelte: ^5.35.6 + svelte: ^5.36.1 typescript: ^4.9.4 || ^5.0.0 - svelte@5.35.6: - resolution: {integrity: sha512-p7PVLQYrvCxJuxzGfOv/l71hVuHC6EZk5UDjbt/bndMYaBcUV5sFjDsj+PSIYvz1vcfbG6inX83/xIUeik1xGA==} + svelte@5.36.1: + resolution: {integrity: sha512-h8GmkFVKHP9zcr0/tFZH7kx/3gRkuslFKy5rKd4H66zM+Q/ywmUzeiebC14LjpHkM4feMsTClQvlWROZgEftRw==} engines: {node: '>=18'} symbol-tree@3.2.4: @@ -3285,8 +3286,8 @@ packages: type@2.7.3: resolution: {integrity: sha512-8j+1QmAbPvLZow5Qpi6NCaN8FB60p/6x8/vfNqOk/hC+HuvFZhL4+WfekuhQLiqFZXOgQdrs3B+XxEmCc6b3FQ==} - typescript-eslint@8.36.0: - resolution: {integrity: sha512-fTCqxthY+h9QbEgSIBfL9iV6CvKDFuoxg6bHPNpJ9HIUzS+jy2lCEyCmGyZRWEBSaykqcDPf1SJ+BfCI8DRopA==} + typescript-eslint@8.37.0: + resolution: {integrity: sha512-TnbEjzkE9EmcO0Q2zM+GE8NQLItNAJpMmED1BdgoBMYNdqMhzlbqfdSwiRlAzEK2pA9UzVW0gzaaIzXWg2BjfA==} engines: {node: ^18.18.0 || ^20.9.0 || >=21.1.0} peerDependencies: eslint: ^8.57.0 || ^9.0.0 @@ -3871,7 +3872,7 @@ snapshots: dependencies: ajv: 6.12.6 debug: 4.4.1 - espree: 10.3.0 + espree: 10.4.0 globals: 14.0.0 ignore: 5.3.2 import-fresh: 3.3.1 @@ -4157,33 +4158,33 @@ snapshots: '@stylistic/eslint-plugin-js@4.4.1(eslint@9.31.0)': dependencies: eslint: 9.31.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 '@sveltejs/acorn-typescript@1.0.5(acorn@8.15.0)': dependencies: acorn: 8.15.0 - '@sveltejs/adapter-node@5.2.13(@sveltejs/kit@2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)))': + '@sveltejs/adapter-node@5.2.13(@sveltejs/kit@2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)))': dependencies: '@rollup/plugin-commonjs': 28.0.3(rollup@4.41.1) '@rollup/plugin-json': 6.1.0(rollup@4.41.1) '@rollup/plugin-node-resolve': 16.0.1(rollup@4.41.1) - '@sveltejs/kit': 2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + '@sveltejs/kit': 2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) rollup: 4.41.1 - '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@4.4.1(eslint@9.31.0))(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint-plugin-n@17.21.0(eslint@9.31.0)(typescript@5.8.3))(eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.35.6))(eslint@9.31.0)(typescript-eslint@8.36.0(eslint@9.31.0)(typescript@5.8.3))(typescript@5.8.3)': + '@sveltejs/eslint-config@8.2.0(@stylistic/eslint-plugin-js@4.4.1(eslint@9.31.0))(eslint-config-prettier@10.1.5(eslint@9.31.0))(eslint-plugin-n@17.21.0(eslint@9.31.0)(typescript@5.8.3))(eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.36.1))(eslint@9.31.0)(typescript-eslint@8.37.0(eslint@9.31.0)(typescript@5.8.3))(typescript@5.8.3)': dependencies: '@stylistic/eslint-plugin-js': 4.4.1(eslint@9.31.0) eslint: 9.31.0 eslint-config-prettier: 10.1.5(eslint@9.31.0) eslint-plugin-n: 17.21.0(eslint@9.31.0)(typescript@5.8.3) - eslint-plugin-svelte: 3.10.1(eslint@9.31.0)(svelte@5.35.6) + eslint-plugin-svelte: 3.10.1(eslint@9.31.0)(svelte@5.36.1) globals: 15.15.0 typescript: 5.8.3 - typescript-eslint: 8.36.0(eslint@9.31.0)(typescript@5.8.3) + typescript-eslint: 8.37.0(eslint@9.31.0)(typescript@5.8.3) - '@sveltejs/kit@2.22.5(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.35.6)(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))': + '@sveltejs/kit@2.23.0(@sveltejs/vite-plugin-svelte@packages+vite-plugin-svelte)(svelte@5.36.1)(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))': dependencies: '@sveltejs/acorn-typescript': 1.0.5(acorn@8.15.0) '@sveltejs/vite-plugin-svelte': link:packages/vite-plugin-svelte @@ -4198,17 +4199,17 @@ snapshots: sade: 1.8.1 set-cookie-parser: 2.7.1 sirv: 3.0.1 - svelte: 5.35.6 - vite: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + svelte: 5.36.1 + vite: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) - '@sveltejs/package@2.3.12(svelte@5.35.6)(typescript@5.8.3)': + '@sveltejs/package@2.3.12(svelte@5.36.1)(typescript@5.8.3)': dependencies: chokidar: 4.0.3 kleur: 4.1.5 sade: 1.8.1 semver: 7.7.2 - svelte: 5.35.6 - svelte2tsx: 0.7.39(svelte@5.35.6)(typescript@5.8.3) + svelte: 5.36.1 + svelte2tsx: 0.7.39(svelte@5.36.1)(typescript@5.8.3) transitivePeerDependencies: - typescript @@ -4262,7 +4263,7 @@ snapshots: dependencies: undici-types: 6.21.0 - '@types/node@22.16.3': + '@types/node@22.16.4': dependencies: undici-types: 6.21.0 @@ -4270,14 +4271,14 @@ snapshots: '@types/unist@2.0.11': {} - '@typescript-eslint/eslint-plugin@8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)': + '@typescript-eslint/eslint-plugin@8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3)': dependencies: '@eslint-community/regexpp': 4.12.1 - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3) - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/type-utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/type-utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.37.0 eslint: 9.31.0 graphemer: 1.4.0 ignore: 7.0.4 @@ -4287,40 +4288,41 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3)': + '@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) + '@typescript-eslint/visitor-keys': 8.37.0 debug: 4.4.1 eslint: 9.31.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/project-service@8.36.0(typescript@5.8.3)': + '@typescript-eslint/project-service@8.37.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) - '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) + '@typescript-eslint/types': 8.37.0 debug: 4.4.1 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/scope-manager@8.36.0': + '@typescript-eslint/scope-manager@8.37.0': dependencies: - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 - '@typescript-eslint/tsconfig-utils@8.36.0(typescript@5.8.3)': + '@typescript-eslint/tsconfig-utils@8.37.0(typescript@5.8.3)': dependencies: typescript: 5.8.3 - '@typescript-eslint/type-utils@8.36.0(eslint@9.31.0)(typescript@5.8.3)': + '@typescript-eslint/type-utils@8.37.0(eslint@9.31.0)(typescript@5.8.3)': dependencies: - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3) debug: 4.4.1 eslint: 9.31.0 ts-api-utils: 2.1.0(typescript@5.8.3) @@ -4328,14 +4330,14 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/types@8.36.0': {} + '@typescript-eslint/types@8.37.0': {} - '@typescript-eslint/typescript-estree@8.36.0(typescript@5.8.3)': + '@typescript-eslint/typescript-estree@8.37.0(typescript@5.8.3)': dependencies: - '@typescript-eslint/project-service': 8.36.0(typescript@5.8.3) - '@typescript-eslint/tsconfig-utils': 8.36.0(typescript@5.8.3) - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/visitor-keys': 8.36.0 + '@typescript-eslint/project-service': 8.37.0(typescript@5.8.3) + '@typescript-eslint/tsconfig-utils': 8.37.0(typescript@5.8.3) + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/visitor-keys': 8.37.0 debug: 4.4.1 fast-glob: 3.3.3 is-glob: 4.0.3 @@ -4346,20 +4348,20 @@ snapshots: transitivePeerDependencies: - supports-color - '@typescript-eslint/utils@8.36.0(eslint@9.31.0)(typescript@5.8.3)': + '@typescript-eslint/utils@8.37.0(eslint@9.31.0)(typescript@5.8.3)': dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0) - '@typescript-eslint/scope-manager': 8.36.0 - '@typescript-eslint/types': 8.36.0 - '@typescript-eslint/typescript-estree': 8.36.0(typescript@5.8.3) + '@typescript-eslint/scope-manager': 8.37.0 + '@typescript-eslint/types': 8.37.0 + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) eslint: 9.31.0 typescript: 5.8.3 transitivePeerDependencies: - supports-color - '@typescript-eslint/visitor-keys@8.36.0': + '@typescript-eslint/visitor-keys@8.37.0': dependencies: - '@typescript-eslint/types': 8.36.0 + '@typescript-eslint/types': 8.37.0 eslint-visitor-keys: 4.2.1 '@vitest/expect@3.2.4': @@ -4378,13 +4380,13 @@ snapshots: optionalDependencies: vite: 7.0.4(@types/node@20.19.7)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) - '@vitest/mocker@3.2.4(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))': + '@vitest/mocker@3.2.4(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0))': dependencies: '@vitest/spy': 3.2.4 estree-walker: 3.0.3 magic-string: 0.30.17 optionalDependencies: - vite: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) '@vitest/pretty-format@3.2.4': dependencies: @@ -4507,7 +4509,7 @@ snapshots: assertion-error: 2.0.1 check-error: 2.1.1 deep-eql: 5.0.2 - loupe: 3.1.3 + loupe: 3.1.4 pathval: 2.0.0 chalk@4.1.2: @@ -4676,7 +4678,7 @@ snapshots: e2e-test-dep-svelte-api-only@file:packages/e2e-tests/_test_dependencies/svelte-api-only: dependencies: - svelte: 5.35.6 + svelte: 5.36.1 e2e-test-dep-svelte-exports-simple@file:packages/e2e-tests/_test_dependencies/svelte-exports-simple: dependencies: @@ -4684,7 +4686,7 @@ snapshots: e2e-test-dep-svelte-hybrid@file:packages/e2e-tests/_test_dependencies/svelte-hybrid: dependencies: - '@types/node': 22.16.3 + '@types/node': 22.16.4 e2e-test-dep-cjs-only: file:packages/e2e-tests/_test_dependencies/cjs-only e2e-test-dep-svelte-module@file:packages/e2e-tests/_test_dependencies/svelte-module: {} @@ -4859,7 +4861,7 @@ snapshots: '@types/eslint': 9.6.1 eslint-config-prettier: 10.1.5(eslint@9.31.0) - eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.35.6): + eslint-plugin-svelte@3.10.1(eslint@9.31.0)(svelte@5.36.1): dependencies: '@eslint-community/eslint-utils': 4.7.0(eslint@9.31.0) '@jridgewell/sourcemap-codec': 1.5.0 @@ -4871,17 +4873,12 @@ snapshots: postcss-load-config: 3.1.4(postcss@8.5.6) postcss-safe-parser: 7.0.1(postcss@8.5.6) semver: 7.7.2 - svelte-eslint-parser: 1.2.0(svelte@5.35.6) + svelte-eslint-parser: 1.2.0(svelte@5.36.1) optionalDependencies: - svelte: 5.35.6 + svelte: 5.36.1 transitivePeerDependencies: - ts-node - eslint-scope@8.3.0: - dependencies: - esrecurse: 4.3.0 - estraverse: 5.3.0 - eslint-scope@8.4.0: dependencies: esrecurse: 4.3.0 @@ -4889,8 +4886,6 @@ snapshots: eslint-visitor-keys@3.4.3: {} - eslint-visitor-keys@4.2.0: {} - eslint-visitor-keys@4.2.1: {} eslint@9.31.0: @@ -4942,12 +4937,6 @@ snapshots: event-emitter: 0.3.5 type: 2.7.3 - espree@10.3.0: - dependencies: - acorn: 8.15.0 - acorn-jsx: 5.3.2(acorn@8.15.0) - eslint-visitor-keys: 4.2.0 - espree@10.4.0: dependencies: acorn: 8.15.0 @@ -5031,10 +5020,6 @@ snapshots: dependencies: reusify: 1.1.0 - fdir@6.4.5(picomatch@4.0.2): - optionalDependencies: - picomatch: 4.0.2 - fdir@6.4.6(picomatch@4.0.2): optionalDependencies: picomatch: 4.0.2 @@ -5397,8 +5382,6 @@ snapshots: strip-ansi: 7.1.0 wrap-ansi: 9.0.0 - loupe@3.1.3: {} - loupe@3.1.4: {} lower-case@2.0.2: @@ -5689,10 +5672,10 @@ snapshots: dependencies: fast-diff: 1.3.0 - prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.35.6): + prettier-plugin-svelte@3.4.0(prettier@3.6.2)(svelte@5.36.1): dependencies: prettier: 3.6.2 - svelte: 5.35.6 + svelte: 5.36.1 prettier@2.8.8: {} @@ -5907,30 +5890,30 @@ snapshots: supports-preserve-symlinks-flag@1.0.0: {} - svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.35.6)(typescript@5.8.3): + svelte-check@4.2.2(picomatch@4.0.2)(svelte@5.36.1)(typescript@5.8.3): dependencies: '@jridgewell/trace-mapping': 0.3.25 chokidar: 4.0.3 - fdir: 6.4.5(picomatch@4.0.2) + fdir: 6.4.6(picomatch@4.0.2) picocolors: 1.1.1 sade: 1.8.1 - svelte: 5.35.6 + svelte: 5.36.1 typescript: 5.8.3 transitivePeerDependencies: - picomatch - svelte-eslint-parser@1.2.0(svelte@5.35.6): + svelte-eslint-parser@1.2.0(svelte@5.36.1): dependencies: - eslint-scope: 8.3.0 - eslint-visitor-keys: 4.2.0 - espree: 10.3.0 + eslint-scope: 8.4.0 + eslint-visitor-keys: 4.2.1 + espree: 10.4.0 postcss: 8.5.6 postcss-scss: 4.0.9(postcss@8.5.6) postcss-selector-parser: 7.1.0 optionalDependencies: - svelte: 5.35.6 + svelte: 5.36.1 - svelte-i18n@4.0.1(svelte@5.35.6): + svelte-i18n@4.0.1(svelte@5.36.1): dependencies: cli-color: 2.0.4 deepmerge: 4.3.1 @@ -5938,12 +5921,12 @@ snapshots: estree-walker: 2.0.2 intl-messageformat: 10.7.16 sade: 1.8.1 - svelte: 5.35.6 + svelte: 5.36.1 tiny-glob: 0.2.9 - svelte-preprocess@6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.35.6)(typescript@5.8.3): + svelte-preprocess@6.0.3(postcss-load-config@6.0.1(postcss@8.5.6)(yaml@2.8.0))(postcss@8.5.6)(sass@1.89.2)(stylus@0.64.0)(svelte@5.36.1)(typescript@5.8.3): dependencies: - svelte: 5.35.6 + svelte: 5.36.1 optionalDependencies: postcss: 8.5.6 postcss-load-config: 6.0.1(postcss@8.5.6)(yaml@2.8.0) @@ -5951,14 +5934,14 @@ snapshots: stylus: 0.64.0 typescript: 5.8.3 - svelte2tsx@0.7.39(svelte@5.35.6)(typescript@5.8.3): + svelte2tsx@0.7.39(svelte@5.36.1)(typescript@5.8.3): dependencies: dedent-js: 1.0.1 pascal-case: 3.1.2 - svelte: 5.35.6 + svelte: 5.36.1 typescript: 5.8.3 - svelte@5.35.6: + svelte@5.36.1: dependencies: '@ampproject/remapping': 2.3.0 '@jridgewell/sourcemap-codec': 1.5.0 @@ -6002,7 +5985,7 @@ snapshots: tinyglobby@0.2.14: dependencies: - fdir: 6.4.5(picomatch@4.0.2) + fdir: 6.4.6(picomatch@4.0.2) picomatch: 4.0.2 tinypool@1.1.1: {} @@ -6068,11 +6051,12 @@ snapshots: type@2.7.3: {} - typescript-eslint@8.36.0(eslint@9.31.0)(typescript@5.8.3): + typescript-eslint@8.37.0(eslint@9.31.0)(typescript@5.8.3): dependencies: - '@typescript-eslint/eslint-plugin': 8.36.0(@typescript-eslint/parser@8.36.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3) - '@typescript-eslint/parser': 8.36.0(eslint@9.31.0)(typescript@5.8.3) - '@typescript-eslint/utils': 8.36.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/eslint-plugin': 8.37.0(@typescript-eslint/parser@8.37.0(eslint@9.31.0)(typescript@5.8.3))(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/parser': 8.37.0(eslint@9.31.0)(typescript@5.8.3) + '@typescript-eslint/typescript-estree': 8.37.0(typescript@5.8.3) + '@typescript-eslint/utils': 8.37.0(eslint@9.31.0)(typescript@5.8.3) eslint: 9.31.0 typescript: 5.8.3 transitivePeerDependencies: @@ -6125,13 +6109,13 @@ snapshots: - tsx - yaml - vite-node@3.2.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): + vite-node@3.2.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): dependencies: cac: 6.7.14 debug: 4.4.1 es-module-lexer: 1.7.0 pathe: 2.0.3 - vite: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) transitivePeerDependencies: - '@types/node' - jiti @@ -6161,7 +6145,7 @@ snapshots: stylus: 0.64.0 yaml: 2.8.0 - vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): + vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): dependencies: esbuild: 0.25.5 fdir: 6.4.6(picomatch@4.0.2) @@ -6170,15 +6154,15 @@ snapshots: rollup: 4.41.1 tinyglobby: 0.2.14 optionalDependencies: - '@types/node': 22.16.3 + '@types/node': 22.16.4 fsevents: 2.3.3 sass: 1.89.2 stylus: 0.64.0 yaml: 2.8.0 - vitefu@1.1.1(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)): + vitefu@1.1.1(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)): optionalDependencies: - vite: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) vitest@3.2.4(@types/debug@4.1.12)(@types/node@20.19.7)(jsdom@26.1.0)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): dependencies: @@ -6223,11 +6207,11 @@ snapshots: - tsx - yaml - vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.3)(jsdom@26.1.0)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): + vitest@3.2.4(@types/debug@4.1.12)(@types/node@22.16.4)(jsdom@26.1.0)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0): dependencies: '@types/chai': 5.2.2 '@vitest/expect': 3.2.4 - '@vitest/mocker': 3.2.4(vite@7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) + '@vitest/mocker': 3.2.4(vite@7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0)) '@vitest/pretty-format': 3.2.4 '@vitest/runner': 3.2.4 '@vitest/snapshot': 3.2.4 @@ -6245,12 +6229,12 @@ snapshots: tinyglobby: 0.2.14 tinypool: 1.1.1 tinyrainbow: 2.0.0 - vite: 7.0.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) - vite-node: 3.2.4(@types/node@22.16.3)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + vite: 7.0.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) + vite-node: 3.2.4(@types/node@22.16.4)(sass@1.89.2)(stylus@0.64.0)(yaml@2.8.0) why-is-node-running: 2.3.0 optionalDependencies: '@types/debug': 4.1.12 - '@types/node': 22.16.3 + '@types/node': 22.16.4 jsdom: 26.1.0 transitivePeerDependencies: - jiti