From 793ee1877de724a538830d32fdfecfd5edf78fa0 Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Wed, 26 Nov 2025 20:01:33 +0100 Subject: [PATCH 01/10] fix types? --- packages/svelte/src/compiler/print/types.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index cf9b749e0e9f..7b882dc9e12d 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,4 +1,4 @@ -import ts from 'esrap/languages/ts'; +import type ts from 'esrap/languages/ts'; export type Options = { getLeadingComments?: NonNullable[0]>['getLeadingComments'] | undefined; From 797bbfaf63ca833970da69178cb2cffffcb1a48d Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Wed, 26 Nov 2025 20:16:38 +0100 Subject: [PATCH 02/10] fix types? --- packages/svelte/src/compiler/print/types.d.ts | 6 ++---- packages/svelte/types/index.d.ts | 5 ++--- 2 files changed, 4 insertions(+), 7 deletions(-) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index 7b882dc9e12d..f44f1cca2fa6 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,6 +1,4 @@ -import type ts from 'esrap/languages/ts'; - export type Options = { - getLeadingComments?: NonNullable[0]>['getLeadingComments'] | undefined; - getTrailingComments?: NonNullable[0]>['getTrailingComments'] | undefined; + getLeadingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; + getTrailingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; }; diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index 8561268689ca..d5beb1383aef 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -844,7 +844,6 @@ declare module 'svelte/compiler' { import type { SourceMap } from 'magic-string'; import type { ArrayExpression, ArrowFunctionExpression, VariableDeclaration, VariableDeclarator, Expression, Identifier, MemberExpression, Node, ObjectExpression, Pattern, Program, ChainExpression, SimpleCallExpression, SequenceExpression } from 'estree'; import type { Location } from 'locate-character'; - import type { default as ts } from 'esrap/languages/ts'; /** * `compile` converts your `.svelte` source code into a JavaScript module that exports a component * @@ -1813,8 +1812,8 @@ declare module 'svelte/compiler' { | Declaration; } type Options = { - getLeadingComments?: NonNullable[0]>['getLeadingComments'] | undefined; - getTrailingComments?: NonNullable[0]>['getTrailingComments'] | undefined; + getLeadingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; + getTrailingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; }; export {}; From 83206d93b66296a71a898bd328548f1e97bc6474 Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Wed, 26 Nov 2025 20:16:48 +0100 Subject: [PATCH 03/10] fix types? --- packages/svelte/src/compiler/print/types.d.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index f44f1cca2fa6..3e0e9c2cff4e 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,4 +1,16 @@ export type Options = { - getLeadingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; - getTrailingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; + getLeadingComments?: + | (( + node: any + ) => + | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> + | undefined) + | undefined; + getTrailingComments?: + | (( + node: any + ) => + | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> + | undefined) + | undefined; }; From ce7927c3100b19a28315998ad4fc495969d1272a Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Wed, 26 Nov 2025 20:32:42 +0100 Subject: [PATCH 04/10] fix types? --- packages/svelte/types/index.d.ts | 16 ++++++++++++++-- 1 file changed, 14 insertions(+), 2 deletions(-) diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index d5beb1383aef..a80f1b787a5f 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1812,8 +1812,20 @@ declare module 'svelte/compiler' { | Declaration; } type Options = { - getLeadingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; - getTrailingComments?: ((node: any) => Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number; }> | undefined) | undefined; + getLeadingComments?: + | (( + node: any + ) => + | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> + | undefined) + | undefined; + getTrailingComments?: + | (( + node: any + ) => + | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> + | undefined) + | undefined; }; export {}; From c6235c0ff89f8256d9fa26b4448b384cca5e736d Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Sat, 29 Nov 2025 19:41:09 +0100 Subject: [PATCH 05/10] revert stuff --- packages/svelte/src/compiler/print/types.d.ts | 18 ++++-------------- 1 file changed, 4 insertions(+), 14 deletions(-) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index 3e0e9c2cff4e..7b882dc9e12d 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,16 +1,6 @@ +import type ts from 'esrap/languages/ts'; + export type Options = { - getLeadingComments?: - | (( - node: any - ) => - | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> - | undefined) - | undefined; - getTrailingComments?: - | (( - node: any - ) => - | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> - | undefined) - | undefined; + getLeadingComments?: NonNullable[0]>['getLeadingComments'] | undefined; + getTrailingComments?: NonNullable[0]>['getTrailingComments'] | undefined; }; From fbeda1dd82e5c179ed07565531336a7d85ad8543 Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Sun, 30 Nov 2025 09:26:52 +0100 Subject: [PATCH 06/10] check fix? --- packages/svelte/src/compiler/print/types.d.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index 7b882dc9e12d..e26612b06df4 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,3 +1,4 @@ +import 'esrap'; import type ts from 'esrap/languages/ts'; export type Options = { From 4556598257edc86157bb248576f2da8fcd09f47b Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Sun, 30 Nov 2025 09:31:29 +0100 Subject: [PATCH 07/10] comment --- packages/svelte/src/compiler/print/types.d.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/svelte/src/compiler/print/types.d.ts b/packages/svelte/src/compiler/print/types.d.ts index e26612b06df4..d0ff9095259f 100644 --- a/packages/svelte/src/compiler/print/types.d.ts +++ b/packages/svelte/src/compiler/print/types.d.ts @@ -1,4 +1,4 @@ -import 'esrap'; +import 'esrap'; // This import is required to make typescript happy when `skipLibCheck` is enabled import type ts from 'esrap/languages/ts'; export type Options = { From e0d4c781eb6e2d392011078f8e1aefbdcd103951 Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Sun, 30 Nov 2025 09:48:31 +0100 Subject: [PATCH 08/10] fix types --- packages/svelte/types/index.d.ts | 19 +++++-------------- 1 file changed, 5 insertions(+), 14 deletions(-) diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index a80f1b787a5f..352514030f8e 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1,3 +1,5 @@ +/// + declare module 'svelte' { /** * @deprecated In Svelte 4, components are classes. In Svelte 5, they are functions. @@ -844,6 +846,7 @@ declare module 'svelte/compiler' { import type { SourceMap } from 'magic-string'; import type { ArrayExpression, ArrowFunctionExpression, VariableDeclaration, VariableDeclarator, Expression, Identifier, MemberExpression, Node, ObjectExpression, Pattern, Program, ChainExpression, SimpleCallExpression, SequenceExpression } from 'estree'; import type { Location } from 'locate-character'; + import type { default as ts } from 'esrap/languages/ts'; /** * `compile` converts your `.svelte` source code into a JavaScript module that exports a component * @@ -1812,20 +1815,8 @@ declare module 'svelte/compiler' { | Declaration; } type Options = { - getLeadingComments?: - | (( - node: any - ) => - | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> - | undefined) - | undefined; - getTrailingComments?: - | (( - node: any - ) => - | Array<{ type: 'Line' | 'Block'; value: string; start?: number; end?: number }> - | undefined) - | undefined; + getLeadingComments?: NonNullable[0]>['getLeadingComments'] | undefined; + getTrailingComments?: NonNullable[0]>['getTrailingComments'] | undefined; }; export {}; From 14ed9956c3f12a7c2068a6fa8d07d3cfd5bea5ee Mon Sep 17 00:00:00 2001 From: Manuel Serret Date: Mon, 1 Dec 2025 20:28:24 +0100 Subject: [PATCH 09/10] update esrap --- packages/svelte/package.json | 2 +- pnpm-lock.yaml | 11 ++++++----- 2 files changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index b0f4cbc64878..5b0547d92172 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -176,7 +176,7 @@ "clsx": "^2.1.1", "devalue": "^5.5.0", "esm-env": "^1.2.1", - "esrap": "^2.2.0", + "esrap": "https://pkg.pr.new/sveltejs/esrap@96", "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 bdb120600b0c..af4964f62d60 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,8 +96,8 @@ importers: specifier: ^1.2.1 version: 1.2.1 esrap: - specifier: ^2.2.0 - version: 2.2.0 + specifier: https://pkg.pr.new/sveltejs/esrap@96 + version: https://pkg.pr.new/sveltejs/esrap@96 is-reference: specifier: ^3.0.3 version: 3.0.3 @@ -1660,8 +1660,9 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} - esrap@2.2.0: - resolution: {integrity: sha512-WBmtxe7R9C5mvL4n2le8nMUe4mD5V9oiK2vJpQ9I3y20ENPUomPcphBXE8D1x/Bm84oN1V+lOfgXxtqmxTp3Xg==} + esrap@https://pkg.pr.new/sveltejs/esrap@96: + resolution: {tarball: https://pkg.pr.new/sveltejs/esrap@96} + version: 2.2.0 esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -4244,7 +4245,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@2.2.0: + esrap@https://pkg.pr.new/sveltejs/esrap@96: dependencies: '@jridgewell/sourcemap-codec': 1.5.0 From 5942a38dd23edcd7f77915cf7e270a22a1e7a655 Mon Sep 17 00:00:00 2001 From: Ben McCann <322311+benmccann@users.noreply.github.com> Date: Mon, 1 Dec 2025 13:05:57 -0800 Subject: [PATCH 10/10] esrap 2.2.1 --- packages/svelte/package.json | 2 +- pnpm-lock.yaml | 11 +++++------ 2 files changed, 6 insertions(+), 7 deletions(-) diff --git a/packages/svelte/package.json b/packages/svelte/package.json index ebc9208a8deb..b3af271800ee 100644 --- a/packages/svelte/package.json +++ b/packages/svelte/package.json @@ -176,7 +176,7 @@ "clsx": "^2.1.1", "devalue": "^5.5.0", "esm-env": "^1.2.1", - "esrap": "https://pkg.pr.new/sveltejs/esrap@96", + "esrap": "^2.2.1", "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 af4964f62d60..70b43ae2ab06 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -96,8 +96,8 @@ importers: specifier: ^1.2.1 version: 1.2.1 esrap: - specifier: https://pkg.pr.new/sveltejs/esrap@96 - version: https://pkg.pr.new/sveltejs/esrap@96 + specifier: ^2.2.1 + version: 2.2.1 is-reference: specifier: ^3.0.3 version: 3.0.3 @@ -1660,9 +1660,8 @@ packages: resolution: {integrity: sha512-YQLXUplAwJgCydQ78IMJywZCceoqk1oH01OERdSAJc/7U2AylwjhSCLDEtqwg811idIS/9fIU5GjG73IgjKMVg==} engines: {node: '>=0.10'} - esrap@https://pkg.pr.new/sveltejs/esrap@96: - resolution: {tarball: https://pkg.pr.new/sveltejs/esrap@96} - version: 2.2.0 + esrap@2.2.1: + resolution: {integrity: sha512-GiYWG34AN/4CUyaWAgunGt0Rxvr1PTMlGC0vvEov/uOQYWne2bpN03Um+k8jT+q3op33mKouP2zeJ6OlM+qeUg==} esrecurse@4.3.0: resolution: {integrity: sha512-KmfKL3b6G+RXvP8N1vr3Tq1kL/oCFgn2NYXEtqP8/L3pKapUA4G8cFVaoF3SU323CD4XypR/ffioHmkti6/Tag==} @@ -4245,7 +4244,7 @@ snapshots: dependencies: estraverse: 5.3.0 - esrap@https://pkg.pr.new/sveltejs/esrap@96: + esrap@2.2.1: dependencies: '@jridgewell/sourcemap-codec': 1.5.0