fix: assign message to error object in handle_error using Object.assign (#11675)

* fix: avoid writing to not writable error object in handle_error

* feedback

* feedback

* Update packages/svelte/src/internal/client/runtime.js

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* Update .changeset/shiny-pillows-relax.md

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* Update packages/svelte/src/internal/client/runtime.js

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* Update packages/svelte/src/internal/client/runtime.js

Co-authored-by: Rich Harris <rich.harris@vercel.com>

* Update packages/svelte/src/internal/client/runtime.js

---------

Co-authored-by: Rich Harris <rich.harris@vercel.com>
pull/11895/head
Dominic Gannaway 1 year ago committed by GitHub
parent e560044ad5
commit 14ddb87c31
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194

@ -0,0 +1,5 @@
---
"svelte": patch
---
fix: assign message to error object in `handle_error` using `Object.defineProperty`

@ -311,7 +311,9 @@ function handle_error(error, effect, component_context) {
}
const indent = /Firefox/.test(navigator.userAgent) ? ' ' : '\t';
error.message += `\n${component_stack.map((name) => `\n${indent}in ${name}`).join('')}\n`;
define_property(error, 'message', {
value: error.message + `\n${component_stack.map((name) => `\n${indent}in ${name}`).join('')}\n`
});
const stack = error.stack;
@ -326,7 +328,9 @@ function handle_error(error, effect, component_context) {
}
new_lines.push(line);
}
error.stack = new_lines.join('\n');
define_property(error, 'stack', {
value: error.stack + new_lines.join('\n')
});
}
handled_errors.add(error);

Loading…
Cancel
Save