From e967dc8657102ec869bb8105d0b386823baab53c Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Fri, 25 Oct 2024 23:58:23 +0200 Subject: [PATCH 1/5] fix: add empty stack to `CompileDiagnostic` to show error on build --- .changeset/brave-fans-sneeze.md | 5 +++++ packages/svelte/src/compiler/utils/compile_diagnostic.js | 2 ++ .../samples/impossible-migrate-with-errors/_config.js | 1 + 3 files changed, 8 insertions(+) create mode 100644 .changeset/brave-fans-sneeze.md diff --git a/.changeset/brave-fans-sneeze.md b/.changeset/brave-fans-sneeze.md new file mode 100644 index 000000000000..c5fe894acb0a --- /dev/null +++ b/.changeset/brave-fans-sneeze.md @@ -0,0 +1,5 @@ +--- +'svelte': patch +--- + +fix: add empty stack to `CompileDiagnostic` to show error on build diff --git a/packages/svelte/src/compiler/utils/compile_diagnostic.js b/packages/svelte/src/compiler/utils/compile_diagnostic.js index a27e06968f58..f0bb8295b8d9 100644 --- a/packages/svelte/src/compiler/utils/compile_diagnostic.js +++ b/packages/svelte/src/compiler/utils/compile_diagnostic.js @@ -39,6 +39,7 @@ function get_code_frame(source, line, column) { * @typedef {{ * code: string; * message: string; + * stack: string; * filename?: string; * start?: Location; * end?: Location; @@ -50,6 +51,7 @@ function get_code_frame(source, line, column) { /** @implements {ICompileDiagnostic} */ export class CompileDiagnostic { name = 'CompileDiagnostic'; + stack = ''; /** * @param {string} code diff --git a/packages/svelte/tests/migrate/samples/impossible-migrate-with-errors/_config.js b/packages/svelte/tests/migrate/samples/impossible-migrate-with-errors/_config.js index 6d25bb63b11e..57496dcba703 100644 --- a/packages/svelte/tests/migrate/samples/impossible-migrate-with-errors/_config.js +++ b/packages/svelte/tests/migrate/samples/impossible-migrate-with-errors/_config.js @@ -20,6 +20,7 @@ export default test({ ^`, message: 'Unexpected end of input', name: 'CompileError', + stack: '', position: [30, 30], start: { character: 30, From 10d21a0045508b249454d580d04ad55ea958fa5d Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Sat, 26 Oct 2024 00:06:48 +0200 Subject: [PATCH 2/5] chore: generate types --- packages/svelte/types/index.d.ts | 2 ++ 1 file changed, 2 insertions(+) diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index 4e57607efc9f..f54a0eede26e 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1458,6 +1458,7 @@ declare module 'svelte/compiler' { type ICompileDiagnostic = { code: string; message: string; + stack: string; filename?: string; start?: Location; end?: Location; @@ -2286,6 +2287,7 @@ declare module 'svelte/types/compiler/interfaces' { type ICompileDiagnostic = { code: string; message: string; + stack: string; filename?: string; start?: Location; end?: Location; From eb0aca2a70776ca066a6f2aba5024abb60522629 Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Sat, 26 Oct 2024 01:17:24 +0200 Subject: [PATCH 3/5] chore: make stack optional to make TS happy --- packages/svelte/src/compiler/utils/compile_diagnostic.js | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/svelte/src/compiler/utils/compile_diagnostic.js b/packages/svelte/src/compiler/utils/compile_diagnostic.js index f0bb8295b8d9..9254d6bc2dce 100644 --- a/packages/svelte/src/compiler/utils/compile_diagnostic.js +++ b/packages/svelte/src/compiler/utils/compile_diagnostic.js @@ -39,7 +39,7 @@ function get_code_frame(source, line, column) { * @typedef {{ * code: string; * message: string; - * stack: string; + * stack?: string; * filename?: string; * start?: Location; * end?: Location; From 2813ed20d47e371b3f80ac84d9e69b7909b3ec47 Mon Sep 17 00:00:00 2001 From: paoloricciuti Date: Sat, 26 Oct 2024 01:22:40 +0200 Subject: [PATCH 4/5] chore: generate types -.-" --- packages/svelte/types/index.d.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/packages/svelte/types/index.d.ts b/packages/svelte/types/index.d.ts index f54a0eede26e..c7794d5b0ee8 100644 --- a/packages/svelte/types/index.d.ts +++ b/packages/svelte/types/index.d.ts @@ -1458,7 +1458,7 @@ declare module 'svelte/compiler' { type ICompileDiagnostic = { code: string; message: string; - stack: string; + stack?: string; filename?: string; start?: Location; end?: Location; @@ -2287,7 +2287,7 @@ declare module 'svelte/types/compiler/interfaces' { type ICompileDiagnostic = { code: string; message: string; - stack: string; + stack?: string; filename?: string; start?: Location; end?: Location; From d1f4beba6f738fa70d36cfcffe826745bd775b6f Mon Sep 17 00:00:00 2001 From: Paolo Ricciuti Date: Sat, 26 Oct 2024 08:53:34 +0200 Subject: [PATCH 5/5] chore: add comment --- packages/svelte/src/compiler/utils/compile_diagnostic.js | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/svelte/src/compiler/utils/compile_diagnostic.js b/packages/svelte/src/compiler/utils/compile_diagnostic.js index 9254d6bc2dce..374a20b8b53d 100644 --- a/packages/svelte/src/compiler/utils/compile_diagnostic.js +++ b/packages/svelte/src/compiler/utils/compile_diagnostic.js @@ -51,6 +51,7 @@ function get_code_frame(source, line, column) { /** @implements {ICompileDiagnostic} */ export class CompileDiagnostic { name = 'CompileDiagnostic'; + // adding an empty stack so that vite will show the file and frame during build stack = ''; /**