From 1faba0b1b7d225288f502fdd576f01eeb4cd5267 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 20:57:50 +0100 Subject: [PATCH 01/17] feat: hot module reloading support for Svelte 5 --- .changeset/olive-moons-act.md | 5 + .../3-transform/client/transform-client.js | 28 +- packages/svelte/src/compiler/types/index.d.ts | 7 + .../svelte/src/compiler/utils/builders.js | 14 + .../svelte/src/compiler/validate-options.js | 2 + packages/svelte/src/internal/client/hmr.js | 45 ++ packages/svelte/src/internal/client/index.js | 1 + .../_expected/client/index.svelte.js | 6 +- .../_expected/client/index.svelte.js | 6 +- .../_expected/client/main.svelte.js | 6 +- .../_expected/client/index.svelte.js | 6 +- .../_expected/client/index.svelte.js | 6 +- .../_expected/client/index.svelte.js | 6 +- .../_expected/client/index.svelte.js | 4 +- .../_expected/client/index.svelte.js | 6 +- playgrounds/demo/package.json | 2 +- playgrounds/demo/server.js | 34 +- playgrounds/demo/src/entry-client.ts | 4 +- playgrounds/demo/vite.config.js | 3 +- pnpm-lock.yaml | 491 +++++++++++++++++- 20 files changed, 620 insertions(+), 62 deletions(-) create mode 100644 .changeset/olive-moons-act.md create mode 100644 packages/svelte/src/internal/client/hmr.js diff --git a/.changeset/olive-moons-act.md b/.changeset/olive-moons-act.md new file mode 100644 index 000000000000..dcfe7c3e7c50 --- /dev/null +++ b/.changeset/olive-moons-act.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +feat: hot module reloading support for Svelte 5 diff --git a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js index f77766a8e7fb..2348307b5148 100644 --- a/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js +++ b/packages/svelte/src/compiler/phases/3-transform/client/transform-client.js @@ -415,15 +415,31 @@ export function client_component(source, analysis, options) { const body = [ ...state.hoisted, ...module.body, - b.export_default( - b.function_declaration( - b.id(analysis.name), - [b.id('$$anchor'), b.id('$$props')], - component_block - ) + b.function_declaration( + b.id(analysis.name), + [b.id('$$anchor'), b.id('$$props')], + component_block ) ]; + if (options.hmr) { + body.push( + b.export_default( + b.conditional( + b.import_meta_hot(), + b.call('$.hmr', b.member(b.import_meta_hot(), b.id('data')), b.id(analysis.name)), + b.id(analysis.name) + ) + ), + b.if( + b.import_meta_hot(), + b.stmt(b.call('import.meta.hot.acceptExports', b.literal('default'))) + ) + ); + } else { + body.push(b.export_default(b.id(analysis.name))); + } + if (options.dev) { if (options.filename) { let filename = options.filename; diff --git a/packages/svelte/src/compiler/types/index.d.ts b/packages/svelte/src/compiler/types/index.d.ts index ddd2ef6cd7b7..2d872998983c 100644 --- a/packages/svelte/src/compiler/types/index.d.ts +++ b/packages/svelte/src/compiler/types/index.d.ts @@ -178,6 +178,12 @@ export interface CompileOptions extends ModuleCompileOptions { * @default null */ cssOutputFilename?: string; + /** + * If `true`, compiles components with hot reloading support. + * + * @default false + */ + hmr?: boolean; } export interface ModuleCompileOptions { @@ -225,6 +231,7 @@ export type ValidatedCompileOptions = ValidatedModuleCompileOptions & legacy: Required['legacy']>; runes: CompileOptions['runes']; customElementOptions: SvelteOptions['customElement']; + hmr: CompileOptions['hmr']; }; export type DeclarationKind = diff --git a/packages/svelte/src/compiler/utils/builders.js b/packages/svelte/src/compiler/utils/builders.js index a5776a46deb1..1b7da19d2467 100644 --- a/packages/svelte/src/compiler/utils/builders.js +++ b/packages/svelte/src/compiler/utils/builders.js @@ -600,6 +600,20 @@ export function throw_error(str) { }; } +/** + * @return {import('estree').MemberExpression} + */ +export function import_meta_hot() { + return member( + { + type: 'MetaProperty', + meta: id('import'), + property: id('meta') + }, + id('hot') + ); +} + export { await_builder as await, let_builder as let, diff --git a/packages/svelte/src/compiler/validate-options.js b/packages/svelte/src/compiler/validate-options.js index 1151ad0dc11e..6c12a43e2b6a 100644 --- a/packages/svelte/src/compiler/validate-options.js +++ b/packages/svelte/src/compiler/validate-options.js @@ -95,6 +95,8 @@ export const validate_component_options = runes: boolean(undefined), + hmr: boolean(false), + sourcemap: validator(undefined, (input) => { // Source maps can take on a variety of values, including string, JSON, map objects from magic-string and source-map, // so there's no good way to check type validity here diff --git a/packages/svelte/src/internal/client/hmr.js b/packages/svelte/src/internal/client/hmr.js new file mode 100644 index 000000000000..e4a08fcff950 --- /dev/null +++ b/packages/svelte/src/internal/client/hmr.js @@ -0,0 +1,45 @@ +import { block, branch, pause_effect } from './reactivity/effects'; +import { set, source } from './reactivity/sources'; +import { get } from './runtime'; + +/** + * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data + * @param {(anchor: Comment, props: any) => any} new_component + */ +export function hmr(data, new_component) { + debugger; + let prev_component = data.component; + + if (prev_component === undefined) { + prev_component = data.component = source(new_component); + } else { + set(prev_component, new_component); + return data.wrapper; + } + + const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { + let output; + /** + * @type {import("#client").Effect} + */ + let effect; + + block(() => { + const component = get(data.component); + + if (effect) { + pause_effect(effect); + } + + effect = branch(() => { + output = component(anchor, props); + }); + }); + + return output; + }; + + data.wrapper = wrapper; + + return wrapper; +} diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index 0a2eeaa19aab..99ffe7d419c9 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -143,3 +143,4 @@ export { validate_snippet, validate_void_dynamic_element } from '../shared/validate.js'; +export { hmr } from './hmr.js'; diff --git a/packages/svelte/tests/snapshot/samples/bind-this/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/bind-this/_expected/client/index.svelte.js index b14eaa71a9e7..40149aacefb5 100644 --- a/packages/svelte/tests/snapshot/samples/bind-this/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/bind-this/_expected/client/index.svelte.js @@ -3,7 +3,7 @@ import "svelte/internal/disclose-version"; import * as $ from "svelte/internal/client"; -export default function Bind_this($$anchor, $$props) { +function Bind_this($$anchor, $$props) { $.push($$props, false); $.init(); @@ -13,4 +13,6 @@ export default function Bind_this($$anchor, $$props) { $.bind_this(Foo(node, {}), ($$value) => foo = $$value, () => foo); $.append($$anchor, fragment); $.pop(); -} \ No newline at end of file +} + +export default Bind_this; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/class-state-field-constructor-assignment/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/class-state-field-constructor-assignment/_expected/client/index.svelte.js index d2c1c9c54059..2b0a847d8578 100644 --- a/packages/svelte/tests/snapshot/samples/class-state-field-constructor-assignment/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/class-state-field-constructor-assignment/_expected/client/index.svelte.js @@ -3,7 +3,7 @@ import "svelte/internal/disclose-version"; import * as $ from "svelte/internal/client"; -export default function Class_state_field_constructor_assignment($$anchor, $$props) { +function Class_state_field_constructor_assignment($$anchor, $$props) { $.push($$props, true); class Foo { @@ -26,4 +26,6 @@ export default function Class_state_field_constructor_assignment($$anchor, $$pro } $.pop(); -} \ No newline at end of file +} + +export default Class_state_field_constructor_assignment; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/dynamic-attributes-casing/_expected/client/main.svelte.js b/packages/svelte/tests/snapshot/samples/dynamic-attributes-casing/_expected/client/main.svelte.js index 9d6dff7a3bcd..d3d0ece855d5 100644 --- a/packages/svelte/tests/snapshot/samples/dynamic-attributes-casing/_expected/client/main.svelte.js +++ b/packages/svelte/tests/snapshot/samples/dynamic-attributes-casing/_expected/client/main.svelte.js @@ -5,7 +5,7 @@ import * as $ from "svelte/internal/client"; var root = $.template(`
`, 3); -export default function Main($$anchor, $$props) { +function Main($$anchor, $$props) { $.push($$props, true); // needs to be a snapshot test because jsdom does auto-correct the attribute casing @@ -35,4 +35,6 @@ export default function Main($$anchor, $$props) { $.append($$anchor, fragment); $.pop(); -} \ No newline at end of file +} + +export default Main; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/each-string-template/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/each-string-template/_expected/client/index.svelte.js index 56e320506f30..965a41550eb6 100644 --- a/packages/svelte/tests/snapshot/samples/each-string-template/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/each-string-template/_expected/client/index.svelte.js @@ -3,7 +3,7 @@ import "svelte/internal/disclose-version"; import * as $ from "svelte/internal/client"; -export default function Each_string_template($$anchor, $$props) { +function Each_string_template($$anchor, $$props) { $.push($$props, false); $.init(); @@ -19,4 +19,6 @@ export default function Each_string_template($$anchor, $$props) { $.append($$anchor, fragment); $.pop(); -} \ No newline at end of file +} + +export default Each_string_template; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/function-prop-no-getter/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/function-prop-no-getter/_expected/client/index.svelte.js index f5f31c253dcc..30de978c7c4d 100644 --- a/packages/svelte/tests/snapshot/samples/function-prop-no-getter/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/function-prop-no-getter/_expected/client/index.svelte.js @@ -3,7 +3,7 @@ import "svelte/internal/disclose-version"; import * as $ from "svelte/internal/client"; -export default function Function_prop_no_getter($$anchor, $$props) { +function Function_prop_no_getter($$anchor, $$props) { $.push($$props, true); let count = $.source(0); @@ -30,4 +30,6 @@ export default function Function_prop_no_getter($$anchor, $$props) { $.append($$anchor, fragment); $.pop(); -} \ No newline at end of file +} + +export default Function_prop_no_getter; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/hello-world/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/hello-world/_expected/client/index.svelte.js index 4f0aadff1923..c973f87e213e 100644 --- a/packages/svelte/tests/snapshot/samples/hello-world/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/hello-world/_expected/client/index.svelte.js @@ -5,7 +5,7 @@ import * as $ from "svelte/internal/client"; var root = $.template(`

hello world

`); -export default function Hello_world($$anchor, $$props) { +function Hello_world($$anchor, $$props) { $.push($$props, false); $.init(); @@ -13,4 +13,6 @@ export default function Hello_world($$anchor, $$props) { $.append($$anchor, h1); $.pop(); -} \ No newline at end of file +} + +export default Hello_world; \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/state-proxy-literal/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/state-proxy-literal/_expected/client/index.svelte.js index 9d5954ade253..162ace8501eb 100644 --- a/packages/svelte/tests/snapshot/samples/state-proxy-literal/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/state-proxy-literal/_expected/client/index.svelte.js @@ -12,7 +12,7 @@ function reset(_, str, tpl) { var root = $.template(` `, 1); -export default function State_proxy_literal($$anchor, $$props) { +function State_proxy_literal($$anchor, $$props) { $.push($$props, true); let str = $.source(''); @@ -35,4 +35,6 @@ export default function State_proxy_literal($$anchor, $$props) { $.pop(); } +export default State_proxy_literal; + $.delegate(["click"]); \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/svelte-element/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/svelte-element/_expected/client/index.svelte.js index e9db44cd7a36..0396cbe09267 100644 --- a/packages/svelte/tests/snapshot/samples/svelte-element/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/svelte-element/_expected/client/index.svelte.js @@ -3,7 +3,7 @@ import "svelte/internal/disclose-version"; import * as $ from "svelte/internal/client"; -export default function Svelte_element($$anchor, $$props) { +function Svelte_element($$anchor, $$props) { $.push($$props, true); let tag = $.prop($$props, "tag", 3, 'hr'); @@ -13,4 +13,6 @@ export default function Svelte_element($$anchor, $$props) { $.element(node, tag, false); $.append($$anchor, fragment); $.pop(); -} \ No newline at end of file +} + +export default Svelte_element; \ No newline at end of file diff --git a/playgrounds/demo/package.json b/playgrounds/demo/package.json index f2c819559214..fef92ffaa7f3 100644 --- a/playgrounds/demo/package.json +++ b/playgrounds/demo/package.json @@ -15,6 +15,6 @@ "express": "^4.19.2", "nodemon": "^3.0.3", "svelte": "workspace:*", - "vite": "^5.0.13" + "vite": "^5.2.8" } } diff --git a/playgrounds/demo/server.js b/playgrounds/demo/server.js index ebac03595360..d5058833869f 100644 --- a/playgrounds/demo/server.js +++ b/playgrounds/demo/server.js @@ -2,9 +2,9 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import express from 'express'; -import { createServer as createViteServer, build } from 'vite'; +import { createServer as createViteServer, createViteRuntime } from 'vite'; -const PORT = process.env.PORT || '3000'; +const PORT = process.env.PORT || '5173'; const __dirname = path.dirname(fileURLToPath(import.meta.url)); @@ -26,30 +26,16 @@ async function createServer() { return; } - // Uncomment the line below to enable optimizer. - // process.env.SVELTE_ENV = 'hydrate'; + const template = fs.readFileSync(path.resolve(__dirname, 'index.html'), 'utf-8'); + const transformed_template = await vite.transformIndexHtml(req.originalUrl, template); - await build({ - root: path.resolve(__dirname, './'), - build: { - minify: false, - rollupOptions: { - output: { - manualChunks(id) { - if (id.includes('svelte/src')) { - return 'vendor'; - } - } - } - } - } - }); + const runtime = await createViteRuntime(vite, { hmr: { logger: false } }); + const { html: appHtml, head: headHtml } = + await runtime.executeEntrypoint('./src/entry-server.ts'); - const template = fs.readFileSync(path.resolve(__dirname, 'dist', 'index.html'), 'utf-8'); - - const { html: appHtml, head: headHtml } = await vite.ssrLoadModule('/src/entry-server.ts'); - - const html = template.replace(``, appHtml).replace(``, headHtml); + const html = transformed_template + .replace(``, appHtml) + .replace(``, headHtml); res.status(200).set({ 'Content-Type': 'text/html' }).end(html); }); diff --git a/playgrounds/demo/src/entry-client.ts b/playgrounds/demo/src/entry-client.ts index 1cb573735cfc..f6affe53c43b 100644 --- a/playgrounds/demo/src/entry-client.ts +++ b/playgrounds/demo/src/entry-client.ts @@ -1,8 +1,8 @@ // @ts-ignore -import { mount, unmount } from 'svelte'; +import { hydrate, mount, unmount } from 'svelte'; // @ts-ignore you need to create this file import App from './App.svelte'; -const component = mount(App, { +const component = hydrate(App, { target: document.getElementById('root')! }); // @ts-ignore diff --git a/playgrounds/demo/vite.config.js b/playgrounds/demo/vite.config.js index de42e9cfd4a5..f2d1d46c12c7 100644 --- a/playgrounds/demo/vite.config.js +++ b/playgrounds/demo/vite.config.js @@ -6,5 +6,6 @@ export default defineConfig({ optimizeDeps: { // svelte is a local workspace package, optimizing it would require dev server restarts with --force for every change exclude: ['svelte'] - } + }, + hmr: true }); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 8b8a65d20a6f..74e195dab819 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -146,7 +146,7 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.0.1(svelte@packages+svelte)(vite@5.0.13) + version: 3.0.1(svelte@packages+svelte)(vite@5.2.8) express: specifier: ^4.19.2 version: 4.19.2 @@ -157,8 +157,8 @@ importers: specifier: workspace:* version: link:../../packages/svelte vite: - specifier: ^5.0.13 - version: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) + specifier: ^5.2.8 + version: 5.2.8(@types/node@20.11.5) playgrounds/sandbox: dependencies: @@ -832,6 +832,15 @@ packages: requiresBuild: true optional: true + /@esbuild/aix-ppc64@0.20.2: + resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [aix] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm64@0.19.11: resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} @@ -840,6 +849,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm64@0.20.2: + resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} + engines: {node: '>=12'} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-arm@0.19.11: resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} @@ -848,6 +866,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-arm@0.20.2: + resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} + engines: {node: '>=12'} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/android-x64@0.19.11: resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} @@ -856,6 +883,15 @@ packages: requiresBuild: true optional: true + /@esbuild/android-x64@0.20.2: + resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} + engines: {node: '>=12'} + cpu: [x64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-arm64@0.19.11: resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} @@ -864,6 +900,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-arm64@0.20.2: + resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} + engines: {node: '>=12'} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/darwin-x64@0.19.11: resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} @@ -872,6 +917,15 @@ packages: requiresBuild: true optional: true + /@esbuild/darwin-x64@0.20.2: + resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} + engines: {node: '>=12'} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-arm64@0.19.11: resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} @@ -880,6 +934,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-arm64@0.20.2: + resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} + engines: {node: '>=12'} + cpu: [arm64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/freebsd-x64@0.19.11: resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} @@ -888,6 +951,15 @@ packages: requiresBuild: true optional: true + /@esbuild/freebsd-x64@0.20.2: + resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} + engines: {node: '>=12'} + cpu: [x64] + os: [freebsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm64@0.19.11: resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} @@ -896,6 +968,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm64@0.20.2: + resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} + engines: {node: '>=12'} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-arm@0.19.11: resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} @@ -904,6 +985,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-arm@0.20.2: + resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} + engines: {node: '>=12'} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ia32@0.19.11: resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} @@ -912,6 +1002,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ia32@0.20.2: + resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} + engines: {node: '>=12'} + cpu: [ia32] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-loong64@0.19.11: resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} @@ -920,6 +1019,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-loong64@0.20.2: + resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} + engines: {node: '>=12'} + cpu: [loong64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-mips64el@0.19.11: resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} @@ -928,6 +1036,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-mips64el@0.20.2: + resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} + engines: {node: '>=12'} + cpu: [mips64el] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-ppc64@0.19.11: resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} @@ -936,6 +1053,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-ppc64@0.20.2: + resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} + engines: {node: '>=12'} + cpu: [ppc64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-riscv64@0.19.11: resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} @@ -944,6 +1070,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-riscv64@0.20.2: + resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} + engines: {node: '>=12'} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-s390x@0.19.11: resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} @@ -952,6 +1087,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-s390x@0.20.2: + resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} + engines: {node: '>=12'} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/linux-x64@0.19.11: resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} @@ -960,6 +1104,15 @@ packages: requiresBuild: true optional: true + /@esbuild/linux-x64@0.20.2: + resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} + engines: {node: '>=12'} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@esbuild/netbsd-x64@0.19.11: resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} @@ -968,6 +1121,15 @@ packages: requiresBuild: true optional: true + /@esbuild/netbsd-x64@0.20.2: + resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [netbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/openbsd-x64@0.19.11: resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} @@ -976,6 +1138,15 @@ packages: requiresBuild: true optional: true + /@esbuild/openbsd-x64@0.20.2: + resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [openbsd] + requiresBuild: true + dev: true + optional: true + /@esbuild/sunos-x64@0.19.11: resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} @@ -984,6 +1155,15 @@ packages: requiresBuild: true optional: true + /@esbuild/sunos-x64@0.20.2: + resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} + engines: {node: '>=12'} + cpu: [x64] + os: [sunos] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-arm64@0.19.11: resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} @@ -992,6 +1172,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-arm64@0.20.2: + resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} + engines: {node: '>=12'} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-ia32@0.19.11: resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} @@ -1000,6 +1189,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-ia32@0.20.2: + resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} + engines: {node: '>=12'} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@esbuild/win32-x64@0.19.11: resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} @@ -1008,6 +1206,15 @@ packages: requiresBuild: true optional: true + /@esbuild/win32-x64@0.20.2: + resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} + engines: {node: '>=12'} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2293,6 +2500,14 @@ packages: rollup: 4.9.5 dev: true + /@rollup/rollup-android-arm-eabi@4.14.1: + resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} + cpu: [arm] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm-eabi@4.9.5: resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==} cpu: [arm] @@ -2300,6 +2515,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-android-arm64@4.14.1: + resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} + cpu: [arm64] + os: [android] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-android-arm64@4.9.5: resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==} cpu: [arm64] @@ -2307,6 +2530,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-arm64@4.14.1: + resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} + cpu: [arm64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-arm64@4.9.5: resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==} cpu: [arm64] @@ -2314,6 +2545,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-darwin-x64@4.14.1: + resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} + cpu: [x64] + os: [darwin] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-darwin-x64@4.9.5: resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==} cpu: [x64] @@ -2321,6 +2560,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.14.1: + resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} + cpu: [arm] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm-gnueabihf@4.9.5: resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==} cpu: [arm] @@ -2328,6 +2575,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-gnu@4.14.1: + resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-gnu@4.9.5: resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==} cpu: [arm64] @@ -2335,6 +2590,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-arm64-musl@4.14.1: + resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} + cpu: [arm64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-arm64-musl@4.9.5: resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==} cpu: [arm64] @@ -2342,6 +2605,22 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-powerpc64le-gnu@4.14.1: + resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} + cpu: [ppc64le] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-riscv64-gnu@4.14.1: + resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} + cpu: [riscv64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-riscv64-gnu@4.9.5: resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==} cpu: [riscv64] @@ -2349,6 +2628,22 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-s390x-gnu@4.14.1: + resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} + cpu: [s390x] + os: [linux] + requiresBuild: true + dev: true + optional: true + + /@rollup/rollup-linux-x64-gnu@4.14.1: + resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-gnu@4.9.5: resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==} cpu: [x64] @@ -2356,6 +2651,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-linux-x64-musl@4.14.1: + resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} + cpu: [x64] + os: [linux] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-linux-x64-musl@4.9.5: resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==} cpu: [x64] @@ -2363,6 +2666,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-arm64-msvc@4.14.1: + resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} + cpu: [arm64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-arm64-msvc@4.9.5: resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==} cpu: [arm64] @@ -2370,6 +2681,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-ia32-msvc@4.14.1: + resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} + cpu: [ia32] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-ia32-msvc@4.9.5: resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==} cpu: [ia32] @@ -2377,6 +2696,14 @@ packages: requiresBuild: true optional: true + /@rollup/rollup-win32-x64-msvc@4.14.1: + resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} + cpu: [x64] + os: [win32] + requiresBuild: true + dev: true + optional: true + /@rollup/rollup-win32-x64-msvc@4.9.5: resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==} cpu: [x64] @@ -2678,7 +3005,23 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.13): + /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@packages+svelte)(vite@5.2.8): + resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} + engines: {node: ^18.0.0 || >=20} + peerDependencies: + '@sveltejs/vite-plugin-svelte': ^3.0.0 + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@packages+svelte)(vite@5.2.8) + debug: 4.3.4(supports-color@5.5.0) + svelte: link:packages/svelte + vite: 5.2.8(@types/node@20.11.5) + transitivePeerDependencies: + - supports-color + dev: true + + /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.12): resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} engines: {node: ^18.0.0 || >=20} peerDependencies: @@ -2717,6 +3060,26 @@ packages: - supports-color dev: true + /@sveltejs/vite-plugin-svelte@3.0.1(svelte@packages+svelte)(vite@5.2.8): + resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} + engines: {node: ^18.0.0 || >=20} + peerDependencies: + svelte: ^4.0.0 || ^5.0.0-next.0 + vite: ^5.0.0 + dependencies: + '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@packages+svelte)(vite@5.2.8) + debug: 4.3.4(supports-color@5.5.0) + deepmerge: 4.3.1 + kleur: 4.1.5 + magic-string: 0.30.5 + svelte: link:packages/svelte + svelte-hmr: 0.15.3(svelte@packages+svelte) + vite: 5.2.8(@types/node@20.11.5) + vitefu: 0.2.5(vite@5.2.8) + transitivePeerDependencies: + - supports-color + dev: true + /@svitejs/changesets-changelog-github-compact@1.1.0: resolution: {integrity: sha512-qhUGGDHcpbY2zpjW3SwqchuW8J/5EzlPFud7xNntHKA7f3a/mx5+g+ruJKFHSAiVZYo30PALt+AyhmPUNKH/Og==} engines: {node: ^14.13.1 || ^16.0.0 || >=18} @@ -3810,7 +4173,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.0.2 + source-map-js: 1.2.0 /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -4238,6 +4601,37 @@ packages: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 + /esbuild@0.20.2: + resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} + engines: {node: '>=12'} + hasBin: true + requiresBuild: true + optionalDependencies: + '@esbuild/aix-ppc64': 0.20.2 + '@esbuild/android-arm': 0.20.2 + '@esbuild/android-arm64': 0.20.2 + '@esbuild/android-x64': 0.20.2 + '@esbuild/darwin-arm64': 0.20.2 + '@esbuild/darwin-x64': 0.20.2 + '@esbuild/freebsd-arm64': 0.20.2 + '@esbuild/freebsd-x64': 0.20.2 + '@esbuild/linux-arm': 0.20.2 + '@esbuild/linux-arm64': 0.20.2 + '@esbuild/linux-ia32': 0.20.2 + '@esbuild/linux-loong64': 0.20.2 + '@esbuild/linux-mips64el': 0.20.2 + '@esbuild/linux-ppc64': 0.20.2 + '@esbuild/linux-riscv64': 0.20.2 + '@esbuild/linux-s390x': 0.20.2 + '@esbuild/linux-x64': 0.20.2 + '@esbuild/netbsd-x64': 0.20.2 + '@esbuild/openbsd-x64': 0.20.2 + '@esbuild/sunos-x64': 0.20.2 + '@esbuild/win32-arm64': 0.20.2 + '@esbuild/win32-ia32': 0.20.2 + '@esbuild/win32-x64': 0.20.2 + dev: true + /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -4299,7 +4693,7 @@ packages: postcss: 8.4.38 postcss-load-config: 3.1.4(postcss@8.4.38) postcss-safe-parser: 6.0.0(postcss@8.4.38) - postcss-selector-parser: 6.0.16 + postcss-selector-parser: 6.0.15 semver: 7.6.0 svelte: link:packages/svelte svelte-eslint-parser: 0.33.1(svelte@packages+svelte) @@ -6729,8 +7123,8 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.35: - resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + /postcss@8.4.33: + resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} engines: {node: ^10 || ^12 || >=14} dependencies: nanoid: 3.3.7 @@ -7092,6 +7486,31 @@ packages: glob: 7.2.3 dev: true + /rollup@4.14.1: + resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} + engines: {node: '>=18.0.0', npm: '>=8.0.0'} + hasBin: true + dependencies: + '@types/estree': 1.0.5 + optionalDependencies: + '@rollup/rollup-android-arm-eabi': 4.14.1 + '@rollup/rollup-android-arm64': 4.14.1 + '@rollup/rollup-darwin-arm64': 4.14.1 + '@rollup/rollup-darwin-x64': 4.14.1 + '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 + '@rollup/rollup-linux-arm64-gnu': 4.14.1 + '@rollup/rollup-linux-arm64-musl': 4.14.1 + '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 + '@rollup/rollup-linux-riscv64-gnu': 4.14.1 + '@rollup/rollup-linux-s390x-gnu': 4.14.1 + '@rollup/rollup-linux-x64-gnu': 4.14.1 + '@rollup/rollup-linux-x64-musl': 4.14.1 + '@rollup/rollup-win32-arm64-msvc': 4.14.1 + '@rollup/rollup-win32-ia32-msvc': 4.14.1 + '@rollup/rollup-win32-x64-msvc': 4.14.1 + fsevents: 2.3.3 + dev: true + /rollup@4.9.5: resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -7499,7 +7918,6 @@ packages: /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} - dev: true /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -8456,7 +8874,7 @@ packages: debug: 4.3.4(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) + vite: 5.2.8(@types/node@20.11.5) transitivePeerDependencies: - '@types/node' - less @@ -8505,7 +8923,43 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vitefu@0.2.5(vite@5.0.13): + /vite@5.2.8(@types/node@20.11.5): + resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} + engines: {node: ^18.0.0 || >=20.0.0} + hasBin: true + peerDependencies: + '@types/node': ^18.0.0 || >=20.0.0 + less: '*' + lightningcss: ^1.21.0 + sass: '*' + stylus: '*' + sugarss: '*' + terser: ^5.4.0 + peerDependenciesMeta: + '@types/node': + optional: true + less: + optional: true + lightningcss: + optional: true + sass: + optional: true + stylus: + optional: true + sugarss: + optional: true + terser: + optional: true + dependencies: + '@types/node': 20.11.5 + esbuild: 0.20.2 + postcss: 8.4.38 + rollup: 4.14.1 + optionalDependencies: + fsevents: 2.3.3 + dev: true + + /vitefu@0.2.5(vite@5.0.12): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 @@ -8515,6 +8969,17 @@ packages: dependencies: vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) + /vitefu@0.2.5(vite@5.2.8): + resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} + peerDependencies: + vite: ^3.0.0 || ^4.0.0 || ^5.0.0 + peerDependenciesMeta: + vite: + optional: true + dependencies: + vite: 5.2.8(@types/node@20.11.5) + dev: true + /vitest@1.2.1(@types/node@20.11.5)(jsdom@22.0.0): resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -8560,7 +9025,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) + vite: 5.2.8(@types/node@20.11.5) vite-node: 1.2.1(@types/node@20.11.5) why-is-node-running: 2.2.2 transitivePeerDependencies: From 1033fc8c09a3ad8d3da1f851544236f499ed6c61 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 20:59:23 +0100 Subject: [PATCH 02/17] fix lockfile --- pnpm-lock.yaml | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 74e195dab819..583035ebc634 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.1' +lockfileVersion: '6.0' settings: autoInstallPeers: true @@ -3021,7 +3021,7 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.12): + /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.13): resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} engines: {node: ^18.0.0 || >=20} peerDependencies: @@ -4693,7 +4693,7 @@ packages: postcss: 8.4.38 postcss-load-config: 3.1.4(postcss@8.4.38) postcss-safe-parser: 6.0.0(postcss@8.4.38) - postcss-selector-parser: 6.0.15 + postcss-selector-parser: 6.0.16 semver: 7.6.0 svelte: link:packages/svelte svelte-eslint-parser: 0.33.1(svelte@packages+svelte) @@ -7123,14 +7123,6 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true - /postcss@8.4.33: - resolution: {integrity: sha512-Kkpbhhdjw2qQs2O2DGX+8m5OVqEcbB9HRBvuYM9pgrjEFUg30A9LmXNlTAUj4S9kgtGyrMbTzVjH7E+s5Re2yg==} - engines: {node: ^10 || ^12 || >=14} - dependencies: - nanoid: 3.3.7 - picocolors: 1.0.0 - source-map-js: 1.0.2 - /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -7138,7 +7130,6 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 - dev: true /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -8917,7 +8908,7 @@ packages: '@types/node': 20.11.5 esbuild: 0.19.11 lightningcss: 1.23.0 - postcss: 8.4.35 + postcss: 8.4.38 rollup: 4.9.5 sass: 1.70.0 optionalDependencies: @@ -8959,7 +8950,7 @@ packages: fsevents: 2.3.3 dev: true - /vitefu@0.2.5(vite@5.0.12): + /vitefu@0.2.5(vite@5.0.13): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: vite: ^3.0.0 || ^4.0.0 || ^5.0.0 From 133c802362e0b7b0351573bd306138d25c0fba5c Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 21:00:18 +0100 Subject: [PATCH 03/17] tweaks --- playgrounds/demo/src/entry-client.ts | 4 ++-- playgrounds/demo/vite.config.js | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/playgrounds/demo/src/entry-client.ts b/playgrounds/demo/src/entry-client.ts index f6affe53c43b..1cb573735cfc 100644 --- a/playgrounds/demo/src/entry-client.ts +++ b/playgrounds/demo/src/entry-client.ts @@ -1,8 +1,8 @@ // @ts-ignore -import { hydrate, mount, unmount } from 'svelte'; +import { mount, unmount } from 'svelte'; // @ts-ignore you need to create this file import App from './App.svelte'; -const component = hydrate(App, { +const component = mount(App, { target: document.getElementById('root')! }); // @ts-ignore diff --git a/playgrounds/demo/vite.config.js b/playgrounds/demo/vite.config.js index f2d1d46c12c7..de42e9cfd4a5 100644 --- a/playgrounds/demo/vite.config.js +++ b/playgrounds/demo/vite.config.js @@ -6,6 +6,5 @@ export default defineConfig({ optimizeDeps: { // svelte is a local workspace package, optimizing it would require dev server restarts with --force for every change exclude: ['svelte'] - }, - hmr: true + } }); From fc0bc7e0860b56565f1e0f158dde5a683a27c810 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 21:07:09 +0100 Subject: [PATCH 04/17] types --- packages/svelte/types/index.d.ts | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index fa84d846ccc9..fb90150af75d 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -670,6 +670,12 @@ declare module 'svelte/compiler' { * @default null */ cssOutputFilename?: string; + /** + * If `true`, compiles components with hot reloading support. + * + * @default false + */ + hmr?: boolean; } interface ModuleCompileOptions { @@ -2449,6 +2455,12 @@ declare module 'svelte/types/compiler/interfaces' { * @default null */ cssOutputFilename?: string; + /** + * If `true`, compiles components with hot reloading support. + * + * @default false + */ + hmr?: boolean; } interface ModuleCompileOptions { From e2121259602098bd49d09cd1ba61565b6359e550 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 22:04:14 +0100 Subject: [PATCH 05/17] lint --- packages/svelte/src/internal/client/hmr.js | 1 - pnpm-lock.yaml | 14 ++++++++++++-- 2 files changed, 12 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/internal/client/hmr.js b/packages/svelte/src/internal/client/hmr.js index e4a08fcff950..1d8a6651e50d 100644 --- a/packages/svelte/src/internal/client/hmr.js +++ b/packages/svelte/src/internal/client/hmr.js @@ -7,7 +7,6 @@ import { get } from './runtime'; * @param {(anchor: Comment, props: any) => any} new_component */ export function hmr(data, new_component) { - debugger; let prev_component = data.component; if (prev_component === undefined) { diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 583035ebc634..380913351161 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -4173,7 +4173,7 @@ packages: engines: {node: ^10 || ^12.20.0 || ^14.13.0 || >=15.0.0} dependencies: mdn-data: 2.0.30 - source-map-js: 1.2.0 + source-map-js: 1.0.2 /cssesc@3.0.0: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} @@ -7123,6 +7123,14 @@ packages: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} dev: true + /postcss@8.4.35: + resolution: {integrity: sha512-u5U8qYpBCpN13BsiEB0CbR1Hhh4Gc0zLFuedrHJKMctHCHAGrMdG0PRM/KErzAL3CU6/eckEtmHNB3x6e3c0vA==} + engines: {node: ^10 || ^12 || >=14} + dependencies: + nanoid: 3.3.7 + picocolors: 1.0.0 + source-map-js: 1.0.2 + /postcss@8.4.38: resolution: {integrity: sha512-Wglpdk03BSfXkHoQa3b/oulrotAkwrlLDRSOb9D0bN86FdRyE9lppSp33aHNPgBa0JKCoB+drFLZkQoRRYae5A==} engines: {node: ^10 || ^12 || >=14} @@ -7130,6 +7138,7 @@ packages: nanoid: 3.3.7 picocolors: 1.0.0 source-map-js: 1.2.0 + dev: true /preferred-pm@3.1.2: resolution: {integrity: sha512-nk7dKrcW8hfCZ4H6klWcdRknBOXWzNQByJ0oJyX97BOupsYD+FzLS4hflgEu/uPUEHZCuRfMxzCBsuWd7OzT8Q==} @@ -7909,6 +7918,7 @@ packages: /source-map-js@1.2.0: resolution: {integrity: sha512-itJW8lvSA0TXEphiRoawsCksnlf8SyvmFzIhltqAHluXd88pkCd+cXJVHTDwdCr0IzwptSm035IHQktUu1QUMg==} engines: {node: '>=0.10.0'} + dev: true /source-map-support@0.5.21: resolution: {integrity: sha512-uBHU3L3czsIyYXKX88fdrGovxdSCoTGDRZ6SYXtSRxLZUzHg5P/66Ht6uoUlHu9EZod+inXhKo3qQgwXUT/y1w==} @@ -8908,7 +8918,7 @@ packages: '@types/node': 20.11.5 esbuild: 0.19.11 lightningcss: 1.23.0 - postcss: 8.4.38 + postcss: 8.4.35 rollup: 4.9.5 sass: 1.70.0 optionalDependencies: From f99c99cba41711b5c1abec934f7103a67805cbd1 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Tue, 9 Apr 2024 22:18:42 +0100 Subject: [PATCH 06/17] lint --- playgrounds/demo/package.json | 2 +- pnpm-lock.yaml | 476 +--------------------------------- 2 files changed, 6 insertions(+), 472 deletions(-) diff --git a/playgrounds/demo/package.json b/playgrounds/demo/package.json index fef92ffaa7f3..f2c819559214 100644 --- a/playgrounds/demo/package.json +++ b/playgrounds/demo/package.json @@ -15,6 +15,6 @@ "express": "^4.19.2", "nodemon": "^3.0.3", "svelte": "workspace:*", - "vite": "^5.2.8" + "vite": "^5.0.13" } } diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 380913351161..8b8a65d20a6f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -146,7 +146,7 @@ importers: devDependencies: '@sveltejs/vite-plugin-svelte': specifier: ^3.0.1 - version: 3.0.1(svelte@packages+svelte)(vite@5.2.8) + version: 3.0.1(svelte@packages+svelte)(vite@5.0.13) express: specifier: ^4.19.2 version: 4.19.2 @@ -157,8 +157,8 @@ importers: specifier: workspace:* version: link:../../packages/svelte vite: - specifier: ^5.2.8 - version: 5.2.8(@types/node@20.11.5) + specifier: ^5.0.13 + version: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) playgrounds/sandbox: dependencies: @@ -832,15 +832,6 @@ packages: requiresBuild: true optional: true - /@esbuild/aix-ppc64@0.20.2: - resolution: {integrity: sha512-D+EBOJHXdNZcLJRBkhENNG8Wji2kgc9AZ9KiPr1JuZjsNtyHzrsfLRrY0tk2H2aoFu6RANO1y1iPPUCDYWkb5g==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [aix] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm64@0.19.11: resolution: {integrity: sha512-aiu7K/5JnLj//KOnOfEZ0D90obUkRzDMyqd/wNAUQ34m4YUPVhRZpnqKV9uqDGxT7cToSDnIHsGooyIczu9T+Q==} engines: {node: '>=12'} @@ -849,15 +840,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm64@0.20.2: - resolution: {integrity: sha512-mRzjLacRtl/tWU0SvD8lUEwb61yP9cqQo6noDZP/O8VkwafSYwZ4yWy24kan8jE/IMERpYncRt2dw438LP3Xmg==} - engines: {node: '>=12'} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-arm@0.19.11: resolution: {integrity: sha512-5OVapq0ClabvKvQ58Bws8+wkLCV+Rxg7tUVbo9xu034Nm536QTII4YzhaFriQ7rMrorfnFKUsArD2lqKbFY4vw==} engines: {node: '>=12'} @@ -866,15 +848,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-arm@0.20.2: - resolution: {integrity: sha512-t98Ra6pw2VaDhqNWO2Oph2LXbz/EJcnLmKLGBJwEwXX/JAN83Fym1rU8l0JUWK6HkIbWONCSSatf4sf2NBRx/w==} - engines: {node: '>=12'} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/android-x64@0.19.11: resolution: {integrity: sha512-eccxjlfGw43WYoY9QgB82SgGgDbibcqyDTlk3l3C0jOVHKxrjdc9CTwDUQd0vkvYg5um0OH+GpxYvp39r+IPOg==} engines: {node: '>=12'} @@ -883,15 +856,6 @@ packages: requiresBuild: true optional: true - /@esbuild/android-x64@0.20.2: - resolution: {integrity: sha512-btzExgV+/lMGDDa194CcUQm53ncxzeBrWJcncOBxuC6ndBkKxnHdFJn86mCIgTELsooUmwUm9FkhSp5HYu00Rg==} - engines: {node: '>=12'} - cpu: [x64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-arm64@0.19.11: resolution: {integrity: sha512-ETp87DRWuSt9KdDVkqSoKoLFHYTrkyz2+65fj9nfXsaV3bMhTCjtQfw3y+um88vGRKRiF7erPrh/ZuIdLUIVxQ==} engines: {node: '>=12'} @@ -900,15 +864,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-arm64@0.20.2: - resolution: {integrity: sha512-4J6IRT+10J3aJH3l1yzEg9y3wkTDgDk7TSDFX+wKFiWjqWp/iCfLIYzGyasx9l0SAFPT1HwSCR+0w/h1ES/MjA==} - engines: {node: '>=12'} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/darwin-x64@0.19.11: resolution: {integrity: sha512-fkFUiS6IUK9WYUO/+22omwetaSNl5/A8giXvQlcinLIjVkxwTLSktbF5f/kJMftM2MJp9+fXqZ5ezS7+SALp4g==} engines: {node: '>=12'} @@ -917,15 +872,6 @@ packages: requiresBuild: true optional: true - /@esbuild/darwin-x64@0.20.2: - resolution: {integrity: sha512-tBcXp9KNphnNH0dfhv8KYkZhjc+H3XBkF5DKtswJblV7KlT9EI2+jeA8DgBjp908WEuYll6pF+UStUCfEpdysA==} - engines: {node: '>=12'} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-arm64@0.19.11: resolution: {integrity: sha512-lhoSp5K6bxKRNdXUtHoNc5HhbXVCS8V0iZmDvyWvYq9S5WSfTIHU2UGjcGt7UeS6iEYp9eeymIl5mJBn0yiuxA==} engines: {node: '>=12'} @@ -934,15 +880,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-arm64@0.20.2: - resolution: {integrity: sha512-d3qI41G4SuLiCGCFGUrKsSeTXyWG6yem1KcGZVS+3FYlYhtNoNgYrWcvkOoaqMhwXSMrZRl69ArHsGJ9mYdbbw==} - engines: {node: '>=12'} - cpu: [arm64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/freebsd-x64@0.19.11: resolution: {integrity: sha512-JkUqn44AffGXitVI6/AbQdoYAq0TEullFdqcMY/PCUZ36xJ9ZJRtQabzMA+Vi7r78+25ZIBosLTOKnUXBSi1Kw==} engines: {node: '>=12'} @@ -951,15 +888,6 @@ packages: requiresBuild: true optional: true - /@esbuild/freebsd-x64@0.20.2: - resolution: {integrity: sha512-d+DipyvHRuqEeM5zDivKV1KuXn9WeRX6vqSqIDgwIfPQtwMP4jaDsQsDncjTDDsExT4lR/91OLjRo8bmC1e+Cw==} - engines: {node: '>=12'} - cpu: [x64] - os: [freebsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm64@0.19.11: resolution: {integrity: sha512-LneLg3ypEeveBSMuoa0kwMpCGmpu8XQUh+mL8XXwoYZ6Be2qBnVtcDI5azSvh7vioMDhoJFZzp9GWp9IWpYoUg==} engines: {node: '>=12'} @@ -968,15 +896,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm64@0.20.2: - resolution: {integrity: sha512-9pb6rBjGvTFNira2FLIWqDk/uaf42sSyLE8j1rnUpuzsODBq7FvpwHYZxQ/It/8b+QOS1RYfqgGFNLRI+qlq2A==} - engines: {node: '>=12'} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-arm@0.19.11: resolution: {integrity: sha512-3CRkr9+vCV2XJbjwgzjPtO8T0SZUmRZla+UL1jw+XqHZPkPgZiyWvbDvl9rqAN8Zl7qJF0O/9ycMtjU67HN9/Q==} engines: {node: '>=12'} @@ -985,15 +904,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-arm@0.20.2: - resolution: {integrity: sha512-VhLPeR8HTMPccbuWWcEUD1Az68TqaTYyj6nfE4QByZIQEQVWBB8vup8PpR7y1QHL3CpcF6xd5WVBU/+SBEvGTg==} - engines: {node: '>=12'} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ia32@0.19.11: resolution: {integrity: sha512-caHy++CsD8Bgq2V5CodbJjFPEiDPq8JJmBdeyZ8GWVQMjRD0sU548nNdwPNvKjVpamYYVL40AORekgfIubwHoA==} engines: {node: '>=12'} @@ -1002,15 +912,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ia32@0.20.2: - resolution: {integrity: sha512-o10utieEkNPFDZFQm9CoP7Tvb33UutoJqg3qKf1PWVeeJhJw0Q347PxMvBgVVFgouYLGIhFYG0UGdBumROyiig==} - engines: {node: '>=12'} - cpu: [ia32] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-loong64@0.19.11: resolution: {integrity: sha512-ppZSSLVpPrwHccvC6nQVZaSHlFsvCQyjnvirnVjbKSHuE5N24Yl8F3UwYUUR1UEPaFObGD2tSvVKbvR+uT1Nrg==} engines: {node: '>=12'} @@ -1019,15 +920,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-loong64@0.20.2: - resolution: {integrity: sha512-PR7sp6R/UC4CFVomVINKJ80pMFlfDfMQMYynX7t1tNTeivQ6XdX5r2XovMmha/VjR1YN/HgHWsVcTRIMkymrgQ==} - engines: {node: '>=12'} - cpu: [loong64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-mips64el@0.19.11: resolution: {integrity: sha512-B5x9j0OgjG+v1dF2DkH34lr+7Gmv0kzX6/V0afF41FkPMMqaQ77pH7CrhWeR22aEeHKaeZVtZ6yFwlxOKPVFyg==} engines: {node: '>=12'} @@ -1036,15 +928,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-mips64el@0.20.2: - resolution: {integrity: sha512-4BlTqeutE/KnOiTG5Y6Sb/Hw6hsBOZapOVF6njAESHInhlQAghVVZL1ZpIctBOoTFbQyGW+LsVYZ8lSSB3wkjA==} - engines: {node: '>=12'} - cpu: [mips64el] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-ppc64@0.19.11: resolution: {integrity: sha512-MHrZYLeCG8vXblMetWyttkdVRjQlQUb/oMgBNurVEnhj4YWOr4G5lmBfZjHYQHHN0g6yDmCAQRR8MUHldvvRDA==} engines: {node: '>=12'} @@ -1053,15 +936,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-ppc64@0.20.2: - resolution: {integrity: sha512-rD3KsaDprDcfajSKdn25ooz5J5/fWBylaaXkuotBDGnMnDP1Uv5DLAN/45qfnf3JDYyJv/ytGHQaziHUdyzaAg==} - engines: {node: '>=12'} - cpu: [ppc64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-riscv64@0.19.11: resolution: {integrity: sha512-f3DY++t94uVg141dozDu4CCUkYW+09rWtaWfnb3bqe4w5NqmZd6nPVBm+qbz7WaHZCoqXqHz5p6CM6qv3qnSSQ==} engines: {node: '>=12'} @@ -1070,15 +944,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-riscv64@0.20.2: - resolution: {integrity: sha512-snwmBKacKmwTMmhLlz/3aH1Q9T8v45bKYGE3j26TsaOVtjIag4wLfWSiZykXzXuE1kbCE+zJRmwp+ZbIHinnVg==} - engines: {node: '>=12'} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-s390x@0.19.11: resolution: {integrity: sha512-A5xdUoyWJHMMlcSMcPGVLzYzpcY8QP1RtYzX5/bS4dvjBGVxdhuiYyFwp7z74ocV7WDc0n1harxmpq2ePOjI0Q==} engines: {node: '>=12'} @@ -1087,15 +952,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-s390x@0.20.2: - resolution: {integrity: sha512-wcWISOobRWNm3cezm5HOZcYz1sKoHLd8VL1dl309DiixxVFoFe/o8HnwuIwn6sXre88Nwj+VwZUvJf4AFxkyrQ==} - engines: {node: '>=12'} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/linux-x64@0.19.11: resolution: {integrity: sha512-grbyMlVCvJSfxFQUndw5mCtWs5LO1gUlwP4CDi4iJBbVpZcqLVT29FxgGuBJGSzyOxotFG4LoO5X+M1350zmPA==} engines: {node: '>=12'} @@ -1104,15 +960,6 @@ packages: requiresBuild: true optional: true - /@esbuild/linux-x64@0.20.2: - resolution: {integrity: sha512-1MdwI6OOTsfQfek8sLwgyjOXAu+wKhLEoaOLTjbijk6E2WONYpH9ZU2mNtR+lZ2B4uwr+usqGuVfFT9tMtGvGw==} - engines: {node: '>=12'} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@esbuild/netbsd-x64@0.19.11: resolution: {integrity: sha512-13jvrQZJc3P230OhU8xgwUnDeuC/9egsjTkXN49b3GcS5BKvJqZn86aGM8W9pd14Kd+u7HuFBMVtrNGhh6fHEQ==} engines: {node: '>=12'} @@ -1121,15 +968,6 @@ packages: requiresBuild: true optional: true - /@esbuild/netbsd-x64@0.20.2: - resolution: {integrity: sha512-K8/DhBxcVQkzYc43yJXDSyjlFeHQJBiowJ0uVL6Tor3jGQfSGHNNJcWxNbOI8v5k82prYqzPuwkzHt3J1T1iZQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [netbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/openbsd-x64@0.19.11: resolution: {integrity: sha512-ysyOGZuTp6SNKPE11INDUeFVVQFrhcNDVUgSQVDzqsqX38DjhPEPATpid04LCoUr2WXhQTEZ8ct/EgJCUDpyNw==} engines: {node: '>=12'} @@ -1138,15 +976,6 @@ packages: requiresBuild: true optional: true - /@esbuild/openbsd-x64@0.20.2: - resolution: {integrity: sha512-eMpKlV0SThJmmJgiVyN9jTPJ2VBPquf6Kt/nAoo6DgHAoN57K15ZghiHaMvqjCye/uU4X5u3YSMgVBI1h3vKrQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [openbsd] - requiresBuild: true - dev: true - optional: true - /@esbuild/sunos-x64@0.19.11: resolution: {integrity: sha512-Hf+Sad9nVwvtxy4DXCZQqLpgmRTQqyFyhT3bZ4F2XlJCjxGmRFF0Shwn9rzhOYRB61w9VMXUkxlBy56dk9JJiQ==} engines: {node: '>=12'} @@ -1155,15 +984,6 @@ packages: requiresBuild: true optional: true - /@esbuild/sunos-x64@0.20.2: - resolution: {integrity: sha512-2UyFtRC6cXLyejf/YEld4Hajo7UHILetzE1vsRcGL3earZEW77JxrFjH4Ez2qaTiEfMgAXxfAZCm1fvM/G/o8w==} - engines: {node: '>=12'} - cpu: [x64] - os: [sunos] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-arm64@0.19.11: resolution: {integrity: sha512-0P58Sbi0LctOMOQbpEOvOL44Ne0sqbS0XWHMvvrg6NE5jQ1xguCSSw9jQeUk2lfrXYsKDdOe6K+oZiwKPilYPQ==} engines: {node: '>=12'} @@ -1172,15 +992,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-arm64@0.20.2: - resolution: {integrity: sha512-GRibxoawM9ZCnDxnP3usoUDO9vUkpAxIIZ6GQI+IlVmr5kP3zUq+l17xELTHMWTWzjxa2guPNyrpq1GWmPvcGQ==} - engines: {node: '>=12'} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-ia32@0.19.11: resolution: {integrity: sha512-6YOrWS+sDJDmshdBIQU+Uoyh7pQKrdykdefC1avn76ss5c+RN6gut3LZA4E2cH5xUEp5/cA0+YxRaVtRAb0xBg==} engines: {node: '>=12'} @@ -1189,15 +1000,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-ia32@0.20.2: - resolution: {integrity: sha512-HfLOfn9YWmkSKRQqovpnITazdtquEW8/SoHW7pWpuEeguaZI4QnCRW6b+oZTztdBnZOS2hqJ6im/D5cPzBTTlQ==} - engines: {node: '>=12'} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@esbuild/win32-x64@0.19.11: resolution: {integrity: sha512-vfkhltrjCAb603XaFhqhAF4LGDi2M4OrCRrFusyQ+iTLQ/o60QQXxc9cZC/FFpihBI9N1Grn6SMKVJ4KP7Fuiw==} engines: {node: '>=12'} @@ -1206,15 +1008,6 @@ packages: requiresBuild: true optional: true - /@esbuild/win32-x64@0.20.2: - resolution: {integrity: sha512-N49X4lJX27+l9jbLKSqZ6bKNjzQvHaT8IIFUy+YIqmXQdjYCToGWwOItDrfby14c78aDd5NHQl29xingXfCdLQ==} - engines: {node: '>=12'} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@eslint-community/eslint-utils@4.4.0(eslint@8.56.0): resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} @@ -2500,14 +2293,6 @@ packages: rollup: 4.9.5 dev: true - /@rollup/rollup-android-arm-eabi@4.14.1: - resolution: {integrity: sha512-fH8/o8nSUek8ceQnT7K4EQbSiV7jgkHq81m9lWZFIXjJ7lJzpWXbQFpT/Zh6OZYnpFykvzC3fbEvEAFZu03dPA==} - cpu: [arm] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm-eabi@4.9.5: resolution: {integrity: sha512-idWaG8xeSRCfRq9KpRysDHJ/rEHBEXcHuJ82XY0yYFIWnLMjZv9vF/7DOq8djQ2n3Lk6+3qfSH8AqlmHlmi1MA==} cpu: [arm] @@ -2515,14 +2300,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-android-arm64@4.14.1: - resolution: {integrity: sha512-Y/9OHLjzkunF+KGEoJr3heiD5X9OLa8sbT1lm0NYeKyaM3oMhhQFvPB0bNZYJwlq93j8Z6wSxh9+cyKQaxS7PQ==} - cpu: [arm64] - os: [android] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-android-arm64@4.9.5: resolution: {integrity: sha512-f14d7uhAMtsCGjAYwZGv6TwuS3IFaM4ZnGMUn3aCBgkcHAYErhV1Ad97WzBvS2o0aaDv4mVz+syiN0ElMyfBPg==} cpu: [arm64] @@ -2530,14 +2307,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-arm64@4.14.1: - resolution: {integrity: sha512-+kecg3FY84WadgcuSVm6llrABOdQAEbNdnpi5X3UwWiFVhZIZvKgGrF7kmLguvxHNQy+UuRV66cLVl3S+Rkt+Q==} - cpu: [arm64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-arm64@4.9.5: resolution: {integrity: sha512-ndoXeLx455FffL68OIUrVr89Xu1WLzAG4n65R8roDlCoYiQcGGg6MALvs2Ap9zs7AHg8mpHtMpwC8jBBjZrT/w==} cpu: [arm64] @@ -2545,14 +2314,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-darwin-x64@4.14.1: - resolution: {integrity: sha512-2pYRzEjVqq2TB/UNv47BV/8vQiXkFGVmPFwJb+1E0IFFZbIX8/jo1olxqqMbo6xCXf8kabANhp5bzCij2tFLUA==} - cpu: [x64] - os: [darwin] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-darwin-x64@4.9.5: resolution: {integrity: sha512-UmElV1OY2m/1KEEqTlIjieKfVwRg0Zwg4PLgNf0s3glAHXBN99KLpw5A5lrSYCa1Kp63czTpVll2MAqbZYIHoA==} cpu: [x64] @@ -2560,14 +2321,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.14.1: - resolution: {integrity: sha512-mS6wQ6Do6/wmrF9aTFVpIJ3/IDXhg1EZcQFYHZLHqw6AzMBjTHWnCG35HxSqUNphh0EHqSM6wRTT8HsL1C0x5g==} - cpu: [arm] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm-gnueabihf@4.9.5: resolution: {integrity: sha512-Q0LcU61v92tQB6ae+udZvOyZ0wfpGojtAKrrpAaIqmJ7+psq4cMIhT/9lfV6UQIpeItnq/2QDROhNLo00lOD1g==} cpu: [arm] @@ -2575,14 +2328,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-gnu@4.14.1: - resolution: {integrity: sha512-p9rGKYkHdFMzhckOTFubfxgyIO1vw//7IIjBBRVzyZebWlzRLeNhqxuSaZ7kCEKVkm/kuC9fVRW9HkC/zNRG2w==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-gnu@4.9.5: resolution: {integrity: sha512-dkRscpM+RrR2Ee3eOQmRWFjmV/payHEOrjyq1VZegRUa5OrZJ2MAxBNs05bZuY0YCtpqETDy1Ix4i/hRqX98cA==} cpu: [arm64] @@ -2590,14 +2335,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-arm64-musl@4.14.1: - resolution: {integrity: sha512-nDY6Yz5xS/Y4M2i9JLQd3Rofh5OR8Bn8qe3Mv/qCVpHFlwtZSBYSPaU4mrGazWkXrdQ98GB//H0BirGR/SKFSw==} - cpu: [arm64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-arm64-musl@4.9.5: resolution: {integrity: sha512-QaKFVOzzST2xzY4MAmiDmURagWLFh+zZtttuEnuNn19AiZ0T3fhPyjPPGwLNdiDT82ZE91hnfJsUiDwF9DClIQ==} cpu: [arm64] @@ -2605,22 +2342,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-powerpc64le-gnu@4.14.1: - resolution: {integrity: sha512-im7HE4VBL+aDswvcmfx88Mp1soqL9OBsdDBU8NqDEYtkri0qV0THhQsvZtZeNNlLeCUQ16PZyv7cqutjDF35qw==} - cpu: [ppc64le] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-riscv64-gnu@4.14.1: - resolution: {integrity: sha512-RWdiHuAxWmzPJgaHJdpvUUlDz8sdQz4P2uv367T2JocdDa98iRw2UjIJ4QxSyt077mXZT2X6pKfT2iYtVEvOFw==} - cpu: [riscv64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-riscv64-gnu@4.9.5: resolution: {integrity: sha512-HeGqmRJuyVg6/X6MpE2ur7GbymBPS8Np0S/vQFHDmocfORT+Zt76qu+69NUoxXzGqVP1pzaY6QIi0FJWLC3OPA==} cpu: [riscv64] @@ -2628,22 +2349,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-s390x-gnu@4.14.1: - resolution: {integrity: sha512-VMgaGQ5zRX6ZqV/fas65/sUGc9cPmsntq2FiGmayW9KMNfWVG/j0BAqImvU4KTeOOgYSf1F+k6at1UfNONuNjA==} - cpu: [s390x] - os: [linux] - requiresBuild: true - dev: true - optional: true - - /@rollup/rollup-linux-x64-gnu@4.14.1: - resolution: {integrity: sha512-9Q7DGjZN+hTdJomaQ3Iub4m6VPu1r94bmK2z3UeWP3dGUecRC54tmVu9vKHTm1bOt3ASoYtEz6JSRLFzrysKlA==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-gnu@4.9.5: resolution: {integrity: sha512-Dq1bqBdLaZ1Gb/l2e5/+o3B18+8TI9ANlA1SkejZqDgdU/jK/ThYaMPMJpVMMXy2uRHvGKbkz9vheVGdq3cJfA==} cpu: [x64] @@ -2651,14 +2356,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-linux-x64-musl@4.14.1: - resolution: {integrity: sha512-JNEG/Ti55413SsreTguSx0LOVKX902OfXIKVg+TCXO6Gjans/k9O6ww9q3oLGjNDaTLxM+IHFMeXy/0RXL5R/g==} - cpu: [x64] - os: [linux] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-linux-x64-musl@4.9.5: resolution: {integrity: sha512-ezyFUOwldYpj7AbkwyW9AJ203peub81CaAIVvckdkyH8EvhEIoKzaMFJj0G4qYJ5sw3BpqhFrsCc30t54HV8vg==} cpu: [x64] @@ -2666,14 +2363,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-arm64-msvc@4.14.1: - resolution: {integrity: sha512-ryS22I9y0mumlLNwDFYZRDFLwWh3aKaC72CWjFcFvxK0U6v/mOkM5Up1bTbCRAhv3kEIwW2ajROegCIQViUCeA==} - cpu: [arm64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-arm64-msvc@4.9.5: resolution: {integrity: sha512-aHSsMnUw+0UETB0Hlv7B/ZHOGY5bQdwMKJSzGfDfvyhnpmVxLMGnQPGNE9wgqkLUs3+gbG1Qx02S2LLfJ5GaRQ==} cpu: [arm64] @@ -2681,14 +2370,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-ia32-msvc@4.14.1: - resolution: {integrity: sha512-TdloItiGk+T0mTxKx7Hp279xy30LspMso+GzQvV2maYePMAWdmrzqSNZhUpPj3CGw12aGj57I026PgLCTu8CGg==} - cpu: [ia32] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-ia32-msvc@4.9.5: resolution: {integrity: sha512-AiqiLkb9KSf7Lj/o1U3SEP9Zn+5NuVKgFdRIZkvd4N0+bYrTOovVd0+LmYCPQGbocT4kvFyK+LXCDiXPBF3fyA==} cpu: [ia32] @@ -2696,14 +2377,6 @@ packages: requiresBuild: true optional: true - /@rollup/rollup-win32-x64-msvc@4.14.1: - resolution: {integrity: sha512-wQGI+LY/Py20zdUPq+XCem7JcPOyzIJBm3dli+56DJsQOHbnXZFEwgmnC6el1TPAfC8lBT3m+z69RmLykNUbew==} - cpu: [x64] - os: [win32] - requiresBuild: true - dev: true - optional: true - /@rollup/rollup-win32-x64-msvc@4.9.5: resolution: {integrity: sha512-1q+mykKE3Vot1kaFJIDoUFv5TuW+QQVaf2FmTT9krg86pQrGStOSJJ0Zil7CFagyxDuouTepzt5Y5TVzyajOdQ==} cpu: [x64] @@ -3005,22 +2678,6 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte-inspector@2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@packages+svelte)(vite@5.2.8): - resolution: {integrity: sha512-gjr9ZFg1BSlIpfZ4PRewigrvYmHWbDrq2uvvPB1AmTWKuM+dI1JXQSUu2pIrYLb/QncyiIGkFDFKTwJ0XqQZZg==} - engines: {node: ^18.0.0 || >=20} - peerDependencies: - '@sveltejs/vite-plugin-svelte': ^3.0.0 - svelte: ^4.0.0 || ^5.0.0-next.0 - vite: ^5.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte': 3.0.1(svelte@packages+svelte)(vite@5.2.8) - debug: 4.3.4(supports-color@5.5.0) - svelte: link:packages/svelte - vite: 5.2.8(@types/node@20.11.5) - transitivePeerDependencies: - - supports-color - dev: true - /@sveltejs/vite-plugin-svelte@3.0.1(svelte@4.2.9)(vite@5.0.13): resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} engines: {node: ^18.0.0 || >=20} @@ -3060,26 +2717,6 @@ packages: - supports-color dev: true - /@sveltejs/vite-plugin-svelte@3.0.1(svelte@packages+svelte)(vite@5.2.8): - resolution: {integrity: sha512-CGURX6Ps+TkOovK6xV+Y2rn8JKa8ZPUHPZ/NKgCxAmgBrXReavzFl8aOSCj3kQ1xqT7yGJj53hjcV/gqwDAaWA==} - engines: {node: ^18.0.0 || >=20} - peerDependencies: - svelte: ^4.0.0 || ^5.0.0-next.0 - vite: ^5.0.0 - dependencies: - '@sveltejs/vite-plugin-svelte-inspector': 2.0.0(@sveltejs/vite-plugin-svelte@3.0.1)(svelte@packages+svelte)(vite@5.2.8) - debug: 4.3.4(supports-color@5.5.0) - deepmerge: 4.3.1 - kleur: 4.1.5 - magic-string: 0.30.5 - svelte: link:packages/svelte - svelte-hmr: 0.15.3(svelte@packages+svelte) - vite: 5.2.8(@types/node@20.11.5) - vitefu: 0.2.5(vite@5.2.8) - transitivePeerDependencies: - - supports-color - dev: true - /@svitejs/changesets-changelog-github-compact@1.1.0: resolution: {integrity: sha512-qhUGGDHcpbY2zpjW3SwqchuW8J/5EzlPFud7xNntHKA7f3a/mx5+g+ruJKFHSAiVZYo30PALt+AyhmPUNKH/Og==} engines: {node: ^14.13.1 || ^16.0.0 || >=18} @@ -4601,37 +4238,6 @@ packages: '@esbuild/win32-ia32': 0.19.11 '@esbuild/win32-x64': 0.19.11 - /esbuild@0.20.2: - resolution: {integrity: sha512-WdOOppmUNU+IbZ0PaDiTst80zjnrOkyJNHoKupIcVyU8Lvla3Ugx94VzkQ32Ijqd7UhHJy75gNWDMUekcrSJ6g==} - engines: {node: '>=12'} - hasBin: true - requiresBuild: true - optionalDependencies: - '@esbuild/aix-ppc64': 0.20.2 - '@esbuild/android-arm': 0.20.2 - '@esbuild/android-arm64': 0.20.2 - '@esbuild/android-x64': 0.20.2 - '@esbuild/darwin-arm64': 0.20.2 - '@esbuild/darwin-x64': 0.20.2 - '@esbuild/freebsd-arm64': 0.20.2 - '@esbuild/freebsd-x64': 0.20.2 - '@esbuild/linux-arm': 0.20.2 - '@esbuild/linux-arm64': 0.20.2 - '@esbuild/linux-ia32': 0.20.2 - '@esbuild/linux-loong64': 0.20.2 - '@esbuild/linux-mips64el': 0.20.2 - '@esbuild/linux-ppc64': 0.20.2 - '@esbuild/linux-riscv64': 0.20.2 - '@esbuild/linux-s390x': 0.20.2 - '@esbuild/linux-x64': 0.20.2 - '@esbuild/netbsd-x64': 0.20.2 - '@esbuild/openbsd-x64': 0.20.2 - '@esbuild/sunos-x64': 0.20.2 - '@esbuild/win32-arm64': 0.20.2 - '@esbuild/win32-ia32': 0.20.2 - '@esbuild/win32-x64': 0.20.2 - dev: true - /escalade@3.1.1: resolution: {integrity: sha512-k0er2gUkLf8O0zKJiAhmkTnJlTvINGv7ygDNPbeIsX/TJjGJZHuh9B2UxbsaEkmlEo9MfhrSzmhIlhRlI2GXnw==} engines: {node: '>=6'} @@ -7486,31 +7092,6 @@ packages: glob: 7.2.3 dev: true - /rollup@4.14.1: - resolution: {integrity: sha512-4LnHSdd3QK2pa1J6dFbfm1HN0D7vSK/ZuZTsdyUAlA6Rr1yTouUTL13HaDOGJVgby461AhrNGBS7sCGXXtT+SA==} - engines: {node: '>=18.0.0', npm: '>=8.0.0'} - hasBin: true - dependencies: - '@types/estree': 1.0.5 - optionalDependencies: - '@rollup/rollup-android-arm-eabi': 4.14.1 - '@rollup/rollup-android-arm64': 4.14.1 - '@rollup/rollup-darwin-arm64': 4.14.1 - '@rollup/rollup-darwin-x64': 4.14.1 - '@rollup/rollup-linux-arm-gnueabihf': 4.14.1 - '@rollup/rollup-linux-arm64-gnu': 4.14.1 - '@rollup/rollup-linux-arm64-musl': 4.14.1 - '@rollup/rollup-linux-powerpc64le-gnu': 4.14.1 - '@rollup/rollup-linux-riscv64-gnu': 4.14.1 - '@rollup/rollup-linux-s390x-gnu': 4.14.1 - '@rollup/rollup-linux-x64-gnu': 4.14.1 - '@rollup/rollup-linux-x64-musl': 4.14.1 - '@rollup/rollup-win32-arm64-msvc': 4.14.1 - '@rollup/rollup-win32-ia32-msvc': 4.14.1 - '@rollup/rollup-win32-x64-msvc': 4.14.1 - fsevents: 2.3.3 - dev: true - /rollup@4.9.5: resolution: {integrity: sha512-E4vQW0H/mbNMw2yLSqJyjtkHY9dslf/p0zuT1xehNRqUTBOFMqEjguDvqhXr7N7r/4ttb2jr4T41d3dncmIgbQ==} engines: {node: '>=18.0.0', npm: '>=8.0.0'} @@ -8875,7 +8456,7 @@ packages: debug: 4.3.4(supports-color@5.5.0) pathe: 1.1.2 picocolors: 1.0.0 - vite: 5.2.8(@types/node@20.11.5) + vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) transitivePeerDependencies: - '@types/node' - less @@ -8924,42 +8505,6 @@ packages: optionalDependencies: fsevents: 2.3.3 - /vite@5.2.8(@types/node@20.11.5): - resolution: {integrity: sha512-OyZR+c1CE8yeHw5V5t59aXsUPPVTHMDjEZz8MgguLL/Q7NblxhZUlTu9xSPqlsUO/y+X7dlU05jdhvyycD55DA==} - engines: {node: ^18.0.0 || >=20.0.0} - hasBin: true - peerDependencies: - '@types/node': ^18.0.0 || >=20.0.0 - less: '*' - lightningcss: ^1.21.0 - sass: '*' - stylus: '*' - sugarss: '*' - terser: ^5.4.0 - peerDependenciesMeta: - '@types/node': - optional: true - less: - optional: true - lightningcss: - optional: true - sass: - optional: true - stylus: - optional: true - sugarss: - optional: true - terser: - optional: true - dependencies: - '@types/node': 20.11.5 - esbuild: 0.20.2 - postcss: 8.4.38 - rollup: 4.14.1 - optionalDependencies: - fsevents: 2.3.3 - dev: true - /vitefu@0.2.5(vite@5.0.13): resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} peerDependencies: @@ -8970,17 +8515,6 @@ packages: dependencies: vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) - /vitefu@0.2.5(vite@5.2.8): - resolution: {integrity: sha512-SgHtMLoqaeeGnd2evZ849ZbACbnwQCIwRH57t18FxcXoZop0uQu0uzlIhJBlF/eWVzuce0sHeqPcDo+evVcg8Q==} - peerDependencies: - vite: ^3.0.0 || ^4.0.0 || ^5.0.0 - peerDependenciesMeta: - vite: - optional: true - dependencies: - vite: 5.2.8(@types/node@20.11.5) - dev: true - /vitest@1.2.1(@types/node@20.11.5)(jsdom@22.0.0): resolution: {integrity: sha512-TRph8N8rnSDa5M2wKWJCMnztCZS9cDcgVTQ6tsTFTG/odHJ4l5yNVqvbeDJYJRZ6is3uxaEpFs8LL6QM+YFSdA==} engines: {node: ^18.0.0 || >=20.0.0} @@ -9026,7 +8560,7 @@ packages: strip-literal: 1.3.0 tinybench: 2.6.0 tinypool: 0.8.2 - vite: 5.2.8(@types/node@20.11.5) + vite: 5.0.13(@types/node@20.11.5)(lightningcss@1.23.0)(sass@1.70.0) vite-node: 1.2.1(@types/node@20.11.5) why-is-node-running: 2.2.2 transitivePeerDependencies: From 1ed23a682fbe2137e80db705170b502cb2ed6bf9 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 10:41:16 +0100 Subject: [PATCH 07/17] tweaks --- playgrounds/demo/server.js | 7 ++----- playgrounds/demo/src/entry-client.ts | 10 ++++++---- 2 files changed, 8 insertions(+), 9 deletions(-) diff --git a/playgrounds/demo/server.js b/playgrounds/demo/server.js index d5058833869f..5de7e4c969b4 100644 --- a/playgrounds/demo/server.js +++ b/playgrounds/demo/server.js @@ -2,7 +2,7 @@ import fs from 'node:fs'; import path from 'node:path'; import { fileURLToPath } from 'node:url'; import express from 'express'; -import { createServer as createViteServer, createViteRuntime } from 'vite'; +import { createServer as createViteServer } from 'vite'; const PORT = process.env.PORT || '5173'; @@ -28,10 +28,7 @@ async function createServer() { const template = fs.readFileSync(path.resolve(__dirname, 'index.html'), 'utf-8'); const transformed_template = await vite.transformIndexHtml(req.originalUrl, template); - - const runtime = await createViteRuntime(vite, { hmr: { logger: false } }); - const { html: appHtml, head: headHtml } = - await runtime.executeEntrypoint('./src/entry-server.ts'); + const { html: appHtml, head: headHtml } = await vite.ssrLoadModule('./src/entry-server.ts'); const html = transformed_template .replace(``, appHtml) diff --git a/playgrounds/demo/src/entry-client.ts b/playgrounds/demo/src/entry-client.ts index 1cb573735cfc..3a622f4c96e1 100644 --- a/playgrounds/demo/src/entry-client.ts +++ b/playgrounds/demo/src/entry-client.ts @@ -1,8 +1,10 @@ -// @ts-ignore -import { mount, unmount } from 'svelte'; -// @ts-ignore you need to create this file +import { mount, hydrate, unmount } from 'svelte'; import App from './App.svelte'; -const component = mount(App, { + +const root = document.getElementById('root')!; +const render = root.firstChild === null ? mount : hydrate; + +const component = render(App, { target: document.getElementById('root')! }); // @ts-ignore From 3e2d771a11e557b2b51919d4c052cbd335d67800 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 11:57:25 +0100 Subject: [PATCH 08/17] add hmr flag --- playgrounds/demo/vite.config.js | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/playgrounds/demo/vite.config.js b/playgrounds/demo/vite.config.js index de42e9cfd4a5..3755f768c811 100644 --- a/playgrounds/demo/vite.config.js +++ b/playgrounds/demo/vite.config.js @@ -2,7 +2,13 @@ import { defineConfig } from 'vite'; import { svelte } from '@sveltejs/vite-plugin-svelte'; export default defineConfig({ - plugins: [svelte()], + plugins: [ + svelte({ + compilerOptions: { + hmr: true + } + }) + ], optimizeDeps: { // svelte is a local workspace package, optimizing it would require dev server restarts with --force for every change exclude: ['svelte'] From 0270cd5bd87b5940463743f795406e78e4df3476 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 12:44:36 +0100 Subject: [PATCH 09/17] tweak --- playgrounds/demo/src/entry-client.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/playgrounds/demo/src/entry-client.ts b/playgrounds/demo/src/entry-client.ts index 3a622f4c96e1..8ec831e42512 100644 --- a/playgrounds/demo/src/entry-client.ts +++ b/playgrounds/demo/src/entry-client.ts @@ -2,7 +2,7 @@ import { mount, hydrate, unmount } from 'svelte'; import App from './App.svelte'; const root = document.getElementById('root')!; -const render = root.firstChild === null ? mount : hydrate; +const render = root.firstChild?.nextSibling ? hydrate : mount; const component = render(App, { target: document.getElementById('root')! From efd42ff6cab435714caee1337cf97f487109ce14 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 13:14:02 +0100 Subject: [PATCH 10/17] tweaks --- packages/svelte/src/internal/client/hmr.js | 44 ------------------ packages/svelte/src/internal/client/index.js | 3 +- packages/svelte/src/internal/client/render.js | 46 ++++++++++++++++++- playgrounds/demo/vite.config.js | 8 +--- .../src/lib/Output/Output.svelte | 2 +- 5 files changed, 47 insertions(+), 56 deletions(-) delete mode 100644 packages/svelte/src/internal/client/hmr.js diff --git a/packages/svelte/src/internal/client/hmr.js b/packages/svelte/src/internal/client/hmr.js deleted file mode 100644 index 1d8a6651e50d..000000000000 --- a/packages/svelte/src/internal/client/hmr.js +++ /dev/null @@ -1,44 +0,0 @@ -import { block, branch, pause_effect } from './reactivity/effects'; -import { set, source } from './reactivity/sources'; -import { get } from './runtime'; - -/** - * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data - * @param {(anchor: Comment, props: any) => any} new_component - */ -export function hmr(data, new_component) { - let prev_component = data.component; - - if (prev_component === undefined) { - prev_component = data.component = source(new_component); - } else { - set(prev_component, new_component); - return data.wrapper; - } - - const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { - let output; - /** - * @type {import("#client").Effect} - */ - let effect; - - block(() => { - const component = get(data.component); - - if (effect) { - pause_effect(effect); - } - - effect = branch(() => { - output = component(anchor, props); - }); - }); - - return output; - }; - - data.wrapper = wrapper; - - return wrapper; -} diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index 99ffe7d419c9..69c91c741e25 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -96,7 +96,7 @@ export { update_pre_store, update_store } from './reactivity/store.js'; -export { append_styles, sanitize_slots, set_text, slot, stringify } from './render.js'; +export { append_styles, sanitize_slots, set_text, slot, stringify, hmr } from './render.js'; export { get, invalidate_inner_signals, @@ -143,4 +143,3 @@ export { validate_snippet, validate_void_dynamic_element } from '../shared/validate.js'; -export { hmr } from './hmr.js'; diff --git a/packages/svelte/src/internal/client/render.js b/packages/svelte/src/internal/client/render.js index 833070925ed0..c50922149228 100644 --- a/packages/svelte/src/internal/client/render.js +++ b/packages/svelte/src/internal/client/render.js @@ -7,8 +7,8 @@ import { init_operations } from './dom/operations.js'; import { HYDRATION_START, PassiveDelegatedEvents } from '../../constants.js'; -import { flush_sync, push, pop, current_component_context, untrack } from './runtime.js'; -import { effect_root, branch } from './reactivity/effects.js'; +import { flush_sync, push, pop, current_component_context, untrack, get } from './runtime.js'; +import { effect_root, branch, block, pause_effect } from './reactivity/effects.js'; import { hydrate_anchor, hydrate_nodes, @@ -19,6 +19,7 @@ import { import { array_from } from './utils.js'; import { handle_event_propagation } from './dom/elements/events.js'; import { reset_head_anchor } from './dom/blocks/svelte-head.js'; +import { set, source } from './reactivity/sources.js'; /** @type {Set} */ export const all_registered_events = new Set(); @@ -340,3 +341,44 @@ function get_root_for_style(node) { } return /** @type {Document} */ (node.ownerDocument); } + +/** + * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data + * @param {(anchor: Comment, props: any) => any} new_component + */ +export function hmr(data, new_component) { + let prev_component = data.component; + + if (prev_component === undefined) { + prev_component = data.component = source(new_component); + } else { + set(prev_component, new_component); + return data.wrapper; + } + + const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { + let output; + /** + * @type {import("#client").Effect} + */ + let effect; + + block(() => { + const component = get(data.component); + + if (effect) { + pause_effect(effect); + } + + effect = branch(() => { + output = component(anchor, props); + }); + }); + + return output; + }; + + data.wrapper = wrapper; + + return wrapper; +} diff --git a/playgrounds/demo/vite.config.js b/playgrounds/demo/vite.config.js index 3755f768c811..de42e9cfd4a5 100644 --- a/playgrounds/demo/vite.config.js +++ b/playgrounds/demo/vite.config.js @@ -2,13 +2,7 @@ import { defineConfig } from 'vite'; import { svelte } from '@sveltejs/vite-plugin-svelte'; export default defineConfig({ - plugins: [ - svelte({ - compilerOptions: { - hmr: true - } - }) - ], + plugins: [svelte()], optimizeDeps: { // svelte is a local workspace package, optimizing it would require dev server restarts with --force for every change exclude: ['svelte'] diff --git a/sites/svelte-5-preview/src/lib/Output/Output.svelte b/sites/svelte-5-preview/src/lib/Output/Output.svelte index eebb8a23ad4a..b23c2af48a92 100644 --- a/sites/svelte-5-preview/src/lib/Output/Output.svelte +++ b/sites/svelte-5-preview/src/lib/Output/Output.svelte @@ -34,7 +34,7 @@ /** @type {import('../workers/workers').CompileMessageData | null} */ export let compiled; - $: if (selected) { + $: if (selected && js_editor && css_editor) { if (selected.type === 'json') { js_editor.set({ code: `/* Select a component to see its compiled code */`, lang: 'js' }); css_editor.set({ code: `/* Select a component to see its compiled code */`, lang: 'css' }); From 6a2ac78cc9ca22d3e4f9c92f15ee018d36a1bb6b Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Apr 2024 14:51:05 -0400 Subject: [PATCH 11/17] move HMR logic into its own module --- .../svelte/src/internal/client/dev/hmr.js | 44 ++++++++++++++++++ packages/svelte/src/internal/client/index.js | 3 +- packages/svelte/src/internal/client/render.js | 46 +------------------ 3 files changed, 48 insertions(+), 45 deletions(-) create mode 100644 packages/svelte/src/internal/client/dev/hmr.js diff --git a/packages/svelte/src/internal/client/dev/hmr.js b/packages/svelte/src/internal/client/dev/hmr.js new file mode 100644 index 000000000000..ce881b795900 --- /dev/null +++ b/packages/svelte/src/internal/client/dev/hmr.js @@ -0,0 +1,44 @@ +import { block, branch, pause_effect } from '../reactivity/effects.js'; +import { set, source } from '../reactivity/sources.js'; +import { get } from '../runtime.js'; + +/** + * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data + * @param {(anchor: Comment, props: any) => any} new_component + */ +export function hmr(data, new_component) { + let prev_component = data.component; + + if (prev_component === undefined) { + prev_component = data.component = source(new_component); + } else { + set(prev_component, new_component); + return data.wrapper; + } + + const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { + let output; + /** + * @type {import("#client").Effect} + */ + let effect; + + block(() => { + const component = get(data.component); + + if (effect) { + pause_effect(effect); + } + + effect = branch(() => { + output = component(anchor, props); + }); + }); + + return output; + }; + + data.wrapper = wrapper; + + return wrapper; +} diff --git a/packages/svelte/src/internal/client/index.js b/packages/svelte/src/internal/client/index.js index 69c91c741e25..d5075a816c11 100644 --- a/packages/svelte/src/internal/client/index.js +++ b/packages/svelte/src/internal/client/index.js @@ -1,3 +1,4 @@ +export { hmr } from './dev/hmr.js'; export { add_owner, mark_module_start, mark_module_end } from './dev/ownership.js'; export { await_block as await } from './dom/blocks/await.js'; export { if_block as if } from './dom/blocks/if.js'; @@ -96,7 +97,7 @@ export { update_pre_store, update_store } from './reactivity/store.js'; -export { append_styles, sanitize_slots, set_text, slot, stringify, hmr } from './render.js'; +export { append_styles, sanitize_slots, set_text, slot, stringify } from './render.js'; export { get, invalidate_inner_signals, diff --git a/packages/svelte/src/internal/client/render.js b/packages/svelte/src/internal/client/render.js index c50922149228..f9c4dbf1a757 100644 --- a/packages/svelte/src/internal/client/render.js +++ b/packages/svelte/src/internal/client/render.js @@ -7,8 +7,8 @@ import { init_operations } from './dom/operations.js'; import { HYDRATION_START, PassiveDelegatedEvents } from '../../constants.js'; -import { flush_sync, push, pop, current_component_context, untrack, get } from './runtime.js'; -import { effect_root, branch, block, pause_effect } from './reactivity/effects.js'; +import { flush_sync, push, pop, current_component_context } from './runtime.js'; +import { effect_root, branch } from './reactivity/effects.js'; import { hydrate_anchor, hydrate_nodes, @@ -19,7 +19,6 @@ import { import { array_from } from './utils.js'; import { handle_event_propagation } from './dom/elements/events.js'; import { reset_head_anchor } from './dom/blocks/svelte-head.js'; -import { set, source } from './reactivity/sources.js'; /** @type {Set} */ export const all_registered_events = new Set(); @@ -341,44 +340,3 @@ function get_root_for_style(node) { } return /** @type {Document} */ (node.ownerDocument); } - -/** - * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data - * @param {(anchor: Comment, props: any) => any} new_component - */ -export function hmr(data, new_component) { - let prev_component = data.component; - - if (prev_component === undefined) { - prev_component = data.component = source(new_component); - } else { - set(prev_component, new_component); - return data.wrapper; - } - - const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { - let output; - /** - * @type {import("#client").Effect} - */ - let effect; - - block(() => { - const component = get(data.component); - - if (effect) { - pause_effect(effect); - } - - effect = branch(() => { - output = component(anchor, props); - }); - }); - - return output; - }; - - data.wrapper = wrapper; - - return wrapper; -} From 183cf973e6e11a7ef6ccd78f645f209a94e3a593 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Apr 2024 15:02:07 -0400 Subject: [PATCH 12/17] simplify --- .../svelte/src/internal/client/dev/hmr.js | 30 +++++++------------ 1 file changed, 11 insertions(+), 19 deletions(-) diff --git a/packages/svelte/src/internal/client/dev/hmr.js b/packages/svelte/src/internal/client/dev/hmr.js index ce881b795900..e3aaf12bb0a4 100644 --- a/packages/svelte/src/internal/client/dev/hmr.js +++ b/packages/svelte/src/internal/client/dev/hmr.js @@ -3,28 +3,24 @@ import { set, source } from '../reactivity/sources.js'; import { get } from '../runtime.js'; /** - * @param {{ component: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data - * @param {(anchor: Comment, props: any) => any} new_component + * @param {{ source: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data + * @param {(anchor: Comment, props: any) => any} component */ -export function hmr(data, new_component) { - let prev_component = data.component; - - if (prev_component === undefined) { - prev_component = data.component = source(new_component); +export function hmr(data, component) { + if (data.source) { + set(data.source, component); } else { - set(prev_component, new_component); - return data.wrapper; + data.source = source(component); } - const wrapper = (/** @type {Comment} */ anchor, /** @type {any} */ props) => { + return (data.wrapper ??= (/** @type {Comment} */ anchor, /** @type {any} */ props) => { let output; - /** - * @type {import("#client").Effect} - */ + + /** @type {import("#client").Effect} */ let effect; block(() => { - const component = get(data.component); + const component = get(data.source); if (effect) { pause_effect(effect); @@ -36,9 +32,5 @@ export function hmr(data, new_component) { }); return output; - }; - - data.wrapper = wrapper; - - return wrapper; + }); } From 3b8908ca29e5eb090998682e110ad582add86551 Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Apr 2024 15:05:06 -0400 Subject: [PATCH 13/17] tidy up types --- .../svelte/src/internal/client/dev/hmr.js | 35 ++++++++++--------- 1 file changed, 19 insertions(+), 16 deletions(-) diff --git a/packages/svelte/src/internal/client/dev/hmr.js b/packages/svelte/src/internal/client/dev/hmr.js index e3aaf12bb0a4..7e8310af117b 100644 --- a/packages/svelte/src/internal/client/dev/hmr.js +++ b/packages/svelte/src/internal/client/dev/hmr.js @@ -3,8 +3,9 @@ import { set, source } from '../reactivity/sources.js'; import { get } from '../runtime.js'; /** - * @param {{ source: import("#client").Source<(anchor: Comment, props: any) => any>; wrapper: (anchor: Comment, props: any) => any; }} data - * @param {(anchor: Comment, props: any) => any} component + * @template {(anchor: Comment, props: any) => any} Component + * @param {{ source: import("#client").Source; wrapper: Component; }} data + * @param {Component} component */ export function hmr(data, component) { if (data.source) { @@ -13,24 +14,26 @@ export function hmr(data, component) { data.source = source(component); } - return (data.wrapper ??= (/** @type {Comment} */ anchor, /** @type {any} */ props) => { - let output; + return (data.wrapper ??= /** @type {Component} */ ( + (anchor, props) => { + let output; - /** @type {import("#client").Effect} */ - let effect; + /** @type {import("#client").Effect} */ + let effect; - block(() => { - const component = get(data.source); + block(() => { + const component = get(data.source); - if (effect) { - pause_effect(effect); - } + if (effect) { + pause_effect(effect); + } - effect = branch(() => { - output = component(anchor, props); + effect = branch(() => { + output = component(anchor, props); + }); }); - }); - return output; - }); + return output; + } + )); } From c2b4562ce5232a76e7a7698287f42116d567c2b0 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 20:47:53 +0100 Subject: [PATCH 14/17] fix test --- .../parser-legacy/samples/action-duplicate/output.json | 2 +- .../parser-legacy/samples/action-with-call/output.json | 2 +- .../samples/action-with-identifier/output.json | 2 +- .../parser-legacy/samples/action-with-literal/output.json | 2 +- .../svelte/tests/parser-legacy/samples/action/output.json | 2 +- .../tests/parser-legacy/samples/animation/output.json | 2 +- .../samples/attribute-class-directive/output.json | 2 +- .../samples/attribute-containing-solidus/output.json | 2 +- .../samples/attribute-curly-bracket/output.json | 2 +- .../samples/attribute-dynamic-boolean/output.json | 2 +- .../parser-legacy/samples/attribute-dynamic/output.json | 2 +- .../parser-legacy/samples/attribute-empty/output.json | 2 +- .../parser-legacy/samples/attribute-escaped/output.json | 2 +- .../parser-legacy/samples/attribute-multiple/output.json | 2 +- .../parser-legacy/samples/attribute-shorthand/output.json | 2 +- .../samples/attribute-static-boolean/output.json | 2 +- .../parser-legacy/samples/attribute-static/output.json | 2 +- .../attribute-style-directive-modifiers/output.json | 6 ++++-- .../attribute-style-directive-shorthand/output.json | 2 +- .../samples/attribute-style-directive-string/output.json | 2 +- .../samples/attribute-style-directive/output.json | 2 +- .../parser-legacy/samples/attribute-style/output.json | 2 +- .../parser-legacy/samples/attribute-unquoted/output.json | 2 +- .../samples/attribute-with-whitespace/output.json | 2 +- .../tests/parser-legacy/samples/await-catch/output.json | 2 +- .../parser-legacy/samples/await-then-catch/output.json | 2 +- .../parser-legacy/samples/binding-shorthand/output.json | 2 +- .../svelte/tests/parser-legacy/samples/binding/output.json | 2 +- .../parser-legacy/samples/comment-with-ignores/output.json | 7 +++++-- .../svelte/tests/parser-legacy/samples/comment/output.json | 2 +- .../parser-legacy/samples/component-dynamic/output.json | 2 +- .../samples/convert-entities-in-element/output.json | 2 +- .../parser-legacy/samples/convert-entities/output.json | 2 +- .../svelte/tests/parser-legacy/samples/css/output.json | 6 +++--- .../samples/dynamic-element-string/output.json | 2 +- .../samples/dynamic-element-variable/output.json | 2 +- .../tests/parser-legacy/samples/dynamic-import/output.json | 2 +- .../samples/each-block-destructured/output.json | 2 +- .../parser-legacy/samples/each-block-else/output.json | 2 +- .../parser-legacy/samples/each-block-indexed/output.json | 2 +- .../parser-legacy/samples/each-block-keyed/output.json | 2 +- .../tests/parser-legacy/samples/each-block/output.json | 2 +- .../element-with-attribute-empty-string/output.json | 2 +- .../samples/element-with-attribute/output.json | 2 +- .../samples/element-with-mustache/output.json | 2 +- .../parser-legacy/samples/element-with-text/output.json | 2 +- .../tests/parser-legacy/samples/elements/output.json | 2 +- .../tests/parser-legacy/samples/event-handler/output.json | 2 +- .../tests/parser-legacy/samples/if-block-else/output.json | 2 +- .../parser-legacy/samples/if-block-elseif/output.json | 2 +- .../tests/parser-legacy/samples/if-block/output.json | 2 +- .../parser-legacy/samples/implicitly-closed-li/output.json | 2 +- .../parser-legacy/samples/javascript-comments/output.json | 2 +- .../svelte/tests/parser-legacy/samples/nbsp/output.json | 2 +- .../samples/no-error-if-before-closing/output.json | 2 +- .../tests/parser-legacy/samples/raw-mustaches/output.json | 2 +- .../svelte/tests/parser-legacy/samples/refs/output.json | 2 +- .../samples/script-attribute-with-curly-braces/output.json | 2 +- .../parser-legacy/samples/script-comment-only/output.json | 2 +- .../samples/script-context-module-unquoted/output.json | 2 +- .../svelte/tests/parser-legacy/samples/script/output.json | 2 +- .../parser-legacy/samples/self-closing-element/output.json | 2 +- .../tests/parser-legacy/samples/self-reference/output.json | 2 +- .../parser-legacy/samples/slotted-element/output.json | 2 +- .../samples/space-between-mustaches/output.json | 2 +- .../svelte/tests/parser-legacy/samples/spread/output.json | 2 +- .../parser-legacy/samples/style-inside-head/output.json | 2 +- .../parser-legacy/samples/textarea-children/output.json | 2 +- .../parser-legacy/samples/textarea-end-tag/output.json | 2 +- .../samples/transition-intro-no-params/output.json | 2 +- .../parser-legacy/samples/transition-intro/output.json | 2 +- .../parser-legacy/samples/unusual-identifier/output.json | 2 +- .../samples/whitespace-after-script-tag/output.json | 2 +- .../samples/whitespace-after-style-tag/output.json | 6 +++--- .../samples/whitespace-leading-trailing/output.json | 2 +- .../parser-legacy/samples/whitespace-normal/output.json | 2 +- .../samples/comment-before-script/output.json | 2 +- .../tests/parser-modern/samples/css-nth-syntax/output.json | 6 +++--- .../parser-modern/samples/css-pseudo-classes/output.json | 6 +++--- .../samples/each-block-object-pattern/output.json | 2 +- .../samples/semicolon-inside-quotes/output.json | 6 +++--- .../tests/parser-modern/samples/snippets/output.json | 2 +- .../parser-modern/samples/template-shadowroot/output.json | 2 +- .../samples/typescript-in-event-handler/output.json | 2 +- .../_expected/client/index.svelte.js | 6 ++++-- 85 files changed, 105 insertions(+), 98 deletions(-) diff --git a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json index 3dad9bb4e523..c310754298c8 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json @@ -31,4 +31,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json index 66ce187c625a..af416ffac254 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json @@ -73,4 +73,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json index 39a6f5f64702..229ab78006b3 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json @@ -38,4 +38,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json index 94c60b701a44..5a6529a9335e 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/action/output.json b/packages/svelte/tests/parser-legacy/samples/action/output.json index d72bf7db1012..55cbff860b63 100644 --- a/packages/svelte/tests/parser-legacy/samples/action/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action/output.json @@ -23,4 +23,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/animation/output.json b/packages/svelte/tests/parser-legacy/samples/animation/output.json index 0d82cb2bb917..6e1d1045bec9 100644 --- a/packages/svelte/tests/parser-legacy/samples/animation/output.json +++ b/packages/svelte/tests/parser-legacy/samples/animation/output.json @@ -88,4 +88,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json index 9efe9acf8dda..8c27c8bcb446 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json @@ -38,4 +38,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json index 2c63b3a43d13..c67811fab964 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json @@ -38,4 +38,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json index 2453dc9e0a07..a137dd795b3f 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json @@ -52,4 +52,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json index 5793afe896fd..5462eaf71333 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json @@ -44,4 +44,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json index 9fd98c80ec27..6acc5ebeb133 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json @@ -80,4 +80,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json index d2a3dcd93bf6..478ba2e52560 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json @@ -105,4 +105,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json index e2eb99f32774..74fa6f2aec1b 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json @@ -30,4 +30,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json index 66b780e53661..80bbdf0e21ed 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json @@ -45,4 +45,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json index 5daf29018c3b..5aeb2aa09b09 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json @@ -34,4 +34,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json index 8cb93b75ec08..a059934e4075 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json @@ -22,4 +22,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json index 3e19a4727ea3..94608a0eba0e 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json @@ -30,4 +30,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json index b7de71ff5ae6..45bb6f0e2ec8 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json @@ -15,7 +15,9 @@ "end": 36, "type": "StyleDirective", "name": "color", - "modifiers": ["important"], + "modifiers": [ + "important" + ], "value": [ { "type": "MustacheTag", @@ -45,4 +47,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json index d7f53cb00ca2..4ad7aaf7f78b 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json @@ -23,4 +23,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json index 5acf7d797eaa..9693f9778275 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json @@ -359,4 +359,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json index 2cce9fef952c..08e2032db321 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json @@ -45,4 +45,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json index 1d9a528d6d3d..d029f9ef7108 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json @@ -38,4 +38,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json index 5df4d66ab668..b82bec517d1a 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json @@ -30,4 +30,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json index 4d3a29180869..31652f1fd5ee 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json @@ -46,4 +46,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/await-catch/output.json b/packages/svelte/tests/parser-legacy/samples/await-catch/output.json index 5572d573f89e..5c2fa74e425e 100644 --- a/packages/svelte/tests/parser-legacy/samples/await-catch/output.json +++ b/packages/svelte/tests/parser-legacy/samples/await-catch/output.json @@ -183,4 +183,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json b/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json index b71365f39deb..5548cfc22eb5 100644 --- a/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json +++ b/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json @@ -252,4 +252,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json index 672014629791..9d31edabf748 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json @@ -109,4 +109,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/binding/output.json b/packages/svelte/tests/parser-legacy/samples/binding/output.json index 4ce069bd37c0..288f9182abd7 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding/output.json @@ -119,4 +119,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json b/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json index b149436a2702..9994b01a248f 100644 --- a/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json +++ b/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json @@ -9,8 +9,11 @@ "start": 0, "end": 30, "data": " svelte-ignore foo bar ", - "ignores": ["foo", "bar"] + "ignores": [ + "foo", + "bar" + ] } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/comment/output.json b/packages/svelte/tests/parser-legacy/samples/comment/output.json index 6017db404cb9..a721ddd8dc5b 100644 --- a/packages/svelte/tests/parser-legacy/samples/comment/output.json +++ b/packages/svelte/tests/parser-legacy/samples/comment/output.json @@ -13,4 +13,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json b/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json index f624a04c617b..7e7267498fdc 100644 --- a/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json +++ b/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json @@ -77,4 +77,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json b/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json index f7a8a3c67794..3025f2c8007e 100644 --- a/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json @@ -22,4 +22,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json b/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json index c336a3978c30..c43621cc6bb8 100644 --- a/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json +++ b/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json @@ -13,4 +13,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/css/output.json b/packages/svelte/tests/parser-legacy/samples/css/output.json index 3667dbc0b8d2..443d6d2d5000 100644 --- a/packages/svelte/tests/parser-legacy/samples/css/output.json +++ b/packages/svelte/tests/parser-legacy/samples/css/output.json @@ -78,8 +78,8 @@ "content": { "start": 23, "end": 48, - "comment": null, - "styles": "\n\tdiv {\n\t\tcolor: red;\n\t}\n" + "styles": "\n\tdiv {\n\t\tcolor: red;\n\t}\n", + "comment": null } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json index 6dd18f0a4eeb..0c20da2ba07b 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json @@ -47,4 +47,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json index 291cdaa73405..7c75c8bc2a5f 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json @@ -77,4 +77,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json index a439b65dd0ec..070bd1724806 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json @@ -479,4 +479,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json index d19f5cbbfd8c..68b4b1f535db 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json @@ -265,4 +265,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json index a6db309edb08..f5145063e44c 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json @@ -100,4 +100,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json index bce7fd81a211..ce2f921d86ac 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json @@ -106,4 +106,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json index 2f6206a6cbeb..637dab61b897 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json @@ -126,4 +126,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/each-block/output.json b/packages/svelte/tests/parser-legacy/samples/each-block/output.json index f26f557958db..82390bb62874 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block/output.json @@ -77,4 +77,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json index 7773256d44ea..afdcbf4297cf 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json @@ -61,4 +61,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json index 9477886bb289..b6740a61357c 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json @@ -61,4 +61,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json index ce0dc25e85c6..9bb92244ce68 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json @@ -50,4 +50,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json index fde57c470a64..d8bb9e9c1185 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json @@ -22,4 +22,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/elements/output.json b/packages/svelte/tests/parser-legacy/samples/elements/output.json index 6b51383d9339..97513445d695 100644 --- a/packages/svelte/tests/parser-legacy/samples/elements/output.json +++ b/packages/svelte/tests/parser-legacy/samples/elements/output.json @@ -22,4 +22,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json index 45b625667706..396e314da58e 100644 --- a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json +++ b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json @@ -161,4 +161,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json b/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json index 4ba9370d8870..34efb9fd7b22 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json @@ -68,4 +68,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json b/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json index 3e6953ab0b3d..2ae1f06cc990 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json @@ -158,4 +158,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/if-block/output.json b/packages/svelte/tests/parser-legacy/samples/if-block/output.json index 61ecf6e3b2b4..1c60df0d31c8 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block/output.json @@ -36,4 +36,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json b/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json index a56701894e63..be5fba538e42 100644 --- a/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json +++ b/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json @@ -70,4 +70,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json index 951cf05ff864..422ce8153558 100644 --- a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json +++ b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json @@ -295,4 +295,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/nbsp/output.json b/packages/svelte/tests/parser-legacy/samples/nbsp/output.json index 7d2158955a64..a120b08f327a 100644 --- a/packages/svelte/tests/parser-legacy/samples/nbsp/output.json +++ b/packages/svelte/tests/parser-legacy/samples/nbsp/output.json @@ -22,4 +22,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json b/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json index c60efd4fbaf0..369cd4acc4bf 100644 --- a/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json +++ b/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json @@ -289,4 +289,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json b/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json index 7db0bb7ec15a..b8e1da749937 100644 --- a/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json +++ b/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json @@ -78,4 +78,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/refs/output.json b/packages/svelte/tests/parser-legacy/samples/refs/output.json index e2bda741fa71..0ecccbf957c4 100644 --- a/packages/svelte/tests/parser-legacy/samples/refs/output.json +++ b/packages/svelte/tests/parser-legacy/samples/refs/output.json @@ -119,4 +119,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json b/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json index e0b50e3b92db..e9298ec50c24 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json b/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json index b04a823e8db6..502d5df57600 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json @@ -52,4 +52,4 @@ ] } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json b/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json index 03a526f04e37..7d7e9d1305d5 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json @@ -175,4 +175,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/script/output.json b/packages/svelte/tests/parser-legacy/samples/script/output.json index d3d4abd6b24f..e30414a2a839 100644 --- a/packages/svelte/tests/parser-legacy/samples/script/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json b/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json index f0ba3a5c0d7a..fe59cac4b760 100644 --- a/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json @@ -14,4 +14,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/self-reference/output.json b/packages/svelte/tests/parser-legacy/samples/self-reference/output.json index 34310fcce46c..44547698fd3c 100644 --- a/packages/svelte/tests/parser-legacy/samples/self-reference/output.json +++ b/packages/svelte/tests/parser-legacy/samples/self-reference/output.json @@ -133,4 +133,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json b/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json index 90ded681031c..c6717f3074bd 100644 --- a/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json @@ -39,4 +39,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json b/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json index bb6de0bea951..7553651864cc 100644 --- a/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json +++ b/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json @@ -106,4 +106,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/spread/output.json b/packages/svelte/tests/parser-legacy/samples/spread/output.json index 3b79aa967028..b1d80bd5d418 100644 --- a/packages/svelte/tests/parser-legacy/samples/spread/output.json +++ b/packages/svelte/tests/parser-legacy/samples/spread/output.json @@ -36,4 +36,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json b/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json index 733f9e76fff4..25588b950b83 100644 --- a/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json +++ b/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json @@ -30,4 +30,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json b/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json index 60477807b79c..62a295c1352b 100644 --- a/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json +++ b/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json @@ -50,4 +50,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json b/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json index ed3c85b09a07..145de96560cf 100644 --- a/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json @@ -50,4 +50,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json index f30788d7583f..bce5a0f281ef 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json @@ -33,4 +33,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json index ae52f72c5d9c..434112ccf519 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json @@ -101,4 +101,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json b/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json index 9081b7cb926d..b1595a6839a4 100644 --- a/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json +++ b/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json @@ -77,4 +77,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json index 69b23824423d..dee3ba5f2999 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json index e1095956569e..acd9798425f2 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json @@ -78,8 +78,8 @@ "content": { "start": 23, "end": 48, - "comment": null, - "styles": "\n\tdiv {\n\t\tcolor: red;\n\t}\n" + "styles": "\n\tdiv {\n\t\tcolor: red;\n\t}\n", + "comment": null } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json index baffebfed7f6..67ffc034368e 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json @@ -29,4 +29,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json index 4fb88b818d83..27f8e537a157 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json @@ -75,4 +75,4 @@ } ] } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json b/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json index 794e80f66f01..c2031a05f595 100644 --- a/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json +++ b/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json @@ -135,4 +135,4 @@ ] } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json b/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json index cd9251408272..2747fbcbc31d 100644 --- a/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json +++ b/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json @@ -1074,8 +1074,8 @@ "content": { "start": 7, "end": 798, - "comment": null, - "styles": "\n /* test that all these are parsed correctly */\n\th1:nth-of-type(2n+1){\n background: red;\n }\n h1:nth-child(-n + 3 of li.important) {\n background: red;\n }\n h1:nth-child(1) {\n background: red;\n }\n h1:nth-child(p) {\n background: red;\n }\n h1:nth-child(n+7) {\n background: red;\n }\n h1:nth-child(even) {\n background: red;\n }\n h1:nth-child(odd) {\n background: red;\n }\n h1:nth-child(\n n\n ) {\n background: red;\n }\n h1:global(nav) {\n background: red;\n }\n\t\th1:nth-of-type(10n+1){\n background: red;\n }\n\t\th1:nth-of-type(-2n+3){\n background: red;\n }\n\t\th1:nth-of-type(+12){\n background: red;\n }\n\t\th1:nth-of-type(+3n){\n background: red;\n }\n" + "styles": "\n /* test that all these are parsed correctly */\n\th1:nth-of-type(2n+1){\n background: red;\n }\n h1:nth-child(-n + 3 of li.important) {\n background: red;\n }\n h1:nth-child(1) {\n background: red;\n }\n h1:nth-child(p) {\n background: red;\n }\n h1:nth-child(n+7) {\n background: red;\n }\n h1:nth-child(even) {\n background: red;\n }\n h1:nth-child(odd) {\n background: red;\n }\n h1:nth-child(\n n\n ) {\n background: red;\n }\n h1:global(nav) {\n background: red;\n }\n\t\th1:nth-of-type(10n+1){\n background: red;\n }\n\t\th1:nth-of-type(-2n+3){\n background: red;\n }\n\t\th1:nth-of-type(+12){\n background: red;\n }\n\t\th1:nth-of-type(+3n){\n background: red;\n }\n", + "comment": null } }, "js": [], @@ -1116,4 +1116,4 @@ "transparent": false }, "options": null -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json b/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json index 9c9f5335c237..04c5065a11ca 100644 --- a/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json +++ b/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json @@ -393,8 +393,8 @@ "content": { "start": 7, "end": 378, - "comment": null, - "styles": "\n /* test that all these are parsed correctly */\n\t::view-transition-old(x-y) {\n\t\tcolor: red;\n }\n\t:global(::view-transition-old(x-y)) {\n\t\tcolor: red;\n }\n\t::highlight(rainbow-color-1) {\n\t\tcolor: red;\n\t}\n\tcustom-element::part(foo) {\n\t\tcolor: red;\n\t}\n\t::slotted(.content) {\n\t\tcolor: red;\n\t}\n\t:is( /*button*/\n\t\tbutton, /*p after h1*/\n\t\th1 + p\n\t\t){\n\t\tcolor: red;\n\t}\n" + "styles": "\n /* test that all these are parsed correctly */\n\t::view-transition-old(x-y) {\n\t\tcolor: red;\n }\n\t:global(::view-transition-old(x-y)) {\n\t\tcolor: red;\n }\n\t::highlight(rainbow-color-1) {\n\t\tcolor: red;\n\t}\n\tcustom-element::part(foo) {\n\t\tcolor: red;\n\t}\n\t::slotted(.content) {\n\t\tcolor: red;\n\t}\n\t:is( /*button*/\n\t\tbutton, /*p after h1*/\n\t\th1 + p\n\t\t){\n\t\tcolor: red;\n\t}\n", + "comment": null } }, "js": [], @@ -407,4 +407,4 @@ "transparent": false }, "options": null -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json b/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json index f89be70f77cf..2e7140d9fb39 100644 --- a/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json +++ b/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json @@ -314,4 +314,4 @@ "transparent": false }, "options": null -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json b/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json index aee039361c18..8389ebdb72cc 100644 --- a/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json +++ b/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json @@ -71,8 +71,8 @@ "content": { "start": 43, "end": 197, - "comment": null, - "styles": "\n\t@import url(\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap\");\n\th1 {\n\t\tfont-weight: bold;\n\t\tbackground: url(\"whatever\");\n\t}\n" + "styles": "\n\t@import url(\"https://fonts.googleapis.com/css2?family=Poppins:wght@400;700&display=swap\");\n\th1 {\n\t\tfont-weight: bold;\n\t\tbackground: url(\"whatever\");\n\t}\n", + "comment": null } }, "js": [], @@ -113,4 +113,4 @@ "transparent": false }, "options": null -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/snippets/output.json b/packages/svelte/tests/parser-modern/samples/snippets/output.json index a1b96c588c07..dc1bbf9cae1b 100644 --- a/packages/svelte/tests/parser-modern/samples/snippets/output.json +++ b/packages/svelte/tests/parser-modern/samples/snippets/output.json @@ -208,4 +208,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json b/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json index eb9ffe51de07..af87948be255 100644 --- a/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json +++ b/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json @@ -157,4 +157,4 @@ "transparent": false }, "options": null -} +} \ No newline at end of file diff --git a/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json b/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json index a23219770ba6..32453e0af106 100644 --- a/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json +++ b/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json @@ -479,4 +479,4 @@ "sourceType": "module" } } -} +} \ No newline at end of file diff --git a/packages/svelte/tests/snapshot/samples/bind-component-snippet/_expected/client/index.svelte.js b/packages/svelte/tests/snapshot/samples/bind-component-snippet/_expected/client/index.svelte.js index e9bfe0306318..ba253267742d 100644 --- a/packages/svelte/tests/snapshot/samples/bind-component-snippet/_expected/client/index.svelte.js +++ b/packages/svelte/tests/snapshot/samples/bind-component-snippet/_expected/client/index.svelte.js @@ -7,7 +7,7 @@ import TextInput from './Child.svelte'; var root_1 = $.template(`Something`, 1); var root = $.template(` `, 1); -export default function Bind_component_snippet($$anchor, $$props) { +function Bind_component_snippet($$anchor, $$props) { $.push($$props, true); let value = $.source(''); @@ -36,4 +36,6 @@ export default function Bind_component_snippet($$anchor, $$props) { $.render_effect(() => $.set_text(text, ` value: ${$.stringify($.get(value))}`)); $.append($$anchor, fragment_1); $.pop(); -} \ No newline at end of file +} + +export default Bind_component_snippet; \ No newline at end of file From ce20ddb9b045092c0f52f011cf6563bdd59a8a5e Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 10 Apr 2024 20:52:24 +0100 Subject: [PATCH 15/17] lint --- .../parser-legacy/samples/action-duplicate/output.json | 2 +- .../parser-legacy/samples/action-with-call/output.json | 2 +- .../samples/action-with-identifier/output.json | 2 +- .../parser-legacy/samples/action-with-literal/output.json | 2 +- .../svelte/tests/parser-legacy/samples/action/output.json | 2 +- .../tests/parser-legacy/samples/animation/output.json | 2 +- .../samples/attribute-class-directive/output.json | 2 +- .../samples/attribute-containing-solidus/output.json | 2 +- .../samples/attribute-curly-bracket/output.json | 2 +- .../samples/attribute-dynamic-boolean/output.json | 2 +- .../parser-legacy/samples/attribute-dynamic/output.json | 2 +- .../parser-legacy/samples/attribute-empty/output.json | 2 +- .../parser-legacy/samples/attribute-escaped/output.json | 2 +- .../parser-legacy/samples/attribute-multiple/output.json | 2 +- .../parser-legacy/samples/attribute-shorthand/output.json | 2 +- .../samples/attribute-static-boolean/output.json | 2 +- .../parser-legacy/samples/attribute-static/output.json | 2 +- .../attribute-style-directive-modifiers/output.json | 6 ++---- .../attribute-style-directive-shorthand/output.json | 2 +- .../samples/attribute-style-directive-string/output.json | 2 +- .../samples/attribute-style-directive/output.json | 2 +- .../parser-legacy/samples/attribute-style/output.json | 2 +- .../parser-legacy/samples/attribute-unquoted/output.json | 2 +- .../samples/attribute-with-whitespace/output.json | 2 +- .../tests/parser-legacy/samples/await-catch/output.json | 2 +- .../parser-legacy/samples/await-then-catch/output.json | 2 +- .../parser-legacy/samples/binding-shorthand/output.json | 2 +- .../svelte/tests/parser-legacy/samples/binding/output.json | 2 +- .../parser-legacy/samples/comment-with-ignores/output.json | 7 ++----- .../svelte/tests/parser-legacy/samples/comment/output.json | 2 +- .../parser-legacy/samples/component-dynamic/output.json | 2 +- .../samples/convert-entities-in-element/output.json | 2 +- .../parser-legacy/samples/convert-entities/output.json | 2 +- .../svelte/tests/parser-legacy/samples/css/output.json | 2 +- .../samples/dynamic-element-string/output.json | 2 +- .../samples/dynamic-element-variable/output.json | 2 +- .../tests/parser-legacy/samples/dynamic-import/output.json | 2 +- .../samples/each-block-destructured/output.json | 2 +- .../parser-legacy/samples/each-block-else/output.json | 2 +- .../parser-legacy/samples/each-block-indexed/output.json | 2 +- .../parser-legacy/samples/each-block-keyed/output.json | 2 +- .../tests/parser-legacy/samples/each-block/output.json | 2 +- .../element-with-attribute-empty-string/output.json | 2 +- .../samples/element-with-attribute/output.json | 2 +- .../samples/element-with-mustache/output.json | 2 +- .../parser-legacy/samples/element-with-text/output.json | 2 +- .../tests/parser-legacy/samples/elements/output.json | 2 +- .../tests/parser-legacy/samples/event-handler/output.json | 2 +- .../tests/parser-legacy/samples/if-block-else/output.json | 2 +- .../parser-legacy/samples/if-block-elseif/output.json | 2 +- .../tests/parser-legacy/samples/if-block/output.json | 2 +- .../parser-legacy/samples/implicitly-closed-li/output.json | 2 +- .../parser-legacy/samples/javascript-comments/output.json | 2 +- .../svelte/tests/parser-legacy/samples/nbsp/output.json | 2 +- .../samples/no-error-if-before-closing/output.json | 2 +- .../tests/parser-legacy/samples/raw-mustaches/output.json | 2 +- .../svelte/tests/parser-legacy/samples/refs/output.json | 2 +- .../samples/script-attribute-with-curly-braces/output.json | 2 +- .../parser-legacy/samples/script-comment-only/output.json | 2 +- .../samples/script-context-module-unquoted/output.json | 2 +- .../svelte/tests/parser-legacy/samples/script/output.json | 2 +- .../parser-legacy/samples/self-closing-element/output.json | 2 +- .../tests/parser-legacy/samples/self-reference/output.json | 2 +- .../parser-legacy/samples/slotted-element/output.json | 2 +- .../samples/space-between-mustaches/output.json | 2 +- .../svelte/tests/parser-legacy/samples/spread/output.json | 2 +- .../parser-legacy/samples/style-inside-head/output.json | 2 +- .../parser-legacy/samples/textarea-children/output.json | 2 +- .../parser-legacy/samples/textarea-end-tag/output.json | 2 +- .../samples/transition-intro-no-params/output.json | 2 +- .../parser-legacy/samples/transition-intro/output.json | 2 +- .../parser-legacy/samples/unusual-identifier/output.json | 2 +- .../samples/whitespace-after-script-tag/output.json | 2 +- .../samples/whitespace-after-style-tag/output.json | 2 +- .../samples/whitespace-leading-trailing/output.json | 2 +- .../parser-legacy/samples/whitespace-normal/output.json | 2 +- .../samples/comment-before-script/output.json | 2 +- .../tests/parser-modern/samples/css-nth-syntax/output.json | 2 +- .../parser-modern/samples/css-pseudo-classes/output.json | 2 +- .../samples/each-block-object-pattern/output.json | 2 +- .../samples/semicolon-inside-quotes/output.json | 2 +- .../tests/parser-modern/samples/snippets/output.json | 2 +- .../parser-modern/samples/template-shadowroot/output.json | 2 +- .../samples/typescript-in-event-handler/output.json | 2 +- 84 files changed, 86 insertions(+), 91 deletions(-) diff --git a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json index c310754298c8..3dad9bb4e523 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-duplicate/output.json @@ -31,4 +31,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json index af416ffac254..66ce187c625a 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-call/output.json @@ -73,4 +73,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json index 229ab78006b3..39a6f5f64702 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-identifier/output.json @@ -38,4 +38,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json index 5a6529a9335e..94c60b701a44 100644 --- a/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action-with-literal/output.json @@ -39,4 +39,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/action/output.json b/packages/svelte/tests/parser-legacy/samples/action/output.json index 55cbff860b63..d72bf7db1012 100644 --- a/packages/svelte/tests/parser-legacy/samples/action/output.json +++ b/packages/svelte/tests/parser-legacy/samples/action/output.json @@ -23,4 +23,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/animation/output.json b/packages/svelte/tests/parser-legacy/samples/animation/output.json index 6e1d1045bec9..0d82cb2bb917 100644 --- a/packages/svelte/tests/parser-legacy/samples/animation/output.json +++ b/packages/svelte/tests/parser-legacy/samples/animation/output.json @@ -88,4 +88,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json index 8c27c8bcb446..9efe9acf8dda 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-class-directive/output.json @@ -38,4 +38,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json index c67811fab964..2c63b3a43d13 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-containing-solidus/output.json @@ -38,4 +38,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json index a137dd795b3f..2453dc9e0a07 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-curly-bracket/output.json @@ -52,4 +52,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json index 5462eaf71333..5793afe896fd 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic-boolean/output.json @@ -44,4 +44,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json index 6acc5ebeb133..9fd98c80ec27 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-dynamic/output.json @@ -80,4 +80,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json index 478ba2e52560..d2a3dcd93bf6 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-empty/output.json @@ -105,4 +105,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json index 74fa6f2aec1b..e2eb99f32774 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-escaped/output.json @@ -30,4 +30,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json index 80bbdf0e21ed..66b780e53661 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-multiple/output.json @@ -45,4 +45,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json index 5aeb2aa09b09..5daf29018c3b 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-shorthand/output.json @@ -34,4 +34,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json index a059934e4075..8cb93b75ec08 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-static-boolean/output.json @@ -22,4 +22,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json index 94608a0eba0e..3e19a4727ea3 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-static/output.json @@ -30,4 +30,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json index 45bb6f0e2ec8..b7de71ff5ae6 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-modifiers/output.json @@ -15,9 +15,7 @@ "end": 36, "type": "StyleDirective", "name": "color", - "modifiers": [ - "important" - ], + "modifiers": ["important"], "value": [ { "type": "MustacheTag", @@ -47,4 +45,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json index 4ad7aaf7f78b..d7f53cb00ca2 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-shorthand/output.json @@ -23,4 +23,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json index 9693f9778275..5acf7d797eaa 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive-string/output.json @@ -359,4 +359,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json index 08e2032db321..2cce9fef952c 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style-directive/output.json @@ -45,4 +45,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json index d029f9ef7108..1d9a528d6d3d 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-style/output.json @@ -38,4 +38,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json index b82bec517d1a..5df4d66ab668 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-unquoted/output.json @@ -30,4 +30,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json index 31652f1fd5ee..4d3a29180869 100644 --- a/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json +++ b/packages/svelte/tests/parser-legacy/samples/attribute-with-whitespace/output.json @@ -46,4 +46,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/await-catch/output.json b/packages/svelte/tests/parser-legacy/samples/await-catch/output.json index 5c2fa74e425e..5572d573f89e 100644 --- a/packages/svelte/tests/parser-legacy/samples/await-catch/output.json +++ b/packages/svelte/tests/parser-legacy/samples/await-catch/output.json @@ -183,4 +183,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json b/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json index 5548cfc22eb5..b71365f39deb 100644 --- a/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json +++ b/packages/svelte/tests/parser-legacy/samples/await-then-catch/output.json @@ -252,4 +252,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json index 9d31edabf748..672014629791 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding-shorthand/output.json @@ -109,4 +109,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/binding/output.json b/packages/svelte/tests/parser-legacy/samples/binding/output.json index 288f9182abd7..4ce069bd37c0 100644 --- a/packages/svelte/tests/parser-legacy/samples/binding/output.json +++ b/packages/svelte/tests/parser-legacy/samples/binding/output.json @@ -119,4 +119,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json b/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json index 9994b01a248f..b149436a2702 100644 --- a/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json +++ b/packages/svelte/tests/parser-legacy/samples/comment-with-ignores/output.json @@ -9,11 +9,8 @@ "start": 0, "end": 30, "data": " svelte-ignore foo bar ", - "ignores": [ - "foo", - "bar" - ] + "ignores": ["foo", "bar"] } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/comment/output.json b/packages/svelte/tests/parser-legacy/samples/comment/output.json index a721ddd8dc5b..6017db404cb9 100644 --- a/packages/svelte/tests/parser-legacy/samples/comment/output.json +++ b/packages/svelte/tests/parser-legacy/samples/comment/output.json @@ -13,4 +13,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json b/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json index 7e7267498fdc..f624a04c617b 100644 --- a/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json +++ b/packages/svelte/tests/parser-legacy/samples/component-dynamic/output.json @@ -77,4 +77,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json b/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json index 3025f2c8007e..f7a8a3c67794 100644 --- a/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/convert-entities-in-element/output.json @@ -22,4 +22,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json b/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json index c43621cc6bb8..c336a3978c30 100644 --- a/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json +++ b/packages/svelte/tests/parser-legacy/samples/convert-entities/output.json @@ -13,4 +13,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/css/output.json b/packages/svelte/tests/parser-legacy/samples/css/output.json index 443d6d2d5000..b3ecd7b6712a 100644 --- a/packages/svelte/tests/parser-legacy/samples/css/output.json +++ b/packages/svelte/tests/parser-legacy/samples/css/output.json @@ -82,4 +82,4 @@ "comment": null } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json index 0c20da2ba07b..6dd18f0a4eeb 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-element-string/output.json @@ -47,4 +47,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json index 7c75c8bc2a5f..291cdaa73405 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-element-variable/output.json @@ -77,4 +77,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json index 070bd1724806..a439b65dd0ec 100644 --- a/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json +++ b/packages/svelte/tests/parser-legacy/samples/dynamic-import/output.json @@ -479,4 +479,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json index 68b4b1f535db..d19f5cbbfd8c 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-destructured/output.json @@ -265,4 +265,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json index f5145063e44c..a6db309edb08 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-else/output.json @@ -100,4 +100,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json index ce2f921d86ac..bce7fd81a211 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-indexed/output.json @@ -106,4 +106,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json b/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json index 637dab61b897..2f6206a6cbeb 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block-keyed/output.json @@ -126,4 +126,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/each-block/output.json b/packages/svelte/tests/parser-legacy/samples/each-block/output.json index 82390bb62874..f26f557958db 100644 --- a/packages/svelte/tests/parser-legacy/samples/each-block/output.json +++ b/packages/svelte/tests/parser-legacy/samples/each-block/output.json @@ -77,4 +77,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json index afdcbf4297cf..7773256d44ea 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-attribute-empty-string/output.json @@ -61,4 +61,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json index b6740a61357c..9477886bb289 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-attribute/output.json @@ -61,4 +61,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json index 9bb92244ce68..ce0dc25e85c6 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-mustache/output.json @@ -50,4 +50,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json b/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json index d8bb9e9c1185..fde57c470a64 100644 --- a/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json +++ b/packages/svelte/tests/parser-legacy/samples/element-with-text/output.json @@ -22,4 +22,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/elements/output.json b/packages/svelte/tests/parser-legacy/samples/elements/output.json index 97513445d695..6b51383d9339 100644 --- a/packages/svelte/tests/parser-legacy/samples/elements/output.json +++ b/packages/svelte/tests/parser-legacy/samples/elements/output.json @@ -22,4 +22,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json index 396e314da58e..45b625667706 100644 --- a/packages/svelte/tests/parser-legacy/samples/event-handler/output.json +++ b/packages/svelte/tests/parser-legacy/samples/event-handler/output.json @@ -161,4 +161,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json b/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json index 34efb9fd7b22..4ba9370d8870 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block-else/output.json @@ -68,4 +68,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json b/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json index 2ae1f06cc990..3e6953ab0b3d 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block-elseif/output.json @@ -158,4 +158,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/if-block/output.json b/packages/svelte/tests/parser-legacy/samples/if-block/output.json index 1c60df0d31c8..61ecf6e3b2b4 100644 --- a/packages/svelte/tests/parser-legacy/samples/if-block/output.json +++ b/packages/svelte/tests/parser-legacy/samples/if-block/output.json @@ -36,4 +36,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json b/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json index be5fba538e42..a56701894e63 100644 --- a/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json +++ b/packages/svelte/tests/parser-legacy/samples/implicitly-closed-li/output.json @@ -70,4 +70,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json index 422ce8153558..951cf05ff864 100644 --- a/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json +++ b/packages/svelte/tests/parser-legacy/samples/javascript-comments/output.json @@ -295,4 +295,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/nbsp/output.json b/packages/svelte/tests/parser-legacy/samples/nbsp/output.json index a120b08f327a..7d2158955a64 100644 --- a/packages/svelte/tests/parser-legacy/samples/nbsp/output.json +++ b/packages/svelte/tests/parser-legacy/samples/nbsp/output.json @@ -22,4 +22,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json b/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json index 369cd4acc4bf..c60efd4fbaf0 100644 --- a/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json +++ b/packages/svelte/tests/parser-legacy/samples/no-error-if-before-closing/output.json @@ -289,4 +289,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json b/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json index b8e1da749937..7db0bb7ec15a 100644 --- a/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json +++ b/packages/svelte/tests/parser-legacy/samples/raw-mustaches/output.json @@ -78,4 +78,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/refs/output.json b/packages/svelte/tests/parser-legacy/samples/refs/output.json index 0ecccbf957c4..e2bda741fa71 100644 --- a/packages/svelte/tests/parser-legacy/samples/refs/output.json +++ b/packages/svelte/tests/parser-legacy/samples/refs/output.json @@ -119,4 +119,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json b/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json index e9298ec50c24..e0b50e3b92db 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-attribute-with-curly-braces/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json b/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json index 502d5df57600..b04a823e8db6 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-comment-only/output.json @@ -52,4 +52,4 @@ ] } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json b/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json index 7d7e9d1305d5..03a526f04e37 100644 --- a/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script-context-module-unquoted/output.json @@ -175,4 +175,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/script/output.json b/packages/svelte/tests/parser-legacy/samples/script/output.json index e30414a2a839..d3d4abd6b24f 100644 --- a/packages/svelte/tests/parser-legacy/samples/script/output.json +++ b/packages/svelte/tests/parser-legacy/samples/script/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json b/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json index fe59cac4b760..f0ba3a5c0d7a 100644 --- a/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/self-closing-element/output.json @@ -14,4 +14,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/self-reference/output.json b/packages/svelte/tests/parser-legacy/samples/self-reference/output.json index 44547698fd3c..34310fcce46c 100644 --- a/packages/svelte/tests/parser-legacy/samples/self-reference/output.json +++ b/packages/svelte/tests/parser-legacy/samples/self-reference/output.json @@ -133,4 +133,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json b/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json index c6717f3074bd..90ded681031c 100644 --- a/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json +++ b/packages/svelte/tests/parser-legacy/samples/slotted-element/output.json @@ -39,4 +39,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json b/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json index 7553651864cc..bb6de0bea951 100644 --- a/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json +++ b/packages/svelte/tests/parser-legacy/samples/space-between-mustaches/output.json @@ -106,4 +106,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/spread/output.json b/packages/svelte/tests/parser-legacy/samples/spread/output.json index b1d80bd5d418..3b79aa967028 100644 --- a/packages/svelte/tests/parser-legacy/samples/spread/output.json +++ b/packages/svelte/tests/parser-legacy/samples/spread/output.json @@ -36,4 +36,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json b/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json index 25588b950b83..733f9e76fff4 100644 --- a/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json +++ b/packages/svelte/tests/parser-legacy/samples/style-inside-head/output.json @@ -30,4 +30,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json b/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json index 62a295c1352b..60477807b79c 100644 --- a/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json +++ b/packages/svelte/tests/parser-legacy/samples/textarea-children/output.json @@ -50,4 +50,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json b/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json index 145de96560cf..ed3c85b09a07 100644 --- a/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/textarea-end-tag/output.json @@ -50,4 +50,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json index bce5a0f281ef..f30788d7583f 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro-no-params/output.json @@ -33,4 +33,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json index 434112ccf519..ae52f72c5d9c 100644 --- a/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json +++ b/packages/svelte/tests/parser-legacy/samples/transition-intro/output.json @@ -101,4 +101,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json b/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json index b1595a6839a4..9081b7cb926d 100644 --- a/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json +++ b/packages/svelte/tests/parser-legacy/samples/unusual-identifier/output.json @@ -77,4 +77,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json index dee3ba5f2999..69b23824423d 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-after-script-tag/output.json @@ -147,4 +147,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json index acd9798425f2..2cadbc672f9d 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-after-style-tag/output.json @@ -82,4 +82,4 @@ "comment": null } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json index 67ffc034368e..baffebfed7f6 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-leading-trailing/output.json @@ -29,4 +29,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json b/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json index 27f8e537a157..4fb88b818d83 100644 --- a/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json +++ b/packages/svelte/tests/parser-legacy/samples/whitespace-normal/output.json @@ -75,4 +75,4 @@ } ] } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json b/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json index c2031a05f595..794e80f66f01 100644 --- a/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json +++ b/packages/svelte/tests/parser-modern/samples/comment-before-script/output.json @@ -135,4 +135,4 @@ ] } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json b/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json index 2747fbcbc31d..e8f0ca2a4b16 100644 --- a/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json +++ b/packages/svelte/tests/parser-modern/samples/css-nth-syntax/output.json @@ -1116,4 +1116,4 @@ "transparent": false }, "options": null -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json b/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json index 04c5065a11ca..ed7bd7c8e028 100644 --- a/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json +++ b/packages/svelte/tests/parser-modern/samples/css-pseudo-classes/output.json @@ -407,4 +407,4 @@ "transparent": false }, "options": null -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json b/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json index 2e7140d9fb39..f89be70f77cf 100644 --- a/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json +++ b/packages/svelte/tests/parser-modern/samples/each-block-object-pattern/output.json @@ -314,4 +314,4 @@ "transparent": false }, "options": null -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json b/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json index 8389ebdb72cc..b900bfc0b3db 100644 --- a/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json +++ b/packages/svelte/tests/parser-modern/samples/semicolon-inside-quotes/output.json @@ -113,4 +113,4 @@ "transparent": false }, "options": null -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/snippets/output.json b/packages/svelte/tests/parser-modern/samples/snippets/output.json index dc1bbf9cae1b..a1b96c588c07 100644 --- a/packages/svelte/tests/parser-modern/samples/snippets/output.json +++ b/packages/svelte/tests/parser-modern/samples/snippets/output.json @@ -208,4 +208,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json b/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json index af87948be255..eb9ffe51de07 100644 --- a/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json +++ b/packages/svelte/tests/parser-modern/samples/template-shadowroot/output.json @@ -157,4 +157,4 @@ "transparent": false }, "options": null -} \ No newline at end of file +} diff --git a/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json b/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json index 32453e0af106..a23219770ba6 100644 --- a/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json +++ b/packages/svelte/tests/parser-modern/samples/typescript-in-event-handler/output.json @@ -479,4 +479,4 @@ "sourceType": "module" } } -} \ No newline at end of file +} From c82284621e2af4ef6e2df660322e2e56ab86086f Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Apr 2024 15:53:02 -0400 Subject: [PATCH 16/17] need some indirection here or references break --- packages/svelte/src/internal/client/dev/hmr.js | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/packages/svelte/src/internal/client/dev/hmr.js b/packages/svelte/src/internal/client/dev/hmr.js index 7e8310af117b..be6377140905 100644 --- a/packages/svelte/src/internal/client/dev/hmr.js +++ b/packages/svelte/src/internal/client/dev/hmr.js @@ -16,7 +16,7 @@ export function hmr(data, component) { return (data.wrapper ??= /** @type {Component} */ ( (anchor, props) => { - let output; + let instance = {}; /** @type {import("#client").Effect} */ let effect; @@ -25,15 +25,17 @@ export function hmr(data, component) { const component = get(data.source); if (effect) { + // @ts-ignore + for (var k in instance) delete instance[k]; pause_effect(effect); } effect = branch(() => { - output = component(anchor, props); + Object.assign(instance, component(anchor, props)); }); }); - return output; + return instance; } )); } From b5d44afac218f48a507902e66702098e04f4844c Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Wed, 10 Apr 2024 15:54:42 -0400 Subject: [PATCH 17/17] prevent transitions during HMR update --- packages/svelte/src/internal/client/dev/hmr.js | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/internal/client/dev/hmr.js b/packages/svelte/src/internal/client/dev/hmr.js index be6377140905..9c4295697623 100644 --- a/packages/svelte/src/internal/client/dev/hmr.js +++ b/packages/svelte/src/internal/client/dev/hmr.js @@ -1,5 +1,6 @@ -import { block, branch, pause_effect } from '../reactivity/effects.js'; +import { block, branch, destroy_effect } from '../reactivity/effects.js'; import { set, source } from '../reactivity/sources.js'; +import { set_should_intro } from '../render.js'; import { get } from '../runtime.js'; /** @@ -27,11 +28,13 @@ export function hmr(data, component) { if (effect) { // @ts-ignore for (var k in instance) delete instance[k]; - pause_effect(effect); + destroy_effect(effect); } effect = branch(() => { + set_should_intro(false); Object.assign(instance, component(anchor, props)); + set_should_intro(true); }); });