Skip to content

Commit e7d0294

Browse files
authored
fix: update svelte-hmr to solve dom reordering issue (#82)
* test: add testcase for dom order to kit suite * fix: update svelte-hmr to 0.14.5-0 to fix dom reordering * chore: remove svelte-hmr devDependency * chore: update deps
1 parent d1d2638 commit e7d0294

File tree

20 files changed

+83
-80
lines changed

20 files changed

+83
-80
lines changed

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -27,7 +27,7 @@
2727
"@changesets/cli": "^2.16.0",
2828
"@types/fs-extra": "^9.0.12",
2929
"@types/jest": "^26.0.24",
30-
"@types/node": "^16.0.1",
30+
"@types/node": "^16.3.0",
3131
"@types/semver": "^7.3.7",
3232
"@typescript-eslint/eslint-plugin": "^4.28.2",
3333
"@typescript-eslint/parser": "^4.28.2",

packages/e2e-tests/autoprefixer-browerslist/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,8 +16,7 @@
1616
"postcss": "^8.3.5",
1717
"postcss-load-config": "^3.1.0",
1818
"svelte": "^3.38.3",
19-
"svelte-hmr": "^0.14.4",
20-
"svelte-preprocess": "^4.7.3",
19+
"svelte-preprocess": "^4.7.4",
2120
"vite": "^2.4.1"
2221
}
2322
}

packages/e2e-tests/configfile-custom/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
1515
"svelte": "^3.38.3",
16-
"svelte-hmr": "^0.14.4",
1716
"vite": "^2.4.1"
1817
}
1918
}

packages/e2e-tests/configfile-esm/package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13,8 +13,7 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
1515
"svelte": "^3.38.3",
16-
"svelte-hmr": "^0.14.4",
17-
"svelte-preprocess": "^4.7.3",
16+
"svelte-preprocess": "^4.7.4",
1817
"vite": "^2.4.1"
1918
},
2019
"type": "module"

packages/e2e-tests/custom-extensions/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,6 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:*",
1212
"svelte": "^3.38.3",
13-
"svelte-hmr": "^0.14.4",
1413
"vite": "^2.4.1"
1514
}
1615
}

packages/e2e-tests/hmr/package.json

Lines changed: 0 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,6 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
1515
"svelte": "^3.38.3",
16-
"svelte-hmr": "^0.14.4",
1716
"vite": "^2.4.1",
1817
"node-fetch": "^2.6.1"
1918
}

packages/e2e-tests/kit-node/__tests__/kit.spec.ts

Lines changed: 17 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -139,8 +139,24 @@ describe('kit-node', () => {
139139
await expect(await getText(`#hmr-test2`)).toBe('bar');
140140
});
141141

142-
describe('Counter.svelte', () => {
142+
describe('child component update', () => {
143+
const updateChild = editFileAndWaitForHmrComplete.bind(null, 'src/lib/Child.svelte');
143144
const updateCounter = editFileAndWaitForHmrComplete.bind(null, 'src/lib/Counter.svelte');
145+
it('should preserve dom order', async () => {
146+
expect(await getText('#before-child')).toBe('before-child');
147+
expect(await getText('#test-child')).toBe('test-child');
148+
expect(await getText('#after-child')).toBe('after-child');
149+
expect(await getEl('#before-child + #test-child')).not.toBe(null);
150+
expect(await getEl('#test-child + #after-child')).not.toBe(null);
151+
await updateChild((content) =>
152+
content.replace('<!-- HMR-TEMPLATE-INJECT -->', '-foo<!-- HMR-TEMPLATE-INJECT -->')
153+
);
154+
expect(await getText('#before-child')).toBe('before-child');
155+
expect(await getText('#test-child')).toBe('test-child-foo');
156+
expect(await getText('#after-child')).toBe('after-child');
157+
expect(await getEl('#before-child + #test-child')).not.toBe(null);
158+
expect(await getEl('#test-child + #after-child')).not.toBe(null);
159+
});
144160
it('should render additional html', async () => {
145161
// add div 1
146162
expect(await getEl('#hmr-test3')).toBe(null);

packages/e2e-tests/kit-node/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
},
1010
"devDependencies": {
1111
"@sveltejs/adapter-node": "^1.0.0-next.32",
12-
"@sveltejs/kit": "^1.0.0-next.122",
12+
"@sveltejs/kit": "^1.0.0-next.123",
1313
"svelte": "^3.38.3"
1414
},
1515
"type": "module",
Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
<script>
2+
export let testId;
3+
</script>
4+
5+
<div id={testId}>{testId}<!-- HMR-TEMPLATE-INJECT --></div>

packages/e2e-tests/kit-node/src/routes/index.svelte

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -2,6 +2,8 @@
22
import { onMount } from 'svelte';
33
// eslint-disable-next-line node/no-missing-import
44
import Counter from '$lib/Counter.svelte';
5+
// eslint-disable-next-line node/no-missing-import
6+
import Child from '$lib/Child.svelte';
57
68
onMount(async () => {
79
const isSSR = (await import('../client-only-module.js')).default;
@@ -15,6 +17,10 @@
1517
<Counter />
1618

1719
<p>Visit <a href="https://svelte.dev">svelte.dev</a> to learn how to build Svelte apps.</p>
20+
21+
<div id="before-child">before-child</div>
22+
<Child testId="test-child" />
23+
<div id="after-child">after-child</div>
1824
</main>
1925

2026
<!-- HMR-TEMPLATE-INJECT -->

0 commit comments

Comments
 (0)