From 7c97a85e73df1e4dddf892fd7fba1a8145209260 Mon Sep 17 00:00:00 2001 From: Dominic Gannaway Date: Wed, 20 Nov 2024 15:10:53 +0000 Subject: [PATCH 01/13] chore: remove template expression inlining --- .changeset/calm-mice-perform.md | 5 + .../phases/2-analyze/visitors/Attribute.js | 25 +--- .../2-analyze/visitors/CallExpression.js | 2 - .../2-analyze/visitors/ExpressionTag.js | 5 + .../phases/2-analyze/visitors/Identifier.js | 17 +-- .../2-analyze/visitors/MemberExpression.js | 3 - .../visitors/TaggedTemplateExpression.js | 1 - .../phases/3-transform/client/utils.js | 52 +++++++- .../3-transform/client/visitors/Fragment.js | 38 ++---- .../client/visitors/RegularElement.js | 95 +++++--------- .../client/visitors/TitleElement.js | 4 +- .../client/visitors/shared/element.js | 4 +- .../client/visitors/shared/fragment.js | 74 +++-------- .../client/visitors/shared/utils.js | 124 +++++++++--------- packages/svelte/src/compiler/phases/nodes.js | 3 +- packages/svelte/src/compiler/types/index.d.ts | 2 - packages/svelte/src/internal/client/index.js | 2 - packages/svelte/src/internal/server/index.js | 30 ++++- .../svelte/src/internal/shared/attributes.js | 28 ---- .../samples/slot-non-identifier/output.svelte | 2 +- .../main.svelte | 2 +- .../_expected/client/index.svelte.js | 11 +- .../_expected/server/index.svelte.js | 4 +- .../samples/inline-module-vars/index.svelte | 7 +- .../_expected/client/index.svelte.js | 5 +- 25 files changed, 227 insertions(+), 318 deletions(-) create mode 100644 .changeset/calm-mice-perform.md delete mode 100644 packages/svelte/src/internal/shared/attributes.js diff --git a/.changeset/calm-mice-perform.md b/.changeset/calm-mice-perform.md new file mode 100644 index 000000000000..91927c197d13 --- /dev/null +++ b/.changeset/calm-mice-perform.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +chore: remove template expression inlining diff --git a/packages/svelte/src/compiler/phases/2-analyze/visitors/Attribute.js b/packages/svelte/src/compiler/phases/2-analyze/visitors/Attribute.js index ca0ea55d1fb0..2a281a1aa3d9 100644 --- a/packages/svelte/src/compiler/phases/2-analyze/visitors/Attribute.js +++ b/packages/svelte/src/compiler/phases/2-analyze/visitors/Attribute.js @@ -1,7 +1,7 @@ /** @import { ArrowFunctionExpression, Expression, FunctionDeclaration, FunctionExpression } from 'estree' */ /** @import { AST, DelegatedEvent, SvelteNode } from '#compiler' */ /** @import { Context } from '../types' */ -import { is_boolean_attribute, is_capture_event, is_delegated } from '../../../../utils.js'; +import { is_capture_event, is_delegated } from '../../../../utils.js'; import { get_attribute_chunks, get_attribute_expression, @@ -16,28 +16,14 @@ import { mark_subtree_dynamic } from './shared/fragment.js'; export function Attribute(node, context) { context.next(); - const parent = /** @type {SvelteNode} */ (context.path.at(-1)); - - if (parent.type === 'RegularElement') { - // special case