Skip to content

Commit d91f431

Browse files
committed
Merge remote-tracking branch 'origin/main' into const-tag-svelte-boundary
2 parents d93af12 + 8a1acac commit d91f431

File tree

43 files changed

+206
-88
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

43 files changed

+206
-88
lines changed

.changeset/healthy-hairs-run.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: never consider inert boundary effects

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

Lines changed: 3 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -35,7 +35,8 @@ import {
3535
INSPECT_EFFECT,
3636
HEAD_EFFECT,
3737
MAYBE_DIRTY,
38-
EFFECT_HAS_DERIVED
38+
EFFECT_HAS_DERIVED,
39+
BOUNDARY_EFFECT
3940
} from '../constants.js';
4041
import { set } from './sources.js';
4142
import * as e from '../errors.js';
@@ -142,7 +143,7 @@ function create_effect(type, fn, sync, push = true) {
142143
effect.first === null &&
143144
effect.nodes_start === null &&
144145
effect.teardown === null &&
145-
(effect.f & EFFECT_HAS_DERIVED) === 0;
146+
(effect.f & (EFFECT_HAS_DERIVED | BOUNDARY_EFFECT)) === 0;
146147

147148
if (!inert && !is_root && push) {
148149
if (parent_effect !== null) {

packages/svelte/tests/runtime-browser/custom-elements-samples/camel-case-attribute/_config.js

Lines changed: 3 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { flushSync } from 'svelte';
12
import { test } from '../../assert';
23
const tick = () => Promise.resolve();
34

@@ -14,8 +15,7 @@ export default test({
1415
el.setAttribute('camel-case', 'universe');
1516
el.setAttribute('an-array', '[3,4]');
1617
el.setAttribute('camelcase2', 'Hi');
17-
await tick();
18-
await tick();
18+
flushSync();
1919
assert.htmlEqual(el.shadowRoot.innerHTML, '<h1>Hi universe!</h1> <p>3</p><p>4</p>');
2020
assert.htmlEqual(
2121
target.innerHTML,
@@ -25,8 +25,7 @@ export default test({
2525
el.camelCase = 'galaxy';
2626
el.camelCase2 = 'Hey';
2727
el.anArray = [5, 6];
28-
await tick();
29-
await tick();
28+
flushSync();
3029
assert.htmlEqual(el.shadowRoot.innerHTML, '<h1>Hey galaxy!</h1> <p>5</p><p>6</p>');
3130
assert.htmlEqual(
3231
target.innerHTML,

packages/svelte/tests/runtime-browser/custom-elements-samples/custom-method/_config.js

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { flushSync } from 'svelte';
12
import { test } from '../../assert';
23
const tick = () => Promise.resolve();
34

@@ -8,7 +9,8 @@ export default test({
89
/** @type {any} */
910
const el = target.querySelector('custom-element');
1011

11-
await el.updateFoo(42);
12+
el.updateFoo(42);
13+
flushSync();
1214

1315
const p = el.shadowRoot.querySelector('p');
1416
assert.equal(p.textContent, '42');

packages/svelte/tests/runtime-browser/custom-elements-samples/element-effect-context/_config.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,5 @@
11
import { test } from '../../assert';
2+
import { flushSync } from 'svelte';
23
const tick = () => Promise.resolve();
34

45
export default test({
@@ -16,7 +17,7 @@ export default test({
1617
assert.equal(p.innerHTML, 'false');
1718

1819
button.click();
19-
await tick();
20+
flushSync();
2021

2122
assert.equal(button.innerHTML, '1');
2223
assert.equal(p.innerHTML, 'false');

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler-in-each-destructured/_config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { flushSync } from 'svelte';
12
import { test } from '../../test';
23

34
export default test({
@@ -10,12 +11,13 @@ export default test({
1011
<p>second: </p>
1112
`,
1213

13-
async test({ assert, component, target, window }) {
14+
test({ assert, component, target, window }) {
1415
const event = new window.MouseEvent('click');
1516

1617
const buttons = target.querySelectorAll('button');
1718

18-
await buttons[1].dispatchEvent(event);
19+
buttons[1].dispatchEvent(event);
20+
flushSync();
1921

2022
assert.htmlEqual(
2123
target.innerHTML,

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler-in-each/_config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,3 +1,4 @@
1+
import { flushSync } from 'svelte';
12
import { test } from '../../test';
23

34
export default test({
@@ -10,12 +11,13 @@ export default test({
1011
<p>fromState: </p>
1112
`,
1213

13-
async test({ assert, component, target, window }) {
14+
test({ assert, component, target, window }) {
1415
const event = new window.MouseEvent('click');
1516

1617
const buttons = target.querySelectorAll('button');
1718

18-
await buttons[1].dispatchEvent(event);
19+
buttons[1].dispatchEvent(event);
20+
flushSync();
1921

2022
assert.htmlEqual(
2123
target.innerHTML,

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler-node-context/_config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,19 @@
1+
import { flushSync } from 'svelte';
12
import { ok, test } from '../../test';
23

34
export default test({
45
mode: ['client', 'hydrate'],
56

67
html: '<button>10</button>',
78

8-
async test({ assert, target, window }) {
9+
test({ assert, target, window }) {
910
const event = new window.MouseEvent('click');
1011

1112
const button = target.querySelector('button');
1213
ok(button);
1314

14-
await button.dispatchEvent(event);
15+
button.dispatchEvent(event);
16+
flushSync();
1517

1618
assert.htmlEqual(target.innerHTML, '<button>11</button>');
1719
}

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler-with-context/_config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import { flushSync } from 'svelte';
12
import { ok, test } from '../../test';
23

34
export default test({
45
html: '<button>???</button>',
56

6-
async test({ assert, target, window }) {
7+
test({ assert, target, window }) {
78
const event = new window.MouseEvent('click', {
89
clientX: 42,
910
clientY: 42
@@ -12,7 +13,8 @@ export default test({
1213
const button = target.querySelector('button');
1314
ok(button);
1415

15-
await button.dispatchEvent(event);
16+
button.dispatchEvent(event);
17+
flushSync();
1618

1719
assert.htmlEqual(target.innerHTML, '<button>42</button>');
1820
}

packages/svelte/tests/runtime-legacy/samples/action-custom-event-handler/_config.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,10 @@
1+
import { flushSync } from 'svelte';
12
import { ok, test } from '../../test';
23

34
export default test({
45
html: '<button>0, 0</button>',
56

6-
async test({ assert, target, window }) {
7+
test({ assert, target, window }) {
78
const event = new window.MouseEvent('click', {
89
clientX: 42,
910
clientY: 42
@@ -12,7 +13,8 @@ export default test({
1213
const button = target.querySelector('button');
1314
ok(button);
1415

15-
await button.dispatchEvent(event);
16+
button.dispatchEvent(event);
17+
flushSync();
1618

1719
assert.htmlEqual(target.innerHTML, '<button>42, 42</button>');
1820
}

0 commit comments

Comments
 (0)