From 669a32a61505bca1672a1a5e050b2e13d150cd45 Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Sun, 8 Jun 2025 13:00:57 +0200 Subject: [PATCH 1/3] fix: destructuring state in ssr (#16102) --- .changeset/silly-turkeys-confess.md | 5 +++++ .../server/visitors/VariableDeclaration.js | 6 +++++- .../samples/destructure-state-iterable/_expected.html | 1 + .../samples/destructure-state-iterable/main.svelte | 11 +++++++++++ .../samples/destructure-state/_expected.html | 1 + .../samples/destructure-state/main.svelte | 5 +++++ 6 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 .changeset/silly-turkeys-confess.md create mode 100644 packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/_expected.html create mode 100644 packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/main.svelte create mode 100644 packages/svelte/tests/server-side-rendering/samples/destructure-state/_expected.html create mode 100644 packages/svelte/tests/server-side-rendering/samples/destructure-state/main.svelte diff --git a/.changeset/silly-turkeys-confess.md b/.changeset/silly-turkeys-confess.md new file mode 100644 index 000000000000..9bb677e52ad6 --- /dev/null +++ b/.changeset/silly-turkeys-confess.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: destructuring state in ssr diff --git a/packages/svelte/src/compiler/phases/3-transform/server/visitors/VariableDeclaration.js b/packages/svelte/src/compiler/phases/3-transform/server/visitors/VariableDeclaration.js index 1f0e6be77c44..7c945951471c 100644 --- a/packages/svelte/src/compiler/phases/3-transform/server/visitors/VariableDeclaration.js +++ b/packages/svelte/src/compiler/phases/3-transform/server/visitors/VariableDeclaration.js @@ -197,9 +197,13 @@ function create_state_declarators(declarator, scope, value) { } const tmp = b.id(scope.generate('tmp')); - const { paths } = extract_paths(declarator.id, tmp); + const { paths, inserts } = extract_paths(declarator.id, tmp); return [ b.declarator(tmp, value), // TODO inject declarator for opts, so we can use it below + ...inserts.map(({ id, value }) => { + id.name = scope.generate('$$array'); + return b.declarator(id, value); + }), ...paths.map((path) => { const value = path.expression; return b.declarator(path.node, value); diff --git a/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/_expected.html b/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/_expected.html new file mode 100644 index 000000000000..e3f755a08c1d --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/_expected.html @@ -0,0 +1 @@ +0, 1 \ No newline at end of file diff --git a/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/main.svelte b/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/main.svelte new file mode 100644 index 000000000000..9414735f2fad --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/destructure-state-iterable/main.svelte @@ -0,0 +1,11 @@ + + +{one}, {two} \ No newline at end of file diff --git a/packages/svelte/tests/server-side-rendering/samples/destructure-state/_expected.html b/packages/svelte/tests/server-side-rendering/samples/destructure-state/_expected.html new file mode 100644 index 000000000000..213a5f5bf155 --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/destructure-state/_expected.html @@ -0,0 +1 @@ +10, Admin \ No newline at end of file diff --git a/packages/svelte/tests/server-side-rendering/samples/destructure-state/main.svelte b/packages/svelte/tests/server-side-rendering/samples/destructure-state/main.svelte new file mode 100644 index 000000000000..422548cd14fe --- /dev/null +++ b/packages/svelte/tests/server-side-rendering/samples/destructure-state/main.svelte @@ -0,0 +1,5 @@ + + +{level}, {custom} \ No newline at end of file From 5f62b9e4418df9e132163fa63c69f9211ce6aabc Mon Sep 17 00:00:00 2001 From: Rich Harris Date: Sun, 8 Jun 2025 07:06:53 -0400 Subject: [PATCH 2/3] chore: bump esrap (#16106) * chore: bump esrap * oops --- .changeset/fast-chicken-hammer.md | 5 +++++ packages/svelte/package.json | 2 +- pnpm-lock.yaml | 10 +++++----- 3 files changed, 11 insertions(+), 6 deletions(-) create mode 100644 .changeset/fast-chicken-hammer.md diff --git a/.changeset/fast-chicken-hammer.md b/.changeset/fast-chicken-hammer.md new file mode 100644 index 000000000000..122ca0256d69 --- /dev/null +++ b/.changeset/fast-chicken-hammer.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +chore: bump `esrap` dependency diff --git a/packages/svelte/package.json b/packages/svelte/package.json index dcaf1b4dcf05..024daa1c34fb 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -171,7 +171,7 @@ "axobject-query": "^4.1.0", "clsx": "^2.1.1", "esm-env": "^1.2.1", - "esrap": "^1.4.6", + "esrap": "^1.4.8", "is-reference": "^3.0.3", "locate-character": "^3.0.0", "magic-string": "^0.30.11", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3d5db0fd8e56..cfbc54df3363 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -87,8 +87,8 @@ importers: specifier: ^1.2.1 version: 1.2.1 esrap: - specifier: ^1.4.6 - version: 1.4.6 + specifier: ^1.4.8 + version: 1.4.8 is-reference: specifier: ^3.0.3 version: 3.0.3 @@ -1261,8 +1261,8 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} - esrap@1.4.6: - resolution: {integrity: sha512-F/D2mADJ9SHY3IwksD4DAXjTt7qt7GWUf3/8RhCNWmC/67tyb55dpimHmy7EplakFaflV0R/PC+fdSPqrRHAQw==} + esrap@1.4.8: + resolution: {integrity: sha512-jlENbjZ7lqgJV9/OmgAtVqrFFMwsl70ctOgPIg5oTdQVGC13RSkMdtvAmu7ZTLax92c9ljnIG0xleEkdL69hwg==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -3622,7 +3622,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@1.4.6: + esrap@1.4.8: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 From 26e328689950b390189c6da31c32283d217df4b4 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" <41898282+github-actions[bot]@users.noreply.github.com> Date: Sun, 8 Jun 2025 07:14:01 -0400 Subject: [PATCH 3/3] Version Packages (#16107) Co-authored-by: github-actions[bot] <41898282+github-actions[bot]@users.noreply.github.com> --- .changeset/fast-chicken-hammer.md | 5 ----- .changeset/silly-turkeys-confess.md | 5 ----- packages/svelte/CHANGELOG.md | 8 ++++++++ packages/svelte/package.json | 2 +- packages/svelte/src/version.js | 2 +- 5 files changed, 10 insertions(+), 12 deletions(-) delete mode 100644 .changeset/fast-chicken-hammer.md delete mode 100644 .changeset/silly-turkeys-confess.md diff --git a/.changeset/fast-chicken-hammer.md b/.changeset/fast-chicken-hammer.md deleted file mode 100644 index 122ca0256d69..000000000000 --- a/.changeset/fast-chicken-hammer.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'svelte': patch ---- - -chore: bump `esrap` dependency diff --git a/.changeset/silly-turkeys-confess.md b/.changeset/silly-turkeys-confess.md deleted file mode 100644 index 9bb677e52ad6..000000000000 --- a/.changeset/silly-turkeys-confess.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -'svelte': patch ---- - -fix: destructuring state in ssr diff --git a/packages/svelte/CHANGELOG.md b/packages/svelte/CHANGELOG.md index 2d9df0740d04..506f04c1c4f2 100644 --- a/packages/svelte/CHANGELOG.md +++ b/packages/svelte/CHANGELOG.md @@ -1,5 +1,13 @@ # svelte +## 5.33.18 + +### Patch Changes + +- chore: bump `esrap` dependency ([#16106](https://github.com/sveltejs/svelte/pull/16106)) + +- fix: destructuring state in ssr ([#16102](https://github.com/sveltejs/svelte/pull/16102)) + ## 5.33.17 ### Patch Changes diff --git a/packages/svelte/package.json b/packages/svelte/package.json index 024daa1c34fb..0758158a401c 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -2,7 +2,7 @@ "name": "svelte", "description": "Cybernetically enhanced web apps", "license": "MIT", - "version": "5.33.17", + "version": "5.33.18", "type": "module", "types": "./types/index.d.ts", "engines": { diff --git a/packages/svelte/src/version.js b/packages/svelte/src/version.js index 3b86e8eed4c4..2539247e0160 100644 --- a/packages/svelte/src/version.js +++ b/packages/svelte/src/version.js @@ -4,5 +4,5 @@ * The current version, as set in package.json. * @type {string} */ -export const VERSION = '5.33.17'; +export const VERSION = '5.33.18'; export const PUBLIC_VERSION = '5'; pFad - Phonifier reborn

Pfad - The Proxy pFad of © 2024 Garber Painting. All rights reserved.

Note: This service is not intended for secure transactions such as banking, social media, email, or purchasing. Use at your own risk. We assume no liability whatsoever for broken pages.


Alternative Proxies:

Alternative Proxy

pFad Proxy

pFad v3 Proxy

pFad v4 Proxy