Skip to content

Commit bd42512

Browse files
authored
tests: update to latest svelte-kit and vite (#411)
* svelte-migrate: renamed files * refactor: adapt to new kit routing and manifest output * regenerate kit playground * fix: migrate inspector-kit * fix: use root.svelte to attach to because latest kit doesn't have generated runtime files anymore * chore: update vite and kit dependencies * fix: reduce flakiness by ensuring different ws ports and more lenient kit hydration tests * fix: readd private: true * fix: private as boolean, not string
1 parent cd47596 commit bd42512

File tree

45 files changed

+375
-358
lines changed

Some content is hidden

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

45 files changed

+375
-358
lines changed

.changeset/fair-mugs-try.md

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,5 @@
1+
---
2+
'@sveltejs/vite-plugin-svelte': patch
3+
---
4+
5+
update svelte-inspector inject code to be compatible with @sveltejs/kit > 1.0.0-next.405

.eslintrc.js

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -159,10 +159,12 @@ module.exports = {
159159
}
160160
},
161161
{
162-
/* required because $app and $lib are not known */
163162
files: ['packages/playground/kit-demo-app/src/**'],
164163
rules: {
165-
'node/no-missing-import': 'off'
164+
/* required because $app and $lib are not known */
165+
'node/no-missing-import': 'off',
166+
/* required because URL wasn't in node8 */
167+
'node/no-unsupported-features/node-builtins': 'off'
166168
}
167169
}
168170
]

package.json

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -46,7 +46,7 @@
4646
"rimraf": "^3.0.2",
4747
"svelte": "^3.49.0",
4848
"typescript": "^4.7.4",
49-
"vite": "^3.0.7",
49+
"vite": "^3.0.8",
5050
"vitest": "^0.21.1"
5151
},
5252
"lint-staged": {
@@ -65,13 +65,13 @@
6565
"pnpm": {
6666
"overrides": {
6767
"@sveltejs/vite-plugin-svelte": "workspace:*",
68-
"vite": "^3.0.0"
68+
"vite": "^3.0.8"
6969
},
7070
"peerDependencyRules": {
7171
"allowedVersions": {
7272
"stylus": "^0.58.0",
7373
"postcss-load-config": "^4.0.0",
74-
"vite": "^3.0.0"
74+
"vite": "^3.0.8"
7575
}
7676
}
7777
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,7 @@
1717
"postcss-load-config": "^4.0.1",
1818
"svelte": "^3.49.0",
1919
"svelte-preprocess": "^4.10.7",
20-
"vite": "^3.0.7"
20+
"vite": "^3.0.8"
2121
},
2222
"type": "module"
2323
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"devDependencies": {
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
1515
"svelte": "^3.49.0",
16-
"vite": "^3.0.7"
16+
"vite": "^3.0.8"
1717
},
1818
"type": "module"
1919
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"@sveltejs/vite-plugin-svelte": "workspace:*",
1515
"svelte": "^3.49.0",
1616
"svelte-preprocess": "^4.10.7",
17-
"vite": "^3.0.7"
17+
"vite": "^3.0.8"
1818
},
1919
"type": "module"
2020
}

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

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:*",
1212
"svelte": "^3.49.0",
13-
"vite": "^3.0.7"
13+
"vite": "^3.0.8"
1414
},
1515
"type": "module"
1616
}

packages/e2e-tests/env/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,7 +10,7 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:*",
1212
"svelte": "^3.49.0",
13-
"vite": "^3.0.7"
13+
"vite": "^3.0.8"
1414
},
1515
"type": "module"
1616
}

packages/e2e-tests/hmr/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -15,7 +15,7 @@
1515
"e2e-test-dep-vite-plugins": "workspace:*",
1616
"node-fetch": "^3.2.10",
1717
"svelte": "^3.49.0",
18-
"vite": "^3.0.7"
18+
"vite": "^3.0.8"
1919
},
2020
"type": "module"
2121
}

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,9 +9,9 @@
99
"preview": "vite preview"
1010
},
1111
"devDependencies": {
12-
"@sveltejs/kit": "^1.0.0-next.405",
12+
"@sveltejs/kit": "^1.0.0-next.415",
1313
"svelte": "^3.49.0",
14-
"vite": "^3.0.7"
14+
"vite": "^3.0.8"
1515
},
1616
"type": "module"
1717
}

packages/e2e-tests/inspector-vite/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,6 @@
1111
"devDependencies": {
1212
"@sveltejs/vite-plugin-svelte": "workspace:*",
1313
"svelte": "^3.49.0",
14-
"vite": "^3.0.7"
14+
"vite": "^3.0.8"
1515
}
1616
}

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

Lines changed: 14 additions & 21 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,7 @@ describe('kit-node', () => {
3232
expect(await page.$eval('#mount', (e) => e['__initialNode'])).toBe(true);
3333

3434
// also get page as text to confirm
35-
const html = await fetchPageText(true);
35+
const html = await fetchPageText();
3636
expect(html).toMatch('Hello world!');
3737
expect(html).toMatch('SERVER_LOADED');
3838
expect(html).toMatch('BEFORE_MOUNT');
@@ -42,9 +42,9 @@ describe('kit-node', () => {
4242
// wait a bit for hydration to kick in
4343
await sleep(550);
4444

45-
// check hydrated content
46-
expect(await getText('#load')).toBe('CLIENT_LOADED');
47-
expect(await getText('#mount')).toBe('AFTER_MOUNT');
45+
// poll for hydrated content
46+
await untilMatches(() => getText('#mount'), 'AFTER_MOUNT', 'failed to hydrate');
47+
await untilMatches(() => getText('#load'), 'CLIENT_LOADED', 'failed to hydrate');
4848

4949
// check that it did not replace the dom elements with new ones
5050
expect(await page.$eval('#load', (e) => e['__initialNode'])).toBe(true);
@@ -92,7 +92,7 @@ describe('kit-node', () => {
9292
if (isBuild) {
9393
it('should not include dynamic import from onmount in ssr output', async () => {
9494
const serverManifest = JSON.parse(
95-
readFileContent(path.join('.svelte-kit', 'output', 'server', 'manifest.json'))
95+
readFileContent(path.join('build', 'server', 'vite-manifest.json'))
9696
);
9797
const includesClientOnlyModule = Object.keys(serverManifest).some((key: string) =>
9898
key.includes('client-only-module')
@@ -101,7 +101,7 @@ describe('kit-node', () => {
101101
});
102102
it('should include dynamic import from onmount in client output', async () => {
103103
const clientManifest = JSON.parse(
104-
readFileContent(path.join('.svelte-kit', 'output', 'client', 'manifest.json'))
104+
readFileContent(path.join('build', 'client', 'vite-manifest.json'))
105105
);
106106
const includesClientOnlyModule = Object.keys(clientManifest).some((key: string) =>
107107
key.includes('client-only-module')
@@ -112,15 +112,12 @@ describe('kit-node', () => {
112112

113113
if (!isBuild) {
114114
describe('hmr', () => {
115-
const updateIndexSvelte = editFileAndWaitForHmrComplete.bind(
116-
null,
117-
'src/routes/index.svelte'
118-
);
115+
const updatePage = editFileAndWaitForHmrComplete.bind(null, 'src/routes/+page.svelte');
119116

120117
it('should render additional html', async () => {
121118
// add div 1
122119
expect(await getEl('#hmr-test')).toBe(null);
123-
await updateIndexSvelte((content) =>
120+
await updatePage((content) =>
124121
content.replace(
125122
'<!-- HMR-TEMPLATE-INJECT -->',
126123
'<div id="hmr-test">foo</div>\n<!-- HMR-TEMPLATE-INJECT -->'
@@ -130,7 +127,7 @@ describe('kit-node', () => {
130127

131128
// add div 2
132129
expect(await getEl('#hmr-test2')).toBe(null);
133-
await updateIndexSvelte((content) =>
130+
await updatePage((content) =>
134131
content.replace(
135132
'<!-- HMR-TEMPLATE-INJECT -->',
136133
'<div id="hmr-test2">bar</div>\n<!-- HMR-TEMPLATE-INJECT -->'
@@ -139,9 +136,7 @@ describe('kit-node', () => {
139136
expect(await getText(`#hmr-test`)).toBe('foo');
140137
expect(await getText(`#hmr-test2`)).toBe('bar');
141138
// remove div 1
142-
await updateIndexSvelte((content) =>
143-
content.replace('<div id="hmr-test">foo</div>\n', '')
144-
);
139+
await updatePage((content) => content.replace('<div id="hmr-test">foo</div>\n', ''));
145140
expect(await getText(`#hmr-test`)).toBe(null);
146141
expect(await getText(`#hmr-test2`)).toBe('bar');
147142
});
@@ -150,7 +145,7 @@ describe('kit-node', () => {
150145
let buttons = await page.$$('button');
151146
expect(buttons).toHaveLength(1);
152147
expect(await getText(buttons[0])).toBe('Clicks: 0');
153-
await updateIndexSvelte((content) =>
148+
await updatePage((content) =>
154149
content.replace(
155150
'<!-- HMR-TEMPLATE-INJECT -->',
156151
'<Counter id="hmr-test-counter"/>\n<!-- HMR-TEMPLATE-INJECT -->'
@@ -163,19 +158,17 @@ describe('kit-node', () => {
163158
await buttons[1].click();
164159
expect(await getText(buttons[0])).toBe('Clicks: 0');
165160
expect(await getText(buttons[1])).toBe('Clicks: 1');
166-
await updateIndexSvelte((content) =>
167-
content.replace('<Counter id="hmr-test-counter"/>\n', '')
168-
);
161+
await updatePage((content) => content.replace('<Counter id="hmr-test-counter"/>\n', ''));
169162
buttons = await page.$$('button');
170163
expect(buttons).toHaveLength(1);
171164
expect(await getText(buttons[0])).toBe('Clicks: 0');
172165
});
173166

174167
it('should apply changed styles', async () => {
175168
expect(await getColor(`h1`)).toBe('rgb(255, 62, 0)');
176-
await updateIndexSvelte((content) => content.replace('color: #ff3e00', 'color: blue'));
169+
await updatePage((content) => content.replace('color: #ff3e00', 'color: blue'));
177170
expect(await getColor(`h1`)).toBe('blue');
178-
await updateIndexSvelte((content) => content.replace('color: blue', 'color: green'));
171+
await updatePage((content) => content.replace('color: blue', 'color: green'));
179172
expect(await getColor(`h1`)).toBe('green');
180173
});
181174

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

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,14 +12,14 @@
1212
},
1313
"devDependencies": {
1414
"@sveltejs/adapter-node": "^1.0.0-next.86",
15-
"@sveltejs/kit": "^1.0.0-next.405",
15+
"@sveltejs/kit": "^1.0.0-next.415",
1616
"e2e-test-dep-svelte-api-only": "file:../_test_dependencies/svelte-api-only",
1717
"e2e-test-dep-vite-plugins": "file:../_test_dependencies/vite-plugins",
1818
"svelte": "^3.49.0",
1919
"svelte-check": "^2.8.0",
2020
"svelte-i18n": "^3.4.0",
2121
"typescript": "^4.7.4",
22-
"vite": "^3.0.7"
22+
"vite": "^3.0.8"
2323
},
2424
"type": "module"
2525
}
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
/** @type {import('./$types').PageLoad} */
2+
export async function load() {
3+
// eslint-disable-next-line node/no-unsupported-features/es-builtins
4+
if (globalThis?.window) {
5+
// delay load on client so we can test hydration with playwright
6+
return new Promise((resolve) =>
7+
setTimeout(() => {
8+
resolve({ load_status: 'CLIENT_LOADED' });
9+
}, 500)
10+
);
11+
} else {
12+
return { load_status: 'SERVER_LOADED' };
13+
}
14+
}

packages/e2e-tests/kit-node/src/routes/index.svelte renamed to packages/e2e-tests/kit-node/src/routes/+page.svelte

Lines changed: 2 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -1,22 +1,3 @@
1-
<script context="module">
2-
/**
3-
* @type {import('@sveltejs/kit').Load}
4-
*/
5-
export async function load() {
6-
// eslint-disable-next-line node/no-unsupported-features/es-builtins
7-
if (globalThis?.window) {
8-
// delay load on client so we can test hydration with playwright
9-
return new Promise((resolve) =>
10-
setTimeout(() => {
11-
resolve({ props: { load_status: 'CLIENT_LOADED' } });
12-
}, 500)
13-
);
14-
} else {
15-
return { props: { load_status: 'SERVER_LOADED' } };
16-
}
17-
}
18-
</script>
19-
201
<script>
212
import { onMount } from 'svelte';
223
import { addMessages, init, _ } from 'svelte-i18n';
@@ -25,7 +6,8 @@
256
// eslint-disable-next-line node/no-missing-import
267
import Child from '$lib/Child.svelte';
278
import { setSomeContext } from 'e2e-test-dep-svelte-api-only';
28-
export let load_status = 'NOT_LOADED';
9+
export let data = {};
10+
$: load_status = data?.load_status ?? 'NOT_LOADED';
2911
const jsTransform = '__JS_TRANSFORM_1__';
3012
let mount_status = 'BEFORE_MOUNT';
3113
onMount(async () => {

packages/e2e-tests/package-json-svelte-field/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
"devDependencies": {
1515
"@sveltejs/vite-plugin-svelte": "workspace:*",
1616
"svelte": "^3.49.0",
17-
"vite": "^3.0.7"
17+
"vite": "^3.0.8"
1818
},
1919
"type": "module"
2020
}

packages/e2e-tests/preprocess-with-vite/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"sass": "^1.54.4",
1313
"stylus": "^0.59.0",
1414
"svelte": "^3.49.0",
15-
"vite": "^3.0.7"
15+
"vite": "^3.0.8"
1616
},
1717
"type": "commonjs"
1818
}

packages/e2e-tests/svelte-preprocess/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"svelte": "^3.49.0",
1414
"svelte-preprocess": "^4.10.7",
1515
"typescript": "^4.7.4",
16-
"vite": "^3.0.7"
16+
"vite": "^3.0.8"
1717
},
1818
"type": "module"
1919
}

packages/e2e-tests/ts-type-import/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@
1313
"@types/node": "^17.0.36",
1414
"svelte": "^3.49.0",
1515
"svelte-preprocess": "^4.10.7",
16-
"vite": "^3.0.7"
16+
"vite": "^3.0.8"
1717
},
1818
"type": "module"
1919
}

packages/e2e-tests/vite-ssr-esm/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,6 @@
2121
"npm-run-all": "^4.1.5",
2222
"serve-static": "^1.15.0",
2323
"svelte": "^3.49.0",
24-
"vite": "^3.0.7"
24+
"vite": "^3.0.8"
2525
}
2626
}

packages/e2e-tests/vite-ssr-esm/server.js

Lines changed: 5 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,7 +36,11 @@ async function createServer(root = process.cwd(), isProd = process.env.NODE_ENV
3636
appType: 'custom',
3737
server: {
3838
middlewareMode: true,
39-
port
39+
port,
40+
strictPort: true,
41+
hmr: {
42+
port: port + 25000
43+
}
4044
}
4145
};
4246
// @ts-ignore

packages/e2e-tests/vite-ssr/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -18,6 +18,6 @@
1818
"express": "^4.18.1",
1919
"serve-static": "^1.15.0",
2020
"svelte": "^3.49.0",
21-
"vite": "^3.0.7"
21+
"vite": "^3.0.8"
2222
}
2323
}

packages/e2e-tests/vite-ssr/server.js

Lines changed: 5 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -33,7 +33,11 @@ async function createServer(root = process.cwd(), isProd = process.env.NODE_ENV
3333
appType: 'custom',
3434
server: {
3535
middlewareMode: true,
36-
port
36+
port,
37+
strictPort: true,
38+
hmr: {
39+
port: port + 25000
40+
}
3741
}
3842
};
3943
// @ts-ignore
@@ -72,7 +76,6 @@ async function createServer(root = process.cwd(), isProd = process.env.NODE_ENV
7276
const html = template
7377
.replace(`<!--head-outlet-->`, headElements)
7478
.replace(`<!--app-outlet-->`, appHtml);
75-
console.log(html);
7679

7780
res.status(200).set({ 'Content-Type': 'text/html' }).end(html);
7881
} catch (e) {

packages/playground/big-component-library/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@
1212
"@sveltejs/vite-plugin-svelte": "workspace:*",
1313
"carbon-components-svelte": "^0.68.0",
1414
"svelte": "^3.49.0",
15-
"vite": "^3.0.7"
15+
"vite": "^3.0.8"
1616
},
1717
"dependencies": {
1818
"lodash-es": "^4.17.21"

packages/playground/big/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -10,6 +10,6 @@
1010
"devDependencies": {
1111
"@sveltejs/vite-plugin-svelte": "workspace:*",
1212
"svelte": "^3.49.0",
13-
"vite": "^3.0.7"
13+
"vite": "^3.0.8"
1414
}
1515
}

0 commit comments

Comments
 (0)