diff --git a/apps/svelte.dev/package.json b/apps/svelte.dev/package.json index c158effcd5..5b50ce832b 100644 --- a/apps/svelte.dev/package.json +++ b/apps/svelte.dev/package.json @@ -72,7 +72,7 @@ "prettier-plugin-svelte": "^3.2.4", "satori": "^0.10.13", "satori-html": "^0.3.2", - "svelte": "5.3.0", + "svelte": "5.14.0", "svelte-check": "^4.1.1", "svelte-preprocess": "^6.0.3", "tiny-glob": "^0.2.9", diff --git a/packages/editor/package.json b/packages/editor/package.json index b617d2b847..d11f0e97da 100644 --- a/packages/editor/package.json +++ b/packages/editor/package.json @@ -55,7 +55,7 @@ "prettier": "^3.1.1", "prettier-plugin-svelte": "^3.1.2", "publint": "^0.2.12", - "svelte": "^5.1.11", + "svelte": "^5.14.0", "svelte-check": "^4.1.1", "typescript": "^5.0.0", "vite": "^5.0.11" diff --git a/packages/repl/package.json b/packages/repl/package.json index dced93bc06..bdedeb44b2 100644 --- a/packages/repl/package.json +++ b/packages/repl/package.json @@ -85,7 +85,7 @@ "esrap": "^1.2.2", "marked": "^14.1.2", "resolve.exports": "^2.0.2", - "svelte": "5.1.11", + "svelte": "5.14.0", "tarparser": "^0.0.4", "zimmerframe": "^1.1.2" } diff --git a/packages/repl/src/lib/Output/ReplProxy.ts b/packages/repl/src/lib/Output/ReplProxy.ts index 0523345aef..19c7700171 100644 --- a/packages/repl/src/lib/Output/ReplProxy.ts +++ b/packages/repl/src/lib/Output/ReplProxy.ts @@ -24,6 +24,14 @@ export default class ReplProxy { case 'unhandledrejection': return this.handlers.on_unhandled_rejection(event.data); case 'console': + if (event.data.command === 'info' && event.data.args[0]?.type === '__error') { + const data = event.data.args[0]; + const e = new Error(data.message); + e.name = data.name; + e.stack = data.stack; + event.data.args[0] = e; + } + return this.handlers.on_console(event.data); } }; diff --git a/packages/repl/src/lib/Output/console/ConsoleLine.svelte b/packages/repl/src/lib/Output/console/ConsoleLine.svelte index b188d262f4..07273506a0 100644 --- a/packages/repl/src/lib/Output/console/ConsoleLine.svelte +++ b/packages/repl/src/lib/Output/console/ConsoleLine.svelte @@ -150,7 +150,11 @@ {#if !part.formatted} {' '} {/if}{#if part.type === 'value'} - + {#if part.value instanceof Error} +
{part.value.name + '\n' + part.value.stack.replace(/^\n+/, '')}
+ {:else} + + {/if} {:else} e.stopPropagation()}> diff --git a/packages/repl/src/lib/Output/srcdoc/index.html b/packages/repl/src/lib/Output/srcdoc/index.html index d93691525b..9e56bf30db 100644 --- a/packages/repl/src/lib/Output/srcdoc/index.html +++ b/packages/repl/src/lib/Output/srcdoc/index.html @@ -68,6 +68,21 @@