Skip to content

Commit d8137b7

Browse files
authored
fix: less confusing names for inspect errors (#17026)
* fix: less confusing names for inspect errors * fix * Update packages/svelte/src/internal/client/dev/inspect.js * fix
1 parent b7f39b4 commit d8137b7

File tree

11 files changed

+39
-16
lines changed

11 files changed

+39
-16
lines changed

.changeset/swift-taxes-shake.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'svelte': patch
3+
---
4+
5+
fix: less confusing names for inspect errors

packages/svelte/src/internal/client/dev/inspect.js

Lines changed: 10 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -33,8 +33,17 @@ export function inspect(get_value, inspector, show_stack = false) {
3333
inspector(...snap);
3434

3535
if (!initial) {
36+
const stack = get_stack('$inspect(...)');
3637
// eslint-disable-next-line no-console
37-
console.log(get_stack('UpdatedAt'));
38+
39+
if (stack) {
40+
// eslint-disable-next-line no-console
41+
console.groupCollapsed('stack trace');
42+
// eslint-disable-next-line no-console
43+
console.log(stack);
44+
// eslint-disable-next-line no-console
45+
console.groupEnd();
46+
}
3847
}
3948
} else {
4049
inspector(initial ? 'init' : 'update', ...snap);

packages/svelte/src/internal/client/dev/tracing.js

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -179,8 +179,7 @@ export function get_stack(label) {
179179
});
180180

181181
define_property(error, 'name', {
182-
// 'Error' suffix is required for stack traces to be rendered properly
183-
value: `${label}Error`
182+
value: label
184183
});
185184

186185
return /** @type {Error & { stack: string }} */ (error);

packages/svelte/src/internal/client/proxy.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -53,7 +53,7 @@ export function proxy(value) {
5353
var is_proxied_array = is_array(value);
5454
var version = source(0);
5555

56-
var stack = DEV && tracing_mode_flag ? get_stack('CreatedAt') : null;
56+
var stack = DEV && tracing_mode_flag ? get_stack('created at') : null;
5757
var parent_version = update_version;
5858

5959
/**

packages/svelte/src/internal/client/reactivity/deriveds.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -86,7 +86,7 @@ export function derived(fn) {
8686
};
8787

8888
if (DEV && tracing_mode_flag) {
89-
signal.created = get_stack('CreatedAt');
89+
signal.created = get_stack('created at');
9090
}
9191

9292
return signal;

packages/svelte/src/internal/client/reactivity/sources.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -76,7 +76,7 @@ export function source(v, stack) {
7676
};
7777

7878
if (DEV && tracing_mode_flag) {
79-
signal.created = stack ?? get_stack('CreatedAt');
79+
signal.created = stack ?? get_stack('created at');
8080
signal.updated = null;
8181
signal.set_during_effect = false;
8282
signal.trace = null;
@@ -186,7 +186,7 @@ export function internal_set(source, value) {
186186

187187
if (DEV) {
188188
if (tracing_mode_flag || active_effect !== null) {
189-
const error = get_stack('UpdatedAt');
189+
const error = get_stack('updated at');
190190

191191
if (error !== null) {
192192
source.updated ??= new Map();

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -609,7 +609,7 @@ export function get(signal) {
609609
if (!tracking && !untracking && !was_read) {
610610
w.await_reactivity_loss(/** @type {string} */ (signal.label));
611611

612-
var trace = get_stack('TracedAt');
612+
var trace = get_stack('traced at');
613613
// eslint-disable-next-line no-console
614614
if (trace) console.warn(trace);
615615
}
@@ -628,7 +628,7 @@ export function get(signal) {
628628
if (signal.trace) {
629629
signal.trace();
630630
} else {
631-
trace = get_stack('TracedAt');
631+
trace = get_stack('traced at');
632632

633633
if (trace) {
634634
var entry = tracing_expressions.entries.get(signal);

packages/svelte/tests/helpers.js

Lines changed: 14 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -201,7 +201,15 @@ export const async_mode = process.env.SVELTE_NO_ASYNC !== 'true';
201201
* @param {any[]} logs
202202
*/
203203
export function normalise_inspect_logs(logs) {
204-
return logs.map((log) => {
204+
/** @type {string[]} */
205+
const normalised = [];
206+
207+
for (const log of logs) {
208+
if (log === 'stack trace') {
209+
// ignore `console.group('stack trace')` in default `$inspect(...)` output
210+
continue;
211+
}
212+
205213
if (log instanceof Error) {
206214
const last_line = log.stack
207215
?.trim()
@@ -210,11 +218,13 @@ export function normalise_inspect_logs(logs) {
210218

211219
const match = last_line && /(at .+) /.exec(last_line);
212220

213-
return match && match[1];
221+
if (match) normalised.push(match[1]);
222+
} else {
223+
normalised.push(log);
214224
}
225+
}
215226

216-
return log;
217-
});
227+
return normalised;
218228
}
219229

220230
/**

packages/svelte/tests/runtime-runes/samples/async-reactivity-loss-for-await/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@ export default test({
1717
'Detected reactivity loss when reading `values[1]`. This happens when state is read in an async function after an earlier `await`'
1818
);
1919

20-
assert.equal(warnings[1].name, 'TracedAtError');
20+
assert.equal(warnings[1].name, 'traced at');
2121

2222
assert.equal(warnings.length, 2);
2323
}

packages/svelte/tests/runtime-runes/samples/async-reactivity-loss/_config.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -20,7 +20,7 @@ export default test({
2020
'Detected reactivity loss when reading `b`. This happens when state is read in an async function after an earlier `await`'
2121
);
2222

23-
assert.equal(warnings[1].name, 'TracedAtError');
23+
assert.equal(warnings[1].name, 'traced at');
2424

2525
assert.equal(warnings.length, 2);
2626
}

0 commit comments

Comments
 (0)