Skip to content

Commit a5288ea

Browse files
committed
merge main
2 parents 09792a0 + 32882a9 commit a5288ea

File tree

28 files changed

+495
-161
lines changed

28 files changed

+495
-161
lines changed

.changeset/hot-buses-end.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+
feat: add parent hierarchy to `__svelte_meta` objects

.changeset/short-fireants-flow.md

Lines changed: 0 additions & 5 deletions
This file was deleted.

packages/svelte/CHANGELOG.md

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,15 @@
11
# svelte
22

3+
## 5.35.0
4+
5+
### Minor Changes
6+
7+
- feat: add `getAbortSignal()` ([#16266](https://github.com/sveltejs/svelte/pull/16266))
8+
9+
### Patch Changes
10+
11+
- chore: simplify props ([#16270](https://github.com/sveltejs/svelte/pull/16270))
12+
313
## 5.34.9
414

515
### Patch Changes

packages/svelte/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
"name": "svelte",
33
"description": "Cybernetically enhanced web apps",
44
"license": "MIT",
5-
"version": "5.34.9",
5+
"version": "5.35.0",
66
"type": "module",
77
"types": "./types/index.d.ts",
88
"engines": {

packages/svelte/src/compiler/phases/3-transform/client/visitors/AwaitBlock.js

Lines changed: 5 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@ import { extract_identifiers } from '../../../../utils/ast.js';
55
import * as b from '#compiler/builders';
66
import { create_derived } from '../utils.js';
77
import { get_value } from './shared/declarations.js';
8-
import { build_expression } from './shared/utils.js';
8+
import { build_expression, add_svelte_meta } from './shared/utils.js';
99

1010
/**
1111
* @param {AST.AwaitBlock} node
@@ -54,7 +54,7 @@ export function AwaitBlock(node, context) {
5454
}
5555

5656
context.state.init.push(
57-
b.stmt(
57+
add_svelte_meta(
5858
b.call(
5959
'$.await',
6060
context.state.node,
@@ -64,7 +64,9 @@ export function AwaitBlock(node, context) {
6464
: b.null,
6565
then_block,
6666
catch_block
67-
)
67+
),
68+
node,
69+
'await'
6870
)
6971
);
7072
}

packages/svelte/src/compiler/phases/3-transform/client/visitors/EachBlock.js

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ import { dev } from '../../../../state.js';
1313
import { extract_paths, object } from '../../../../utils/ast.js';
1414
import * as b from '#compiler/builders';
1515
import { get_value } from './shared/declarations.js';
16-
import { build_expression } from './shared/utils.js';
16+
import { build_expression, add_svelte_meta } from './shared/utils.js';
1717

1818
/**
1919
* @param {AST.EachBlock} node
@@ -335,7 +335,7 @@ export function EachBlock(node, context) {
335335
}
336336

337337
if (has_await) {
338-
const statements = [b.stmt(b.call('$.each', ...args))];
338+
const statements = [add_svelte_meta(b.call('$.each', ...args), node, 'each')];
339339
if (dev && node.metadata.keyed) {
340340
statements.unshift(
341341
b.stmt(
@@ -363,7 +363,7 @@ export function EachBlock(node, context) {
363363
b.stmt(b.call('$.validate_each_keys', b.thunk(collection), key_function))
364364
);
365365
}
366-
context.state.init.push(b.stmt(b.call('$.each', ...args)));
366+
context.state.init.push(add_svelte_meta(b.call('$.each', ...args), node, 'each'));
367367
}
368368
}
369369

packages/svelte/src/compiler/phases/3-transform/client/visitors/IfBlock.js

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/** @import { AST } from '#compiler' */
33
/** @import { ComponentContext } from '../types' */
44
import * as b from '#compiler/builders';
5-
import { build_expression } from './shared/utils.js';
5+
import { build_expression, add_svelte_meta } from './shared/utils.js';
66

77
/**
88
* @param {AST.IfBlock} node
@@ -69,7 +69,7 @@ export function IfBlock(node, context) {
6969
args.push(b.true);
7070
}
7171

72-
statements.push(b.stmt(b.call('$.if', ...args)));
72+
statements.push(add_svelte_meta(b.call('$.if', ...args), node, 'if'));
7373

7474
if (has_await) {
7575
context.state.init.push(

packages/svelte/src/compiler/phases/3-transform/client/visitors/KeyBlock.js

Lines changed: 14 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
/** @import { AST } from '#compiler' */
33
/** @import { ComponentContext } from '../types' */
44
import * as b from '#compiler/builders';
5-
import { build_expression } from './shared/utils.js';
5+
import { build_expression, add_svelte_meta } from './shared/utils.js';
66

77
/**
88
* @param {AST.KeyBlock} node
@@ -17,16 +17,22 @@ export function KeyBlock(node, context) {
1717
const key = b.thunk(has_await ? b.call('$.get', b.id('$$key')) : expression);
1818
const body = /** @type {Expression} */ (context.visit(node.fragment));
1919

20-
let call = b.call('$.key', context.state.node, key, b.arrow([b.id('$$anchor')], body));
20+
let statement = add_svelte_meta(
21+
b.call('$.key', context.state.node, key, b.arrow([b.id('$$anchor')], body)),
22+
node,
23+
'key'
24+
);
2125

2226
if (has_await) {
23-
call = b.call(
24-
'$.async',
25-
context.state.node,
26-
b.array([b.thunk(expression, true)]),
27-
b.arrow([context.state.node, b.id('$$key')], b.block([b.stmt(call)]))
27+
statement = b.stmt(
28+
b.call(
29+
'$.async',
30+
context.state.node,
31+
b.array([b.thunk(expression, true)]),
32+
b.arrow([context.state.node, b.id('$$key')], b.block([statement]))
33+
)
2834
);
2935
}
3036

31-
context.state.init.push(b.stmt(call));
37+
context.state.init.push(statement);
3238
}

packages/svelte/src/compiler/phases/3-transform/client/visitors/RenderTag.js

Lines changed: 10 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
/** @import { ComponentContext } from '../types' */
44
import { unwrap_optional } from '../../../../utils/ast.js';
55
import * as b from '#compiler/builders';
6-
import { build_expression, Memoizer } from './shared/utils.js';
6+
import { add_svelte_meta, build_expression, Memoizer } from './shared/utils.js';
77

88
/**
99
* @param {AST.RenderTag} node
@@ -50,16 +50,22 @@ export function RenderTag(node, context) {
5050
}
5151

5252
statements.push(
53-
b.stmt(b.call('$.snippet', context.state.node, b.thunk(snippet_function), ...args))
53+
add_svelte_meta(
54+
b.call('$.snippet', context.state.node, b.thunk(snippet_function), ...args),
55+
node,
56+
'render'
57+
)
5458
);
5559
} else {
5660
statements.push(
57-
b.stmt(
61+
add_svelte_meta(
5862
(node.expression.type === 'CallExpression' ? b.call : b.maybe_call)(
5963
snippet_function,
6064
context.state.node,
6165
...args
62-
)
66+
),
67+
node,
68+
'render'
6369
)
6470
);
6571
}

packages/svelte/src/compiler/phases/3-transform/client/visitors/shared/component.js

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import { dev, is_ignored } from '../../../../../state.js';
55
import { get_attribute_chunks, object } from '../../../../../utils/ast.js';
66
import * as b from '#compiler/builders';
7-
import { build_bind_this, Memoizer, validate_binding } from '../shared/utils.js';
7+
import { add_svelte_meta, build_bind_this, Memoizer, validate_binding } from '../shared/utils.js';
88
import { build_attribute_value } from '../shared/element.js';
99
import { build_event_handler } from './events.js';
1010
import { determine_slot } from '../../../../../utils/slot.js';
@@ -490,7 +490,8 @@ export function build_component(node, component_name, context) {
490490
);
491491
} else {
492492
context.state.template.push_comment();
493-
statements.push(b.stmt(fn(anchor)));
493+
494+
statements.push(add_svelte_meta(fn(anchor), node, 'component', { componentTag: node.name }));
494495
}
495496

496497
memoizer.apply();

0 commit comments

Comments
 (0)