Repository: sveltejs/svelte Branch: main Commit: e402b2d0d678 Files: 8711 Total size: 6.1 MB Directory structure: gitextract_a0sp9qlx/ ├── .changeset/ │ ├── README.md │ ├── config.json │ ├── const-tags.md │ ├── evil-chicken-attend.md │ └── orange-geckos-rest.md ├── .editorconfig ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ ├── ISSUE_TEMPLATE/ │ │ ├── bug_report.yml │ │ ├── config.yml │ │ └── feature_request.yml │ ├── ISSUE_TEMPLATE.md │ ├── PULL_REQUEST_TEMPLATE.md │ └── workflows/ │ ├── autofix.yml │ ├── ci.yml │ ├── ecosystem-ci-trigger.yml │ ├── pkg.pr.new.yml │ └── release.yml ├── .gitignore ├── .npmrc ├── .prettierignore ├── .prettierrc ├── .vscode/ │ ├── launch.json │ └── settings.json ├── .well-known/ │ └── funding-manifest-urls ├── CODE_OF_CONDUCT.md ├── CONTRIBUTING.md ├── FUNDING.json ├── LICENSE.md ├── README.md ├── benchmarking/ │ ├── .gitignore │ ├── benchmarks/ │ │ ├── reactivity/ │ │ │ ├── index.js │ │ │ ├── sbench.js │ │ │ ├── tests/ │ │ │ │ ├── kairo_avoidable.bench.js │ │ │ │ ├── kairo_broad.bench.js │ │ │ │ ├── kairo_deep.bench.js │ │ │ │ ├── kairo_diamond.bench.js │ │ │ │ ├── kairo_mux.bench.js │ │ │ │ ├── kairo_repeated.bench.js │ │ │ │ ├── kairo_triangle.bench.js │ │ │ │ ├── kairo_unstable.bench.js │ │ │ │ ├── mol.bench.js │ │ │ │ └── repeated_deps.bench.js │ │ │ └── util.js │ │ └── ssr/ │ │ ├── index.js │ │ └── wrapper/ │ │ ├── App.svelte │ │ └── wrapper_bench.js │ ├── compare/ │ │ ├── index.js │ │ └── runner.js │ ├── run.js │ ├── tsconfig.json │ └── utils.js ├── documentation/ │ └── docs/ │ ├── 01-introduction/ │ │ ├── 01-overview.md │ │ ├── 02-getting-started.md │ │ ├── 03-svelte-files.md │ │ ├── 04-svelte-js-files.md │ │ └── index.md │ ├── 02-runes/ │ │ ├── 01-what-are-runes.md │ │ ├── 02-$state.md │ │ ├── 03-$derived.md │ │ ├── 04-$effect.md │ │ ├── 05-$props.md │ │ ├── 06-$bindable.md │ │ ├── 07-$inspect.md │ │ ├── 08-$host.md │ │ └── index.md │ ├── 03-template-syntax/ │ │ ├── 01-basic-markup.md │ │ ├── 02-if.md │ │ ├── 03-each.md │ │ ├── 04-key.md │ │ ├── 05-await.md │ │ ├── 06-snippet.md │ │ ├── 07-@render.md │ │ ├── 08-@html.md │ │ ├── 09-@attach.md │ │ ├── 10-@const.md │ │ ├── 11-@debug.md │ │ ├── 12-bind.md │ │ ├── 13-use.md │ │ ├── 14-transition.md │ │ ├── 15-in-and-out.md │ │ ├── 16-animate.md │ │ ├── 17-style.md │ │ ├── 18-class.md │ │ ├── 19-await-expressions.md │ │ └── index.md │ ├── 04-styling/ │ │ ├── 01-scoped-styles.md │ │ ├── 02-global-styles.md │ │ ├── 03-custom-properties.md │ │ ├── 04-nested-style-elements.md │ │ └── index.md │ ├── 05-special-elements/ │ │ ├── 01-svelte-boundary.md │ │ ├── 02-svelte-window.md │ │ ├── 03-svelte-document.md │ │ ├── 04-svelte-body.md │ │ ├── 05-svelte-head.md │ │ ├── 06-svelte-element.md │ │ ├── 07-svelte-options.md │ │ └── index.md │ ├── 06-runtime/ │ │ ├── 01-stores.md │ │ ├── 02-context.md │ │ ├── 03-lifecycle-hooks.md │ │ ├── 04-imperative-component-api.md │ │ ├── 05-hydratable.md │ │ └── index.md │ ├── 07-misc/ │ │ ├── 01-best-practices.md │ │ ├── 02-testing.md │ │ ├── 03-typescript.md │ │ ├── 04-custom-elements.md │ │ ├── 06-v4-migration-guide.md │ │ ├── 07-v5-migration-guide.md │ │ ├── 99-faq.md │ │ └── index.md │ ├── 98-reference/ │ │ ├── .generated/ │ │ │ ├── client-errors.md │ │ │ ├── client-warnings.md │ │ │ ├── compile-errors.md │ │ │ ├── compile-warnings.md │ │ │ ├── server-errors.md │ │ │ ├── server-warnings.md │ │ │ ├── shared-errors.md │ │ │ └── shared-warnings.md │ │ ├── 20-svelte.md │ │ ├── 21-svelte-action.md │ │ ├── 21-svelte-animate.md │ │ ├── 21-svelte-attachments.md │ │ ├── 21-svelte-compiler.md │ │ ├── 21-svelte-easing.md │ │ ├── 21-svelte-events.md │ │ ├── 21-svelte-legacy.md │ │ ├── 21-svelte-motion.md │ │ ├── 21-svelte-reactivity-window.md │ │ ├── 21-svelte-reactivity.md │ │ ├── 21-svelte-server.md │ │ ├── 21-svelte-store.md │ │ ├── 21-svelte-transition.md │ │ ├── 30-compiler-errors.md │ │ ├── 30-compiler-warnings.md │ │ ├── 30-runtime-errors.md │ │ ├── 30-runtime-warnings.md │ │ └── index.md │ ├── 99-legacy/ │ │ ├── 00-legacy-overview.md │ │ ├── 01-legacy-let.md │ │ ├── 02-legacy-reactive-assignments.md │ │ ├── 03-legacy-export-let.md │ │ ├── 04-legacy-$$props-and-$$restProps.md │ │ ├── 10-legacy-on.md │ │ ├── 20-legacy-slots.md │ │ ├── 21-legacy-$$slots.md │ │ ├── 22-legacy-svelte-fragment.md │ │ ├── 30-legacy-svelte-component.md │ │ ├── 31-legacy-svelte-self.md │ │ ├── 40-legacy-component-api.md │ │ └── index.md │ └── index.md ├── eslint.config.js ├── package.json ├── packages/ │ └── svelte/ │ ├── .gitignore │ ├── CHANGELOG-pre-5.md │ ├── CHANGELOG.md │ ├── README.md │ ├── compiler/ │ │ └── package.json │ ├── elements.d.ts │ ├── knip.json │ ├── messages/ │ │ ├── client-errors/ │ │ │ └── errors.md │ │ ├── client-warnings/ │ │ │ └── warnings.md │ │ ├── compile-errors/ │ │ │ ├── options.md │ │ │ ├── script.md │ │ │ ├── style.md │ │ │ └── template.md │ │ ├── compile-warnings/ │ │ │ ├── a11y.md │ │ │ ├── misc.md │ │ │ ├── options.md │ │ │ ├── script.md │ │ │ ├── style.md │ │ │ └── template.md │ │ ├── server-errors/ │ │ │ └── errors.md │ │ ├── server-warnings/ │ │ │ └── warnings.md │ │ ├── shared-errors/ │ │ │ └── errors.md │ │ └── shared-warnings/ │ │ └── warnings.md │ ├── package.json │ ├── rollup.config.js │ ├── scripts/ │ │ ├── check-treeshakeability.js │ │ ├── generate-types.js │ │ ├── generate-version.js │ │ └── process-messages/ │ │ ├── index.js │ │ └── templates/ │ │ ├── client-errors.js │ │ ├── client-warnings.js │ │ ├── compile-errors.js │ │ ├── compile-warnings.js │ │ ├── server-errors.js │ │ ├── server-warnings.js │ │ ├── shared-errors.js │ │ └── shared-warnings.js │ ├── src/ │ │ ├── action/ │ │ │ └── public.d.ts │ │ ├── ambient.d.ts │ │ ├── animate/ │ │ │ ├── index.js │ │ │ └── public.d.ts │ │ ├── attachments/ │ │ │ ├── index.js │ │ │ └── public.d.ts │ │ ├── compiler/ │ │ │ ├── errors.js │ │ │ ├── index.js │ │ │ ├── legacy.js │ │ │ ├── migrate/ │ │ │ │ └── index.js │ │ │ ├── phases/ │ │ │ │ ├── 1-parse/ │ │ │ │ │ ├── acorn.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── read/ │ │ │ │ │ │ ├── context.js │ │ │ │ │ │ ├── expression.js │ │ │ │ │ │ ├── options.js │ │ │ │ │ │ ├── script.js │ │ │ │ │ │ └── style.js │ │ │ │ │ ├── remove_typescript_nodes.js │ │ │ │ │ ├── state/ │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ ├── fragment.js │ │ │ │ │ │ ├── tag.js │ │ │ │ │ │ └── text.js │ │ │ │ │ └── utils/ │ │ │ │ │ ├── bracket.js │ │ │ │ │ ├── create.js │ │ │ │ │ ├── entities.js │ │ │ │ │ ├── fuzzymatch.js │ │ │ │ │ └── html.js │ │ │ │ ├── 2-analyze/ │ │ │ │ │ ├── css/ │ │ │ │ │ │ ├── css-analyze.js │ │ │ │ │ │ ├── css-prune.js │ │ │ │ │ │ ├── css-warn.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── types.d.ts │ │ │ │ │ ├── utils/ │ │ │ │ │ │ └── check_graph_for_cycles.js │ │ │ │ │ └── visitors/ │ │ │ │ │ ├── AnimateDirective.js │ │ │ │ │ ├── ArrowFunctionExpression.js │ │ │ │ │ ├── AssignmentExpression.js │ │ │ │ │ ├── AttachTag.js │ │ │ │ │ ├── Attribute.js │ │ │ │ │ ├── AwaitBlock.js │ │ │ │ │ ├── AwaitExpression.js │ │ │ │ │ ├── BindDirective.js │ │ │ │ │ ├── CallExpression.js │ │ │ │ │ ├── ClassBody.js │ │ │ │ │ ├── ClassDeclaration.js │ │ │ │ │ ├── ClassDirective.js │ │ │ │ │ ├── Component.js │ │ │ │ │ ├── ConstTag.js │ │ │ │ │ ├── DebugTag.js │ │ │ │ │ ├── EachBlock.js │ │ │ │ │ ├── ExportDefaultDeclaration.js │ │ │ │ │ ├── ExportNamedDeclaration.js │ │ │ │ │ ├── ExportSpecifier.js │ │ │ │ │ ├── ExpressionStatement.js │ │ │ │ │ ├── ExpressionTag.js │ │ │ │ │ ├── Fragment.js │ │ │ │ │ ├── FunctionDeclaration.js │ │ │ │ │ ├── FunctionExpression.js │ │ │ │ │ ├── HtmlTag.js │ │ │ │ │ ├── Identifier.js │ │ │ │ │ ├── IfBlock.js │ │ │ │ │ ├── ImportDeclaration.js │ │ │ │ │ ├── KeyBlock.js │ │ │ │ │ ├── LabeledStatement.js │ │ │ │ │ ├── LetDirective.js │ │ │ │ │ ├── Literal.js │ │ │ │ │ ├── MemberExpression.js │ │ │ │ │ ├── NewExpression.js │ │ │ │ │ ├── OnDirective.js │ │ │ │ │ ├── PropertyDefinition.js │ │ │ │ │ ├── RegularElement.js │ │ │ │ │ ├── RenderTag.js │ │ │ │ │ ├── SlotElement.js │ │ │ │ │ ├── SnippetBlock.js │ │ │ │ │ ├── SpreadAttribute.js │ │ │ │ │ ├── SpreadElement.js │ │ │ │ │ ├── StyleDirective.js │ │ │ │ │ ├── SvelteBody.js │ │ │ │ │ ├── SvelteBoundary.js │ │ │ │ │ ├── SvelteComponent.js │ │ │ │ │ ├── SvelteDocument.js │ │ │ │ │ ├── SvelteElement.js │ │ │ │ │ ├── SvelteFragment.js │ │ │ │ │ ├── SvelteHead.js │ │ │ │ │ ├── SvelteSelf.js │ │ │ │ │ ├── SvelteWindow.js │ │ │ │ │ ├── TaggedTemplateExpression.js │ │ │ │ │ ├── TemplateElement.js │ │ │ │ │ ├── Text.js │ │ │ │ │ ├── TitleElement.js │ │ │ │ │ ├── TransitionDirective.js │ │ │ │ │ ├── UpdateExpression.js │ │ │ │ │ ├── UseDirective.js │ │ │ │ │ ├── VariableDeclarator.js │ │ │ │ │ └── shared/ │ │ │ │ │ ├── a11y/ │ │ │ │ │ │ ├── constants.js │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── attribute.js │ │ │ │ │ ├── component.js │ │ │ │ │ ├── element.js │ │ │ │ │ ├── fragment.js │ │ │ │ │ ├── function.js │ │ │ │ │ ├── snippets.js │ │ │ │ │ ├── special-element.js │ │ │ │ │ └── utils.js │ │ │ │ ├── 3-transform/ │ │ │ │ │ ├── client/ │ │ │ │ │ │ ├── transform-client.js │ │ │ │ │ │ ├── transform-template/ │ │ │ │ │ │ │ ├── fix-attribute-casing.js │ │ │ │ │ │ │ ├── index.js │ │ │ │ │ │ │ ├── template.js │ │ │ │ │ │ │ └── types.d.ts │ │ │ │ │ │ ├── types.d.ts │ │ │ │ │ │ ├── utils.js │ │ │ │ │ │ └── visitors/ │ │ │ │ │ │ ├── AnimateDirective.js │ │ │ │ │ │ ├── ArrowFunctionExpression.js │ │ │ │ │ │ ├── AssignmentExpression.js │ │ │ │ │ │ ├── AttachTag.js │ │ │ │ │ │ ├── Attribute.js │ │ │ │ │ │ ├── AwaitBlock.js │ │ │ │ │ │ ├── AwaitExpression.js │ │ │ │ │ │ ├── BinaryExpression.js │ │ │ │ │ │ ├── BindDirective.js │ │ │ │ │ │ ├── BlockStatement.js │ │ │ │ │ │ ├── BreakStatement.js │ │ │ │ │ │ ├── CallExpression.js │ │ │ │ │ │ ├── ClassBody.js │ │ │ │ │ │ ├── Comment.js │ │ │ │ │ │ ├── Component.js │ │ │ │ │ │ ├── ConstTag.js │ │ │ │ │ │ ├── DebugTag.js │ │ │ │ │ │ ├── EachBlock.js │ │ │ │ │ │ ├── ExportNamedDeclaration.js │ │ │ │ │ │ ├── ExpressionStatement.js │ │ │ │ │ │ ├── ForOfStatement.js │ │ │ │ │ │ ├── Fragment.js │ │ │ │ │ │ ├── FunctionDeclaration.js │ │ │ │ │ │ ├── FunctionExpression.js │ │ │ │ │ │ ├── HtmlTag.js │ │ │ │ │ │ ├── Identifier.js │ │ │ │ │ │ ├── IfBlock.js │ │ │ │ │ │ ├── KeyBlock.js │ │ │ │ │ │ ├── LabeledStatement.js │ │ │ │ │ │ ├── LetDirective.js │ │ │ │ │ │ ├── MemberExpression.js │ │ │ │ │ │ ├── OnDirective.js │ │ │ │ │ │ ├── Program.js │ │ │ │ │ │ ├── RegularElement.js │ │ │ │ │ │ ├── RenderTag.js │ │ │ │ │ │ ├── SlotElement.js │ │ │ │ │ │ ├── SnippetBlock.js │ │ │ │ │ │ ├── SpreadAttribute.js │ │ │ │ │ │ ├── SvelteBody.js │ │ │ │ │ │ ├── SvelteBoundary.js │ │ │ │ │ │ ├── SvelteComponent.js │ │ │ │ │ │ ├── SvelteDocument.js │ │ │ │ │ │ ├── SvelteElement.js │ │ │ │ │ │ ├── SvelteFragment.js │ │ │ │ │ │ ├── SvelteHead.js │ │ │ │ │ │ ├── SvelteSelf.js │ │ │ │ │ │ ├── SvelteWindow.js │ │ │ │ │ │ ├── TitleElement.js │ │ │ │ │ │ ├── TransitionDirective.js │ │ │ │ │ │ ├── UpdateExpression.js │ │ │ │ │ │ ├── UseDirective.js │ │ │ │ │ │ ├── VariableDeclaration.js │ │ │ │ │ │ └── shared/ │ │ │ │ │ │ ├── component.js │ │ │ │ │ │ ├── declarations.js │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ ├── fragment.js │ │ │ │ │ │ ├── function.js │ │ │ │ │ │ ├── special_element.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── index.js │ │ │ │ │ ├── index.js │ │ │ │ │ ├── server/ │ │ │ │ │ │ ├── transform-server.js │ │ │ │ │ │ ├── types.d.ts │ │ │ │ │ │ └── visitors/ │ │ │ │ │ │ ├── AssignmentExpression.js │ │ │ │ │ │ ├── AwaitBlock.js │ │ │ │ │ │ ├── AwaitExpression.js │ │ │ │ │ │ ├── CallExpression.js │ │ │ │ │ │ ├── ClassBody.js │ │ │ │ │ │ ├── Component.js │ │ │ │ │ │ ├── ConstTag.js │ │ │ │ │ │ ├── DebugTag.js │ │ │ │ │ │ ├── EachBlock.js │ │ │ │ │ │ ├── ExpressionStatement.js │ │ │ │ │ │ ├── Fragment.js │ │ │ │ │ │ ├── HtmlTag.js │ │ │ │ │ │ ├── Identifier.js │ │ │ │ │ │ ├── IfBlock.js │ │ │ │ │ │ ├── KeyBlock.js │ │ │ │ │ │ ├── LabeledStatement.js │ │ │ │ │ │ ├── MemberExpression.js │ │ │ │ │ │ ├── Program.js │ │ │ │ │ │ ├── PropertyDefinition.js │ │ │ │ │ │ ├── RegularElement.js │ │ │ │ │ │ ├── RenderTag.js │ │ │ │ │ │ ├── SlotElement.js │ │ │ │ │ │ ├── SnippetBlock.js │ │ │ │ │ │ ├── SpreadAttribute.js │ │ │ │ │ │ ├── SvelteBoundary.js │ │ │ │ │ │ ├── SvelteComponent.js │ │ │ │ │ │ ├── SvelteElement.js │ │ │ │ │ │ ├── SvelteFragment.js │ │ │ │ │ │ ├── SvelteHead.js │ │ │ │ │ │ ├── SvelteSelf.js │ │ │ │ │ │ ├── TitleElement.js │ │ │ │ │ │ ├── UpdateExpression.js │ │ │ │ │ │ ├── VariableDeclaration.js │ │ │ │ │ │ └── shared/ │ │ │ │ │ │ ├── component.js │ │ │ │ │ │ ├── element.js │ │ │ │ │ │ └── utils.js │ │ │ │ │ ├── shared/ │ │ │ │ │ │ ├── assignments.js │ │ │ │ │ │ └── transform-async.js │ │ │ │ │ ├── types.d.ts │ │ │ │ │ └── utils.js │ │ │ │ ├── bindings.js │ │ │ │ ├── css.js │ │ │ │ ├── nodes.js │ │ │ │ ├── patterns.js │ │ │ │ ├── scope.js │ │ │ │ └── types.d.ts │ │ │ ├── preprocess/ │ │ │ │ ├── decode_sourcemap.js │ │ │ │ ├── index.js │ │ │ │ ├── legacy-public.d.ts │ │ │ │ ├── private.d.ts │ │ │ │ ├── public.d.ts │ │ │ │ └── replace_in_code.js │ │ │ ├── print/ │ │ │ │ ├── index.js │ │ │ │ └── types.d.ts │ │ │ ├── private.d.ts │ │ │ ├── public.d.ts │ │ │ ├── state.js │ │ │ ├── types/ │ │ │ │ ├── css.d.ts │ │ │ │ ├── index.d.ts │ │ │ │ ├── legacy-interfaces.d.ts │ │ │ │ ├── legacy-nodes.d.ts │ │ │ │ └── template.d.ts │ │ │ ├── utils/ │ │ │ │ ├── assert.js │ │ │ │ ├── ast.js │ │ │ │ ├── builders.js │ │ │ │ ├── compile_diagnostic.js │ │ │ │ ├── extract_svelte_ignore.js │ │ │ │ ├── mapped_code.js │ │ │ │ ├── push_array.js │ │ │ │ ├── sanitize_template_string.js │ │ │ │ ├── slot.js │ │ │ │ └── string.js │ │ │ ├── validate-options.js │ │ │ └── warnings.js │ │ ├── constants.js │ │ ├── easing/ │ │ │ └── index.js │ │ ├── escaping.js │ │ ├── events/ │ │ │ ├── index.js │ │ │ └── public.d.ts │ │ ├── html-tree-validation.js │ │ ├── index-client.js │ │ ├── index-server.js │ │ ├── index.d.ts │ │ ├── internal/ │ │ │ ├── client/ │ │ │ │ ├── constants.js │ │ │ │ ├── context.js │ │ │ │ ├── dev/ │ │ │ │ │ ├── assign.js │ │ │ │ │ ├── console-log.js │ │ │ │ │ ├── css.js │ │ │ │ │ ├── debug.js │ │ │ │ │ ├── elements.js │ │ │ │ │ ├── equality.js │ │ │ │ │ ├── hmr.js │ │ │ │ │ ├── inspect.js │ │ │ │ │ ├── legacy.js │ │ │ │ │ ├── ownership.js │ │ │ │ │ ├── tracing.js │ │ │ │ │ └── validation.js │ │ │ │ ├── dom/ │ │ │ │ │ ├── blocks/ │ │ │ │ │ │ ├── async.js │ │ │ │ │ │ ├── await.js │ │ │ │ │ │ ├── boundary.js │ │ │ │ │ │ ├── branches.js │ │ │ │ │ │ ├── css-props.js │ │ │ │ │ │ ├── each.js │ │ │ │ │ │ ├── html.js │ │ │ │ │ │ ├── if.js │ │ │ │ │ │ ├── key.js │ │ │ │ │ │ ├── slot.js │ │ │ │ │ │ ├── snippet.js │ │ │ │ │ │ ├── svelte-component.js │ │ │ │ │ │ ├── svelte-element.js │ │ │ │ │ │ └── svelte-head.js │ │ │ │ │ ├── css.js │ │ │ │ │ ├── elements/ │ │ │ │ │ │ ├── actions.js │ │ │ │ │ │ ├── attachments.js │ │ │ │ │ │ ├── attributes.js │ │ │ │ │ │ ├── bindings/ │ │ │ │ │ │ │ ├── document.js │ │ │ │ │ │ │ ├── input.js │ │ │ │ │ │ │ ├── media.js │ │ │ │ │ │ │ ├── navigator.js │ │ │ │ │ │ │ ├── props.js │ │ │ │ │ │ │ ├── select.js │ │ │ │ │ │ │ ├── shared.js │ │ │ │ │ │ │ ├── size.js │ │ │ │ │ │ │ ├── this.js │ │ │ │ │ │ │ ├── universal.js │ │ │ │ │ │ │ └── window.js │ │ │ │ │ │ ├── class.js │ │ │ │ │ │ ├── custom-element.js │ │ │ │ │ │ ├── customizable-select.js │ │ │ │ │ │ ├── events.js │ │ │ │ │ │ ├── misc.js │ │ │ │ │ │ ├── style.js │ │ │ │ │ │ └── transitions.js │ │ │ │ │ ├── hydration.js │ │ │ │ │ ├── legacy/ │ │ │ │ │ │ ├── event-modifiers.js │ │ │ │ │ │ ├── lifecycle.js │ │ │ │ │ │ └── misc.js │ │ │ │ │ ├── operations.js │ │ │ │ │ ├── reconciler.js │ │ │ │ │ ├── task.js │ │ │ │ │ ├── template.js │ │ │ │ │ └── types.d.ts │ │ │ │ ├── error-handling.js │ │ │ │ ├── errors.js │ │ │ │ ├── hydratable.js │ │ │ │ ├── index.js │ │ │ │ ├── legacy.js │ │ │ │ ├── loop.js │ │ │ │ ├── proxy.js │ │ │ │ ├── proxy.test.ts │ │ │ │ ├── reactivity/ │ │ │ │ │ ├── async.js │ │ │ │ │ ├── batch.js │ │ │ │ │ ├── deriveds.js │ │ │ │ │ ├── effects.js │ │ │ │ │ ├── equality.js │ │ │ │ │ ├── props.js │ │ │ │ │ ├── sources.js │ │ │ │ │ ├── status.js │ │ │ │ │ ├── store.js │ │ │ │ │ ├── types.d.ts │ │ │ │ │ └── utils.js │ │ │ │ ├── render.js │ │ │ │ ├── runtime.js │ │ │ │ ├── timing.js │ │ │ │ ├── types.d.ts │ │ │ │ ├── validate.js │ │ │ │ └── warnings.js │ │ │ ├── disclose-version.js │ │ │ ├── flags/ │ │ │ │ ├── async.js │ │ │ │ ├── index.js │ │ │ │ ├── legacy.js │ │ │ │ └── tracing.js │ │ │ ├── index.js │ │ │ ├── server/ │ │ │ │ ├── abort-signal.js │ │ │ │ ├── blocks/ │ │ │ │ │ ├── html.js │ │ │ │ │ └── snippet.js │ │ │ │ ├── context.js │ │ │ │ ├── crypto.js │ │ │ │ ├── crypto.test.ts │ │ │ │ ├── dev.js │ │ │ │ ├── errors.js │ │ │ │ ├── hydratable.js │ │ │ │ ├── hydration.js │ │ │ │ ├── index.js │ │ │ │ ├── render-context.js │ │ │ │ ├── renderer.js │ │ │ │ ├── renderer.test.ts │ │ │ │ ├── types.d.ts │ │ │ │ └── warnings.js │ │ │ ├── shared/ │ │ │ │ ├── attributes.js │ │ │ │ ├── clone.js │ │ │ │ ├── clone.test.ts │ │ │ │ ├── dev.js │ │ │ │ ├── errors.js │ │ │ │ ├── types.d.ts │ │ │ │ ├── utils.js │ │ │ │ ├── validate.js │ │ │ │ └── warnings.js │ │ │ └── types.d.ts │ │ ├── legacy/ │ │ │ ├── legacy-client.js │ │ │ └── legacy-server.js │ │ ├── motion/ │ │ │ ├── index.js │ │ │ ├── private.d.ts │ │ │ ├── public.d.ts │ │ │ ├── spring.js │ │ │ ├── tweened.js │ │ │ └── utils.js │ │ ├── reactivity/ │ │ │ ├── create-subscriber.js │ │ │ ├── date.js │ │ │ ├── date.test.ts │ │ │ ├── index-client.js │ │ │ ├── index-server.js │ │ │ ├── map.js │ │ │ ├── map.test.ts │ │ │ ├── media-query.js │ │ │ ├── reactive-value.js │ │ │ ├── set.js │ │ │ ├── set.test.ts │ │ │ ├── url-search-params.js │ │ │ ├── url-search-params.test.ts │ │ │ ├── url.js │ │ │ ├── url.test.ts │ │ │ └── window/ │ │ │ └── index.js │ │ ├── server/ │ │ │ ├── index.d.ts │ │ │ └── index.js │ │ ├── store/ │ │ │ ├── index-client.js │ │ │ ├── index-server.js │ │ │ ├── private.d.ts │ │ │ ├── public.d.ts │ │ │ ├── shared/ │ │ │ │ └── index.js │ │ │ └── utils.js │ │ ├── transition/ │ │ │ ├── index.js │ │ │ └── public.d.ts │ │ ├── utils.js │ │ └── version.js │ ├── svelte-html.d.ts │ ├── tests/ │ │ ├── .gitignore │ │ ├── README.md │ │ ├── animation-helpers.js │ │ ├── compiler-errors/ │ │ │ ├── samples/ │ │ │ │ ├── attribute-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-sequence-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-sequence-expression-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unique/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unique-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unique-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unique-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unique-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── catch-before-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── catch-without-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-field-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── comment-unclosed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-invalid-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-duplicate-error-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-error-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-error-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-cyclical/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-sequence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-snippet-invalid-reference-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-snippet-invalid-reference-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-combinator-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-declaration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-in-pseudoclass/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-multiple-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-block-multiple-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-modifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-modifier-start-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-global-modifier-start-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-nesting-selector-root/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dollar-binding-declaration-legacy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dollar-binding-declaration-runes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dollar-binding-declaration-runes-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dollar-binding-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dollar-binding-global-js/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── dollar-binding-import/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-binding-invalid/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-key-without-as/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-active-rune/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── element-invalid-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-before-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-before-closing-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-before-closing-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-if-before-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-if-before-closing-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── else-if-without-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-attribute-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-classname-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-directive-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── export-default-derived-state-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-default-state-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-derived-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-derived-state-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-not-defined-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── export-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-state-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── export-state-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── illegal-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalid-arguments-usage/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalid-rune-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── invalid-rune-name-shadowed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── invalid-snippet-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalid-snippet-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-no-const-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-no-const-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── malformed-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── malformed-snippet-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── multiple-styles/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── options-children/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustaches-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── render-tag-invalid-call/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-before-after-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-bindable-not-called/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-duplicate-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-export-let/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-export-named-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-invalid-each-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-invalid-each-binding-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-invalid-each-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-module-store-subscription/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-no-const-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-no-const-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-no-rune-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-props-illegal-name-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-props-illegal-name-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-props-not-called/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-wrong-bindable-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-wrong-bindable-placement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-derived-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-derived-placement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-effect-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-effect-placement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-host-placement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-props-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-wrong-props-placement-instance/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-wrong-props-placement-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-state-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-state-placement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-state-raw-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── runes-wrong-state-snapshot-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── script-unclosed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── script-unclosed-eof/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── self-reference/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-conflicting-with-render-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-children-conflict/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-invalid-export/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-rest-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-autosub-context-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-contextual/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-global-disallowed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-prevent-user-declarations/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-shadow-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-shadow-scope-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-shadow-scope-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-template-expression-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── style-unclosed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── style-unclosed-eof/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-internal-import/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── main.svelte.js │ │ │ │ ├── svelte-selfdestructive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── then-before-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── then-without-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unbalanced-curly-component/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unbalanced-curly-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unclosed-attribute-self-close-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unexpected-end-of-input/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unexpected-end-of-input-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unexpected-end-of-input-c/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unexpected-end-of-input-d/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unmatched-closing-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unmatched-closing-tag-autoclose/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unmatched-closing-tag-autoclose-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── void-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-children/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-duplicate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-inside-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── window-inside-element/ │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── css/ │ │ │ ├── samples/ │ │ │ │ ├── animations/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── at-layer/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── at-rule-nested-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-bind/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-case-sensitive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-details-open/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-dialog-open/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-html-case-insensitive/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-matches-derictive/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-only-name/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-unquoted/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── attribute-selector-word-arbitrary-whitespace/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── basic/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── child-combinator/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── class-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── clsx-can-prune/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── clsx-cannot-prune-1/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── clsx-cannot-prune-2/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── clsx-cannot-prune-3/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── combinator-child/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── comment-html/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── comment-repeated/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── comments-after-last-selector/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── container-query/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── css-prune-edge-cases/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── css-vars/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── custom-css-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── descendant-selector-non-top-level-outer/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── descendant-selector-unmatched/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── directive-special-character/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── double-hyphen/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── dynamic-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── dynamic-element-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── empty-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── empty-rule/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── empty-rule-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-await-not-exhaustive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-each/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-each-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-each-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-each-else-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-each-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-former-element-in-slot/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-if-not-exhaustive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-if-not-exhaustive-with-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-nested-slots/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-nested-slots-flattened/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-render-tag/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-rendertag-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-selects-slot-fallback/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-slot/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-slot-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-slots-between/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-star/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── general-siblings-combinator-svelteelement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-keyframes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-keyframes-with-no-elements/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-local/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-local-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-nested-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-child-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-child-combinator-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-data-attribute/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-nesting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-root/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── global-with-unused-descendant/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── has/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── has-with-render-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── host/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── is/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── keyframes/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── keyframes-autoprefixed/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── keyframes-from-to/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── local-inside-global/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── media-query/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── media-query-word/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── nested-css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── nested-css-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── nesting-selectors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── not-selector/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── not-selector-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-contains/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-equals/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-equals-case-insensitive/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-equals-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-pipe-equals/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-prefix/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-suffix/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-attribute-selector-word-equals/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-class-dynamic/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-class-static/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant-global-inner/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant-global-inner-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant-global-inner-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant-global-outer/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-descendant-global-outer-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-global-children/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-global-descendants/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-id/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-multiple-descendants/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-whitespace/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── omit-scoping-attribute-whitespace-multiple/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── preserve-specificity/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── pseudo-element/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── quote-mark-inside-string/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── render-tag-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── root/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── selectedcontent/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── selector-list/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-await-not-exhaustive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-component/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-component-default-snippet/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-component-named-snippet/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-each/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-each-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-each-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-each-else-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-each-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-former-element-in-slot/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-if-not-exhaustive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-if-not-exhaustive-with-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-missing-fallback/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-nested-slots/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-nested-slots-flattened/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-render-tag/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-selects-slot-fallback/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-slot/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-slot-named-between-default/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-slots-between/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-star/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── siblings-combinator-with-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── snippets/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── snippets-elements/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── special-characters/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── spread/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-charset/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-font-face/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-import/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-namespace/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-nested-page/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-page/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── supports-query/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── undefined-with-scope/ │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── unicode-identifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── universal-selector/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unknown-at-rule/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unknown-at-rule-with-following-rules/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-nested-at-rule/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-child-combinator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-empty-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-in-between/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-leading/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-string-concat/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-ternary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ ├── expected.html │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-ternary-bailed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-ternary-concat/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-ternary-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-selector-trailing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── unused-ts-as-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ ├── view-transition/ │ │ │ │ │ ├── expected.css │ │ │ │ │ └── input.svelte │ │ │ │ └── weird-selectors/ │ │ │ │ ├── expected.css │ │ │ │ └── input.svelte │ │ │ └── test.ts │ │ ├── css-parse.test.ts │ │ ├── helpers.js │ │ ├── html_equal.js │ │ ├── hydration/ │ │ │ ├── samples/ │ │ │ │ ├── basic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-pending-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── claim-comment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── claim-static/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── claim-text/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── Layout.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── cloudflare-mirage-borking/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _override.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── cloudflare-mirage-borking-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _override.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-in-element/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-props-hmr/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-element-with-settable-only-property/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-text-changed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-text-nil/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-0-on-server-more-on-client/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-arg-clash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-fallback-mismatch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-less-nodes-on-client/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-more-nodes-on-client/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-else/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-preserve-whitespace/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-text-only/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-attribute-added/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-attribute-changed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-attribute-removed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-attribute-unchanged/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-attribute-unchanged-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-dir-attribute-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-nested-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-ref/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── expression-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-html-and-component/ │ │ │ │ │ ├── HeadNested.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-meta-hydrate-duplicate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-missing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ ├── _override_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-hydration/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-anchor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-mismatch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-mismatch-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-mismatched-href/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── img-src-mismatch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── input-checked-attribute-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── input-value-changed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── no-reset-debug/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── no-reset-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── noscript/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── optgroup-rich-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── option-rich-content-continues/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── option-rich-content-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── pre-first-node-newline/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mismatch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mismatch-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.client.svelte │ │ │ │ │ └── main.server.svelte │ │ │ │ ├── raw-repair/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-with-empty-line-at-top/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── removes-undefined-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── repair-mismatched-a-href/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── repairs-apparent-static-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rich-select/ │ │ │ │ │ ├── Option.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── safari-borking/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _override.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── safari-borking-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _override.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-raw-hydrate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── standalone-component/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── standalone-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── surrounding-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _override.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-empty-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-fallback/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── top-level-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── whitespace-at-block-start/ │ │ │ │ ├── Nested.svelte │ │ │ │ ├── _config.js │ │ │ │ ├── _expected.html │ │ │ │ ├── _override.html │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── manual/ │ │ │ └── each-stress-test/ │ │ │ └── main.svelte │ │ ├── migrate/ │ │ │ ├── samples/ │ │ │ │ ├── $$slots-used-as-variable/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── $$slots-used-as-variable-$$props/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── accessors/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── css-ignore/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── derivations/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── each-block-const/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── effects/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── effects-with-alias-run/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── event-handlers/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── event-handlers-with-alias/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── export-props-multiple-declarations/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── import-type-$-prefix/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$bindable-bindable-var-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$derived-derived-var-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$derived-derived-var-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$derived-derived-var-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$derived-derived-var-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$props-props-var-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$state-state-var-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$state-state-var-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-$state-state-var-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-beforeUpdate-afterUpdate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-prop-and-$$props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-prop-non-identifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-slot-change-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-slot-non-identifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── impossible-migrate-with-errors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── is-not-where-has/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── jsdoc-with-comments/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── labeled-statement-reassign-state/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── named-slots/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── not-blank-css-if-error/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── not-prepend-props-to-export-let/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-and-labeled/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-export-alias/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-interface/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-rest-props/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-rest-props-jsdoc/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-rest-props-ts/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── props-ts/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reactive-statements-inner-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reactive-statements-reorder-1/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reactive-statements-reorder-2/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reactive-statements-reorder-not-deleting-additions/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reactive-statements-reorder-with-comments/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── reassigned-deriveds/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── remove-blocks-whitespace/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── script-context-module/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── self-closing-elements/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── self-closing-named-slot/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── shadowed-forwarded-slot/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── single-assignment-labeled/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-dont-mess-with-attributes/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-non-identifier/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-shadow-props/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-usages/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-use_ts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-use_ts-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-use_ts-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slots/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slots-below-imports/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slots-custom-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slots-multiple/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slots-with-$$props/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── state-and-derivations-sequence/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── state-no-initial/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── state-ts/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-component/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-ignore/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-self/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-self-name-conflict/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-self-skip-filename/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── unused-beforeUpdate-afterUpdate/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ └── unused-beforeUpdate-afterUpdate-extra-imports/ │ │ │ │ ├── input.svelte │ │ │ │ └── output.svelte │ │ │ └── test.ts │ │ ├── motion/ │ │ │ └── test.ts │ │ ├── parser-legacy/ │ │ │ ├── samples/ │ │ │ │ ├── action/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── action-duplicate/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── action-with-call/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── action-with-identifier/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── action-with-literal/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── animation/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-class-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-containing-solidus/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-curly-bracket/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-dynamic/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-dynamic-boolean/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-empty/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-escaped/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-multiple/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-shorthand/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-static/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-static-boolean/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-style/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-style-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-style-directive-modifiers/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-style-directive-shorthand/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-style-directive-string/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-unquoted/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── attribute-with-whitespace/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── await-catch/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── await-then-catch/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── binding/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── binding-shorthand/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── comment/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── comment-with-ignores/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── component-dynamic/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── convert-entities/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── convert-entities-in-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── css/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── dynamic-element-string/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── dynamic-element-variable/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── dynamic-import/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-destructured/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-else/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-indexed/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-keyed/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── element-with-attribute/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── element-with-attribute-empty-string/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── element-with-mustache/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── element-with-text/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── elements/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── event-handler/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── generic-snippets/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block-else/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block-elseif/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── implicitly-closed-li/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── implicitly-closed-li-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── javascript-comments/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-invalid-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-invalid-expression/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-unclosed-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-unclosed-open-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-unclosed-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── nbsp/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── no-error-if-before-closing/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── raw-mustaches/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── refs/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── script/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── script-attribute-with-curly-braces/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── script-comment-only/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── script-context-module-unquoted/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── self-closing-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── self-reference/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── slotted-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── space-between-mustaches/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── spread/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── style-inside-head/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── textarea-children/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── textarea-end-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── transition-intro/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── transition-intro-no-params/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── unusual-identifier/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── whitespace-after-script-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── whitespace-after-style-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── whitespace-leading-trailing/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ └── whitespace-normal/ │ │ │ │ ├── input.svelte │ │ │ │ └── output.json │ │ │ └── test.ts │ │ ├── parser-modern/ │ │ │ ├── samples/ │ │ │ │ ├── attachments/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── comment-before-function-binding/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── comment-before-script/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── comment-in-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── css-nth-syntax/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── css-pseudo-classes/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-object-pattern/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── each-block-object-pattern-special-characters/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── generic-snippets/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block-else/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── if-block-elseif/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-invalid-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-invalid-expression/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-unclosed-open-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-unclosed-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── loose-valid-each-as/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── options/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── script-style-no-markup/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── semicolon-inside-quotes/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── snippets/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ ├── template-shadowroot/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.json │ │ │ │ └── typescript-in-event-handler/ │ │ │ │ ├── input.svelte │ │ │ │ └── output.json │ │ │ └── test.ts │ │ ├── preprocess/ │ │ │ ├── samples/ │ │ │ │ ├── attributes-with-closing-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── attributes-with-equals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── comments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── empty-sourcemap/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── filename/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── ignores-null/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── markup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── multiple-preprocessors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── partial-names/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected_map.json │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── script-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── script-self-closing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected_map.json │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style-attributes-modified/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected_map.json │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style-attributes-modified-longer/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── expected_map.json │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ └── style-self-closing/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── output.svelte │ │ │ └── test.ts │ │ ├── print/ │ │ │ ├── samples/ │ │ │ │ ├── animate-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── attach-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── attribute/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── await-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── bind-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── block-element-separation/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── class-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── comment/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── component/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── const-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── each-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── expression-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── formatting/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── html-document/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── html-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── if-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── key-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── let-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── on-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── regular-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── render-tag/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── script/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── slot-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── snippet-block/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── spread-attribute/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── style-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-boundary/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-component/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-document/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-element/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-fragment/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-head/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-options/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-self/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── svelte-window/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── text/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ ├── transition-directive/ │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── output.svelte │ │ │ │ └── use-directive/ │ │ │ │ ├── input.svelte │ │ │ │ └── output.svelte │ │ │ └── test.ts │ │ ├── runtime-browser/ │ │ │ ├── assert.js │ │ │ ├── custom-elements-samples/ │ │ │ │ ├── $$props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── $$slot/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── $$slot-dynamic-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── my-widget.svelte │ │ │ │ ├── action/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── camel-case-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ce-options-valid/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── closed-shadow-dom/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-method/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-sequence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-effect-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── events/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── events-slotted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── extend-with-ts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── extended-builtin/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── custom-button.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── host-rune/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── host-rune-access-injected-css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-slots/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── late-ce-mount/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── new-styled/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── no-shadow-dom/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── no-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── no-tag-ce-options/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── oncreate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── propagate-prop-changes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── my-widget.svelte │ │ │ │ ├── props-rune-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── my-widget.svelte │ │ │ │ ├── reflect-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── my-widget.svelte │ │ │ │ ├── reflect-attributes-add-remove/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-property-before-mounted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── shadow-root-init-options/ │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ ├── driver-ssr.js │ │ │ ├── driver.js │ │ │ ├── samples/ │ │ │ │ ├── bind-muted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-playbackrate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-volume/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-files/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-width-height-initialize/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-width-height-this-timing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── log.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── browser-events-ending-with-capture/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-css-custom-properties/ │ │ │ │ │ ├── Slider.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-css-custom-properties-dynamic/ │ │ │ │ │ ├── Slider.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-css-custom-properties-dynamic-svg/ │ │ │ │ │ ├── Svg.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-event-handler-contenteditable-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-binding-dimensions/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-props-dynamic-component/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-custom-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fine-grained-hydration-clean-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-scripts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-script-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydrate-large-text-node/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-important/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-precedence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-update-with-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mount-in-iframe/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── GrandChild.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── sole-script-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-component-css-custom-properties/ │ │ │ │ │ ├── Slider1.svelte │ │ │ │ │ ├── Slider2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-component-css-custom-properties-dynamic/ │ │ │ │ │ ├── Slider.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-component-css-custom-properties2/ │ │ │ │ │ ├── Slider1.svelte │ │ │ │ │ ├── Slider2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-self-css-custom-properties/ │ │ │ │ │ ├── Slider1.svelte │ │ │ │ │ ├── Slider2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-self-css-custom-properties-dynamic/ │ │ │ │ │ ├── Slider.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── svelte-self-css-custom-properties2/ │ │ │ │ ├── Slider1.svelte │ │ │ │ ├── Slider2.svelte │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ ├── test-ssr.ts │ │ │ └── test.ts │ │ ├── runtime-legacy/ │ │ │ ├── samples/ │ │ │ │ ├── action/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-body/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-component/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── action-custom-event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-custom-event-handler-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-custom-event-handler-in-each-destructured/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-custom-event-handler-node-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-custom-event-handler-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-custom-event-handler-with-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-document/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-object-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-receives-element-mounted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-ternary-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-update-before-destroy/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── after-render-prevents-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── after-render-triggers-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-flip/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-flip-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-js/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-js-delay/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── animation-js-easing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── apply-directives-in-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── apply-directives-in-order-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── array-literal-spread-deopt/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── array-rest-is-array-or-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-in-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-to-computed-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-to-const1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-to-const2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-generator-object-methods/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-in-mutated-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-after-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-case-insensitive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-hidden/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-indeterminate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-inert/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-true/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-with-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-casing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-casing-custom-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-custom-element-inheritance/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dataset-without-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic-no-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic-quotemarks/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic-type/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-empty-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-microdata/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-namespaced/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-classname-no-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-classname-with-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-classnames-no-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-classnames-with-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-func-classname-no-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-func-classname-with-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-func-classnames-no-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-null-func-classnames-with-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-partial-number/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-prefer-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-static-at-symbol/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-static-boolean/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-static-quotemarks/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-unknown-without-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-url/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── autofocus/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── autofocus-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── autofocus-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-block-func-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-catch-no-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-catch-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-component-oncreate/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-conservative-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sleep.js │ │ │ │ ├── await-containing-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-function-promise/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-in-dynamic-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-in-removed-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-mount-and-unmount-immediately/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-mutate-array/ │ │ │ │ │ ├── Card.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-set-simultaneous/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-set-simultaneous-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-blowback-reactive/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-anchor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-in-slot/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-no-values/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-non-promise/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-catch-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-array-nested-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-computed-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-default/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-number-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-object-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-destruct-string-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-no-context/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-no-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-shadowed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-then-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-with-components/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-with-update/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-with-update-2/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-with-update-catch-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-without-catch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── before-render-chain/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── List.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── before-render-chain-2/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── before-render-prevents-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-export-const-with-spread/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-backflow/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-circular/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-contenteditable-html/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-contenteditable-html-initial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-contenteditable-innertext/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-contenteditable-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-contenteditable-text-initial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-details-open/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-focused/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-indirect-computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-indirect-fn/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-indirect-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-indirect-value/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-deep-contextual/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-deep-contextual-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-group-outside-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-indeterminate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-checkbox-with-event-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-duplicate-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-10/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-11/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-12/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-13/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-14/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-15/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-16/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-7/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-8/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-each-9/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-if-gh-8372-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-if-gh-8372-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-group-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-member-expression-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-number/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-number-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-radio-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-range/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-range-change-with-max/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-contextual/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-contextual-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-contextual-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-contextual-reactive-prop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deep-computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deep-computed-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deep-contextual/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-deep-contextual-computed-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-text-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-input-with-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-member-expression-no-warning/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-no-unnecessary-invalidation/ │ │ │ │ │ ├── Tab.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-from-let/ │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-from-let-2/ │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-implicit-option-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-in-each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-in-yield/ │ │ │ │ │ ├── Modal.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-initial-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-initial-value-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-initial-value-undefined-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-initial-value-undefined-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-late/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-late-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-late-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-late-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-null-placeholder/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-null-placeholder-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-optgroup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-reactive-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-unmatched/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-unmatched-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-select-unmatched-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-store-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-store-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-textarea/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-and-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-component-computed-key/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-component-each-block/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-component-each-block-value/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-component-reactive/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-block-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-block-property-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-block-property-component/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-object-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-each-object-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-element-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-element-reactive-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-legacy-component-api/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── binding-this-member-expression-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-no-innerhtml/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-unset/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-this-with-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-using-props/ │ │ │ │ │ ├── TextInput.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-value-prop/ │ │ │ │ │ ├── Field.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-before-onmount/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-coalesced/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-global-dependency/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-if-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot/ │ │ │ │ │ ├── Echo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot-2/ │ │ │ │ │ ├── Echo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot-3/ │ │ │ │ │ ├── Echo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot-4/ │ │ │ │ │ ├── Echo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot-5/ │ │ │ │ │ ├── Echo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bitmask-overflow-slot-6/ │ │ │ │ │ ├── Slotted.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── block-expression-assign/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── block-expression-fn-call/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── block-expression-member-access/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-boolean/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-helper/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-shortcut/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-shortcut-with-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-shortcut-with-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-with-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-with-dynamic-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-with-dynamic-attribute-and-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-with-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-with-spread-and-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-accessors/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-aliased/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback-b/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback-c/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback-d/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback-e/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-blowback-f/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-computed/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-conditional/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Baz.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-conditional-b/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Baz.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-deep/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-deep2/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each-nested/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each-object/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each-reassigned/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each-remount-keyed/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── InnerChild.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-each-remount-unkeyed/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── InnerChild.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-infinite-loop/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── C.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-nested/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Baz.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-non-leaky/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-onMount/ │ │ │ │ │ ├── Mount.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-parent-supercedes-child/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-parent-supercedes-child-b/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-parent-supercedes-child-c/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-private-state/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-reactive-property-no-extra-call/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-reactive-statement/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-self-destroying/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-store/ │ │ │ │ │ ├── Input.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-dynamic/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-dynamic-late/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-dynamic-shorthand/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-empty/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-static/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-static-boolean/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-static-boolean-regression/ │ │ │ │ │ ├── Link.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-event-handler-dynamic/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-event-handler-modifier-once/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-event-handler-modifier-once-dynamic/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-event-not-stale/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events-console/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events-data/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events-each/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events-nullish/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-events-this/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-if-placement/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-name-deconflicted/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-name-deconflicted-globals/ │ │ │ │ │ ├── Countdown.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-namespace/ │ │ │ │ │ ├── Tooltip.svelte │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-namespaced/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── components.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-nested-deep/ │ │ │ │ │ ├── Level1.svelte │ │ │ │ │ ├── Level2.svelte │ │ │ │ │ ├── Level3.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-nested-deeper/ │ │ │ │ │ ├── Level1.svelte │ │ │ │ │ ├── Level2.svelte │ │ │ │ │ ├── Level3.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-not-constructor/ │ │ │ │ │ ├── Sub.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-not-constructor2/ │ │ │ │ │ ├── Sub.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-not-void/ │ │ │ │ │ ├── Link.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-prop-object/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-props-added/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-props-mutated/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-ref/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-shorthand-import/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-attribute-order/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-chained/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-component-named/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-component-named-b/ │ │ │ │ │ ├── Hello.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-component-named-c/ │ │ │ │ │ ├── Hello.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── World.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-context-props-each/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-context-props-each-nested/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-context-props-let/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-default/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-default-in-each/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-dynamic/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-each-block/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-empty/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-empty-b/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback-2/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── store.svelte │ │ │ │ ├── component-slot-fallback-3/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback-4/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback-5/ │ │ │ │ │ ├── IconA.svelte │ │ │ │ │ ├── IconB.svelte │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback-6/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-fallback-empty/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-if-block/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-if-block-before-node/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-if-else-block-before-node/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-aliased/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-b/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-c/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-d/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-destructured/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-destructured-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-e/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-f/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-g/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-in-binding/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-in-slot/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-in-slot-2/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-inline-function/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-missing-prop/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-mutated/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-named/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-named-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── SlotInner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-scope/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-scope-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-scope-3/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-scope-4/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── Nested2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-scope-5/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── Nested2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-let-static/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-name-with-hyphen/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-named/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-named-b/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-named-c/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-named-scope/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-names-sanitized/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-component/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-if/ │ │ │ │ │ ├── Display.svelte │ │ │ │ │ ├── Input.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-in-element/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-nested-in-slot/ │ │ │ │ │ ├── One.svelte │ │ │ │ │ ├── Two.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-slot/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── Forward.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-spread/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-spread-props/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-static-and-dynamic/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-slot-used-with-default-event/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-static-at-symbol/ │ │ │ │ │ ├── Email.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment/ │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-aliased/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-b/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-c/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-d/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-destructured/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-destructured-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-e/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-f/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-in-binding/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-in-slot/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-named/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-let-static/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-svelte-fragment-nested/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-template-inline-mutation/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-follows-element/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-if/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-multiple-in-each/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-multiple-in-if/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-nested-if/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-parent/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-placement/ │ │ │ │ │ ├── Modal.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield-static/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then-destructuring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then-destructuring-computed-in-computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then-destructuring-computed-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then-destructuring-literals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-await-then-destructuring-nested-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-component/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-component-without-let/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-depends-on-const-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-arrow/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-destructure/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-destructure-computed-in-computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-destructure-computed-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-destructure-literals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-destructure-nested-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-duplicated-variable1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-duplicated-variable2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-duplicated-variable3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-each-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-func-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-if-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-if-else-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-if-else-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-invalidate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-ordering/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-shadow/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-shadow-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── constructor-prefer-passed-context/ │ │ │ │ │ ├── ChildComponent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-api/ │ │ │ │ │ ├── Tab.svelte │ │ │ │ │ ├── TabList.svelte │ │ │ │ │ ├── TabPanel.svelte │ │ │ │ │ ├── Tabs.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-api-b/ │ │ │ │ │ ├── Leaf.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-api-c/ │ │ │ │ │ ├── Leaf.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-api-d/ │ │ │ │ │ ├── Leaf.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-in-await/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-in-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-setcontext-return/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── contextual-callback/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── contextual-callback-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-comments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-space-in-attribute/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-vars-escape/ │ │ │ │ │ ├── Sub.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-method/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-anchor/ │ │ │ │ │ ├── Anchor.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-block-methods/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-builtins/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── get.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-builtins-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-component-name-with-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-component-name-with-module-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-component-refs/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-contexts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-contextual-action/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── util.js │ │ │ │ ├── deconflict-contextual-bind/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-ctx/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-elements-indexes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-globals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-non-helpers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── module.js │ │ │ │ ├── deconflict-self/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── nested/ │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-spread-i/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-template-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── module.js │ │ │ │ ├── deconflict-template-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-template-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-template-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-value/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deconflict-vars/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── default-data/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── default-data-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── default-data-override/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destroy-twice/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-assignment-pattern-with-object-pattern/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-props-1/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-props-2/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-props-3/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-props-4/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructured-props-5/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructuring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructuring-assignment-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructuring-between-exports/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructuring-one-value-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dev-warning-each-block-require-arraylike/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dev-warning-readonly-computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── document-binding-active/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── document-binding-fullscreen/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── document-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-bindings/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-bindings-recreated/ │ │ │ │ │ ├── Green.svelte │ │ │ │ │ ├── Red.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-bindings-recreated-b/ │ │ │ │ │ ├── Green.svelte │ │ │ │ │ ├── Red.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-destroy-null/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-dirty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-evals-props-once/ │ │ │ │ │ ├── Comp1.svelte │ │ │ │ │ ├── Comp2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-events/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-in-if/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-in-if-initial-falsy/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-inside-element/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-nulled-out/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-nulled-out-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-ref/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-slot/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Baz.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-spread-props/ │ │ │ │ │ ├── Comp1.svelte │ │ │ │ │ ├── Comp2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-this/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-update-existing-instance/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-action-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-animation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-animation-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-attribute-boolean/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-attribute-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-binding-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-change-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-class-directive/ │ │ │ │ │ ├── Link.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-empty-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-event-handler1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-event-handler2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-event-handler3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-invalid-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-invalid-this-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-null-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-pass-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-slot/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-spread-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-svg-implicit-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-svg-inherit-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-svg-inherit-namespace-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── svg.svelte │ │ │ │ ├── dynamic-element-svg-options-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── rect.svelte │ │ │ │ ├── dynamic-element-template-literals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-textarea/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-undefined-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-variable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-with-content-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-with-content-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-with-content-3/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-with-content-4/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-void-with-content-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-after-let/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-array-literal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-component-no-props/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-containing-component-in-if/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-containing-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-deconflict-name-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-array-as-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-array-computed-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-array-nested-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-array-sparse/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-default/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-default-before-initialised/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-default-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-computed-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-literal-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-literal-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-reserved-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-destructured-object-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-dynamic-else-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-else-in-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-else-mount-or-intro/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-else-starts-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-empty-outro/ │ │ │ │ │ ├── Thing.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-func-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-in-if-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-index-only/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-indexed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-bind-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-changed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-component-action/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-dynamic-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-dynamic-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-html/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-html-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-iife/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-index/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-index-in-event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-nested/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-non-prop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-object-identity/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-random-permute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-recursive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-shift/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-siblings/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-keyed-unshift/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-random-permute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-recursive-with-function-condition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-ref-import/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── utils.js │ │ │ │ ├── each-block-scope-shadow/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-scope-shadow-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-scope-shadow-bind-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-scope-shadow-bind-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-scope-shadow-bind-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-scope-shadow-self/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-text-node/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-unkeyed-else-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-with-iterable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-assignment-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-nested-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-blocks-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-invalid-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-component-destroy/ │ │ │ │ │ ├── Empty.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-dom/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-style-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escape-template-literals/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-attr-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-attr-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── escaped-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-console-log/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-destructured/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-bound-var/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-invalid/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-modifier-once/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-modifier-prevent-default/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-modifier-self/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-modifier-stop-propagation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-dynamic-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each-context-invalidation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each-modifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-each-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-event-methods/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-hoisted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-body-once/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-bubble/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── button.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-once/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-once-duplicated/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-prevent-default/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-self/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-stop-immediate-propagation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-stop-propagation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-modifier-trusted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-mutation-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-removal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-sanitize/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-shorthand-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-shorthand-dynamic-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-shorthand-sanitized/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-this-methods/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── export-function-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fragment-trailing-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── function-expression-inline/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── function-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── function-in-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-accessible-directly/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-accessible-directly-process/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-not-dereferenced/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-not-overwritten-by-bindings/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-shadowed-by-data/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-shadowed-by-each-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-shadowed-by-helpers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hash-in-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-detached-in-dynamic-component/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-if-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-if-else-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-if-else-raw-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-raw-dynamic/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title-dynamic-simple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title-static-dynamic-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hello-world/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── helpers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── helpers-not-call-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-entities/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-entities-alongside-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-entities-inside-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-entities-inside-component-slot/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-entities-inside-elements/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-non-entities-inside-elements/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-component-store-function-conditionals/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-component-without-outro/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-compound-outro-no-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-conservative-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-else-conservative-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-else-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-else-partial-outro/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-else-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-elseif/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-elseif-no-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-elseif-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-first/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-no-outro-else-with-outro/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-or/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-outro-computed-function/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-outro-nested-else/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-outro-unique-select-block-type/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-static-with-dynamic-contents/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-static-with-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-static-with-else-and-outros/ │ │ │ │ │ ├── EEE.svelte │ │ │ │ │ ├── RRR.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-static-with-elseif-else-and-outros/ │ │ │ │ │ ├── RRR.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-widget/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-in-keyed-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-unchanged-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── counter.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-unchanged-attribute-compound/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── counter.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-unchanged-raw/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── counter.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-unchanged-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── counter.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-before-after-update/ │ │ │ │ │ ├── ImmutableTodo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-each-equals/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-mutate-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-nested/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-option/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-svelte-meta/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── immutable-svelte-meta-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── imported-renamed-components/ │ │ │ │ │ ├── ComponentOne.svelte │ │ │ │ │ ├── ComponentTwo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── initial-state-assign/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-expressions-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sprites.js │ │ │ │ ├── inline-expressions-subtree/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-become-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-and-style-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-and-style-attr-merged/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-css-vars/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-falsy-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-null-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-shorthand-declaration-only/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-spread-and-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-spread-and-attr-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-spread-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-string-variable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-string-variable-kebab-case/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-directive-update-object-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-important/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-style-optimisation-bailout/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── innerhtml-interpolated-literal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── innerhtml-with-comments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── input-list/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-auto-subscription-self-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-script-destructuring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-script-loop-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-script-multiple-assignments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-script-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-template-destructuring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-template-loop-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-template-multiple-assignments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-template-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── instrumentation-update-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── internal-state/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalidation-in-if-condition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── isolated-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-array-immutable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-component-slot/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-expression-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-post-hydrate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-static-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-transition-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-block-transition-local/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-bind-read-index/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-dev-unique/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-dev-unique-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-index-same/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-index-same-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── let-directive-and-const-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── component.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-next-tick/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-onmount-infinite-loop/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-afterUpdate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-afterUpdate2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-beforeUpdate/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── order.js │ │ │ │ ├── lifecycle-render-order-for-children/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── order.js │ │ │ │ ├── mixed-let-export/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context-export/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context-export-referenced-in-template/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context-with-instance-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutation-correct-return-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutation-tracking-across-sibling-scopes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── names-deconflicted/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── names-deconflicted-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── namespace-html/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nbsp/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nbsp-div/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-destructure-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-destructure-assignment-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-transition-detach-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-transition-detach-if-false/ │ │ │ │ │ ├── Folder.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-transition-if-block-not-remounted/ │ │ │ │ │ ├── Span.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── observable-auto-subscribe/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy-before-cleanup/ │ │ │ │ │ ├── Top.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── container.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy-deep/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── C.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── destroyed.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy-prop-access/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy-prop-access-2/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ondestroy-prop-access-3/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-external/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-fires-when-ready/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-fires-when-ready-nested/ │ │ │ │ │ ├── ParentWidget.svelte │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-sibling-order/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── result.js │ │ │ │ ├── option-without-select/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── paren-wrapped-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── pre-tag/ │ │ │ │ │ ├── .editorconfig │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── preload/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── preserve-comments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── preserve-whitespaces/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-accessors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-const/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-exports/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-no-change/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-not-action/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-p-is-null/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-quoted/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-subscribable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-without-semicolon/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── prop-without-semicolon-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props/ │ │ │ │ │ ├── RenderProps.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive-destroy/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive-only-with-change/ │ │ │ │ │ ├── Comp.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive-slot/ │ │ │ │ │ ├── Comp.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reassign/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-first-child/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-first-last-child/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-last-child/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-next-previous-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-next-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-anchor-previous-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustache-as-root/ │ │ │ │ │ ├── RawMustache.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustache-before-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustache-inside-head/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustache-inside-slot/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustaches/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustaches-preserved/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustaches-td-tr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-assignment-rhs/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-complex-declaration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-complex-declaration-with-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-complex-declaration-with-store-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-complex-declaration-with-store-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── store.js │ │ │ │ ├── reactive-assignment-in-declaration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-in-for-loop-head/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-assignment-prevent-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-block-break/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-compound-operator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-function-called-reassigned/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-function-inline/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-import-statement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── data.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-import-statement-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── data.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-import-statement-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.js │ │ │ │ ├── reactive-statement-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-statement-module-vars/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-statement-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-update-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-assign-properties/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-assign-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-coerce/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-coerce-precedence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-dependency-not-referenced/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-function-hoist/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-function-hoist-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-mutate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-value-mutate-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-exported/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-fixed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-function-dependency/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-implicit/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-implicit-destructured/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-implicit-self-dependency/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-no-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-no-implicit-member-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-non-cyclical/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-non-cyclical-declaration-order-independent/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-overwrite/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-second-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-self-dependency/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-self-dependency-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-store-destructured-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-subscript-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-text-node/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-values-uninitialised/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── renamed-instance-exports/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props-delete/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props-no-alias/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props-reassign/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props-without-props/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── script-style-non-top-level/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-bind-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-bind-in-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-change-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-lazy-options/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-multiple-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── select.svelte │ │ │ │ ├── select-multiple-spread-and-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── select.svelte │ │ │ │ ├── select-no-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-one-way-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-one-way-bind-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-one-way-bind-object-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-options-spread-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── self-reference/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── self-reference-component/ │ │ │ │ │ ├── Countdown.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── self-reference-tree/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── semicolon-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-in-oncreate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-in-onstate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-in-onstate-dedupes-renders/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-null-text-node/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-prevents-loop/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-undefined-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── shorthand-method-in-template/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── sigil-component-prop/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── sigil-expression-function-body/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── sigil-static-at/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── sigil-static-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── single-static-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── single-text-node/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-children-prop/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-if-block-update-no-anchor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-in-custom-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-in-dynamic-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-let-forwarding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── outer.svelte │ │ │ │ ├── slot-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── points.svelte │ │ │ │ ├── spread-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-2/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-dynamic/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-dynamic-non-object/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-dynamic-non-object-multiple-dependencies/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-dynamic-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-immutable/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-literal/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-multiple-dependencies/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-side-effects/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-component-with-bind/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-each-component/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-each-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-boolean/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-bind-group-with-value-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-each-block-keyed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-select/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-select-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-value/ │ │ │ │ │ ├── InputOne.svelte │ │ │ │ │ ├── InputTwo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── utils.js │ │ │ │ ├── spread-element-input-value-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-multiple-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-readonly/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-removal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-scope/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-select-value-undefined/ │ │ │ │ │ ├── Select.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-from-import/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── spread.js │ │ │ │ ├── spread-own-props/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-reuse-levels/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-width-height-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-imported-function/ │ │ │ │ │ ├── Data.svelte.js │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── static-svelte-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── static-svelte-element2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-assignment-updates/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-assignment-updates-destructure/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-assignment-updates-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-assignment-updates-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-resubscribe-immediate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-event-callback/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-immediate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-immediate-multiple-vars/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-implicit/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-in-reactive-declaration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-in-reactive-declaration-2/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-in-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-missing-global-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-missing-global-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-nullish/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-auto-subscribe-removed-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-dev-mode-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-each-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-each-binding-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-each-binding-destructuring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-each-binding-logical/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-imported/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── foo.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-imported-module/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── foo.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-imports-hoisted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── foo.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-increment-updates-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-invalidation-while-update-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-invalidation-while-update-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-reference/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-reschedule/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── stores.js │ │ │ │ ├── store-resubscribe/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-resubscribe-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-resubscribe-c/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-resubscribe-export/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-resubscribe-observable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-shadow-scope-declaration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-unreferenced/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── store.js │ │ │ │ ├── store-updated-in-reactive-statement/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.js │ │ │ │ ├── svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-child-component-declared-namespace/ │ │ │ │ │ ├── Rect.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-child-component-declared-namespace-shorthand/ │ │ │ │ │ ├── Rect.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-each-block-anchor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-each-block-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-foreignobject-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-html-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-html-tag2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-html-tag3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-html-tag4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-no-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-slot-namespace/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-tspan-preserve-space/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-with-style/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-xlink/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-xmlns/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── table-nesting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── target-dom/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── target-dom-detached/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── target-shadow-dom/ │ │ │ │ │ ├── App.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-bind-value-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-children/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-content/ │ │ │ │ │ ├── .editorconfig │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-value-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── this-in-function-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-abort/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-and-js/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-deferred-removal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-duration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-iframe/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── Frame.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-in-out-in/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-css-in-out-in-with-param/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-inert/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-aborted-bidi/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-aborted-intro-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-aborted-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-aborted-outro-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-args-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-await-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-await-block-outros/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-deferred/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-deferred-b/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-deferred-option-direction/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-delay/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-delay-in-out/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-destroyed-before-end/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-dynamic-component/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-dynamic-if-block-bidi/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-intro-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-keyed-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-keyed-intro-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-keyed-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-block-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-else-block-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-else-block-intro-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-else-block-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-keyed-unchanged/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-outro-cancelled/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-each-unchanged/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-events/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-events-in-out/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-bidi/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-in-each-block-bidi/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-in-each-block-bidi-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-in-each-block-bidi-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-intro-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-block-outro-timeout/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-else-block-dynamic-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-else-block-intro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-else-block-not-dynamic-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-else-block-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-elseif-block-outro/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-outro-unrelated-component-binding-update/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-if-outro-unrelated-component-store-update/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-initial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-intro-enabled-by-option/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-intro-skipped-by-default/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-intro-skipped-by-default-nested/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-and-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-nested-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-nested-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-nested-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-nested-each-keyed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-local-nested-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-each-delete/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-each-keyed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-each-keyed-2/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-nested-intro/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-option-direction/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-parameterised/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-parameterised-with-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-2/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-3/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-4-cancelled/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-5-cancelled-overflow/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-6-spread-cancelled/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── Nested2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-7-spread-cancelled-overflow/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-js-slot-fallback/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unchanged-expression-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unchanged-expression-xss/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── value-attribute-isolated-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── variable-assigned-store-state/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── whitespace-each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── whitespace-list/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── whitespace-normal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-bind-scroll-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-bind-scroll-update-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-binding-multiple-handlers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-binding-resize/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-binding-scroll-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── window-event-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── window-event-custom/ │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ ├── shared.ts │ │ │ └── test.ts │ │ ├── runtime-production/ │ │ │ ├── samples/ │ │ │ │ ├── keyed-each-unique/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-unique-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── keyed-each-unique-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── production/ │ │ │ │ │ └── main.svelte │ │ │ │ └── production-internals/ │ │ │ │ ├── Child.svelte │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── runtime-runes/ │ │ │ ├── samples/ │ │ │ │ ├── 1000-reading-derived-effects/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── abort-signal-derived-set-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── accessors-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-sequence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-state-arg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-state-arg-deep/ │ │ │ │ │ ├── Task.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── action-void-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ambiguous-source/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── utils.js │ │ │ │ ├── array-delete-item/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── array-lastindexof/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── array-sort-in-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── array-to-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assign-prop-to-prop/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-value-stale-lazy-rhs/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── assignment-value-stale-lazy-rhs-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-abort-signal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-action-blockers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attach-blockers/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attach-hydration-mismatch/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── Trigger.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attachment/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attachment-in-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-attribute-without-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-await-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-await-store-mutate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-batch-timing/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-bind-factory-function-remote/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-bindable-prop/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-binding-after-await/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-binding-update-while-focused/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-binding-update-while-focused-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-binding-update-while-focused-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-destroy-during-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-effect-queueing/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-reject-during-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-reject-each-during-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-rerun/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-block-resolve/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-boundary-nav-race/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-boundary-pending-live/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-boundary-reset/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-boundary-update-while-pending/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-child-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-class-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-clear-batch-between-runs/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-component-exports/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-const-wait/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-context-throws-after-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-destructured/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-in-if/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-in-multiple-effects/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-indirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-invalidation-during-init/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-module/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.svelte.js │ │ │ │ ├── async-derived-reverse-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-title-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-unchanging/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-unmount-undefined-props/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-unowned/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-derived-with-effect-and-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-discard-obsolete-batch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-dynamic-component/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-await-item/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-await-stale-rows/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-await-store-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-const-await-error-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-item-duplication/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-keyed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-preserve-pending/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-sibling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-eager-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-after-await/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-after-boundary/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-conservative/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-pending/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-pending-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-effect-triggers-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-boundary-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-boundary-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-in-block-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-in-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-error-recovery/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-derived-writable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-discard-derived-writable-uninitialized/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-if/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-snippet-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-fork-update-same-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-head/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-head-title-1/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-head-title-2/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-head-title-3/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-html-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-hydrate-html-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-hydration-binding/ │ │ │ │ │ ├── Async.svelte │ │ │ │ │ ├── Binding.svelte │ │ │ │ │ ├── Bound.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-after-await-in-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-hydration/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-ignore-skipped-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-indirect-blockers/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── Component3.svelte │ │ │ │ │ ├── Component4.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-inner-after-outer/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-inspect-build/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-late-value-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-later-sync-overlaps/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-linear-order-different-deriveds/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-linear-order-same-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-nested-derived/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-nested-top-level/ │ │ │ │ │ ├── Bar.svelte │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending-attributes/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending-await-in-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending-await-in-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending-await-in-script-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-no-pending-throws-sync/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-ondestroy-ordering/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── C.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── destroyed.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-7/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-fork-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-fork-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlap-multiple-fork-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-overlapping-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-ownership-validation/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-pending-effect/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-prop/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-props-id/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-push-element-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-reactivity-loss/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-reactivity-loss-for-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-reactivity-loss-for-await-break-return/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-redirect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-redirect-initial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-reference-in-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── app.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-render-component-hydration/ │ │ │ │ │ ├── Image.svelte │ │ │ │ │ ├── Link.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-render-hydration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-render-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-reschedule-during-flush/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-resolve-stale/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-select-dynamic-options-while-focused/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-set-context/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── C.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-settled-after-dom/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-settled-blockers-hydration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-skipped-branch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-slot/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-snippet-coordinated-mount/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-stale-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-stale-derived-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-eager/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-1/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-3/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-all-combinations/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-fork-1/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-fork-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-fork-3/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-fork-4/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-state-new-branch-fork-5/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-static-derived-after-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-static-prop-after-await/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-style-after-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-svelte-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-template-async-sync-mixed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-time-travelling-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-top-level/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-top-level-deriveds/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-top-level-error-nested/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-top-level-error-nested-obsolete/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-top-level-in-if/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-transform-empty-statements/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-transition-blockers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-unresolved-promise/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-waterfall-on-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-with-sync-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-basic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-component/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-component-falsy/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-component-spread/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-from-action/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-spread-stable/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attachment-svelte-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean-case-insensitivity/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-if-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-parts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-call-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-casing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-hidden/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-input/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-reactivitiy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── autofocus-with-call/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-html-hydration/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-hydrate-maybe-promise/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-immediate-fulfilled/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-no-catch-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-non-promise/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-pending-destroy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-pending-persistent/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-pending-wait/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── await.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-render-error-restore-reaction/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-resolve/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── await-resolve-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── before-update-in-legacy-child/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bigint-increment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bigint-increment-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bigint-invalid/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-and-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── button.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-and-spread-precedence/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── input.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-current-time-remove-listener/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-getter-setter/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-getter-setter-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-getter-setter-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-state-property/ │ │ │ │ │ ├── CheckBox.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-destroy-timing/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-destroy-timing2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-no-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-proxy/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-this-raw/ │ │ │ │ │ ├── ComponentA.svelte │ │ │ │ │ ├── ComponentB.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-value-input-type-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-value-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindable-prop-and-export/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-interop/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── Legacy.svelte │ │ │ │ │ ├── Runes.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-interop-derived/ │ │ │ │ │ ├── Comp.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-property-non-reactive-ignored/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-property-non-reactive-ignored-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-property-static/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-property-store/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-update-in-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-update-while-focused/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-update-while-focused-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── binding-update-while-focused-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-form-reset/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── block-dependency-sequence/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bound-store-sub/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-effect-error/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── checkbox-binding-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── checkbox.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-directive-mutations/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-disabinguate-private-method-definition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-fields-assignment-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-fields-reassigned-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-raw-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-raw-state-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-state-increment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-state-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-private-state-proxy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-raw-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-raw-state-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-conflicting-get-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-closure/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-closure-private-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-closure-private-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-closure-private-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-conflicting-get-name/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-derived-unowned/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-predeclared-field/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-constructor-subclass/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-deep-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived-fn/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived-private/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-derived-unowned/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-effect-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-extended-effect-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-increment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-init-conflict/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-init-eager/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-init-eager-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-init-eager-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-proxy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-public-private/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-raw/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── class-state-with-literal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── clean-block-inner-effects/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── clsx/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── comment-separated-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-dont-fuse-whitespace/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-let-directive/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-prop-unescaped/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-transition-hmr/ │ │ │ │ │ ├── Blue.svelte │ │ │ │ │ ├── Red.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-snippet-reactive/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── const-tag-boundary-deprecated-usage/ │ │ │ │ │ ├── FlakyComponent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── contenteditable-state/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── create-context/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── create-context-programmatic/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── create-raw-snippet-invalid-render/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-element-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-element-injected-styles/ │ │ │ │ │ ├── Thing.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-element-slot-in-snippet/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── custom-element-svelte-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── debug-tag-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deferred-events-consistency/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deferred-events-consistency-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deferred-events-consistency-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deferred-events-consistency-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── delete-proxy-key/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dependencyless-abort-signal/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-cascade/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-cleanup-old-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-dependencies-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-destructure/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-destructured/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-destructured-iterator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-direct/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-disconnect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-fn/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-fn-destructure/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-fn-recursive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-get-context/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-in-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-indirect-arrow-fn/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-indirect-fn/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-indirect-fn-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-map/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-name-shadowed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-proxy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-read-outside-reaction/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-rest-includes-symbol/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-server-memoization/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.svelte.js │ │ │ │ ├── derived-shadowed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-stale-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-10/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── theme.svelte.js │ │ │ │ ├── derived-unowned-11/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Child2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-12/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-2/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-7/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-8/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-unowned-9/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-update-server/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── derived-write-read-write-read/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── deriveds-in-constructor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-async-assignments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-derived-by/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-derived-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-derived-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-state-from-props/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── details-binding-initial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── directives/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── directives-with-member-access/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dot-notation-component/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-attribute-and-attribute-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-attribute-and-attribute-directive-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-css-props/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-falsy-hydrate/ │ │ │ │ │ ├── HelloWorld.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-nested/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-component-transition/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-dynamic-namespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-svg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-event-handler-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-event-handler-3/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-hof-delegated-event/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-if-component-transition/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-spread-and-attribute-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-style-attr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-bind-store-no-warning/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-bind-this-member/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-bind-this-member-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block-default-arg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-dynamic-html/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-effect-linking/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-fallback/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-key-volatile/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-keyed-child-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-mutation-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-non-branch-effects/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-text-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-10/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-11/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-12/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-13/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-7/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-8/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-9/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-updates-raw/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-was-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-without-as/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-active-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-cleanup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-in-pending-boundary/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-inside-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-inside-derived-frozen/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-loop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-loop-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-loop-3/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-loop-infinite/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-6/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-order-7/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-root/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-root-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-root-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── root.svelte.js │ │ │ │ ├── effect-root-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-root-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-self-scheduling/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-teardown-derived/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-teardown-stale-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-tracking/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-tracking-binding-set/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-tracking-transition/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-tracking-unowned/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effect-untrack-teardown/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── effects-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── element-is-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-class-attribute-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-10/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-11/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-12/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-13/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-14/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-15/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-16/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-17/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-18/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-19/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-20/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-21/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-22/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-23/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-24/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-25/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-26/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-27/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-5/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-7/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-8/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-9/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-reset-onerror/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-reset-premature/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-boundary-reset-with-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── error-recovery/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-arguments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-arguments-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-after-binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-after-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-after-spread-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-bubble/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── event-attribute-capture/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-4/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── event-attribute-delegation-5/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-7/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-delegation-8/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-import/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── event.svelte.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-not-hoistable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-not-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-rest-prop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-spread-capture/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-spread-collision/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-spread-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-attribute-window/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-exported/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── event-global-hydration-error-cleanup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-global-mount-error-cleanup/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-async-delegated/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-component-invalid-warning/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-invalid-values/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-handler-invalid-warning/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-import-no-param-hoisting/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.svelte.js │ │ │ │ ├── event-listener-moved-outside-container/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-listener-spread/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-media-element-cleanup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-on/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-on-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── wrapper.svelte │ │ │ │ ├── event-on-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-prop-current-target/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-prop-reference/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-propagation-with-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-spread-rerun/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-spread-timing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-store-no-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── event-used-in-component-and-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── event-without-params-clash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── exports-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── exports-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── exports-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── exports-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── fine-grained-prop-reactive-statement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── old.svelte │ │ │ │ ├── flush-sync-inside-attachment/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── flush-sync-no-scheduled/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-class-instance/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-dependency-rollback/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-uncached-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-uncached-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-uncached-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── fork-derived-value-immediate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── form-default-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── form-default-value-from-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── form-default-value-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── form-novalidate-casing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── function-parameter-shadowing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── functional-templating/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── get-abort-signal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── global-variable-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── foo.svelte.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── globals-deconflicted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── guard-else-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── guard-if-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── guard-nested-if-pre/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-payload-validation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hmr-each-keyed-unshift/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hmr-removal/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-namespace-infer-a-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── div.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-contenteditable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── html-tag-escaping/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-complex-nesting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-error-on-missing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-script-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-unused-keys/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-unused-keys-nesting-partial/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydrate-modified-input/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydrate-modified-input-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydrate-modified-input-numeric/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydration-attribute-changed-ignored/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydration-html-changed-ignored/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-dependencies/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-dependency-order/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-dependency-order-2/ │ │ │ │ │ ├── Seo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-nested-template/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-transition-inert/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-transition-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── image-loading-attribute/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── img-loading-lazy-no-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── increment-and-decrement-strings/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inline-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-console-trace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-deep-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-derived-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-derived-3/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── List.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-derived-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-exception/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-map-set/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-nested-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-nested-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-new-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-recursive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-recursive-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-state-unsafe-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-circular-reference/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-class/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-each/ │ │ │ │ │ ├── Entry.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-null/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-reassignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-trace-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── inspect-with-untracked/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalid-html-ssr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── form.svelte │ │ │ │ │ ├── h1.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalid-html-ssr-ancestor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── form.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── invalidate-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-nan/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── key-unchanged-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-class-transformation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-recursive-reactive-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-runes-ambiguous/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-explicit-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-$$props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-$$restProps/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-labeled/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-let/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── legacy-runes-ambiguous-export-let-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── test.svelte.js │ │ │ │ ├── lifecycle-render-order-for-children/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order-for-children-2/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order-for-children-3/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order-for-children-4/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order-for-children-5/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lifecycle-render-order-for-children-6/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── manual-mount/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── mathml-namespace-infer/ │ │ │ │ │ ├── Wrapper.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── media-query/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── member-expression-component/ │ │ │ │ │ ├── Row.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── member-mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── module-context-export/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mount-intro-transition/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mount-props-updates/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── component.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── mount-unmount-anchor/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── multiple-head/ │ │ │ │ │ ├── MetaTag.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutate-state-in-context-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutation-both/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── mutation-local/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── muted-without-bind-works/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── name-clash-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-destructure-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-effect-conflict/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nested-script-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── new-branch-reschedule/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── new-branch-reschedule-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-configurable-errors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-error-boundary-preserve-on-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-discouraged/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-global/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── state.svelte.js │ │ │ │ ├── non-local-mutation-inherited-owner-1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── non-local-mutation-inherited-owner-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ ├── state.svelte.js │ │ │ │ │ └── sub.svelte │ │ │ │ ├── non-local-mutation-inherited-owner-3/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-ok/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-2/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── Intermediate.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-3/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-4/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-5/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── Outer.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-6/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── Component3.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── non-local-mutation-with-binding-7/ │ │ │ │ │ ├── Component1.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── not-actual-runes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── store.js │ │ │ │ ├── nullish-actions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nullish-empty-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── nullish-operator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── onmount-prop-access/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── optgroup-rich-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── option-rich-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-function-bindings/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-invalid-binding-bindable-fallback/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-invalid-binding-ignored/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-invalid-mutation-bindable-fallback/ │ │ │ │ │ ├── Parent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-invalid-mutation-ignored/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-invalid-mutation-use-transform/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ownership-with-proxy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── pre-effect/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── pre-effect-ordering/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── pre-no-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── private-identifiers-not-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-alias/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-alias-weird/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-and-slots/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-array-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-assignment-tracking/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-bound/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-bound-fallback/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-bound-to-normal/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-default-reactivity/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-default-value-behavior/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-default-value-function/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ ├── main.svelte │ │ │ │ │ ├── wrapper.svelte │ │ │ │ │ └── wrapper2.svelte │ │ │ │ ├── props-default-value-lazy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── sub.svelte │ │ │ │ ├── props-default-value-lazy-accessors/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-default-value-rest/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-derived/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-derived-2/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-derived-teardown/ │ │ │ │ │ ├── Teardown.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-equality/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── item.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-id/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-id-prefix/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-local-teardown/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-quoted/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-reactive-destroy/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-rest/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-rest-2/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-spread-fallback/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── props-spread-operator/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxied-state-property-access/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-array-length/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-coercive-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-coercive-assignment-warning/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-cyclical/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-deep/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-nested/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-not-shared/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-prop-bound/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-set-accessor/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── proxy-set-with-parent/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── random/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-date/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-identifier/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-map/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-set/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-to-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactive-url/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── read-version-previous-reaction/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── readonly-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── readonly-state-push/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── readonly-state-replace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── reassigned-store-not-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── remove-spreaded-handlers/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rest-props-excludes-properties/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── component.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── rich-option-component/ │ │ │ │ │ ├── Content.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── rune-name-used-by-rune/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-from-func/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── runes-in-module-context/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-falsy-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-multiple-invalid-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-option-added/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-spread-option-selected/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-with-call/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-context-after-await/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-context-after-mount/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── set-text-stable-coercion/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-date/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-map/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-primitive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-set/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-spring/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-tween/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-url/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-derived-url-search-params/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── side-effect-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── slot.svelte │ │ │ │ ├── slot-static/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── slot-svelte-fragment-render-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-access-in-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── fn.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-after-text/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-argument/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-argument-call-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-argument-destructured/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-argument-destructured-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-argument-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-block-without-render-tag-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-block-without-render-tag-prod/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-children-without-render-tag-dev/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── unrendered-children.svelte │ │ │ │ ├── snippet-children-without-render-tag-dev-prod/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── unrendered-children.svelte │ │ │ │ ├── snippet-comment-sibling/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-complicated-defaults/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-const-same-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-deconflict/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-default-arg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-destructure-array/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-duplicate-children/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-dynamic-children/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-expressions/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisted-module/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisted-module-2/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisting-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisting-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-hoisting-4/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-invalid-call/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-namespace-1/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-namespace-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-optional-arguments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-optional-arguments-defaults/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-prop-explicit/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-prop-explicit-no-args/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-prop-implicit/ │ │ │ │ │ ├── Counter.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-prop-reactive/ │ │ │ │ │ ├── Inner.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-raw/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-raw-component/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-raw-component-ssr-dev/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-raw-teardown/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-reactive-args/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-ref/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-scope/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-select/ │ │ │ │ │ ├── Select.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-slot-let-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-slot-let-renamed-children-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-slot-no-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── inner.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-spread/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-top-level/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-typescript/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── snippet-whitespace/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── pre.svelte │ │ │ │ ├── snippets-as-slots/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-element-input-select/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-props/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-props-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-bind-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-delete-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-each-bind-this/ │ │ │ │ │ ├── Paragraph.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-in-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-proxy-equality-mismatch/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-proxy-version/ │ │ │ │ │ ├── Item.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-raw-bindable/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-readonly/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── Component2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-reuse/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-snapshot/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-snapshot-array-holes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-snapshot-date/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-snapshot-uncloneable-ignored/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-space/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-store/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-store-props/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── state-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── static-boundary/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-assignments/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-async-first-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-directive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-from-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-from-props-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-from-props-runelike/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-from-state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-from-state-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-increment-decrement/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-inside-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-no-mutation-validation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-reassign-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-subscribe-effect-init/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-unsubscribe-not-referenced-after/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-update-on-destroy/ │ │ │ │ │ ├── Test.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── style-directive-mutations/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── style-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-boundary-dev-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-component-props-update/ │ │ │ │ │ ├── Comp-1.svelte │ │ │ │ │ ├── Comp-2.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-component-switch-dev/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-element-css-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-element-custom-element-css-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-element-draggable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-meta/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-meta-css-wrapper/ │ │ │ │ │ ├── Component.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-meta-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-meta-if-else/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svelte-meta-parent/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── passthrough.svelte │ │ │ │ ├── svelte-set-generators/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-attribute-case/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-element-attribute-serialize/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-namespace-if-block/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-namespace-if-block-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-namespace-if-block-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-namespace-infer/ │ │ │ │ │ ├── Wrapper.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── svg-namespace-infer-a-tag/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── svg.svelte │ │ │ │ ├── tagged-template-literal-reactive/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-effect-multi-deps/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-multiple-call-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-multiple-nullish-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── tick-timing/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── title-nullish/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── toStore-subscribe/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── toStore-subscribe2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── toStore-teardown/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── child.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-component/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-delayed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-delayed-events-css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-delayed-events-js/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-each/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-each-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-each-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-each-4/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-evaluation/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-if/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-if-nested-access-property/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-if-nested-static/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-snippet/ │ │ │ │ │ ├── Container.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── transition-static-subtree/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── typescript/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── types.ts │ │ │ │ ├── typescript-as-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── typescript-const1/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── typescript-each-indexed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── typescript-non-null-expression/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── undefined-event-handler/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── unhoist-function-accessing-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── untrack-allows-writes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── untrack-own-deriveds/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── untracked/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── untracked-derived-local/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── untracked-write-pre/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── validate-undefined-snippet-default-arg/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── value-attribute-isolated-update/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── value-attribute-isolated-update-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── value-attribute-null-undefined/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── var-declarations/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── video-src-object/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── wrapped-$state/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── wrapped-$state-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── writable-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── writable-derived-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── util.svelte.js │ │ │ │ ├── writable-derived-3/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── writable-derived-4/ │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── runtime-xhtml/ │ │ │ ├── samples/ │ │ │ │ ├── attribute-quotes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── autoclosed-tags/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── bind-value-input-type-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── boolean-attributes/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── comment-marker/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── form-default-value-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── ignore-mismatched-href/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── is-xhtml/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── lowercase-tags/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-falsy-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-multiple-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── select.svelte │ │ │ │ ├── spread-element-input-select-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ └── void-tags/ │ │ │ │ ├── _config.js │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── server-side-rendering/ │ │ │ ├── samples/ │ │ │ │ ├── async-children/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── component.svelte │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-context-throws-after-await/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-directive-with-spreading/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-fallback-hoisting/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-each-hoisting/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-head-multiple-title-order-preserved/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-html-tag/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-alternate-hoisting/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-const/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-if-hoisting/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-nullish-pending-snippet/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-option-implicit-complex-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-option-implicit-simple-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-select-value-component/ │ │ │ │ │ ├── Option.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-select-value-implicit-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-select-value-implicit-value-complex/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-snippet/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── async-svelte-boundary/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-boolean/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-dynamic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-escape-quotes-spread-2/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-escaped-quotes/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-escaped-quotes-spread/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-hidden/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-spread-with-null/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-static/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-strip-svg-mathml-ce/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── attribute-template-literal-sanitization/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-empty-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-group/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-readonly/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── bindings-zero/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-failed-prop/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-html-comment-close-bang-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-html-comment-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-html-comment-open-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-html-comment-overlap-escape/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-no-failed-snippet/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-no-onerror/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-error-with-onerror/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── boundary-pending-prop-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── comment/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── comment-preserve/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-binding-renamed/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-dynamic/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-data-empty/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-refs/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-refs-and-attributes/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-with-different-extension/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── component-yield/ │ │ │ │ │ ├── Widget.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── computed/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── constructor-prefer-passed-context/ │ │ │ │ │ ├── ChildComponent.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── contenteditable-bindings-escaped/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── context/ │ │ │ │ │ ├── Child.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── context-not-set-throws/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── csp-config-error/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── csp-hash/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── csp-nonce/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.css │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-empty/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.css │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-injected-options/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.css │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-injected-options-minify/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── css-injected-options-nested/ │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.css │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── default-data/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── default-data-override/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-state/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── destructure-state-iterable/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── directives/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-string/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-variable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-element-xss-prevention/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-text/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── dynamic-text-escaped/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-body-async/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── empty-elements-closed/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── entities/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── falsy-dynamic-component/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-component-props-id/ │ │ │ │ │ ├── HeadNested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-html-and-component/ │ │ │ │ │ ├── HeadNested.svelte │ │ │ │ │ ├── Nested.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-meta-hydrate-duplicate/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-multiple-title/ │ │ │ │ │ ├── A.svelte │ │ │ │ │ ├── B.svelte │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-no-duplicates-with-binding/ │ │ │ │ │ ├── Foo.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-raw-elements-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-svelte-components-raw-content/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── head-title/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── helpers/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-clobbering/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-clobbering-but-ok/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-clobbering-complicated/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── hydratable-unserializable/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-false/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── if-block-true/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── import-non-component/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── answer.js │ │ │ │ │ ├── main.svelte │ │ │ │ │ └── problems.js │ │ │ │ ├── invalid-nested-svelte-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ ├── _expected_head.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── legacy-imports/ │ │ │ │ │ ├── Button.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── option-body-escaped/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── option-scoped-class/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── raw-mustaches/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── reactivity-window/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── sanitize-name/ │ │ │ │ │ ├── [foo].svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-option-store-implicit-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-option-store-text-content/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-bind-store/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-component/ │ │ │ │ │ ├── Option.svelte │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-implicit-value/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-implicit-value-complex/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── select-value-scoped-class/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-attributes/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-attributes-boolean/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-attributes-event-handler-xss/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── spread-attributes-white-space/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── static-div/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── static-text/ │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── store-init-props/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── text-area-bind/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-children/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ ├── textarea-value/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected.html │ │ │ │ │ └── main.svelte │ │ │ │ └── triple/ │ │ │ │ ├── _expected.html │ │ │ │ └── main.svelte │ │ │ └── test.ts │ │ ├── signals/ │ │ │ └── test.ts │ │ ├── snapshot/ │ │ │ ├── samples/ │ │ │ │ ├── async-const/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-each-fallback-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-each-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-if-alternate-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-if-chain/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-if-hoisting/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-in-derived/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-top-level-group-sync-run/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── async-top-level-inspect-server/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── await-block-scope/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── bind-component-snippet/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── bind-this/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── class-state-field-constructor-assignment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── delegated-locally-declared-shadowed/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── destructured-assignments/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte.js │ │ │ │ ├── dynamic-attributes-casing/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── main.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── main.svelte.js │ │ │ │ │ └── main.svelte │ │ │ │ ├── each-index-non-null/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── each-string-template/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── export-state/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte.js │ │ │ │ ├── function-prop-no-getter/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── functional-templating/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── hello-world/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── hmr/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── imports-in-modules/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ ├── export.js │ │ │ │ │ │ │ ├── index.svelte.js │ │ │ │ │ │ │ └── module.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── export.js │ │ │ │ │ │ ├── index.svelte.js │ │ │ │ │ │ └── module.svelte.js │ │ │ │ │ ├── export.js │ │ │ │ │ ├── index.svelte │ │ │ │ │ └── module.svelte.js │ │ │ │ ├── nullish-coallescence-omittance/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── props-identifier/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ ├── index.svelte.js │ │ │ │ │ │ │ └── index.svelte.warnings.json │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── index.svelte.js │ │ │ │ │ │ └── index.svelte.warnings.json │ │ │ │ │ └── index.svelte │ │ │ │ ├── purity/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── select-with-rich-content/ │ │ │ │ │ ├── Option.svelte │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ ├── Option.svelte.js │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ ├── Option.svelte.js │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── skip-static-subtree/ │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── state-proxy-literal/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ ├── svelte-element/ │ │ │ │ │ ├── _config.js │ │ │ │ │ ├── _expected/ │ │ │ │ │ │ ├── client/ │ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ │ └── server/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── index.svelte │ │ │ │ └── text-nodes-deriveds/ │ │ │ │ ├── _expected/ │ │ │ │ │ ├── client/ │ │ │ │ │ │ └── index.svelte.js │ │ │ │ │ └── server/ │ │ │ │ │ └── index.svelte.js │ │ │ │ └── index.svelte │ │ │ └── test.ts │ │ ├── sourcemaps/ │ │ │ ├── helpers.js │ │ │ ├── samples/ │ │ │ │ ├── attached-sourcemap/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── basic/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── binding/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── binding-shorthand/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── css/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── css-injected-map/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── decoded-sourcemap/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── each-block/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── effects/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── external/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── markup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── preprocessed-markup/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── preprocessed-multiple/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── preprocessed-no-map/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── preprocessed-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── preprocessed-styles/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── script-after-comment/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── source-map-generator/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-basename/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-basename-without-outputname/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-concat/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-names/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-offsets/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── sourcemap-sources/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── static-no-script/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ ├── two-scripts/ │ │ │ │ │ ├── _config.js │ │ │ │ │ └── input.svelte │ │ │ │ └── typescript/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte │ │ │ └── test.ts │ │ ├── store/ │ │ │ └── test.ts │ │ ├── suite.ts │ │ ├── types/ │ │ │ ├── actions.ts │ │ │ ├── bindings.svelte │ │ │ ├── component.ts │ │ │ ├── create-event-dispatcher.ts │ │ │ ├── events.ts │ │ │ ├── motion.ts │ │ │ ├── on-mount.ts │ │ │ ├── snippet.ts │ │ │ ├── store.ts │ │ │ └── tsconfig.json │ │ └── validator/ │ │ ├── samples/ │ │ │ ├── a11y-alt-text/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-anchor-aria-label-has-no-content/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-anchor-has-content/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-anchor-in-svg-is-valid/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-anchor-is-valid/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-activedescendant/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-props/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-boolean/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-integer/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-number/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-string/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-token/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-tokenlist/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-proptypes-tristate/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-role/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-aria-unsupported-element/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-autocomplete-valid/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-click-events-have-key-events/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-consider-explicit-label/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-contenteditable-element-without-child/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-figcaption-in-non-element-block/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-figcaption-right-place/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-figcaption-wrong-place/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-heading-has-content/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-html-has-lang/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-iframe-has-title/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-img-redundant-alt/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-interactive-supports-focus/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-label-has-associated-control/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-label-has-associated-control-2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-label-has-associated-control-3/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-media-has-caption/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-missing-attribute-href-aria-disabled/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-mouse-events-have-key-events/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-abstract-roles/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-access-key/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-autofocus/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-distracting-elements/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-interactive-element-to-noninteractive-role/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-noninteractive-element-interactions/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-noninteractive-element-to-interactive-role/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-noninteractive-tabindex/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-redundant-roles/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-no-static-element-interactions/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-not-on-components/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-popover-label/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-role-has-required-aria-props/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-role-supports-aria-props/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-scope/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── a11y-tabindex-no-positive/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── action-on-component/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-comment-siblings/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-duplicate/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-each-with-const/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-each-with-whitespace/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-not-in-each/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-not-in-keyed-each/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-on-component/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── animation-siblings/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── anonymous-declarations/ │ │ │ │ ├── class.svelte.js │ │ │ │ ├── errors.json │ │ │ │ ├── function.svelte.js │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-5/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-6/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-7/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── assignment-to-const-8/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-expected-equals/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-invalid-name/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-invalid-name-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-invalid-name-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-invalid-name-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-invalid-name-5/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── attribute-quoted/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── attribute-unique-allowed/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── await-component-is-used/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── await-no-catch/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── await-shorthand-no-catch/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── await-shorthand-no-then/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── bidirectional-control-characters/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── bind-group-snippet-parameter/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── bind_group_invalid_expression/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-await-catch/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-await-then/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-await-then-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-const/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-const-field/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-dimensions-svg/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-import-component/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-import-element/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-input-checked/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-input-type-boolean/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-invalid-on-element/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-invalid-on-element-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-invalid-value/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-invalid-value-global/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-let/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-radio-input-checked/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-select-multiple-dynamic/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── binding-this-input-type-dynamic/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── catch-declares-error-variable/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── class-state-constructor-1/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-10/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-5/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-6/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-7/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-8/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── class-state-constructor-9/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte.js │ │ │ ├── comment-before-function-binding/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-event-modifiers-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-invalid-style-directive/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-legacy-instantiation/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── component-name-lowercase/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── component-namespaced/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── component-slot-default-reserved/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slot-dynamic/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slot-dynamic-attribute/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slotted-custom-element/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slotted-custom-element-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slotted-each-block/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── component-slotted-if-block/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-conflict-1/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-conflict-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-inside-key-block/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-invalid-rune-usage/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-placement-1/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-placement-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-placement-svelte-boundary/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-readonly-1/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── const-tag-readonly-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── contenteditable-dynamic/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── contenteditable-missing/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-combinator-selector-1/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-combinator-selector-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-combinator-selector-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-combinator-selector-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement-5/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-placement-6/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-5/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-6/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-global-selector-list/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-invalid-type-selector-placement/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── css-mismatched-quotes/ │ │ │ │ ├── _config.js │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── custom-element-props-identifier/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── custom-element-props-identifier-props-option/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── custom-element-props-identifier-rest/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── debug-invalid-args/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── default-export/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── default-export-anonymous-class/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── default-export-anonymous-function/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── default-export-indirect/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── default-export-module/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── directive-non-expression/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── document-binding-invalid-dimensions/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dollar-dollar-global-in-markup/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dollar-dollar-global-in-script/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dollar-global-in-markup/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dollar-global-in-script/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dynamic-element-invalid-tag/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dynamic-element-missing-tag/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── dynamic-element-this/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── each-block-destructured-object-rest-comma-after/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── each-block-invalid-context/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── each-block-invalid-context-destructured/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── each-block-invalid-context-destructured-object/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── each-block-multiple-children/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── empty-block/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── error-mode-warn/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ ├── options.json │ │ │ │ └── warnings.json │ │ │ ├── event-attribute/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── event-modifiers-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── event-modifiers-invalid-nonpassive/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── event-modifiers-invalid-passive/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── export-let-unused-svelte-component/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── export-not-defined-module-with-source/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── general-siblings-combinator-in-custom-element-selects-slot-fallback/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── global-event-reference/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── html-block-in-attribute/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── html-block-in-textarea/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── if-block-whitespace-legacy/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── if-block-whitespace-runes/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ignore-warning/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warning-compiler-option/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warning-dash-backwards-compat/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warnings/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warnings-cumulative/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warnings-newline/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── ignore-warnings-stacked/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── illegal-attribute-character/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── illegal-variable-declaration/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── illegal_spread_element-document/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── illegal_spread_element-window/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── implicitly-closed-by-parent/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── implicitly-closed-by-sibling/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── import-meta/ │ │ │ │ └── input.svelte │ │ │ ├── inline-new-class/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── inline-new-class-2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── inline-new-class-3/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── inline-new-class-4/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── inline-new-class-5/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── invalid-empty-css-declaration/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-3/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-4/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-5/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── invalid-node-placement-6/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-7/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-8/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-node-placement-template/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── invalid-self-closing-tag/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── js-scope-catch-clause/ │ │ │ │ └── input.svelte │ │ │ ├── let-directive/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── logic-block-in-attribute/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── logic-block-in-textarea/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── module-script-reactive-declaration/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── multiple-script-default-context/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── multiple-script-module-context/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── multiple-var-same-name/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── mutate-derived-private-field/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── namespace-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── namespace-non-literal/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── no-missing-declarations-for-same-node-let-variable/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── no-runes-mode/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte │ │ │ ├── non-empty-block-dev/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── non-invalid-node-placement-if-snippet/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── reactive-declaration-cyclical/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── reactive-declaration-non-top-level/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── reactive-module-const-variable/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── reactive-module-variable/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── reactive-module-variable-2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── reactive-statement-non-reactive-self-declaration/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── reassign-derived-private-public-field/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── rest-eachblock-binding/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── rest-eachblock-binding-2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── rest-eachblock-binding-3/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── rest-eachblock-binding-nested-rest/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── rune-invalid-spread-derived/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── rune-invalid-spread-derived-by/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── rune-invalid-spread-state/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── rune-invalid-spread-state-raw/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── runes-conflicting-store-in-module/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte.js │ │ │ ├── runes-legacy-syntax-warnings/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── runes-legacy-syntax-warnings-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── runes-referenced-nonstate/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── runes-referenced-nonstate-2/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── runes-referenced-nonstate-bind-this/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── script-context-module-legacy/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── script-context-module-runes-deprecated/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── script-invalid-context/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── script-invalid-spread-attribute/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── script-unknown-attribute/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── security-anchor-rel-noreferer/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── select-multiple/ │ │ │ │ └── input.svelte │ │ │ ├── siblings-combinator-in-custom-element-selects-slot-fallback/ │ │ │ │ ├── _config.js │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── silence-warnings/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── silence-warnings-2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── slot-attribute-component/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── slot-attribute-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── slot-warning/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── slot-warning-ignore/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── slot-warning2/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── snippet-shadowing-prop/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── snippet-whitespace-ok/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── state-referenced-locally-props-identifier/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── state-referenced-locally-types/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── static-state-reference/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── store-looking-like-rune/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── store-rune-conflic-from-props/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── store-runes-conflict/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── style-directive-modifiers-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── style-directive-valid-reference/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── svelte-component-deprecated/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── svelte-fragment-placement/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── svelte-fragment-placement-2/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── svelte-head-attributes/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── svelte-ignore-export-let-unused/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── svelte-ignore-non-reactive-update/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── svelte-self-deprecated/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── svg-child-component-declared-namespace/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── tag-custom-element-options-missing/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── tag-custom-element-options-true/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte │ │ │ ├── tag-emoji/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte │ │ │ ├── tag-hyphen/ │ │ │ │ ├── _config.js │ │ │ │ └── input.svelte │ │ │ ├── tag-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── tag-non-string/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── tag-reserved/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── textarea-value-children/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── title-no-attributes/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── title-no-children/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-in/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-in-transition/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-out/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-out-transition/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-transition/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-transition-in/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-duplicate-transition-out/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── transition-on-component/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-accessor/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-decorator/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-enum/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-modifier/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-modifier-readonly/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── ts-unsupported-namespace/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── unknown-code/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── unreferenced-variables/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── unreferenced-variables-each/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── use-the-platform/ │ │ │ │ ├── input.svelte │ │ │ │ └── warnings.json │ │ │ ├── valid-reactive-vars/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── window-binding-invalid/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── window-binding-invalid-dimensions/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ ├── window-binding-invalid-innerwidth/ │ │ │ │ ├── errors.json │ │ │ │ └── input.svelte │ │ │ └── window-binding-online/ │ │ │ ├── errors.json │ │ │ └── input.svelte │ │ └── test.ts │ ├── tsconfig.generated.json │ ├── tsconfig.json │ ├── tsconfig.runtime.json │ └── types/ │ └── index.d.ts ├── playgrounds/ │ └── sandbox/ │ ├── .gitignore │ ├── demo.css │ ├── index.html │ ├── package.json │ ├── run.js │ ├── scripts/ │ │ ├── create-app-svelte.js │ │ ├── create-test.js │ │ ├── download.js │ │ ├── hash.js │ │ └── main.template.svelte │ ├── ssr-common.js │ ├── ssr-dev.js │ ├── ssr-prod.js │ ├── svelte.config.js │ ├── tsconfig.json │ └── vite.config.js ├── pnpm-workspace.yaml ├── svelte.config.js ├── vitest-xhtml-environment.ts └── vitest.config.js ================================================ FILE CONTENTS ================================================ ================================================ FILE: .changeset/README.md ================================================ # Changesets Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works with multi-package repos, or single-package repos to help you version and publish your code. You can find the full documentation for it [in our repository](https://github.com/changesets/changesets) We have a quick list of common questions to get you started engaging with this project in [our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md) ================================================ FILE: .changeset/config.json ================================================ { "$schema": "https://unpkg.com/@changesets/config@2.3.0/schema.json", "changelog": ["@svitejs/changesets-changelog-github-compact", { "repo": "sveltejs/svelte" }], "commit": false, "fixed": [], "linked": [], "access": "public", "baseBranch": "main", "bumpVersionsWithWorkspaceProtocolOnly": true, "ignore": ["!(@sveltejs/*|svelte)"] } ================================================ FILE: .changeset/const-tags.md ================================================ --- 'svelte': patch --- fix: invalidate `@const` tags based on visible references in legacy mode ================================================ FILE: .changeset/evil-chicken-attend.md ================================================ --- 'svelte': patch --- fix: disallow `--` in `idPrefix` ================================================ FILE: .changeset/orange-geckos-rest.md ================================================ --- 'svelte': patch --- fix: don't override `$destroy/set/on` instance methods in dev mode ================================================ FILE: .editorconfig ================================================ root = true [*] end_of_line = lf insert_final_newline = true indent_style = tab charset = utf-8 trim_trailing_whitespace = true [test/**/expected.css] insert_final_newline = false [package.json] indent_style = space ================================================ FILE: .gitattributes ================================================ /site/** -linguist-detectable /test/**/samples/** -linguist-detectable /**/*.svelte linguist-detectable ================================================ FILE: .github/FUNDING.yml ================================================ open_collective: svelte ================================================ FILE: .github/ISSUE_TEMPLATE/bug_report.yml ================================================ name: "\U0001F41E Bug report" description: Report an issue with Svelte labels: ['triage: bug'] body: - type: markdown attributes: value: | Thanks for taking the time to fill out this bug report! - type: textarea id: bug-description attributes: label: Describe the bug description: A clear and concise description of what the bug is. If you intend to submit a PR for this issue, tell us in the description. Thanks! placeholder: Bug description validations: required: true - type: textarea id: reproduction attributes: label: Reproduction description: Please provide a link to a repo or REPL that can reproduce the problem you ran into. If a report is vague (e.g. just a generic error message) and has no reproduction, it will receive a "need reproduction" label. If no reproduction is provided within a reasonable time-frame, the issue will be closed. placeholder: Reproduction validations: required: true - type: textarea id: logs attributes: label: Logs description: 'Please include browser console and server logs around the time this bug occurred. Optional if provided reproduction. Please try not to insert an image but copy paste the log text.' render: shell - type: textarea id: system-info attributes: label: System Info description: Output of `npx envinfo --system --npmPackages svelte,rollup,webpack --binaries --browsers` render: shell placeholder: System, Binaries, Browsers validations: required: true - type: dropdown id: severity attributes: label: Severity description: Select the severity of this issue options: - annoyance - blocking an upgrade - blocking all usage of svelte validations: required: true ================================================ FILE: .github/ISSUE_TEMPLATE/config.yml ================================================ blank_issues_enabled: false contact_links: - name: Discord Chat url: https://svelte.dev/chat about: Ask questions and discuss with other Svelte users in real time. ================================================ FILE: .github/ISSUE_TEMPLATE/feature_request.yml ================================================ name: 'Feature Request' description: Request a new Svelte feature labels: [enhancement] body: - type: markdown attributes: value: | Thanks for taking the time to request this feature! If your feature request is complex or substantial enough to warrant in-depth discussion, maintainers may close the issue and ask you to open an [RFC](https://github.com/sveltejs/rfcs). - type: textarea id: problem attributes: label: Describe the problem description: Please provide a clear and concise description the problem this feature would solve. The more information you can provide here, the better. placeholder: I'm always frustrated when... validations: required: true - type: textarea id: solution attributes: label: Describe the proposed solution description: Please provide a clear and concise description of what you would like to happen. placeholder: I would like to see... validations: required: true - type: dropdown id: importance attributes: label: Importance description: How important is this feature to you? options: - nice to have - would make my life easier - i cannot use svelte without it validations: required: true ================================================ FILE: .github/ISSUE_TEMPLATE.md ================================================ --- Before filing an issue we'd appreciate it if you could take a moment to ensure there isn't already an open issue or pull-request. --- If there's an existing issue, please add a :+1: reaction to the description of the issue. One way we prioritize issues is by the number of :+1: reactions on their descriptions. Please DO NOT add `+1` or :+1: comments. ### Feature requests and proposals We're excited to hear how we can make Svelte better. Please add as much detail as you can on your use case. To propose an implementation of a large feature or change, please create an [RFC](https://github.com/sveltejs/rfcs). ### Bugs If you're filing an issue about a bug please include as much information as you can including the following. - Your browser and the version: (e.x. Chrome 52.1, Firefox 48.0, IE 10) - Your operating system: (e.x. OS X 10, Windows XP, etc) - Svelte version (Please check you can reproduce the issue with the latest release!) - Whether your project uses Webpack or Rollup - _Repeatable steps to reproduce the issue_ ## Thanks for being part of Svelte! ================================================ FILE: .github/PULL_REQUEST_TEMPLATE.md ================================================ ### Before submitting the PR, please make sure you do the following - [ ] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs - [ ] Prefix your PR title with `feat:`, `fix:`, `chore:`, or `docs:`. - [ ] This message body should clearly illustrate what problems it solves. - [ ] Ideally, include a test that fails without this PR but passes with it. - [ ] If this PR changes code within `packages/svelte/src`, add a changeset (`npx changeset`). ### Tests and linting - [ ] Run the tests with `pnpm test` and lint the project with `pnpm lint` ================================================ FILE: .github/workflows/autofix.yml ================================================ name: Autofix Lint on: issue_comment: types: [created] workflow_dispatch: permissions: {} jobs: autofix-lint: permissions: contents: write # to push the generated types commit pull-requests: read # to resolve the PR head ref # prevents this action from running on forks if: | github.repository == 'sveltejs/svelte' && ( github.event_name == 'workflow_dispatch' || ( github.event.issue.pull_request != null && github.event.comment.body == '/autofix' && contains(fromJSON('["OWNER", "MEMBER", "COLLABORATOR"]'), github.event.comment.author_association) ) ) runs-on: ubuntu-latest steps: - name: Get PR ref if: github.event_name != 'workflow_dispatch' id: pr uses: actions/github-script@v8 with: script: | const { data: pull } = await github.rest.pulls.get({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number }); if (pull.head.repo.full_name !== `${context.repo.owner}/${context.repo.repo}`) { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: 'Cannot autofix: this PR is from a forked repository. The autofix workflow can only push to branches within this repository.' }); core.setFailed('PR is from a fork'); } core.setOutput('ref', pull.head.ref); - uses: actions/checkout@v6 if: github.event_name == 'workflow_dispatch' || steps.pr.outcome == 'success' with: ref: ${{ github.event_name == 'workflow_dispatch' && github.ref || steps.pr.outputs.ref }} - uses: pnpm/action-setup@b906affcce14559ad1aafd4ab0e942779e9f58b1 # v4.3.0 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm - run: pnpm install --frozen-lockfile - name: Build run: pnpm -F svelte build - name: Run prettier run: pnpm format - name: Commit changes run: | git config user.name "github-actions[bot]" git config user.email "github-actions[bot]@users.noreply.github.com" git add -A git diff --staged --quiet || git commit -m "chore: autofix" git push origin HEAD ================================================ FILE: .github/workflows/ci.yml ================================================ name: CI on: push: branches: [main] pull_request: permissions: contents: read # to fetch code (actions/checkout) env: # We only install Chromium manually PLAYWRIGHT_SKIP_BROWSER_DOWNLOAD: '1' jobs: Tests: permissions: {} runs-on: ${{ matrix.os }} timeout-minutes: 15 strategy: matrix: include: - node-version: 18 os: windows-latest - node-version: 18 os: macOS-latest - node-version: 18 os: ubuntu-latest - node-version: 20 os: ubuntu-latest - node-version: 22 os: ubuntu-latest - node-version: 24 os: ubuntu-latest steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: ${{ matrix.node-version }} cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm playwright install chromium - run: pnpm test env: CI: true TestNoAsync: permissions: {} runs-on: ubuntu-latest timeout-minutes: 10 steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: 22 cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm playwright install chromium - run: pnpm test runtime-runes env: CI: true SVELTE_NO_ASYNC: true TSGo: permissions: {} runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm - name: install run: pnpm install --frozen-lockfile - name: install tsgo run: cd packages/svelte && pnpm i -D @typescript/native-preview - name: type check run: cd packages/svelte && pnpm check:tsgo Lint: permissions: {} runs-on: ubuntu-latest timeout-minutes: 5 steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm - name: install run: pnpm install --frozen-lockfile - name: type check run: pnpm check - name: lint if: (${{ success() }} || ${{ failure() }}) # ensures this step runs even if previous steps fail (avoids multiple runs uncovering different issues at different steps) run: pnpm lint - name: build and check generated types if: (${{ success() }} || ${{ failure() }}) # ensures this step runs even if previous steps fail run: pnpm build && { [ "`git status --porcelain=v1`" == "" ] || (echo "Generated types have changed — please regenerate types locally with `cd packages/svelte && pnpm generate:types` and commit the changes after you have reviewed them"; git diff; exit 1); } Benchmarks: permissions: {} runs-on: ubuntu-latest timeout-minutes: 15 steps: - uses: actions/checkout@v6 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: 24 cache: pnpm - run: pnpm install --frozen-lockfile - run: pnpm bench env: CI: true ================================================ FILE: .github/workflows/ecosystem-ci-trigger.yml ================================================ name: ecosystem-ci trigger on: issue_comment: types: [created] permissions: {} jobs: trigger: runs-on: ubuntu-latest if: github.repository == 'sveltejs/svelte' && github.event.issue.pull_request && startsWith(github.event.comment.body, '/ecosystem-ci run') permissions: issues: write # to add / delete reactions, post comments pull-requests: write # to read PR data, and to add labels actions: read # to check workflow status contents: read # to clone the repo steps: - name: Check User Permissions uses: actions/github-script@v8 id: check-permissions with: script: | const user = context.payload.sender.login console.log(`Validate user: ${user}`) let hasTriagePermission = false try { const { data } = await github.rest.repos.getCollaboratorPermissionLevel({ owner: context.repo.owner, repo: context.repo.repo, username: user, }); hasTriagePermission = data.user.permissions.triage } catch (e) { console.warn(e) } if (hasTriagePermission) { console.log('User is allowed. Adding +1 reaction.') await github.rest.reactions.createForIssueComment({ owner: context.repo.owner, repo: context.repo.repo, comment_id: context.payload.comment.id, content: '+1', }) } else { console.log('User is not allowed. Adding -1 reaction.') await github.rest.reactions.createForIssueComment({ owner: context.repo.owner, repo: context.repo.repo, comment_id: context.payload.comment.id, content: '-1', }) throw new Error('User does not have the necessary permissions.') } - name: Get PR Data uses: actions/github-script@v8 id: get-pr-data with: script: | console.log(`Get PR info: ${context.repo.owner}/${context.repo.repo}#${context.issue.number}`) const { data: pr } = await github.rest.pulls.get({ owner: context.repo.owner, repo: context.repo.repo, pull_number: context.issue.number }) const commentCreatedAt = new Date(context.payload.comment.created_at) const commitPushedAt = new Date(pr.head.repo.pushed_at) console.log(`Comment created at: ${commentCreatedAt.toISOString()}`) console.log(`PR last pushed at: ${commitPushedAt.toISOString()}`) // Check if any commits were pushed after the comment was created if (commitPushedAt > commentCreatedAt) { const errorMsg = [ '⚠️ Security warning: PR was updated after the trigger command was posted.', '', `Comment posted at: ${commentCreatedAt.toISOString()}`, `PR last pushed at: ${commitPushedAt.toISOString()}`, '', 'This could indicate an attempt to inject code after approval.', 'Please review the latest changes and re-run /ecosystem-ci run if they are acceptable.' ].join('\n') core.setFailed(errorMsg) await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number: context.issue.number, body: errorMsg }) throw new Error('PR was pushed to after comment was created') } return { num: context.issue.number, branchName: pr.head.ref, commit: pr.head.sha, repo: pr.head.repo.full_name } - name: Generate Token id: generate-token uses: actions/create-github-app-token@v2 with: app-id: ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_ID }} private-key: ${{ secrets.ECOSYSTEM_CI_GITHUB_APP_PRIVATE_KEY }} repositories: | svelte svelte-ecosystem-ci - name: Trigger Downstream Workflow uses: actions/github-script@v8 id: trigger env: COMMENT: ${{ github.event.comment.body }} PR_DATA: ${{ steps.get-pr-data.outputs.result }} with: github-token: ${{ steps.generate-token.outputs.token }} script: | const comment = process.env.COMMENT.trim() const prData = JSON.parse(process.env.PR_DATA) const suite = comment.split('\n')[0].replace(/^\/ecosystem-ci run/, '').trim() await github.rest.actions.createWorkflowDispatch({ owner: context.repo.owner, repo: 'svelte-ecosystem-ci', workflow_id: 'ecosystem-ci-from-pr.yml', ref: 'main', inputs: { prNumber: '' + prData.num, branchName: prData.branchName, repo: prData.repo, commit: prData.commit, suite: suite === '' ? '-' : suite } }) ================================================ FILE: .github/workflows/pkg.pr.new.yml ================================================ name: pkg.pr.new on: pull_request_target: types: [opened, synchronize] push: branches: [main] workflow_dispatch: inputs: sha: description: 'Commit SHA to build' required: true type: string pr: description: 'PR number to comment on' required: true type: number permissions: {} jobs: build: # Skip pull_request_target events from forks — maintainers can use workflow_dispatch instead if: > github.event_name != 'pull_request_target' || github.event.pull_request.head.repo.full_name == github.repository runs-on: ubuntu-latest # No permissions — this job runs user-controlled code permissions: {} steps: - uses: actions/checkout@v6 with: # For pull_request_target, check out the PR head. # For workflow_dispatch, check out the manually specified SHA. # For push, fall back to the push SHA. ref: ${{ github.event.pull_request.head.sha || inputs.sha || github.sha }} - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - uses: actions/setup-node@v6 with: node-version: 22.x cache: pnpm - name: Install dependencies run: pnpm install --frozen-lockfile - name: Build run: pnpm build - run: pnpx pkg-pr-new publish --comment=off --json output.json --compact --no-template './packages/svelte' - name: Upload output uses: actions/upload-artifact@v4 with: name: output path: ./output.json # Sanitizes the untrusted output from the build job before it's consumed by # jobs with elevated permissions. This ensures that only known package names # and valid SHA prefixes make it through. sanitize: needs: build runs-on: ubuntu-latest permissions: {} steps: - name: Download artifact uses: actions/download-artifact@v7 with: name: output - name: Sanitize output uses: actions/github-script@v8 with: script: | const fs = require('fs'); const raw = JSON.parse(fs.readFileSync('output.json', 'utf8')); const ALLOWED_PACKAGES = new Set(['svelte']); const SHA_PATTERN = /^[0-9a-f]{7}$/; const packages = (raw.packages || []) .filter(p => { if (!ALLOWED_PACKAGES.has(p.name)) { console.log(`Skipping unexpected package: ${JSON.stringify(p.name)}`); return false; } const sha = p.url?.replace(/^.+@([^@]+)$/, '$1'); if (!sha || !SHA_PATTERN.test(sha)) { console.log(`Skipping package with invalid SHA: ${JSON.stringify(p.url)}`); return false; } return true; }) .map(p => ({ name: p.name, sha: p.url.replace(/^.+@([^@]+)$/, '$1'), })); fs.writeFileSync('sanitized-output.json', JSON.stringify({ packages }), 'utf8'); - name: Upload sanitized output uses: actions/upload-artifact@v4 with: name: sanitized-output path: ./sanitized-output.json comment: needs: sanitize if: github.event_name == 'pull_request_target' || github.event_name == 'workflow_dispatch' runs-on: ubuntu-latest permissions: contents: read pull-requests: write steps: - name: Download sanitized artifact uses: actions/download-artifact@v7 with: name: sanitized-output - name: Resolve PR number id: pr uses: actions/github-script@v8 with: script: | if (context.eventName === 'pull_request_target') { core.setOutput('number', context.issue.number); return; } // For workflow_dispatch, use the explicitly provided PR number. // We can't use listPullRequestsAssociatedWithCommit because fork // commits don't exist in the base repo, so the API returns nothing. const pr = Number('${{ inputs.pr }}'); if (!pr || isNaN(pr)) { core.setFailed('workflow_dispatch requires a valid pr input'); return; } core.setOutput('number', pr); - name: Post or update comment uses: actions/github-script@v8 with: github-token: ${{ secrets.GITHUB_TOKEN }} script: | const fs = require('fs'); const { packages } = JSON.parse(fs.readFileSync('sanitized-output.json', 'utf8')); if (packages.length === 0) { console.log('No valid packages found. Skipping comment.'); return; } const issue_number = parseInt('${{ steps.pr.outputs.number }}', 10); const bot_comment_identifier = ``; const body = `${bot_comment_identifier} [Playground](https://svelte.dev/playground?version=pr-${issue_number}) \`\`\` ${packages.map(p => `pnpm add https://pkg.pr.new/${p.name}@${issue_number}`).join('\n')} \`\`\` `; const comments = await github.rest.issues.listComments({ owner: context.repo.owner, repo: context.repo.repo, issue_number, }); const existing = comments.data.find(c => c.body.includes(bot_comment_identifier)); if (existing) { await github.rest.issues.updateComment({ owner: context.repo.owner, repo: context.repo.repo, comment_id: existing.id, body, }); } else { await github.rest.issues.createComment({ owner: context.repo.owner, repo: context.repo.repo, issue_number, body, }); } log: needs: sanitize if: github.event_name == 'push' runs-on: ubuntu-latest permissions: {} steps: - name: Download sanitized artifact uses: actions/download-artifact@v7 with: name: sanitized-output - name: Log publish info uses: actions/github-script@v8 with: script: | const fs = require('fs'); const { packages } = JSON.parse(fs.readFileSync('sanitized-output.json', 'utf8')); if (packages.length === 0) { console.log('No valid packages found.'); return; } console.log('\n' + '='.repeat(50)); console.log('Publish Information'); console.log('='.repeat(50)); for (const p of packages) { console.log(`${p.name} - pnpm add https://pkg.pr.new/${p.name}@${p.sha}`); } const svelte = packages.find(p => p.name === 'svelte'); if (svelte) { console.log(`\nPlayground: https://svelte.dev/playground?version=commit-${svelte.sha}`); } console.log('='.repeat(50)); ================================================ FILE: .github/workflows/release.yml ================================================ name: Release on: push: branches: - main concurrency: # prevent two release workflows from running at once # race conditions here can result in releases failing group: ${{ github.workflow }} permissions: {} jobs: release: # prevents this action from running on forks if: github.repository == 'sveltejs/svelte' permissions: contents: write # to create release (changesets/action) id-token: write # OpenID Connect token needed for provenance pull-requests: write # to create pull request (changesets/action) name: Release runs-on: ubuntu-latest steps: - name: Checkout Repo uses: actions/checkout@v6 with: # This makes Actions fetch all Git history so that Changesets can generate changelogs with the correct commits fetch-depth: 0 - uses: pnpm/action-setup@fc06bc1257f339d1d5d8b3a19a8cae5388b55320 # v4 - name: Setup Node.js uses: actions/setup-node@v6 with: node-version: 24.x cache: pnpm - name: Install run: pnpm install --frozen-lockfile - name: Build run: pnpm build && { [ "`git status --porcelain=v1`" == "" ] || (echo "Generated types have changed — please regenerate types locally with `cd packages/svelte && pnpm generate:types` and commit the changes after you have reviewed them"; git diff; exit 1); } - name: Create Release Pull Request or Publish to npm id: changesets uses: changesets/action@6a0a831ff30acef54f2c6aa1cbbc1096b066edaf # v1 with: version: pnpm changeset:version publish: pnpm changeset:publish env: GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }} NPM_CONFIG_PROVENANCE: true ================================================ FILE: .gitignore ================================================ # Dependency directories node_modules/ # IDE related .idea # Test coverage coverage *.lcov # Optional eslint cache .eslintcache # dotenv environment variables file .env .env.test # build output .vercel # OS-specific .DS_Store tmp benchmarking/.profiles benchmarking/compare/.results benchmarking/compare/.profiles ================================================ FILE: .npmrc ================================================ playwright_skip_browser_download=1 ================================================ FILE: .prettierignore ================================================ documentation/docs/ packages/**/dist/*.js packages/**/build/*.js packages/**/npm/**/* packages/**/config/*.js # packages/svelte packages/svelte/messages/**/*.md packages/svelte/scripts/_bundle.js packages/svelte/src/compiler/errors.js packages/svelte/src/compiler/warnings.js packages/svelte/src/internal/client/errors.js packages/svelte/src/internal/client/warnings.js packages/svelte/src/internal/shared/errors.js packages/svelte/src/internal/shared/warnings.js packages/svelte/src/internal/server/errors.js packages/svelte/src/internal/server/warnings.js packages/svelte/tests/migrate/samples/*/output.svelte packages/svelte/tests/**/*.svelte packages/svelte/tests/**/_expected* packages/svelte/tests/**/_actual* packages/svelte/tests/**/expected* packages/svelte/tests/**/_output packages/svelte/tests/**/shards/*.test.js packages/svelte/tests/hydration/samples/*/_expected.html packages/svelte/tests/hydration/samples/*/_override.html packages/svelte/tests/parser-legacy/samples/*/_actual.json packages/svelte/tests/parser-legacy/samples/*/output.json packages/svelte/tests/parser-modern/samples/*/_actual.json packages/svelte/tests/parser-modern/samples/*/output.json packages/svelte/types packages/svelte/compiler/index.js playgrounds/sandbox/dist/* playgrounds/sandbox/output/* playgrounds/sandbox/src/* **/node_modules **/.svelte-kit **/.vercel .github/CODEOWNERS .prettierignore .changeset pnpm-lock.yaml pnpm-workspace.yaml ================================================ FILE: .prettierrc ================================================ { "useTabs": true, "singleQuote": true, "trailingComma": "none", "printWidth": 100, "plugins": ["prettier-plugin-svelte"], "overrides": [ { "files": ["*.svelte"], "options": { "bracketSameLine": false } }, { "files": ["README.md", "packages/*/README.md", "**/package.json"], "options": { "useTabs": false, "tabWidth": 2 } } ] } ================================================ FILE: .vscode/launch.json ================================================ { "version": "0.2.0", "configurations": [ { "type": "node", "request": "launch", "name": "Run sandbox", "program": "${workspaceFolder}/playgrounds/sandbox/run.js", "env": { "NODE_OPTIONS": "--stack-trace-limit=10000" } } ] } ================================================ FILE: .vscode/settings.json ================================================ { "typescript.tsdk": "node_modules/typescript/lib" } ================================================ FILE: .well-known/funding-manifest-urls ================================================ https://svelte.dev/funding.json ================================================ FILE: CODE_OF_CONDUCT.md ================================================ This repository is governed by the Svelte Code of Conduct. https://github.com/sveltejs/community/blob/main/CODE_OF_CONDUCT.md ================================================ FILE: CONTRIBUTING.md ================================================ # Contributing to Svelte Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM. The [Open Source Guides](https://opensource.guide/) website has a collection of resources for individuals, communities, and companies. These resources help people who want to learn how to run and contribute to open source projects. Contributors and people new to open source alike will find the following guides especially useful: - [How to Contribute to Open Source](https://opensource.guide/how-to-contribute/) - [Building Welcoming Communities](https://opensource.guide/building-community/) ## Get involved There are many ways to contribute to Svelte, and many of them do not involve writing any code. Here are a few ideas to get started: - Simply start using Svelte. Go through the [Getting Started](https://svelte.dev/docs#getting-started) guide. Does everything work as expected? If not, we're always looking for improvements. Let us know by [opening an issue](#reporting-new-issues). - Look through the [open issues](https://github.com/sveltejs/svelte/issues). A good starting point would be issues tagged [good first issue](https://github.com/sveltejs/svelte/issues?q=is%3Aissue+is%3Aopen+label%3A%22good+first+issue%22). Provide workarounds, ask for clarification, or suggest labels. Help [triage issues](#triaging-issues-and-pull-requests). - If you find an issue you would like to fix, [open a pull request](#pull-requests). - Read through our [tutorials](https://svelte.dev/tutorial). If you find anything that is confusing or can be improved, you can make edits by clicking "Edit this page" at the bottom left of the tutorial page. - Take a look at the [features requested](https://github.com/sveltejs/svelte/labels/feature%20request) by others in the community and consider opening a pull request if you see something you want to work on. Contributions are very welcome. If you think you need help planning your contribution, please ping us on Discord at [svelte.dev/chat](https://svelte.dev/chat) and let us know you are looking for a bit of help. ### Triaging issues and pull requests One great way you can contribute to the project without writing any code is to help triage issues and pull requests as they come in. - Ask for more information if you believe the issue does not provide all the details required to solve it. - Flag issues that are stale or that should be closed. - Ask for test plans and review code. ## Our process ### RFCs If you'd like to propose an implementation for a large new feature or change then please [create an RFC](https://github.com/sveltejs/rfcs) to discuss it up front. ### Roadmap When deciding where to contribute, you may wish to take a look at [our roadmap](https://svelte.dev/roadmap). The Svelte team generally works on a single major effort at a time. This has a couple benefits for us as maintainers. First, it allows us to focus and make noticeable progress in an area being proactive rather than reactive. Secondly, it allows us to handle related issues and PRs together. By batching issues and PRs together we’re able to ensure implementations and fixes holistically address the set of problems and use cases encountered by our users. ### Maintainer meetings The maintainers meet on the final Saturday of each month. While these meetings are not open publicly, we will report back by leaving a comment on each issue discussed. We will generally discuss items aligning with our roadmap, but major PRs needing discussion amongst the maintainers can be added to the agenda for the monthly maintainer’s meeting. However, we typically are only able to get to a couple of items that are not aligned with our current priority. ### Prioritization We do our best to review PRs and RFCs as they are sent, but it is difficult to keep up. We welcome help in reviewing PRs, RFCs, and issues. If an item aligns with the current priority on our [roadmap](https://svelte.dev/roadmap), it is more likely to be reviewed quickly. PRs to the most important and active ones repositories get reviewed more quickly while PRs to smaller inactive repos may sit for a bit before we periodically come by and review the pending PRs in a batch. ## Bugs We use [GitHub issues](https://github.com/sveltejs/svelte/issues) for our public bugs. If you would like to report a problem, take a look around and see if someone already opened an issue about it. If you are certain this is a new unreported bug, you can submit a [bug report](#reporting-new-issues). If you have questions about using Svelte, contact us on Discord at [svelte.dev/chat](https://svelte.dev/chat), and we will do our best to answer your questions. If you see anything you'd like to be implemented, create a [feature request issue](https://github.com/sveltejs/svelte/issues/new?template=feature_request.yml). ### Reporting new issues When [opening a new issue](https://github.com/sveltejs/svelte/issues/new/choose), always make sure to fill out the issue template. **This step is very important!** Not doing so may result in your issue not being managed in a timely fashion. Don't take this personally if this happens, and feel free to open a new issue once you've gathered all the information required by the template. - **One issue, one bug:** Please report a single bug per issue. - **Provide reproduction steps:** List all the steps necessary to reproduce the issue. The person reading your bug report should be able to follow these steps to reproduce your issue with minimal effort. If possible, use the [REPL](https://svelte.dev/repl) to create your reproduction. ## Pull requests ### Proposing a change If you would like to request a new feature or enhancement but are not yet thinking about opening a pull request, you can also file an issue with [feature template](https://github.com/sveltejs/svelte/issues/new?template=feature_request.yml). If you're only fixing a bug, it's fine to submit a pull request right away, but we still recommend that you file an issue detailing what you're fixing. This is helpful in case we don't accept that specific fix but want to keep track of the issue. Small pull requests are much easier to review and more likely to get merged. ### Installation Ensure you have [pnpm](https://pnpm.io/installation) installed. After cloning the repository, run `pnpm install`. ### Developing To build the UMD version of `svelte/compiler` (this is only necessary for CommonJS consumers, or in-browser use), run `pnpm build` inside `packages/svelte`. To rebuild whenever source files change, run `pnpm dev`. ### Creating a branch Fork [the repository](https://github.com/sveltejs/svelte) and create your branch from `main`. If you've never sent a GitHub pull request before, you can learn how from [this free video series](https://egghead.io/courses/how-to-contribute-to-an-open-source-project-on-github). ### Testing A good test plan has the exact commands you ran and their output, provides screenshots or videos if the pull request changes UI. - If you've changed APIs, update the documentation. #### Writing tests All tests are located in the `/tests` folder. Test samples are kept in `/tests/xxx/samples` folders. #### Running tests > PREREQUISITE: Install chromium via playwright by running `pnpm playwright install chromium` 1. To run test, run `pnpm test`. 1. To run a particular test suite, use `pnpm test `, for example: ```sh pnpm test validator ``` 1. To filter tests _within_ a test suite, use `pnpm test -t `, for example: ```sh pnpm test validator -t a11y-alt-text ``` (You can also do `FILTER= pnpm test ` which removes other tests rather than simply skipping them — this will result in faster and more compact test results, but it's non-idiomatic. Choose your fighter.) ##### Updating `.expected` files 1. Tests suites like `snapshot` and `parser` assert that the generated output matches the existing snapshot. 1. To update these snapshots, run `UPDATE_SNAPSHOTS=true pnpm test`. ### Typechecking To typecheck the codebase, run `pnpm check` inside `packages/svelte`. To typecheck in watch mode, run `pnpm check:watch`. ### Style guide [Eslint](https://eslint.org) will catch most styling issues that may exist in your code. You can check the status of your code styling by simply running `pnpm lint`. #### Code conventions - `snake_case` for internal variable names and methods. - `camelCase` for public variable names and methods. ### Generating types Types are auto-generated from the source, but the result is checked in to ensure no accidental changes slip through. Run `pnpm generate:types` to regenerate the types. ### Sending your pull request Please make sure the following is done when submitting a pull request: 1. Describe your **test plan** in your pull request description. Make sure to test your changes. 1. Make sure your code lints (`pnpm lint`). 1. Make sure your tests pass (`pnpm test`). All pull requests should be opened against the `main` branch. Make sure the PR does only one thing, otherwise please split it. If this change should contribute to a version bump, run `npx changeset` at the root of the repository after a code change and select the appropriate packages. #### Breaking changes When adding a new breaking change, follow this template in your pull request: ```md ### New breaking change here - **Who does this affect**: - **How to migrate**: - **Why make this breaking change**: - **Severity (number of people affected x effort)**: ``` ### Reviewing pull requests If you'd like to manually test a pull request in another pnpm project, you can do so by running `pnpm add -D "github:sveltejs/svelte#path:packages/svelte&branch-name"` in that project. ## License By contributing to Svelte, you agree that your contributions will be licensed under its [MIT license](https://github.com/sveltejs/svelte/blob/master/LICENSE.md). ## Questions Feel free to ask in [#contributing](https://discord.com/channels/457912077277855764/750401468569354431) on [Discord](https://svelte.dev/chat) if you have questions about our process, how to proceed, etc. ================================================ FILE: FUNDING.json ================================================ { "drips": { "ethereum": { "ownedBy": "0xCE08E02c37d90d75C2bf7D9e55f7606C8DB80E70" } } } ================================================ FILE: LICENSE.md ================================================ Copyright (c) 2016-2025 [Svelte Contributors](https://github.com/sveltejs/svelte/graphs/contributors) Permission is hereby granted, free of charge, to any person obtaining a copy of this software and associated documentation files (the "Software"), to deal in the Software without restriction, including without limitation the rights to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software, and to permit persons to whom the Software is furnished to do so, subject to the following conditions: The above copyright notice and this permission notice shall be included in all copies or substantial portions of the Software. THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE. ================================================ FILE: README.md ================================================ Svelte - web development for the rest of us [![License](https://img.shields.io/npm/l/svelte.svg)](LICENSE.md) [![Chat](https://img.shields.io/discord/457912077277855764?label=chat&logo=discord)](https://svelte.dev/chat) ## What is Svelte? Svelte is a new way to build web applications. It's a compiler that takes your declarative components and converts them into efficient JavaScript that surgically updates the DOM. Learn more at the [Svelte website](https://svelte.dev), or stop by the [Discord chatroom](https://svelte.dev/chat). ## Supporting Svelte Svelte is an MIT-licensed open source project with its ongoing development made possible entirely by fantastic volunteers. If you'd like to support their efforts, please consider: - [Becoming a backer on Open Collective](https://opencollective.com/svelte). Funds donated via Open Collective will be used for compensating expenses related to Svelte's development such as hosting costs. If sufficient donations are received, funds may also be used to support Svelte's development more directly. ## Roadmap You may view [our roadmap](https://svelte.dev/roadmap) if you'd like to see what we're currently working on. ## Contributing Please see the [Contributing Guide](CONTRIBUTING.md) and the [`svelte`](packages/svelte) package for information on contributing to Svelte. ## Is svelte.dev down? Probably not, but it's possible. If you can't seem to access any `.dev` sites, check out [this SuperUser question and answer](https://superuser.com/q/1413402). ## License [MIT](LICENSE.md) ================================================ FILE: benchmarking/.gitignore ================================================ output ================================================ FILE: benchmarking/benchmarks/reactivity/index.js ================================================ import fs from 'node:fs'; import path from 'node:path'; import { sbench_create_0to1, sbench_create_1000to1, sbench_create_1to1, sbench_create_1to1000, sbench_create_1to2, sbench_create_1to4, sbench_create_1to8, sbench_create_2to1, sbench_create_4to1, sbench_create_signals } from './sbench.js'; import { fileURLToPath } from 'node:url'; import { create_test } from './util.js'; // This benchmark has been adapted from the js-reactivity-benchmark (https://github.com/milomg/js-reactivity-benchmark) // Not all tests are the same, and many parts have been tweaked to capture different data. const dirname = path.dirname(fileURLToPath(import.meta.url)); export const reactivity_benchmarks = [ sbench_create_signals, sbench_create_0to1, sbench_create_1to1, sbench_create_2to1, sbench_create_4to1, sbench_create_1000to1, sbench_create_1to2, sbench_create_1to4, sbench_create_1to8, sbench_create_1to1000 ]; for (const file of fs.readdirSync(`${dirname}/tests`)) { if (!file.includes('.bench.')) continue; const name = file.replace('.bench.js', ''); const module = await import(`${dirname}/tests/${file}`); const { owned, unowned } = create_test(name, module.default); reactivity_benchmarks.push(owned, unowned); } ================================================ FILE: benchmarking/benchmarks/reactivity/sbench.js ================================================ /** @import { Source } from '../../../packages/svelte/src/internal/client/types.js' */ import { fastest_test } from '../../utils.js'; import * as $ from '../../../packages/svelte/src/internal/client/index.js'; const COUNT = 1e5; /** * @param {number} n * @param {any[]} sources */ function create_sources(n, sources) { for (let i = 0; i < n; i++) { sources[i] = $.state(i); } return sources; } /** * @param {Source} source */ function create_derived(source) { $.derived(() => $.get(source)); } /** * * @param {string} label * @param {(n: number, sources: Array>) => void} fn * @param {number} count * @param {number} num_sources */ function create_sbench_test(label, count, num_sources, fn) { return { label, fn: async () => { // Do 3 loops to warm up JIT for (let i = 0; i < 3; i++) { fn(count, create_sources(num_sources, [])); } return await fastest_test(10, () => { const destroy = $.effect_root(() => { for (let i = 0; i < 10; i++) { fn(count, create_sources(num_sources, [])); } }); destroy(); }); } }; } export const sbench_create_signals = create_sbench_test( 'sbench_create_signals', COUNT, COUNT, create_sources ); export const sbench_create_0to1 = create_sbench_test('sbench_create_0to1', COUNT, 0, (n) => { for (let i = 0; i < n; i++) { $.derived(() => i); } }); export const sbench_create_1to1 = create_sbench_test( 'sbench_create_1to1', COUNT, COUNT, (n, sources) => { for (let i = 0; i < n; i++) { create_derived(sources[i]); } } ); export const sbench_create_2to1 = create_sbench_test( 'sbench_create_2to1', COUNT / 2, COUNT, (n, sources) => { for (let i = 0; i < n; i++) { $.derived(() => $.get(sources[i * 2]) + $.get(sources[i * 2 + 1])); } } ); export const sbench_create_4to1 = create_sbench_test( 'sbench_create_4to1', COUNT / 4, COUNT, (n, sources) => { for (let i = 0; i < n; i++) { $.derived( () => $.get(sources[i * 4]) + $.get(sources[i * 4 + 1]) + $.get(sources[i * 4 + 2]) + $.get(sources[i * 4 + 3]) ); } } ); export const sbench_create_1000to1 = create_sbench_test( 'sbench_create_1000to1', COUNT / 1000, COUNT, (n, sources) => { for (let i = 0; i < n; i++) { const offset = i * 1000; $.derived(() => { let sum = 0; for (let i = 0; i < 1000; i++) { sum += $.get(sources[offset + i]); } return sum; }); } } ); export const sbench_create_1to2 = create_sbench_test( 'sbench_create_1to2', COUNT, COUNT / 2, (n, sources) => { for (let i = 0; i < n / 2; i++) { const source = sources[i]; create_derived(source); create_derived(source); } } ); export const sbench_create_1to4 = create_sbench_test( 'sbench_create_1to4', COUNT, COUNT / 4, (n, sources) => { for (let i = 0; i < n / 4; i++) { const source = sources[i]; create_derived(source); create_derived(source); create_derived(source); create_derived(source); } } ); export const sbench_create_1to8 = create_sbench_test( 'sbench_create_1to8', COUNT, COUNT / 8, (n, sources) => { for (let i = 0; i < n / 8; i++) { const source = sources[i]; create_derived(source); create_derived(source); create_derived(source); create_derived(source); create_derived(source); create_derived(source); create_derived(source); create_derived(source); } } ); export const sbench_create_1to1000 = create_sbench_test( 'sbench_create_1to1000', COUNT, COUNT / 1000, (n, sources) => { for (let i = 0; i < n / 1000; i++) { const source = sources[i]; for (let j = 0; j < 1000; j++) { create_derived(source); } } } ); ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_avoidable.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; import { busy } from '../util.js'; export default () => { let head = $.state(0); let computed1 = $.derived(() => $.get(head)); let computed2 = $.derived(() => ($.get(computed1), 0)); let computed3 = $.derived(() => (busy(), $.get(computed2) + 1)); // heavy computation let computed4 = $.derived(() => $.get(computed3) + 2); let computed5 = $.derived(() => $.get(computed4) + 3); const destroy = $.effect_root(() => { $.render_effect(() => { $.get(computed5); busy(); // heavy side effect }); }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); assert.equal($.get(computed5), 6); for (let i = 0; i < 1000; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(computed5), 6); } } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_broad.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; export default () => { let head = $.state(0); let last = head; let counter = 0; const destroy = $.effect_root(() => { for (let i = 0; i < 50; i++) { let current = $.derived(() => { return $.get(head) + i; }); let current2 = $.derived(() => { return $.get(current) + 1; }); $.render_effect(() => { $.get(current2); counter++; }); last = current2; } }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); counter = 0; for (let i = 0; i < 50; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(last), i + 50); } assert.equal(counter, 50 * 50); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_deep.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; let len = 50; const iter = 50; export default () => { let head = $.state(0); let current = head; for (let i = 0; i < len; i++) { let c = current; current = $.derived(() => { return $.get(c) + 1; }); } let counter = 0; const destroy = $.effect_root(() => { $.render_effect(() => { $.get(current); counter++; }); }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); counter = 0; for (let i = 0; i < iter; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(current), len + i); } assert.equal(counter, iter); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_diamond.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; let width = 5; export default () => { let head = $.state(0); let current = []; for (let i = 0; i < width; i++) { current.push( $.derived(() => { return $.get(head) + 1; }) ); } let sum = $.derived(() => { return current.map((x) => $.get(x)).reduce((a, b) => a + b, 0); }); let counter = 0; const destroy = $.effect_root(() => { $.render_effect(() => { $.get(sum); counter++; }); }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); assert.equal($.get(sum), 2 * width); counter = 0; for (let i = 0; i < 500; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(sum), (i + 1) * width); } assert.equal(counter, 500); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_mux.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; export default () => { let heads = new Array(100).fill(null).map((_) => $.state(0)); const mux = $.derived(() => { return Object.fromEntries(heads.map((h) => $.get(h)).entries()); }); const splited = heads .map((_, index) => $.derived(() => $.get(mux)[index])) .map((x) => $.derived(() => $.get(x) + 1)); const destroy = $.effect_root(() => { splited.forEach((x) => { $.render_effect(() => { $.get(x); }); }); }); return { destroy, run() { for (let i = 0; i < 10; i++) { $.flush(() => { $.set(heads[i], i); }); assert.equal($.get(splited[i]), i + 1); } for (let i = 0; i < 10; i++) { $.flush(() => { $.set(heads[i], i * 2); }); assert.equal($.get(splited[i]), i * 2 + 1); } } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_repeated.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; let size = 30; export default () => { let head = $.state(0); let current = $.derived(() => { let result = 0; for (let i = 0; i < size; i++) { result += $.get(head); } return result; }); let counter = 0; const destroy = $.effect_root(() => { $.render_effect(() => { $.get(current); counter++; }); }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); assert.equal($.get(current), size); counter = 0; for (let i = 0; i < 100; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(current), i * size); } assert.equal(counter, 100); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_triangle.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; let width = 10; function count(number) { return new Array(number) .fill(0) .map((_, i) => i + 1) .reduce((x, y) => x + y, 0); } export default () => { let head = $.state(0); let current = head; let list = []; for (let i = 0; i < width; i++) { let c = current; list.push(current); current = $.derived(() => { return $.get(c) + 1; }); } let sum = $.derived(() => { return list.map((x) => $.get(x)).reduce((a, b) => a + b, 0); }); let counter = 0; const destroy = $.effect_root(() => { $.render_effect(() => { $.get(sum); counter++; }); }); return { destroy, run() { const constant = count(width); $.flush(() => { $.set(head, 1); }); assert.equal($.get(sum), constant); counter = 0; for (let i = 0; i < 100; i++) { $.flush(() => { $.set(head, i); }); assert.equal($.get(sum), constant - width + i * width); } assert.equal(counter, 100); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/kairo_unstable.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; export default () => { let head = $.state(0); const double = $.derived(() => $.get(head) * 2); const inverse = $.derived(() => -$.get(head)); let current = $.derived(() => { let result = 0; for (let i = 0; i < 20; i++) { result += $.get(head) % 2 ? $.get(double) : $.get(inverse); } return result; }); let counter = 0; const destroy = $.effect_root(() => { $.render_effect(() => { $.get(current); counter++; }); }); return { destroy, run() { $.flush(() => { $.set(head, 1); }); assert.equal($.get(current), 40); counter = 0; for (let i = 0; i < 100; i++) { $.flush(() => { $.set(head, i); }); } assert.equal(counter, 100); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/mol.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; /** * @param {number} n */ function fib(n) { if (n < 2) return 1; return fib(n - 1) + fib(n - 2); } /** * @param {number} n */ function hard(n) { return n + fib(16); } const numbers = Array.from({ length: 5 }, (_, i) => i); export default () => { let res = []; const A = $.state(0); const B = $.state(0); const C = $.derived(() => ($.get(A) % 2) + ($.get(B) % 2)); const D = $.derived(() => numbers.map((i) => i + ($.get(A) % 2) - ($.get(B) % 2))); D.equals = function (/** @type {number[]} */ l) { var r = this.v; return r !== null && l.length === r.length && l.every((v, i) => v === r[i]); }; const E = $.derived(() => hard($.get(C) + $.get(A) + $.get(D)[0])); const F = $.derived(() => hard($.get(D)[0] && $.get(B))); const G = $.derived(() => $.get(C) + ($.get(C) || $.get(E) % 2) + $.get(D)[0] + $.get(F)); const destroy = $.effect_root(() => { $.render_effect(() => { res.push(hard($.get(G))); }); $.render_effect(() => { res.push($.get(G)); }); $.render_effect(() => { res.push(hard($.get(F))); }); }); return { destroy, /** * @param {number} i */ run(i) { res.length = 0; $.flush(() => { $.set(B, 1); $.set(A, 1 + i * 2); }); $.flush(() => { $.set(A, 2 + i * 2); $.set(B, 2); }); assert.equal(res[0], 3198); assert.equal(res[1], 1601); assert.equal(res[2], 3195); assert.equal(res[3], 1598); } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/tests/repeated_deps.bench.js ================================================ import assert from 'node:assert'; import * as $ from 'svelte/internal/client'; const ARRAY_SIZE = 1000; export default () => { const signals = Array.from({ length: ARRAY_SIZE }, (_, i) => $.state(i)); const order = $.state(0); // break skipped_deps fast path by changing order of reads const total = $.derived(() => { const ord = $.get(order); let sum = 0; for (let i = 0; i < ARRAY_SIZE; i++) { sum += /** @type {number} */ ($.get(signals[(i + ord) % ARRAY_SIZE])); } return sum; }); const destroy = $.effect_root(() => { $.render_effect(() => { $.get(total); }); }); return { destroy, run() { for (let i = 0; i < 5; i++) { $.flush(() => $.set(order, i)); assert.equal($.get(total), (ARRAY_SIZE * (ARRAY_SIZE - 1)) / 2); // sum of 0..999 } } }; }; ================================================ FILE: benchmarking/benchmarks/reactivity/util.js ================================================ import * as $ from 'svelte/internal/client'; import { fastest_test } from '../../utils.js'; export function busy() { let a = 0; for (let i = 0; i < 1_00; i++) { a++; } } /** * * @param {string} label * @param {() => { run: (i?: number) => void, destroy: () => void }} setup */ export function create_test(label, setup) { return { unowned: { label: `${label}_unowned`, fn: async () => { // Do 10 loops to warm up JIT for (let i = 0; i < 10; i++) { const { run, destroy } = setup(); run(0); destroy(); } const { run, destroy } = setup(); const result = await fastest_test(10, () => { for (let i = 0; i < 1000; i++) { run(i); } }); destroy(); return result; } }, owned: { label: `${label}_owned`, fn: async () => { let run, destroy; const destroy_owned = $.effect_root(() => { // Do 10 loops to warm up JIT for (let i = 0; i < 10; i++) { const { run, destroy } = setup(); run(0); destroy(); } ({ run, destroy } = setup()); }); const result = await fastest_test(10, () => { for (let i = 0; i < 1000; i++) { run(i); } }); // @ts-ignore destroy(); destroy_owned(); return result; } } }; } ================================================ FILE: benchmarking/benchmarks/ssr/index.js ================================================ import { wrapper_bench } from './wrapper/wrapper_bench.js'; export const ssr_benchmarks = [wrapper_bench]; ================================================ FILE: benchmarking/benchmarks/ssr/wrapper/App.svelte ================================================
{#each tiles as { x, y }}
{/each}
================================================ FILE: benchmarking/benchmarks/ssr/wrapper/wrapper_bench.js ================================================ import * as fs from 'node:fs'; import * as path from 'node:path'; import { render } from 'svelte/server'; import { fastest_test } from '../../../utils.js'; import { compile } from 'svelte/compiler'; const dir = `${process.cwd()}/benchmarking/benchmarks/ssr/wrapper`; async function compile_svelte() { const output = compile(read(`${dir}/App.svelte`), { generate: 'server' }); write(`${dir}/output/App.js`, output.js.code); const module = await import(`${dir}/output/App.js`); return module.default; } export const wrapper_bench = { label: 'wrapper_bench', fn: async () => { const App = await compile_svelte(); // Do 3 loops to warm up JIT for (let i = 0; i < 3; i++) { render(App); } return await fastest_test(10, () => { for (let i = 0; i < 100; i++) { render(App); } }); } }; /** * @param {string} file */ function read(file) { return fs.readFileSync(file, 'utf-8').replace(/\r\n/g, '\n'); } /** * @param {string} file * @param {string} contents */ function write(file, contents) { try { fs.mkdirSync(path.dirname(file), { recursive: true }); } catch {} fs.writeFileSync(file, contents); } ================================================ FILE: benchmarking/compare/index.js ================================================ import fs from 'node:fs'; import path from 'node:path'; import { execSync, fork } from 'node:child_process'; import { fileURLToPath } from 'node:url'; // if (execSync('git status --porcelain').toString().trim()) { // console.error('Working directory is not clean'); // process.exit(1); // } const filename = fileURLToPath(import.meta.url); const runner = path.resolve(filename, '../runner.js'); const outdir = path.resolve(filename, '../.results'); const report_file = `${outdir}/report.txt`; if (fs.existsSync(outdir)) fs.rmSync(outdir, { recursive: true }); fs.mkdirSync(outdir); const branches = []; let PROFILE_DIR = path.resolve(filename, '../.profiles'); if (fs.existsSync(PROFILE_DIR)) fs.rmSync(PROFILE_DIR, { recursive: true }); fs.mkdirSync(PROFILE_DIR, { recursive: true }); for (const arg of process.argv.slice(2)) { if (arg.startsWith('--')) continue; if (arg === filename) continue; branches.push(arg); } if (branches.length === 0) { branches.push( execSync('git symbolic-ref --short -q HEAD || git rev-parse --short HEAD').toString().trim() ); } if (branches.length === 1) { branches.push('main'); } process.on('exit', () => { execSync(`git checkout ${branches[0]}`); }); for (const branch of branches) { console.group(`Benchmarking ${branch}`); execSync(`git checkout ${branch}`); await new Promise((fulfil, reject) => { const child = fork(runner, [], { env: { ...process.env, BENCH_PROFILE_DIR: `${PROFILE_DIR}/${safe(branch)}` } }); child.on('message', (results) => { fs.writeFileSync(`${outdir}/${branch}.json`, JSON.stringify(results, null, ' ')); fulfil(); }); child.on('error', reject); }); console.groupEnd(); } if (PROFILE_DIR !== null) { console.log(`\nCPU profiles written to ${PROFILE_DIR}`); } const results = branches.map((branch) => { return JSON.parse(fs.readFileSync(`${outdir}/${branch}.json`, 'utf-8')); }); fs.writeFileSync(report_file, ''); const write = (str) => { fs.appendFileSync(report_file, str + '\n'); console.log(str); }; for (let i = 0; i < results[0].length; i += 1) { write(`${results[0][i].benchmark}`); for (const metric of ['time', 'gc_time']) { const times = results.map((result) => +result[i][metric]); let min = Infinity; let max = -Infinity; let min_index = -1; for (let b = 0; b < times.length; b += 1) { const time = times[b]; if (time < min) { min = time; min_index = b; } if (time > max) { max = time; } } if (min !== 0) { write(` ${metric}: fastest is ${char(min_index)} (${branches[min_index]})`); times.forEach((time, b) => { const SIZE = 20; const n = Math.round(SIZE * (time / max)); write(` ${char(b)}: ${'◼'.repeat(n)}${' '.repeat(SIZE - n)} ${time.toFixed(2)}ms`); }); } } write(''); } function char(i) { return String.fromCharCode(97 + i); } function safe(name) { return name.replace(/[^a-z0-9._-]+/gi, '_'); } ================================================ FILE: benchmarking/compare/runner.js ================================================ import { reactivity_benchmarks } from '../benchmarks/reactivity/index.js'; import { with_cpu_profile } from '../utils.js'; const results = []; const PROFILE_DIR = process.env.BENCH_PROFILE_DIR; for (let i = 0; i < reactivity_benchmarks.length; i += 1) { const benchmark = reactivity_benchmarks[i]; process.stderr.write(`Running ${i + 1}/${reactivity_benchmarks.length} ${benchmark.label} `); results.push({ benchmark: benchmark.label, ...(await with_cpu_profile(PROFILE_DIR, benchmark.label, () => benchmark.fn())) }); process.stderr.write('\x1b[2K\r'); } process.send(results); ================================================ FILE: benchmarking/run.js ================================================ import * as $ from '../packages/svelte/src/internal/client/index.js'; import { reactivity_benchmarks } from './benchmarks/reactivity/index.js'; import { ssr_benchmarks } from './benchmarks/ssr/index.js'; import { with_cpu_profile } from './utils.js'; // e.g. `pnpm bench kairo` to only run the kairo benchmarks const filters = process.argv.slice(2); const PROFILE_DIR = './benchmarking/.profiles'; const suites = [ { benchmarks: reactivity_benchmarks.filter( (b) => filters.length === 0 || filters.some((f) => b.label.includes(f)) ), name: 'reactivity benchmarks' }, { benchmarks: ssr_benchmarks.filter( (b) => filters.length === 0 || filters.some((f) => b.label.includes(f)) ), name: 'server-side rendering benchmarks' } ].filter((suite) => suite.benchmarks.length > 0); if (suites.length === 0) { console.log('No benchmarks matched provided filters'); process.exit(1); } const COLUMN_WIDTHS = [25, 9, 9]; const TOTAL_WIDTH = COLUMN_WIDTHS.reduce((a, b) => a + b); const pad_right = (str, n) => str + ' '.repeat(n - str.length); const pad_left = (str, n) => ' '.repeat(n - str.length) + str; let total_time = 0; let total_gc_time = 0; $.push({}, true); try { for (const { benchmarks, name } of suites) { let suite_time = 0; let suite_gc_time = 0; console.log(`\nRunning ${name}...\n`); console.log( pad_right('Benchmark', COLUMN_WIDTHS[0]) + pad_left('Time', COLUMN_WIDTHS[1]) + pad_left('GC time', COLUMN_WIDTHS[2]) ); console.log('='.repeat(TOTAL_WIDTH)); for (const benchmark of benchmarks) { const results = await with_cpu_profile(PROFILE_DIR, benchmark.label, () => benchmark.fn()); console.log( pad_right(benchmark.label, COLUMN_WIDTHS[0]) + pad_left(results.time.toFixed(2), COLUMN_WIDTHS[1]) + pad_left(results.gc_time.toFixed(2), COLUMN_WIDTHS[2]) ); total_time += results.time; total_gc_time += results.gc_time; suite_time += results.time; suite_gc_time += results.gc_time; } console.log('='.repeat(TOTAL_WIDTH)); console.log( pad_right('suite', COLUMN_WIDTHS[0]) + pad_left(suite_time.toFixed(2), COLUMN_WIDTHS[1]) + pad_left(suite_gc_time.toFixed(2), COLUMN_WIDTHS[2]) ); console.log('='.repeat(TOTAL_WIDTH)); } if (PROFILE_DIR !== null) { console.log(`\nCPU profiles written to ${PROFILE_DIR}`); } } catch (e) { // eslint-disable-next-line no-console console.error(e); process.exit(1); } $.pop(); console.log(''); console.log( pad_right('total', COLUMN_WIDTHS[0]) + pad_left(total_time.toFixed(2), COLUMN_WIDTHS[1]) + pad_left(total_gc_time.toFixed(2), COLUMN_WIDTHS[2]) ); ================================================ FILE: benchmarking/tsconfig.json ================================================ { "compilerOptions": { "moduleResolution": "Bundler", "target": "ESNext", "module": "ESNext", "verbatimModuleSyntax": true, "isolatedModules": true, "resolveJsonModule": true, "sourceMap": true, "esModuleInterop": true, "skipLibCheck": true, "forceConsistentCasingInFileNames": true, "allowJs": true, "checkJs": true }, "include": ["./run.js", "./utils.js", "./benchmarks"] } ================================================ FILE: benchmarking/utils.js ================================================ import { performance, PerformanceObserver } from 'node:perf_hooks'; import fs from 'node:fs'; import path from 'node:path'; import inspector from 'node:inspector/promises'; import v8 from 'v8-natives'; // Credit to https://github.com/milomg/js-reactivity-benchmark for the logic for timing + GC tracking. async function track(fn) { v8.collectGarbage(); /** @type {PerformanceEntry[]} */ const entries = []; const observer = new PerformanceObserver((list) => entries.push(...list.getEntries())); observer.observe({ entryTypes: ['gc'] }); const start = performance.now(); fn(); const end = performance.now(); await new Promise((f) => setTimeout(f, 10)); const gc_time = entries .filter((e) => e.startTime >= start && e.startTime < end) .reduce((t, e) => e.duration + t, 0); observer.disconnect(); return { time: end - start, gc_time }; } /** * @param {number} times * @param {() => void} fn */ export async function fastest_test(times, fn) { /** @type {Array<{ time: number, gc_time: number }>} */ const results = []; for (let i = 0; i < times; i++) { results.push(await track(fn)); } return results.reduce((a, b) => (a.time < b.time ? a : b)); } function safe(name) { return name.replace(/[^a-z0-9._-]+/gi, '_'); } /** * @template T * @param {string | null} profile_dir * @param {string} profile_name * @param {() => T | Promise} fn * @returns {Promise} */ export async function with_cpu_profile(profile_dir, profile_name, fn) { if (profile_dir === null) { return await fn(); } fs.mkdirSync(profile_dir, { recursive: true }); const session = new inspector.Session(); session.connect(); await session.post('Profiler.enable'); await session.post('Profiler.start'); try { return await fn(); } finally { const { profile } = /** @type {{ profile: object }} */ (await session.post('Profiler.stop')); const file = path.join(profile_dir, `${safe(profile_name)}.cpuprofile`); fs.writeFileSync(file, JSON.stringify(profile)); session.disconnect(); } } ================================================ FILE: documentation/docs/01-introduction/01-overview.md ================================================ --- title: Overview --- Svelte is a framework for building user interfaces on the web. It uses a compiler to turn declarative components written in HTML, CSS and JavaScript... ```svelte ``` ...into lean, tightly optimized JavaScript. You can use it to build anything on the web, from standalone components to ambitious full stack apps (using Svelte's companion application framework, [SvelteKit](../kit)) and everything in between. These pages serve as reference documentation. If you're new to Svelte, we recommend starting with the [interactive tutorial](/tutorial) and coming back here when you have questions. You can also try Svelte online in the [playground](/playground) or, if you need a more fully-featured environment, on [StackBlitz](https://sveltekit.new). ================================================ FILE: documentation/docs/01-introduction/02-getting-started.md ================================================ --- title: Getting started --- We recommend using [SvelteKit](../kit), which lets you [build almost anything](../kit/project-types). It's the official application framework from the Svelte team and powered by [Vite](https://vite.dev/). Create a new project with: ```sh npx sv create myapp cd myapp npm install npm run dev ``` Don't worry if you don't know Svelte yet! You can ignore all the nice features SvelteKit brings on top for now and dive into it later. ## Alternatives to SvelteKit You can also use Svelte directly with Vite via [vite-plugin-svelte](https://github.com/sveltejs/vite-plugin-svelte) by running `npm create vite@latest` and selecting the `svelte` option (or, if working with an existing project, adding the plugin to your `vite.config.js` file). With this, `npm run build` will generate HTML, JS, and CSS files inside the `dist` directory. In most cases, you will probably need to [choose a routing library](/packages#routing) as well. >[!NOTE] Vite is often used in standalone mode to build [single page apps (SPAs)](../kit/glossary#SPA), which you can also [build with SvelteKit](../kit/single-page-apps). There are also [plugins for other bundlers](/packages#bundler-plugins), but we recommend Vite. ## Editor tooling The Svelte team maintains a [VS Code extension](https://marketplace.visualstudio.com/items?itemName=svelte.svelte-vscode), and there are integrations with various other [editors](https://sveltesociety.dev/collection/editor-support-c85c080efc292a34) and tools as well. You can also check your code from the command line using [`npx sv check`](https://svelte.dev/docs/cli/sv-check). ## Getting help Don't be shy about asking for help in the [Discord chatroom](/chat)! You can also find answers on [Stack Overflow](https://stackoverflow.com/questions/tagged/svelte). ================================================ FILE: documentation/docs/01-introduction/03-svelte-files.md ================================================ --- title: .svelte files --- Components are the building blocks of Svelte applications. They are written into `.svelte` files, using a superset of HTML. All three sections — script, styles and markup — are optional. ```svelte /// file: MyComponent.svelte ``` ## ` ``` You can `export` bindings from this block, and they will become exports of the compiled module. You cannot `export default`, since the default export is the component itself. > [!NOTE] If you are using TypeScript and import such exports from a `module` block into a `.ts` file, make sure to have your editor setup so that TypeScript knows about them. This is the case for our VS Code extension and the IntelliJ plugin, but in other cases you might need to setup our [TypeScript editor plugin](https://www.npmjs.com/package/typescript-svelte-plugin). > [!LEGACY] > In Svelte 4, this script tag was created using ` ``` Unlike other frameworks you may have encountered, there is no API for interacting with state — `count` is just a number, rather than an object or a function, and you can update it like you would update any other variable. ### Deep state If `$state` is used with an array or a simple object, the result is a deeply reactive _state proxy_. [Proxies](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Proxy) allow Svelte to run code when you read or write properties, including via methods like `array.push(...)`, triggering granular updates. State is proxified recursively until Svelte finds something other than an array or simple object (like a class or an object created with `Object.create`). In a case like this... ```js let todos = $state([ { done: false, text: 'add more todos' } ]); ``` ...modifying an individual todo's property will trigger updates to anything in your UI that depends on that specific property: ```js let todos = [{ done: false, text: 'add more todos' }]; // ---cut--- todos[0].done = !todos[0].done; ``` If you push a new object to the array, it will also be proxified: ```js let todos = [{ done: false, text: 'add more todos' }]; // ---cut--- todos.push({ done: false, text: 'eat lunch' }); ``` > [!NOTE] When you update properties of proxies, the original object is _not_ mutated. If you need to use your own proxy handlers in a state proxy, [you should wrap the object _after_ wrapping it in `$state`](https://svelte.dev/playground/hello-world?version=latest#H4sIAAAAAAAACpWR3WoDIRCFX2UqhWyIJL3erAulL9C7XnQLMe5ksbUqOpsfln33YuyGFNJC8UKdc2bOhw7Myk9kJXsJ0nttO9jcR5KEG9AWJDwHdzwxznbaYGTl68Do5JM_FRifuh-9X8Y9Gkq1rYx4q66cJbQUWcmqqIL2VDe2IYMEbvuOikBADi-GJDSkXG-phId0G-frye2DO2psQYDFQ0Ys8gQO350dUkEydEg82T0GOs0nsSG9g2IqgxACZueo2ZUlpdvoDC6N64qsg1QKY8T2bpZp8gpIfbCQ85Zn50Ud82HkeY83uDjspenxv3jXcSDyjPWf9L1vJf0GH666J-jLu1ery4dV257IWXBWGa0-xFDMQdTTn2ScxWKsn86ROsLwQxqrVR5QM84Ij8TKFD2-cUZSm4O2LSt30kQcvwCgCmfZnAIAAA==). Note that if you destructure a reactive value, the references are not reactive — as in normal JavaScript, they are evaluated at the point of destructuring: ```js let todos = [{ done: false, text: 'add more todos' }]; // ---cut--- let { done, text } = todos[0]; // this will not affect the value of `done` todos[0].done = !todos[0].done; ``` ### Classes Class instances are not proxied. Instead, you can use `$state` in class fields (whether public or private), or as the first assignment to a property immediately inside the `constructor`: ```js // @errors: 7006 2554 class Todo { done = $state(false); constructor(text) { this.text = $state(text); } reset() { this.text = ''; this.done = false; } } ``` > [!NOTE] The compiler transforms `done` and `text` into `get`/`set` methods on the class prototype referencing private fields. This means the properties are not enumerable. When calling methods in JavaScript, the value of [`this`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/this) matters. This won't work, because `this` inside the `reset` method will be the ` ``` You can either use an inline function... ```svelte ``` ...or use an arrow function in the class definition: ```js // @errors: 7006 2554 class Todo { done = $state(false); constructor(text) { this.text = $state(text); } +++reset = () => {+++ this.text = ''; this.done = false; } } ``` ### Built-in classes Svelte provides reactive implementations of built-in classes like `Set`, `Map`, `Date` and `URL` that can be imported from [`svelte/reactivity`](svelte-reactivity). ## `$state.raw` In cases where you don't want objects and arrays to be deeply reactive you can use `$state.raw`. State declared with `$state.raw` cannot be mutated; it can only be _reassigned_. In other words, rather than assigning to a property of an object, or using an array method like `push`, replace the object or array altogether if you'd like to update it: ```js let person = $state.raw({ name: 'Heraclitus', age: 49 }); // this will have no effect person.age += 1; // this will work, because we're creating a new person person = { name: 'Heraclitus', age: 50 }; ``` This can improve performance with large arrays and objects that you weren't planning to mutate anyway, since it avoids the cost of making them reactive. Note that raw state can _contain_ reactive state (for example, a raw array of reactive objects). As with `$state`, you can declare class fields using `$state.raw`. ## `$state.snapshot` To take a static snapshot of a deeply reactive `$state` proxy, use `$state.snapshot`: ```svelte ``` This is handy when you want to pass some state to an external library or API that doesn't expect a proxy, such as `structuredClone`. ## `$state.eager` When state changes, it may not be reflected in the UI immediately if it is used by an `await` expression, because [updates are synchronized](await-expressions#Synchronized-updates). In some cases, you may want to update the UI as soon as the state changes. For example, you might want to update a navigation bar when the user clicks on a link, so that they get visual feedback while waiting for the new page to load. To do this, use `$state.eager(value)`: ```svelte ``` Use this feature sparingly, and only to provide feedback in response to user action — in general, allowing Svelte to coordinate updates will provide a better user experience. ## Passing state into functions JavaScript is a _pass-by-value_ language — when you call a function, the arguments are the _values_ rather than the _variables_. In other words: ```js /// file: index.js // @filename: index.js // ---cut--- /** * @param {number} a * @param {number} b */ function add(a, b) { return a + b; } let a = 1; let b = 2; let total = add(a, b); console.log(total); // 3 a = 3; b = 4; console.log(total); // still 3! ``` If `add` wanted to have access to the _current_ values of `a` and `b`, and to return the current `total` value, you would need to use functions instead: ```js /// file: index.js // @filename: index.js // ---cut--- /** * @param {() => number} getA * @param {() => number} getB */ function add(+++getA, getB+++) { return +++() => getA() + getB()+++; } let a = 1; let b = 2; let total = add+++(() => a, () => b)+++; console.log(+++total()+++); // 3 a = 3; b = 4; console.log(+++total()+++); // 7 ``` State in Svelte is no different — when you reference something declared with the `$state` rune... ```js let a = +++$state(1)+++; let b = +++$state(2)+++; ``` ...you're accessing its _current value_. Note that 'functions' is broad — it encompasses properties of proxies and [`get`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/get)/[`set`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Functions/set) properties... ```js /// file: index.js // @filename: index.js // ---cut--- /** * @param {{ a: number, b: number }} input */ function add(input) { return { get value() { return input.a + input.b; } }; } let input = $state({ a: 1, b: 2 }); let total = add(input); console.log(total.value); // 3 input.a = 3; input.b = 4; console.log(total.value); // 7 ``` ...though if you find yourself writing code like that, consider using [classes](#Classes) instead. ## Passing state across modules You can declare state in `.svelte.js` and `.svelte.ts` files, but you can only _export_ that state if it's not directly reassigned. In other words you can't do this: ```js /// file: state.svelte.js export let count = $state(0); export function increment() { count += 1; } ``` That's because every reference to `count` is transformed by the Svelte compiler — the code above is roughly equivalent to this: ```js /// file: state.svelte.js (compiler output) // @filename: index.ts interface Signal { value: T; } interface Svelte { state(value?: T): Signal; get(source: Signal): T; set(source: Signal, value: T): void; } declare const $: Svelte; // ---cut--- export let count = $.state(0); export function increment() { $.set(count, $.get(count) + 1); } ``` > [!NOTE] You can see the code Svelte generates by clicking the 'JS Output' tab in the [playground](/playground). Since the compiler only operates on one file at a time, if another file imports `count` Svelte doesn't know that it needs to wrap each reference in `$.get` and `$.set`: ```js // @filename: state.svelte.js export let count = 0; // @filename: index.js // ---cut--- import { count } from './state.svelte.js'; console.log(typeof count); // 'object', not 'number' ``` This leaves you with two options for sharing state between modules — either don't reassign it... ```js // This is allowed — since we're updating // `counter.count` rather than `counter`, // Svelte doesn't wrap it in `$.state` export const counter = $state({ count: 0 }); export function increment() { counter.count += 1; } ``` ...or don't directly export it: ```js let count = $state(0); export function getCount() { return count; } export function increment() { count += 1; } ``` ================================================ FILE: documentation/docs/02-runes/03-$derived.md ================================================ --- title: $derived tags: rune-derived --- Derived state is declared with the `$derived` rune: ```svelte

{count} doubled is {doubled}

``` The expression inside `$derived(...)` should be free of side-effects. Svelte will disallow state changes (e.g. `count++`) inside derived expressions. As with `$state`, you can mark class fields as `$derived`. > [!NOTE] Code in Svelte components is only executed once at creation. Without the `$derived` rune, `doubled` would maintain its original value even when `count` changes. ## `$derived.by` Sometimes you need to create complex derivations that don't fit inside a short expression. In these cases, you can use `$derived.by` which accepts a function as its argument. ```svelte ``` In essence, `$derived(expression)` is equivalent to `$derived.by(() => expression)`. ## Understanding dependencies Anything read synchronously inside the `$derived` expression (or `$derived.by` function body) is considered a _dependency_ of the derived state. When the state changes, the derived will be marked as _dirty_ and recalculated when it is next read. In addition, if an expression contains an [`await`](await-expressions), Svelte transforms it such that any state _after_ the `await` is also tracked — in other words, in a case like this... ```js let a = Promise.resolve(1); let b = 2; // ---cut--- let total = $derived(await a + b); ``` ...both `a` and `b` are tracked, even though `b` is only read once `a` has resolved, after the initial execution. (This does not apply to `await` in functions that are called by the expression, only the expression itself.) To exempt a piece of state from being treated as a dependency, use [`untrack`](svelte#untrack). ## Overriding derived values Derived expressions are recalculated when their dependencies change, but you can temporarily override their values by reassigning them (unless they are declared with `const`). This can be useful for things like _optimistic UI_, where a value is derived from the 'source of truth' (such as data from your server) but you'd like to show immediate feedback to the user: ```svelte ``` > [!NOTE] Prior to Svelte 5.25, deriveds were read-only. ## Deriveds and reactivity Unlike `$state`, which converts objects and arrays to [deeply reactive proxies]($state#Deep-state), `$derived` values are left as-is. For example, [in a case like this](/playground/untitled#H4sIAAAAAAAAE4VU22rjMBD9lUHd3aaQi9PdstS1A3t5XvpQ2Ic4D7I1iUUV2UjjNMX431eS7TRdSosxgjMzZ45mjt0yzffIYibvy0ojFJWqDKCQVBk2ZVup0LJ43TJ6rn2aBxw-FP2o67k9oCKP5dziW3hRaUJNjoYltjCyplWmM1JIIAn3FlL4ZIkTTtYez6jtj4w8WwyXv9GiIXiQxLVs9pfTMR7EuoSLIuLFbX7Z4930bZo_nBrD1bs834tlfvsBz9_SyX6PZXu9XaL4gOWn4sXjeyzftv4ZWfyxubpzxzg6LfD4MrooxELEosKCUPigQCMPKCZh0OtQE1iSxcsmdHuBvCiHZXALLXiN08EL3RRkaJ_kDVGle0HcSD5TPEeVtj67O4Nrg9aiSNtBY5oODJkrL5QsHtN2cgXp6nSJMWzpWWGasdlsGEMbzi5jPr5KFr0Ep7pdeM2-TCelCddIhDxAobi1jqF3cMaC1RKp64bAW9iFAmXGIHfd4wNXDabtOLN53w8W53VvJoZLh7xk4Rr3CoL-UNoLhWHrT1JQGcM17u96oES5K-kc2XOzkzqGCKL5De79OUTyyrg1zgwXsrEx3ESfx4Bz0M5UjVMHB24mw9SuXtXFoN13fYKOM1tyUT3FbvbWmSWCZX2Er-41u5xPoml45svRahl9Wb9aasbINJixDZwcPTbyTLZSUsAvrg_cPuCR7s782_WU8343Y72Qtlb8OYatwuOQvuN13M_hJKNfxann1v1U_B1KZ_D_mzhzhz24fw85CSz2irtN9w9HshBK7AQAAA==)... ```js // @errors: 7005 let items = $state([ /*...*/ ]); let index = $state(0); let selected = $derived(items[index]); ``` ...you can change (or `bind:` to) properties of `selected` and it will affect the underlying `items` array. If `items` was _not_ deeply reactive, mutating `selected` would have no effect. ## Destructuring If you use destructuring with a `$derived` declaration, the resulting variables will all be reactive — this... ```js function stuff() { return { a: 1, b: 2, c: 3 } } // ---cut--- let { a, b, c } = $derived(stuff()); ``` ...is roughly equivalent to this: ```js function stuff() { return { a: 1, b: 2, c: 3 } } // ---cut--- let _stuff = $derived(stuff()); let a = $derived(_stuff.a); let b = $derived(_stuff.b); let c = $derived(_stuff.c); ``` ## Update propagation Svelte uses something called _push-pull reactivity_ — when state is updated, everything that depends on the state (whether directly or indirectly) is immediately notified of the change (the 'push'), but derived values are not re-evaluated until they are actually read (the 'pull'). If the new value of a derived is referentially identical to its previous value, downstream updates will be skipped. In other words, Svelte will only update the text inside the button when `large` changes, not when `count` changes, even though `large` depends on `count`: ```svelte ``` ================================================ FILE: documentation/docs/02-runes/04-$effect.md ================================================ --- title: $effect tags: rune-effect --- Effects are functions that run when state updates, and can be used for things like calling third-party libraries, drawing on `` elements, or making network requests. They only run in the browser, not during server-side rendering. Generally speaking, you should _not_ update state inside effects, as it will make code more convoluted and will often lead to never-ending update cycles. If you find yourself doing so, see [when not to use `$effect`](#When-not-to-use-$effect) to learn about alternative approaches. You can create an effect with the `$effect` rune ([demo](/playground/untitled#H4sIAAAAAAAAE31S246bMBD9lZF3pSRSAqTVvrCAVPUP2sdSKY4ZwJJjkD0hSVH-vbINuWxXfQH5zMyZc2ZmZLVUaFn6a2R06ZGlHmBrpvnBvb71fWQHVOSwPbf4GS46TajJspRlVhjZU1HqkhQSWPkHIYdXS5xw-Zas3ueI6FRn7qHFS11_xSRZhIxbFtcDtw7SJb1iXaOg5XIFeQGjzyPRaevYNOGZIJ8qogbpe8CWiy_VzEpTXiQUcvPDkSVrSNZz1UlW1N5eLcqmpdXUvaQ4BmqlhZNUCgxuzFHDqUWNAxrYeUM76AzsnOsdiJbrBp_71lKpn3RRbii-4P3f-IMsRxS-wcDV_bL4PmSdBa2wl7pKnbp8DMgVvJm8ZNskKRkEM_OzyOKQFkgqOYBQ3Nq89Ns0nbIl81vMFN-jKoLMTOr-SOBOJS-Z8f5Y6D1wdcR8dFqvEBdetK-PHwj-z-cH8oHPY54wRJ8Ys7iSQ3Bg3VA9azQbmC9k35kKzYa6PoVtfwbbKVnBixBiGn7Pq0rqJoUtHiCZwAM3jdTPWCVtr_glhVrhecIa3vuksJ_b7TqFs4DPyriSjd5IwoNNQaAmNI-ESfR2p8zimzvN1swdCkvJHPH6-_oX8o1SgcIDAAA=)): ```svelte ``` When Svelte runs an effect function, it tracks which pieces of state (and derived state) are accessed (unless accessed inside [`untrack`](svelte#untrack)), and re-runs the function when that state later changes. > [!NOTE] If you're having difficulty understanding why your `$effect` is rerunning or is not running see [understanding dependencies](#Understanding-dependencies). Effects are triggered differently than the `$:` blocks you may be used to if coming from Svelte 4. ### Understanding lifecycle Your effects run after the component has been mounted to the DOM, and in a [microtask](https://developer.mozilla.org/en-US/docs/Web/API/HTML_DOM_API/Microtask_guide) after state changes. Re-runs are batched (i.e. changing `color` and `size` in the same moment won't cause two separate runs), and happen after any DOM updates have been applied. You can use `$effect` anywhere, not just at the top level of a component, as long as it is called while a parent effect is running. > [!NOTE] Svelte uses effects internally to represent logic and expressions in your template — this is how `

hello {name}!

` updates when `name` changes. An effect can return a _teardown function_ which will run immediately before the effect re-runs: ```svelte

{count}

``` Teardown functions also run when the effect is destroyed, which happens when its parent is destroyed (for example, a component is unmounted) or the parent effect re-runs. ### Understanding dependencies `$effect` automatically picks up any reactive values (`$state`, `$derived`, `$props`) that are _synchronously_ read inside its function body (including indirectly, via function calls) and registers them as dependencies. When those dependencies change, the `$effect` schedules a re-run. If `$state` and `$derived` are used directly inside the `$effect` (for example, during creation of a [reactive class](https://svelte.dev/docs/svelte/$state#Classes)), those values will _not_ be treated as dependencies. Values that are read _asynchronously_ — after an `await` or inside a `setTimeout`, for example — will not be tracked. Here, the canvas will be repainted when `color` changes, but not when `size` changes ([demo](/playground/untitled#H4sIAAAAAAAAE31T246bMBD9lZF3pWSlBEirfaEQqdo_2PatVIpjBrDkGGQPJGnEv1e2IZfVal-wfHzmzJyZ4cIqqdCy9M-F0blDlnqArZjmB3f72XWRHVCRw_bc4me4aDWhJstSlllhZEfbQhekkMDKfwg5PFvihMvX5OXH_CJa1Zrb0-Kpqr5jkiwC48rieuDWQbqgZ6wqFLRcvkC-hYvnkWi1dWqa8ESQTxFRjfQWsOXiWzmr0sSLhEJu3p1YsoJkNUcdZUnN9dagrBu6FVRQHAM10sJRKgUG16bXcGxQ44AGdt7SDkTDdY02iqLHnJVU6hedlWuIp94JW6Tf8oBt_8GdTxlF0b4n0C35ZLBzXb3mmYn3ae6cOW74zj0YVzDNYXRHFt9mprNgHfZSl6mzml8CMoLvTV6wTZIUDEJv5us2iwMtiJRyAKG4tXnhl8O0yhbML0Wm-B7VNlSSSd31BG7z8oIZZ6dgIffAVY_5xdU9Qrz1Bnx8fCfwtZ7v8Qc9j3nB8PqgmMWlHIID6-bkVaPZwDySfWtKNGtquxQ23Qlsq2QJT0KIqb8dL0up6xQ2eIBkAg_c1FI_YqW0neLnFCqFpwmreedJYT7XX8FVOBfwWRhXstZrSXiwKQjUhOZeMIleb5JZfHWn2Yq5pWEpmR7Hv-N_wEqT8hEEAAA=)): ```ts // @filename: index.ts declare let canvas: { width: number; height: number; getContext(type: '2d', options?: CanvasRenderingContext2DSettings): CanvasRenderingContext2D; }; declare let color: string; declare let size: number; // ---cut--- $effect(() => { const context = canvas.getContext('2d'); context.clearRect(0, 0, canvas.width, canvas.height); // this will re-run whenever `color` changes... context.fillStyle = color; setTimeout(() => { // ...but not when `size` changes context.fillRect(0, 0, size, size); }, 0); }); ``` An effect only reruns when the object it reads changes, not when a property inside it changes. (If you want to observe changes _inside_ an object at dev time, you can use [`$inspect`]($inspect).) ```svelte

{state.value} doubled is {derived.value}

``` An effect only depends on the values that it read the last time it ran. This has interesting implications for effects that have conditional code. For instance, if `condition` is `true` in the code snippet below, the code inside the `if` block will run and `color` will be evaluated. This means that changes to either `condition` or `color` [will cause the effect to re-run](/playground/untitled#H4sIAAAAAAAAE21RQW6DMBD8ytaNBJHaJFLViwNIVZ8RcnBgXVk1xsILTYT4e20TQg89IOPZ2fHM7siMaJBx9tmaWpFqjQNlAKXEihx7YVJpdIyfRkY3G4gB8Pi97cPanRtQU8AuwuF_eNUaQuPlOMtc1SlLRWlKUo1tOwJflUikQHZtA0klzCDc64Imx0ANn8bInV1CDhtHgjClrsftcSXotluLybOUb3g4JJHhOZs5WZpuIS9gjNqkJKQP5e2ClrR4SMdZ13E4xZ8zTPOTJU2A2uE_PQ9COCI926_hTVarIU4hu_REPlBrKq2q73ycrf1N-vS4TMUsulaVg3EtR8H9rFgsg8uUsT1B2F9eshigZHBRpuaD0D3mY8Qm2BfB5N2YyRzdNEYVDy0Ja-WsFjcOUuP1HvFLWA6H3XuHTUSmmDV2--0TXonxsKbp7G9C6R__NONS-MFNvxj_d6mBAgAA). Conversely, if `condition` is `false`, `color` will not be evaluated, and the effect will _only_ re-run again when `condition` changes. ```ts // @filename: ambient.d.ts declare module 'canvas-confetti' { interface ConfettiOptions { colors: string[]; } function confetti(opts?: ConfettiOptions): void; export default confetti; } // @filename: index.js // ---cut--- import confetti from 'canvas-confetti'; let condition = $state(true); let color = $state('#ff3e00'); $effect(() => { if (condition) { confetti({ colors: [color] }); } else { confetti(); } }); ``` ## `$effect.pre` In rare cases, you may need to run code _before_ the DOM updates. For this we can use the `$effect.pre` rune: ```svelte
{#each messages as message}

{message}

{/each}
``` Apart from the timing, `$effect.pre` works exactly like `$effect`. ## `$effect.tracking` The `$effect.tracking` rune is an advanced feature that tells you whether or not the code is running inside a tracking context, such as an effect or inside your template: ```svelte

in template: {$effect.tracking()}

``` It is used to implement abstractions like [`createSubscriber`](/docs/svelte/svelte-reactivity#createSubscriber), which will create listeners to update reactive values but _only_ if those values are being tracked (rather than, for example, read inside an event handler). ## `$effect.pending` When using [`await`](await-expressions) in components, the `$effect.pending()` rune tells you how many promises are pending in the current [boundary](svelte-boundary), not including child boundaries: ```svelte

{a} + {b} = {await add(a, b)}

{#if $effect.pending()}

pending promises: {$effect.pending()}

{/if} ``` ## `$effect.root` The `$effect.root` rune is an advanced feature that creates a non-tracked scope that doesn't auto-cleanup. This is useful for nested effects that you want to manually control. This rune also allows for the creation of effects outside of the component initialisation phase. ```js const destroy = $effect.root(() => { $effect(() => { // setup }); return () => { // cleanup }; }); // later... destroy(); ``` ## When not to use `$effect` In general, `$effect` is best considered something of an escape hatch — useful for things like analytics and direct DOM manipulation — rather than a tool you should use frequently. In particular, avoid using it to synchronise state. Instead of this... ```svelte ``` ...do this: ```svelte ``` > [!NOTE] For things that are more complicated than a simple expression like `count * 2`, you can also use `$derived.by`. If you're using an effect because you want to be able to reassign the derived value (to build an optimistic UI, for example) note that [deriveds can be directly overridden]($derived#Overriding-derived-values) as of Svelte 5.25. You might be tempted to do something convoluted with effects to link one value to another. The following example shows two inputs for "money spent" and "money left" that are connected to each other. If you update one, the other should update accordingly. Instead of using effects for this... ```svelte ``` ...use `oninput` callbacks or — better still — [function bindings](bind#Function-bindings) where possible: ```svelte ``` If you absolutely have to update `$state` within an effect and run into an infinite loop because you read and write to the same `$state`, use [untrack](svelte#untrack). ================================================ FILE: documentation/docs/02-runes/05-$props.md ================================================ --- title: $props tags: rune-props --- The inputs to a component are referred to as _props_, which is short for _properties_. You pass props to components just like you pass attributes to elements: ```svelte ``` On the other side, inside `MyComponent.svelte`, we can receive props with the `$props` rune... ```svelte

this component is {props.adjective}

``` ...though more commonly, you'll [_destructure_](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment) your props: ```svelte

this component is {+++adjective+++}

``` ## Fallback values Destructuring allows us to declare fallback values, which are used if the parent component does not set a given prop (or the value is `undefined`): ```js let { adjective = 'happy' } = $props(); ``` > [!NOTE] Fallback values are not turned into reactive state proxies (see [Updating props](#Updating-props) for more info) ## Renaming props We can also use the destructuring assignment to rename props, which is necessary if they're invalid identifiers, or a JavaScript keyword like `super`: ```js let { super: trouper = 'lights are gonna find me' } = $props(); ``` ## Rest props Finally, we can use a _rest property_ to get, well, the rest of the props: ```js let { a, b, c, ...others } = $props(); ``` ## Updating props References to a prop inside a component update when the prop itself updates — when `count` changes in `App.svelte`, it will also change inside `Child.svelte`. But the child component is able to temporarily override the prop value, which can be useful for unsaved ephemeral state: ```svelte ``` ```svelte ``` While you can temporarily _reassign_ props, you should not _mutate_ props unless they are [bindable]($bindable). If the prop is a regular object, the mutation will have no effect: ```svelte ``` ```svelte ``` If the prop is a reactive state proxy, however, then mutations _will_ have an effect but you will see an [`ownership_invalid_mutation`](runtime-warnings#Client-warnings-ownership_invalid_mutation) warning, because the component is mutating state that does not 'belong' to it: ```svelte ``` ```svelte ``` The fallback value of a prop not declared with `$bindable` is left untouched — it is not turned into a reactive state proxy — meaning mutations will not cause updates: ```svelte ``` ```svelte ``` In summary: don't mutate props. Either use callback props to communicate changes, or — if parent and child should share the same object — use the [`$bindable`]($bindable) rune. ## Type safety You can add type safety to your components by annotating your props, as you would with any other variable declaration. In TypeScript that might look like this... ```svelte ``` ...while in JSDoc you can do this: ```svelte ``` You can, of course, separate the type declaration from the annotation: ```svelte ``` > [!NOTE] Interfaces for native DOM elements are provided in the `svelte/elements` module (see [Typing wrapper components](typescript#Typing-wrapper-components)) If your component exposes [snippet](snippet) props like `children`, these should be typed using the `Snippet` interface imported from `'svelte'` — see [Typing snippets](snippet#Typing-snippets) for examples. Adding types is recommended, as it ensures that people using your component can easily discover which props they should provide. ## `$props.id()` This rune, added in version 5.20.0, generates an ID that is unique to the current component instance. When hydrating a server-rendered component, the value will be consistent between server and client. This is useful for linking elements via attributes like `for` and `aria-labelledby`. ```svelte
``` ================================================ FILE: documentation/docs/02-runes/06-$bindable.md ================================================ --- title: $bindable --- Ordinarily, props go one way, from parent to child. This makes it easy to understand how data flows around your app. In Svelte, component props can be _bound_, which means that data can also flow _up_ from child to parent. This isn't something you should do often — overuse can make your data flow unpredictable and your components harder to maintain — but it can simplify your code if used sparingly and carefully. It also means that a state proxy can be _mutated_ in the child. > [!NOTE] Mutation is also possible with normal props, but is strongly discouraged — Svelte will warn you if it detects that a component is mutating state it does not 'own'. To mark a prop as bindable, we use the `$bindable` rune: ```svelte /// file: FancyInput.svelte ``` Now, a component that uses `` can add the [`bind:`](bind) directive ([demo](/playground/untitled#H4sIAAAAAAAAE3WQwWrDMBBEf2URBSfg2nfFMZRCoYeecqx6UJx1IyqvhLUONcb_XqSkTUOSk1az7DBvJtEai0HI90nw6FHIJIhckO7i78n7IhzQctS2OuAtvXHESByEFFVoeuO5VqTYdN71DC-amvGV_MDQ9q6DrCjP0skkWymKJxYZOgxBfyKs4SGwZlxke7TWZcuVoqo8-1P1z3lraCcP2g64nk4GM5S1osrXf0JV-lrkgvGbheR-wDm_g30V8JL-1vpOCZFogpQsEsWcemtxscyhKArfOx9gjps0Lq4hzRVfemaYfu-PoIqqwKPFY_XpaIqj4tYRP7a6M3aUkD27zjSw0RTgbZN6Z8WNs66XsEP03tBXUueUJFlelvYx_wCuI3leNwIAAA==)): ```svelte /// file: App.svelte

{message}

``` The parent component doesn't _have_ to use `bind:` — it can just pass a normal prop. Some parents don't want to listen to what their children have to say. In this case, you can specify a fallback value for when no prop is passed at all: ```js /// file: FancyInput.svelte let { value = $bindable('fallback'), ...props } = $props(); ``` ================================================ FILE: documentation/docs/02-runes/07-$inspect.md ================================================ --- title: $inspect tags: rune-inspect --- > [!NOTE] `$inspect` only works during development. In a production build it becomes a noop. The `$inspect` rune is roughly equivalent to `console.log`, with the exception that it will re-run whenever its argument changes. `$inspect` tracks reactive state deeply, meaning that updating something inside an object or array using fine-grained reactivity will cause it to re-fire: ```svelte ``` On updates, a stack trace will be printed, making it easy to find the origin of a state change (unless you're in the playground, due to technical limitations). ## $inspect(...).with `$inspect(...)` returns an object with a `with` method, which you can invoke with a callback that will then be invoked instead of `console.log`. The first argument to the callback is either `"init"` or `"update"`; subsequent arguments are the values passed to `$inspect`: ```svelte ``` ## $inspect.trace(...) This rune, added in 5.14, causes the surrounding function to be _traced_ in development. Any time the function re-runs as part of an [effect]($effect) or a [derived]($derived), information will be printed to the console about which pieces of reactive state caused the effect to fire. ```svelte ``` `$inspect.trace` takes an optional first argument which will be used as the label. ================================================ FILE: documentation/docs/02-runes/08-$host.md ================================================ --- title: $host --- When compiling a component as a [custom element](custom-elements), the `$host` rune provides access to the host element, allowing you to (for example) dispatch custom events ([demo](/playground/untitled#H4sIAAAAAAAAE41Ry2rDMBD8FSECtqkTt1fHFpSSL-ix7sFRNkTEXglrnTYY_3uRlDgxTaEHIfYxs7szA9-rBizPPwZOZwM89wmecqxbF70as7InaMjltrWFR3mpkQDJ8pwXVnbKkKiwItUa3RGLVtk7gTHQXRDR2lXda4CY1D0SK9nCUk0QPyfrCovsRoNFe17aQOAwGncgO2gBqRzihJXiQrEs2csYOhQ-7HgKHaLIbpRhhBG-I2eD_8ciM4KnnOCbeE5dD2P6h0Dz0-Yi_arNhPLJXBtSGi2TvSXdbpqwdsXvjuYsC1veabvvUTog2ylrapKH2G2XsMFLS4uDthQnq2t1cwKkGOGLvYU5PvaQxLsxOkPmsm97Io1Mo2yUPF6VnOZFkw1RMoopKLKAE_9gmGxyDFMwMcwN-Bx_ABXQWmOtAgAA)): ```svelte /// file: Stepper.svelte ``` ```svelte /// file: App.svelte count -= 1} onincrement={() => count += 1} >

count: {count}

``` ================================================ FILE: documentation/docs/02-runes/index.md ================================================ --- title: Runes --- ================================================ FILE: documentation/docs/03-template-syntax/01-basic-markup.md ================================================ --- title: Basic markup --- Markup inside a Svelte component can be thought of as HTML++. ## Tags A lowercase tag, like `
`, denotes a regular HTML element. A capitalised tag or a tag that uses dot notation, such as `` or ``, indicates a _component_. ```svelte
``` ## Element attributes By default, attributes work exactly like their HTML counterparts. ```svelte
``` As in HTML, values may be unquoted. ```svelte ``` Attribute values can contain JavaScript expressions. ```svelte page {p} ``` Or they can _be_ JavaScript expressions. ```svelte ``` Boolean attributes are included on the element if their value is [truthy](https://developer.mozilla.org/en-US/docs/Glossary/Truthy) and excluded if it's [falsy](https://developer.mozilla.org/en-US/docs/Glossary/Falsy). All other attributes are included unless their value is [nullish](https://developer.mozilla.org/en-US/docs/Glossary/Nullish) (`null` or `undefined`). ```svelte
This div has no title attribute
``` > [!NOTE] Quoting a singular expression does not affect how the value is parsed, but in Svelte 6 it will cause the value to be coerced to a string: > > > ```svelte > > ``` When the attribute name and value match (`name={name}`), they can be replaced with `{name}`. ```svelte ``` ## Component props By convention, values passed to components are referred to as _properties_ or _props_ rather than _attributes_, which are a feature of the DOM. As with elements, `name={name}` can be replaced with the `{name}` shorthand. ```svelte ``` ## Spread attributes _Spread attributes_ allow many attributes or properties to be passed to an element or component at once. An element or component can have multiple spread attributes, interspersed with regular ones. Order matters — if `things.a` exists it will take precedence over `a="b"`, while `c="d"` would take precedence over `things.c`: ```svelte ``` ## Events Listening to DOM events is possible by adding attributes to the element that start with `on`. For example, to listen to the `click` event, add the `onclick` attribute to a button: ```svelte ``` Event attributes are case sensitive. `onclick` listens to the `click` event, `onClick` listens to the `Click` event, which is different. This ensures you can listen to custom events that have uppercase characters in them. Because events are just attributes, the same rules as for attributes apply: - you can use the shorthand form: `` - you can spread them: `` Timing-wise, event attributes always fire after events from bindings (e.g. `oninput` always fires after an update to `bind:value`). Under the hood, some event handlers are attached directly with `addEventListener`, while others are _delegated_. When using `ontouchstart` and `ontouchmove` event attributes, the handlers are [passive](https://developer.mozilla.org/en-US/docs/Web/API/EventTarget/addEventListener#using_passive_listeners) for better performance. This greatly improves responsiveness by allowing the browser to scroll the document immediately, rather than waiting to see if the event handler calls `event.preventDefault()`. In the very rare cases that you need to prevent these event defaults, you should use [`on`](svelte-events#on) instead (for example inside an action). ### Event delegation To reduce memory footprint and increase performance, Svelte uses a technique called event delegation. This means that for certain events — see the list below — a single event listener at the application root takes responsibility for running any handlers on the event's path. There are a few gotchas to be aware of: - when you manually dispatch an event with a delegated listener, make sure to set the `{ bubbles: true }` option or it won't reach the application root - when using `addEventListener` directly, avoid calling `stopPropagation` or the event won't reach the application root and handlers won't be invoked. Similarly, handlers added manually inside the application root will run _before_ handlers added declaratively deeper in the DOM (with e.g. `onclick={...}`), in both capturing and bubbling phases. For these reasons it's better to use the `on` function imported from `svelte/events` rather than `addEventListener`, as it will ensure that order is preserved and `stopPropagation` is handled correctly. The following event handlers are delegated: - `beforeinput` - `click` - `change` - `dblclick` - `contextmenu` - `focusin` - `focusout` - `input` - `keydown` - `keyup` - `mousedown` - `mousemove` - `mouseout` - `mouseover` - `mouseup` - `pointerdown` - `pointermove` - `pointerout` - `pointerover` - `pointerup` - `touchend` - `touchmove` - `touchstart` ## Text expressions A JavaScript expression can be included as text by surrounding it with curly braces. ```svelte {expression} ``` Expressions that are `null` or `undefined` will be omitted; all others are [coerced to strings](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/String#string_coercion). Curly braces can be included in a Svelte template by using their [HTML entity](https://developer.mozilla.org/docs/Glossary/Entity) strings: `{`, `{`, or `{` for `{` and `}`, `}`, or `}` for `}`. If you're using a regular expression (`RegExp`) [literal notation](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/RegExp#literal_notation_and_constructor), you'll need to wrap it in parentheses. ```svelte

Hello {name}!

{a} + {b} = {a + b}.

{(/^[A-Za-z ]+$/).test(value) ? x : y}
``` The expression will be stringified and escaped to prevent code injections. If you want to render HTML, use the `{@html}` tag instead. ```svelte {@html potentiallyUnsafeHtmlString} ``` > [!NOTE] Make sure that you either escape the passed string or only populate it with values that are under your control in order to prevent [XSS attacks](https://owasp.org/www-community/attacks/xss/) ## Comments You can use HTML comments inside components. ```svelte

Hello world

``` Comments beginning with `svelte-ignore` disable warnings for the next block of markup. Usually, these are accessibility warnings; make sure that you're disabling them for a good reason. ```svelte ``` You can add a special comment starting with `@component` that will show up when hovering over the component name in other files. ````svelte

Hello, {name}

```` ================================================ FILE: documentation/docs/03-template-syntax/02-if.md ================================================ --- title: {#if ...} tags: template-if --- ```svelte {#if expression}...{/if} ``` ```svelte {#if expression}...{:else if expression}...{/if} ``` ```svelte {#if expression}...{:else}...{/if} ``` Content that is conditionally rendered can be wrapped in an if block. ```svelte {#if answer === 42}

what was the question?

{/if} ``` Additional conditions can be added with `{:else if expression}`, optionally ending in an `{:else}` clause. ```svelte {#if porridge.temperature > 100}

too hot!

{:else if 80 > porridge.temperature}

too cold!

{:else}

just right!

{/if} ``` (Blocks don't have to wrap elements, they can also wrap text within elements.) ================================================ FILE: documentation/docs/03-template-syntax/03-each.md ================================================ --- title: {#each ...} tags: template-each --- ```svelte {#each expression as name}...{/each} ``` ```svelte {#each expression as name, index}...{/each} ``` Iterating over values can be done with an each block. The values in question can be arrays, array-like objects (i.e. anything with a `length` property), or iterables like `Map` and `Set`. (Internally, they are converted to arrays with [`Array.from`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Array/from).) If the value is `null` or `undefined`, it is treated the same as an empty array (which will cause [else blocks](#Else-blocks) to be rendered, where applicable). ```svelte

Shopping list

    {#each items as item}
  • {item.name} x {item.qty}
  • {/each}
``` An each block can also specify an _index_, equivalent to the second argument in an `array.map(...)` callback: ```svelte {#each items as item, i}
  • {i + 1}: {item.name} x {item.qty}
  • {/each} ``` ## Keyed each blocks ```svelte {#each expression as name (key)}...{/each} ``` ```svelte {#each expression as name, index (key)}...{/each} ``` If a _key_ expression is provided — which must uniquely identify each list item — Svelte will use it to intelligently update the list when data changes by inserting, moving and deleting items, rather than adding or removing items at the end and updating the state in the middle. The key can be any object, but strings and numbers are recommended since they allow identity to persist when the objects themselves change. ```svelte {#each items as item (item.id)}
  • {item.name} x {item.qty}
  • {/each} {#each items as item, i (item.id)}
  • {i + 1}: {item.name} x {item.qty}
  • {/each} ``` You can freely use destructuring and rest patterns in each blocks. ```svelte {#each items as { id, name, qty }, i (id)}
  • {i + 1}: {name} x {qty}
  • {/each} {#each objects as { id, ...rest }}
  • {id}
  • {/each} {#each items as [id, ...rest]}
  • {id}
  • {/each} ``` ## Each blocks without an item ```svelte {#each expression}...{/each} ``` ```svelte {#each expression, index}...{/each} ``` In case you just want to render something `n` times, you can omit the `as` part: ```svelte
    {#each { length: 8 }, rank} {#each { length: 8 }, file}
    {/each} {/each}
    ``` ## Else blocks ```svelte {#each expression as name}...{:else}...{/each} ``` An each block can also have an `{:else}` clause, which is rendered if the list is empty. ```svelte {#each todos as todo}

    {todo.text}

    {:else}

    No tasks today!

    {/each} ``` ================================================ FILE: documentation/docs/03-template-syntax/04-key.md ================================================ --- title: {#key ...} tags: template-key --- ```svelte {#key expression}...{/key} ``` Key blocks destroy and recreate their contents when the value of an expression changes. When used around components, this will cause them to be reinstantiated and reinitialised: ```svelte {#key value} {/key} ``` It's also useful if you want a transition to play whenever a value changes: ```svelte {#key value}
    {value}
    {/key} ``` ================================================ FILE: documentation/docs/03-template-syntax/05-await.md ================================================ --- title: {#await ...} tags: template-await --- ```svelte {#await expression}...{:then name}...{:catch name}...{/await} ``` ```svelte {#await expression}...{:then name}...{/await} ``` ```svelte {#await expression then name}...{/await} ``` ```svelte {#await expression catch name}...{/await} ``` Await blocks allow you to branch on the three possible states of a [`Promise`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Promise) — pending, fulfilled or rejected. ```svelte {#await promise}

    waiting for the promise to resolve...

    {:then value}

    The value is {value}

    {:catch error}

    Something went wrong: {error.message}

    {/await} ``` > [!NOTE] During server-side rendering, only the pending branch will be rendered. > > If the provided expression is not a `Promise`, only the `:then` branch will be rendered, including during server-side rendering. The `catch` block can be omitted if you don't need to render anything when the promise rejects (or no error is possible). ```svelte {#await promise}

    waiting for the promise to resolve...

    {:then value}

    The value is {value}

    {/await} ``` If you don't care about the pending state, you can also omit the initial block. ```svelte {#await promise then value}

    The value is {value}

    {/await} ``` Similarly, if you only want to show the error state, you can omit the `then` block. ```svelte {#await promise catch error}

    The error is {error}

    {/await} ``` > [!NOTE] You can use `#await` with [`import(...)`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/import) to render components lazily: > > ```svelte > {#await import('./Component.svelte') then { default: Component }} > > {/await} > ``` ================================================ FILE: documentation/docs/03-template-syntax/06-snippet.md ================================================ --- title: {#snippet ...} --- ```svelte {#snippet name()}...{/snippet} ``` ```svelte {#snippet name(param1, param2, paramN)}...{/snippet} ``` Snippets, and [render tags](@render), are a way to create reusable chunks of markup inside your components. Instead of writing duplicative code like [this](/playground/untitled#H4sIAAAAAAAAE5VUYW-kIBD9K8Tmsm2yXXRzvQ-s3eR-R-0HqqOQKhAZb9sz_vdDkV1t000vRmHewMx7w2AflbIGG7GnPlK8gYhFv42JthG-m9Gwf6BGcLbVXZuPSGrzVho8ZirDGpDIhldgySN5GpEMez9kaNuckY1ANJZRamRuu2ZnhEZt6a84pvs43mzD4pMsUDDi8DMkQFYCGdkvsJwblFq5uCik9bmJ4JZwUkv1eoknWigX2eGNN6aGXa6bjV8ybP-X7sM36T58SVcrIIV2xVIaA41xeD5kKqWXuqpUJEefOqVuOkL9DfBchGrzWfu0vb-RpTd3o-zBR045Ga3HfuE5BmJpKauuhbPtENlUF2sqR9jqpsPSxWsMrlngyj3VJiyYjJXb1-lMa7IWC-iSk2M5Zzh-SJjShe-siq5kpZRPs55BbSGU5YPyte4vVV_VfFXxVb10dSLf17pS2lM5HnpPxw4Zpv6x-F57p0jI3OKlVnhv5V9wPQrNYQQ9D_f6aGHlC89fq1Z3qmDkJCTCweOGF4VUFSPJvD_DhreVdA0eu8ehJJ5x91dBaBkpWm3ureCFPt3uzRv56d4kdp-2euG38XZ6dsnd3ZmPG9yRBCrzRUvi-MccOdwz3qE-fOZ7AwAhlrtTUx3c76vRhSwlFBHDtoPhefgHX3dM0PkEAAA=)... ```svelte {#each images as image} {#if image.href}
    {image.caption}
    {image.caption}
    {:else}
    {image.caption}
    {image.caption}
    {/if} {/each} ``` ...you can write [this](/playground/untitled#H4sIAAAAAAAAE5VUYW-bMBD9KxbRlERKY4jWfSA02n5H6QcXDmwVbMs-lnaI_z6D7TTt1moTAnPvzvfenQ_GpBEd2CS_HxPJekjy5IfWyS7BFz0b9id0CM62ajDVjBS2MkLjqZQldoBE9KwFS-7I_YyUOPqlRGuqnKw5orY5pVpUduj3mitUln5LU3pI0_UuBp9FjTwnDr9AHETLMSeHK6xiGoWSLi9yYT034cwSRjohn17zcQPNFTs8s153sK9Uv_Yh0-5_5d7-o9zbD-UqCaRWrllSYZQxLw_HUhb0ta-y4NnJUxfUvc7QuLJSaO0a3oh2MLBZat8u-wsPnXzKQvTtVVF34xK5d69ThFmHEQ4SpzeVRediTG8rjD5vBSeN3E5JyHh6R1DQK9-iml5kjzQUN_lSgVU8DhYLx7wwjSvRkMDvTjiwF4zM1kXZ7DlF1eN3A7IG85e-zRrYEjjm0FkI4Cc7Ripm0pHOChexhcWXzreeZyRMU6Mk3ljxC9w4QH-cQZ_b3T5pjHxk1VNr1CDrnJy5QDh6XLO6FrLNSRb2l9gz0wo3S6m7HErSgLsPGMHkpDZK31jOanXeHPQz-eruLHUP0z6yTbpbrn223V70uMXNSpQSZjpL0y8hcxxpNqA6_ql3BQAxlxvfpQ_uT9GrWjQC6iRHM8D0MP0GQsIi92QEAAA=): ```svelte {#snippet figure(image)}
    {image.caption}
    {image.caption}
    {/snippet} {#each images as image} {#if image.href} {@render figure(image)} {:else} {@render figure(image)} {/if} {/each} ``` Like function declarations, snippets can have an arbitrary number of parameters, which can have default values, and you can destructure each parameter. You cannot use rest parameters, however. ## Snippet scope Snippets can be declared anywhere inside your component. They can reference values declared outside themselves, for example in the ` {#snippet hello(name)}

    hello {name}! {message}!

    {/snippet} {@render hello('alice')} {@render hello('bob')} ``` ...and they are 'visible' to everything in the same lexical scope (i.e. siblings, and children of those siblings): ```svelte
    {#snippet x()} {#snippet y()}...{/snippet} {@render y()} {/snippet} {@render y()}
    {@render x()} ``` Snippets can reference themselves and each other: ```svelte {#snippet blastoff()} 🚀 {/snippet} {#snippet countdown(n)} {#if n > 0} {n}... {@render countdown(n - 1)} {:else} {@render blastoff()} {/if} {/snippet} {@render countdown(10)} ``` ## Passing snippets to components ### Explicit props Within the template, snippets are values just like any other. As such, they can be passed to components as props: ```svelte {#snippet header()} fruit qty price total {/snippet} {#snippet row(d)} {d.name} {d.qty} {d.price} {d.qty * d.price} {/snippet} ``` ```svelte
    {#if header} {@render header()} {/if} {#each data as d} {@render row(d)} {/each}
    ``` Think about it like passing content instead of data to a component. The concept is similar to slots in web components. ### Implicit props As an authoring convenience, snippets declared directly _inside_ a component implicitly become props _on_ the component: ```svelte {#snippet header()} {/snippet} {#snippet row(d)} {/snippet}
    fruit qty price total{d.name} {d.qty} {d.price} {d.qty * d.price}
    ``` ```svelte {#if header} {@render header()} {/if} {#each data as d} {@render row(d)} {/each}
    ``` ### Implicit `children` snippet Any content inside the component tags that is _not_ a snippet declaration implicitly becomes part of the `children` snippet: ```svelte ``` ```svelte ``` > [!NOTE] Note that you cannot have a prop called `children` if you also have content inside the component — for this reason, you should avoid having props with that name ### Optional snippet props You can declare snippet props as being optional. You can either use optional chaining to not render anything if the snippet isn't set... ```svelte {@render children?.()} ``` ...or use an `#if` block to render fallback content: ```svelte {#if children} {@render children()} {:else} fallback content {/if} ``` ## Typing snippets Snippets implement the `Snippet` interface imported from `'svelte'`: ```svelte ``` With this change, red squigglies will appear if you try and use the component without providing a `data` prop and a `row` snippet. Notice that the type argument provided to `Snippet` is a tuple, since snippets can have multiple parameters. We can tighten things up further by declaring a generic, so that `data` and `row` refer to the same type: ```svelte ``` ## Exporting snippets Snippets declared at the top level of a `.svelte` file can be exported from a ` {@render add(1, 2)} ``` ```svelte {#snippet add(a, b)} {a} + {b} = {a + b} {/snippet} ``` > [!NOTE] > This requires Svelte 5.5.0 or newer ## Programmatic snippets Snippets can be created programmatically with the [`createRawSnippet`](svelte#createRawSnippet) API. This is intended for advanced use cases. ## Snippets and slots In Svelte 4, content can be passed to components using [slots](legacy-slots). Snippets are more powerful and flexible, and so slots have been deprecated in Svelte 5. ================================================ FILE: documentation/docs/03-template-syntax/07-@render.md ================================================ --- title: {@render ...} --- To render a [snippet](snippet), use a `{@render ...}` tag. ```svelte {#snippet sum(a, b)}

    {a} + {b} = {a + b}

    {/snippet} {@render sum(1, 2)} {@render sum(3, 4)} {@render sum(5, 6)} ``` The expression can be an identifier like `sum`, or an arbitrary JavaScript expression: ```svelte {@render (cool ? coolSnippet : lameSnippet)()} ``` ## Optional snippets If the snippet is potentially undefined — for example, because it's an incoming prop — then you can use optional chaining to only render it when it _is_ defined: ```svelte {@render children?.()} ``` Alternatively, use an [`{#if ...}`](if) block with an `:else` clause to render fallback content: ```svelte {#if children} {@render children()} {:else}

    fallback content

    {/if} ``` ================================================ FILE: documentation/docs/03-template-syntax/08-@html.md ================================================ --- title: {@html ...} tags: template-html --- To inject raw HTML into your component, use the `{@html ...}` tag: ```svelte
    {@html content}
    ``` > [!NOTE] Make sure that you either escape the passed string or only populate it with values that are under your control in order to prevent [XSS attacks](https://owasp.org/www-community/attacks/xss/). Never render unsanitized content. The expression should be valid standalone HTML — this will not work, because `
    ` is not valid HTML: ```svelte {@html '
    '}content{@html '
    '} ``` It also will not compile Svelte code. ## Styling Content rendered this way is 'invisible' to Svelte and as such will not receive [scoped styles](scoped-styles). In other words, this will not work, and the `a` and `img` styles will be regarded as unused: ```svelte
    {@html content}
    ``` Instead, use the `:global` modifier to target everything inside the `
    `: ```svelte ``` ================================================ FILE: documentation/docs/03-template-syntax/09-@attach.md ================================================ --- title: {@attach ...} tags: attachments --- Attachments are functions that run in an [effect]($effect) when an element is mounted to the DOM or when [state]($state) read inside the function updates. Optionally, they can return a function that is called before the attachment re-runs, or after the element is later removed from the DOM. > [!NOTE] > Attachments are available in Svelte 5.29 and newer. ```svelte
    ...
    ``` An element can have any number of attachments. ## Attachment factories A useful pattern is for a function, such as `tooltip` in this example, to _return_ an attachment ([demo](/playground/untitled#H4sIAAAAAAAAE3VT0XLaMBD8lavbDiaNCUlbHhTItG_5h5AH2T5ArdBppDOEMv73SkbGJGnH47F9t3un3TsfMyO3mInsh2SW1Sa7zlZKo8_E0zHjg42pGAjxBPxp7cTvUHOMldLjv-IVGUbDoUw295VTlh-WZslqa8kxsLL2ACtHWxh175NffnQfAAGikSGxYQGfPEvGfPSIWtOH0TiBVo2pWJEBJtKhQp4YYzjG9JIdcuMM5IZqHMPioY8vOSA997zQoevf4a7heO7cdp34olRiTGr07OhwH1IdoO2A7dLMbwahZq6MbRhKZWqxk7rBxTGVbuHmhCgb5qDgmIx_J6XtHHukHTrYYqx_YpzYng8aO4RYayql7hU-1ZJl0akqHBE_D9KLolwL-Dibzc7iSln9XjtqTF1UpMkJ2EmXR-BgQErsN4pxIJKr0RVO1qrxAqaTO4fbc9bKulZm3cfDY3aZDgvFGErWjmzhN7KmfX5rXyDeX8Pt1mU-hXjdBOrtuB97vK4GPUtmJ41XcRMEGDLD8do0nJ73zhUhSlyRw0t3vPqD8cjfLs-axiFgNBrkUd9Ulp50c-GLxlXAVlJX-ffpZyiSn7H0eLCUySZQcQdXlxj4El0Yv_FZvIKElqqGTruVLhzu7VRKCh22_5toOyxsWqLwwzK-cCbYNdg-hy-p9D7sbiZWUnts_wLUOF3CJgQAAA==)): ```svelte ``` Since the `tooltip(content)` expression runs inside an [effect]($effect), the attachment will be destroyed and recreated whenever `content` changes. The same thing would happen for any state read _inside_ the attachment function when it first runs. (If this isn't what you want, see [Controlling when attachments re-run](#Controlling-when-attachments-re-run).) ## Inline attachments Attachments can also be created inline ([demo](/playground/untitled#H4sIAAAAAAAAE71Wf3OaWBT9KoyTTnW3MS-I3dYmnWXVtnRAazRJzbozRSQEApiRhwKO333vuY8m225m_9yZGOT9OPfcc84D943UTfxGr_G7K6Xr3TVeNW7D2M8avT_3DVk-YAoDNF4vNB8e2tnWjyXGlm7mPzfurVPpp5JgGmeZtwkf5PtFupCxLzVvHa832rl2lElX-s2Xm2DZFNqp_hs-rZetd4v07ORpT3qmQHu7MF2td0BZp8k6z_xkvfXP902_pZ2_1_aYWEiqm0kN8I4r79qbdZ6umnq3q_2iNf22F4dE6qt2oimwdpim_uY6XMm7Fuo-IQT_iTD_CeGTHwZ38ieIJUFQRxirR1Xf39Dw0X5z0I72Af4tD61vvPNwWKQnqmfPTbduhsEd2J3vO_oBd3dc6fF2X7umNdWGf0vBRhSS6qoV7cCXfTXWfKmvWG61_si_vfU92Wz-E4RhsLhNIYinsox9QKGVd8-tuACCeKXRX12P-T_eKf7fhTq0Hvt-f3ailtSeoxJHRo1-58NoPe1UiBc1hkL8Yeh45y_vQ3mcuNl9T8s3cXPRWLnS7YWJG_gn2Tb4tUjid8jua-PVl08j_ab8I14mH8Llx0s5Tz5Err4ql52r_GYg0mVy1bEGZuD0ze64b5TWYFiM-16wSuJ4JT5vfVpDcztrcG_YkRU4s6HxufzDWF4XuVeJ1P10IbzBemt3Vp1V2e04ZXfrJd7Wicyd039brRIv_RIVu_nXi7X1cfL2sy66ztToUp1TO7qJ7NlwZ0f30pld5qNSVE5o6PbMojFHjgZB7oSicPpGteyLclQap7SvY0dXtM_LR1NT2JFHey3aaxa0VxCeYJ7RMHemoiCcgPZV9pR7o7kgcOjeGliYk9hjDZx8FAq6enwlTPSZj_vYPw9Il64dXdIY8ZmapzwfEd8-1ZyaxWhqkIZOibXUd-6Upqi1pD4uMicCV1GA_7zi73UN8BaF4sC8peJtMjfmjbHZBFwq5ov50qRaE0l96NZggnW4KqypYRAW-uhSz9ADvklwJF2J-5W0Z5fQPBhDX92R6I_0IFxRgDftge4l4dP-gH1hjD7uqU6fsOEZ9UNrCdPB-nys6uXgY6O3ZMd9sy5T9PghqrWHdjo4jB51CgLiKJaDYYA-7WgYONf1FbjkI-mE3EAfUY_rijfuJ_CVPaR50oe9JF7Q0pI8Dw3osxxYHdYPGbp2CnwHF8KvwJv2wEv0Z3ilQI6U9uwbZxbYJXvEmjjQjjCHkvNLvNg3yhzXQd1olamsT4IRrZmX0MUDpwL7R8zzHj7pSh9hPHFSHjLezKqAST51uC5zmtQ87skDUaneLokT5RbXkPWSYz53Abgjc8_o4KFGUZ-Hgv2Z1l5OTYM9D-HfUD0L-EwxH5wRnIG61gS-khfgY1bq7IAP_DA4l5xRuh9xlm8yGjutc8t-wHtkhWv3hc7aqGwiK5KzgvM5xRkZYn193uEln-su55j1GaIv7oM4iPrsVHiG0Dx7TR9-1lBfqFdwfvSd5LNL5xyZVp5NoHFZ57FkfiF6vKs4k5zvIfrX5xX6MXmt0gM5MTu8DjnhukrHHzTRd3jm0dma0_f_x5cxP9f4jBdqHvmbq2fUjzqcKh2Cp-yWj9ntcHanXmBXxhu7Q--eyjhfNFpaV7zgz4nWEUb7zUOhpevjjf_gu_KZ99pxFlZ-T3sttkmYqrco_26q35v0Ewzv5EZPbnL_8BfduWGMnyyN3q0bZ_7hb_7KG_L4CQAA)): ```svelte { const context = canvas.getContext('2d'); $effect(() => { context.fillStyle = color; context.fillRect(0, 0, canvas.width, canvas.height); }); }} > ``` > [!NOTE] > The nested effect runs whenever `color` changes, while the outer effect (where `canvas.getContext(...)` is called) only runs once, since it doesn't read any reactive state. ## Conditional attachments Falsy values like `false` or `undefined` are treated as no attachment, enabling conditional usage: ```svelte
    ...
    ``` ## Passing attachments to components When used on a component, `{@attach ...}` will create a prop whose key is a [`Symbol`](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/Symbol). If the component then [spreads](/tutorial/svelte/spread-props) props onto an element, the element will receive those attachments. This allows you to create _wrapper components_ that augment elements ([demo](/playground/untitled#H4sIAAAAAAAAE3VUS3ObMBD-KxvajnFqsJM2PhA7TXrKob31FjITAbKtRkiMtDhJPfz3LiAMdpxhGJvdb1_fPnaeYjn3Iu-WIbJ04028lZDcetHDzsO3olbVApI74F1RhHbLJdayhFl-Sp5qhVwhufEWNjWiwJtYxSjyQhsEFEXxBiujcxg1_8O_dnQ9APwsEbVyiHDafjrvDZCgkiO4MLCEzxYZcn90z6XUZ6OxA61KlaIgV6i1pFC-sxjDrlbHaDiWRoGvdMbHsLzp5DES0mJnRxGaRBvcBHb7yFUTCQeunEWYcYtGv12TqgFUDbCK1WLaM6IWQhUlQiJUFm2ZLPly51xXMG0Rjoyd69C7UqqG2nu95QZyXvtvLVpri2-SN4hoLXXCZFfhQ8aQBU1VgdEaH_vSgyBZR_BpPp_vi0tY-rw2ulRZkGqpTQRbZvwa2BPgFC8bgbw31CbjJjAsE6WNYBZeGp7vtQXLMqHWnZx-5kM1TR5ycpkZXQR2wzL94l8Ur1C_3-g168SfQf1MyfRi3LW9fs77emJEw5QV9SREoLTq06tcczq7d6xEUcJX2vAhO1b843XK34e5unZEMBr15ekuKEusluWAF8lXhE2ZTP2r2RcIHJ-163FPKerCgYJLOB9i4GvNwviI5-gAQiFFBk3tBTOU3HFXEk0R8o86WvUD64aINhv5K3oRmpJXkw8uxMG6Hh6JY9X7OwGSqfUy9tDG3sHNoEi0d_d_fv9qndxRU0VClFqo3KVo3U655Hnt1PXB3Qra2Y2QGdEwgTAMCxopsoxOe6SD0gD8movDhT0LAnhqlE8gVCpLWnRoV7OJCkFAwEXitrYL1W7p7pbiE_P7XH6E_rihODm5s52XtiH9Ekaw0VgI9exadWL1uoEYjPtg2672k5szsxbKyWB2fdT0w5Y_0hcT8oXOlRetmLS8-g-6TLXXQgYAAA==)): ```svelte ``` ```svelte ``` ## Controlling when attachments re-run Attachments, unlike [actions](use), are fully reactive: `{@attach foo(bar)}` will re-run on changes to `foo` _or_ `bar` (or any state read inside `foo`): ```js // @errors: 7006 2304 2552 function foo(bar) { return (node) => { veryExpensiveSetupWork(node); update(node, bar); }; } ``` In the rare case that this is a problem (for example, if `foo` does expensive and unavoidable setup work) consider passing the data inside a function and reading it in a child effect: ```js // @errors: 7006 2304 2552 function foo(+++getBar+++) { return (node) => { veryExpensiveSetupWork(node); +++ $effect(() => { update(node, getBar()); });+++ } } ``` ## Creating attachments programmatically To add attachments to an object that will be spread onto a component or element, use [`createAttachmentKey`](svelte-attachments#createAttachmentKey). ## Converting actions to attachments If you're using a library that only provides actions, you can convert them to attachments with [`fromAction`](svelte-attachments#fromAction), allowing you to (for example) use them with components. ================================================ FILE: documentation/docs/03-template-syntax/10-@const.md ================================================ --- title: {@const ...} --- The `{@const ...}` tag defines a local constant. ```svelte {#each boxes as box} {@const area = box.width * box.height} {box.width} * {box.height} = {area} {/each} ``` `{@const}` is only allowed as an immediate child of a block — `{#if ...}`, `{#each ...}`, `{#snippet ...}` and so on — a `` or a ``. ================================================ FILE: documentation/docs/03-template-syntax/11-@debug.md ================================================ --- title: {@debug ...} --- The `{@debug ...}` tag offers an alternative to `console.log(...)`. It logs the values of specific variables whenever they change, and pauses code execution if you have devtools open. ```svelte {@debug user}

    Hello {user.firstname}!

    ``` `{@debug ...}` accepts a comma-separated list of variable names (not arbitrary expressions). ```svelte {@debug user} {@debug user1, user2, user3} {@debug user.firstname} {@debug myArray[0]} {@debug !isReady} {@debug typeof user === 'object'} ``` The `{@debug}` tag without any arguments will insert a `debugger` statement that gets triggered when _any_ state changes, as opposed to the specified variables. ================================================ FILE: documentation/docs/03-template-syntax/12-bind.md ================================================ --- title: bind: --- Data ordinarily flows down, from parent to child. The `bind:` directive allows data to flow the other way, from child to parent. The general syntax is `bind:property={expression}`, where `expression` is an [_lvalue_](https://press.rebus.community/programmingfundamentals/chapter/lvalue-and-rvalue/) (i.e. a variable or an object property). When the expression is an identifier with the same name as the property, we can omit the expression — in other words these are equivalent: ```svelte ``` Svelte creates an event listener that updates the bound value. If an element already has a listener for the same event, that listener will be fired before the bound value is updated. Most bindings are _two-way_, meaning that changes to the value will affect the element and vice versa. A few bindings are _readonly_, meaning that changing their value will have no effect on the element. ## Function bindings You can also use `bind:property={get, set}`, where `get` and `set` are functions, allowing you to perform validation and transformation: ```svelte value, (v) => value = v.toLowerCase()} /> ``` In the case of readonly bindings like [dimension bindings](#Dimensions), the `get` value should be `null`: ```svelte
    ...
    ``` > [!NOTE] > Function bindings are available in Svelte 5.9.0 and newer. ## `` A `bind:value` directive on an `` element binds the input's `value` property: ```svelte

    {message}

    ``` In the case of a numeric input (`type="number"` or `type="range"`), the value will be coerced to a number: ```svelte

    {a} + {b} = {a + b}

    ``` If the input is empty or invalid (in the case of `type="number"`), the value is `undefined`. Since 5.6.0, if an `` has a `defaultValue` and is part of a form, it will revert to that value instead of the empty string when the form is reset. Note that for the initial render the value of the binding takes precedence unless it is `null` or `undefined`. ```svelte
    ``` > [!NOTE] > Use reset buttons sparingly, and ensure that users won't accidentally click them while trying to submit the form. ## `` Checkbox inputs can be bound with `bind:checked`: ```svelte ``` Since 5.6.0, if an `` has a `defaultChecked` attribute and is part of a form, it will revert to that value instead of `false` when the form is reset. Note that for the initial render the value of the binding takes precedence unless it is `null` or `undefined`. ```svelte
    ``` > [!NOTE] Use `bind:group` for radio inputs instead of `bind:checked`. ## `` Checkboxes can be in an [indeterminate](https://developer.mozilla.org/en-US/docs/Web/API/HTMLInputElement/indeterminate) state, independently of whether they are checked or unchecked: ```svelte
    {#if indeterminate} waiting... {:else if checked} checked {:else} unchecked {/if}
    ``` ## `` Inputs that work together can use `bind:group`: ```svelte

    Customize your burrito

    Tortilla: {tortilla}

    Fillings: {fillings.join(', ') || 'None'}

    ``` > [!NOTE] `bind:group` only works if the inputs are in the same Svelte component. ## `` On `` elements with `type="file"`, you can use `bind:files` to get the [`FileList` of selected files](https://developer.mozilla.org/en-US/docs/Web/API/FileList). When you want to update the files programmatically, you always need to use a `FileList` object. Currently `FileList` objects cannot be constructed directly, so you need to create a new [`DataTransfer`](https://developer.mozilla.org/en-US/docs/Web/API/DataTransfer) object and get `files` from there. ```svelte ``` `FileList` objects also cannot be modified, so if you want to e.g. delete a single file from the list, you need to create a new `DataTransfer` object and add the files you want to keep. > [!NOTE] `DataTransfer` may not be available in server-side JS runtimes. Leaving the state that is bound to `files` uninitialized prevents potential errors if components are server-side rendered. ## `` value binding corresponds to the `value` property on the selected ` ``` When the value of an ` ``` ## `