Skip to content

Commit c4f8535

Browse files
authored
fix: update from rolldown-vite to vite-8 beta (#1246)
* fix: update from rolldown-vite to vite-8 beta * change ci workflow to use vite 8 beta * adapt testcases for vite 8 beta * work around sourcemap bug in vite-8 beta * work around remaining test fails * try to convince ci on github to install vite-8.0.0-beta.1 * persist workaround for sourcemap issue
1 parent cba6ae8 commit c4f8535

File tree

15 files changed

+36
-32
lines changed

15 files changed

+36
-32
lines changed

.changeset/nine-lizards-design.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 experimental support for rolldown-vite to vite 8 beta

.github/workflows/ci.yml

Lines changed: 8 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -94,10 +94,10 @@ jobs:
9494
os: ubuntu-latest
9595
vite: 'baseline'
9696
svelte: 'baseline'
97-
# future test with rolldown-vite
97+
# future test with vite-8-beta
9898
- node: 24
9999
os: ubuntu-latest
100-
vite: 'rolldown-vite'
100+
vite: '8-beta'
101101
svelte: 'current'
102102
steps:
103103
- uses: actions/checkout@v5
@@ -128,17 +128,17 @@ jobs:
128128
run: |
129129
pnpm update -r --no-save svelte@5.0.0
130130
pnpm ls svelte
131-
- name: update vite to rolldown-vite
132-
if: matrix.vite == 'rolldown-vite'
131+
- name: update vite to vite-8-beta
132+
if: matrix.vite == '8-beta'
133133
run: |
134-
pnpm update -r --no-save vite@npm:rolldown-vite@latest
135-
pnpm ls rolldown-vite
134+
pnpm update -r --no-save vite@beta
135+
pnpm ls vite
136136
- name: install playwright chromium
137137
run: pnpm playwright install chromium
138138
- name: run tests
139139
run: pnpm test
140-
- name: check-types with rolldown-vite
141-
if: matrix.vite == 'rolldown-vite'
140+
- name: check-types with vite-8-beta
141+
if: matrix.vite == '8-beta'
142142
run: pnpm check:types
143143
- name: archive tests temp directory
144144
if: failure()

.prettierrc.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,8 @@ export default {
2626
'packages/e2e-tests/dynamic-compile-options/src/components/A.svelte',
2727
'packages/playground/big/src/pages/**', // lots of generated files
2828
'packages/e2e-tests/scan-deps/src/Svelte*.svelte', // various syntax tests that require no format
29-
'**/.vite-inspect/**'
29+
'**/.vite-inspect/**',
30+
'packages/e2e-tests/_test_dependencies/**/*.svelte' // TODO remove after sourcemap bug is fixed
3031
],
3132
options: {
3233
rangeEnd: 0

packages/e2e-tests/_test_dependencies/svelte-exports-simple/src/components/Dependency.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
const label = 'dependency-import';
33
import * as cjsOnly from 'e2e-test-dep-cjs-only';
44
const { cjs } = cjsOnly;
5-
</script>
5+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */ </script>
66

77
<div id="dependency-import"><span class="label">{label}</span></div>
88
<div id="sticky-dep" class="sticky-dep">sticky-dep</div>

packages/e2e-tests/_test_dependencies/svelte-hybrid/src/components/Dependency.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
const label = 'dependency-import';
33
import * as cjsOnly from 'e2e-test-dep-cjs-only';
44
const { cjs } = cjsOnly;
5-
</script>
5+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */ </script>
66

77
<div id="dependency-import"><span class="label">{label}</span></div>
88
<div id="sticky-dep" class="sticky-dep">sticky-dep</div>

packages/e2e-tests/_test_dependencies/svelte-module/src/counter/Counter.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
import { createCounter } from './Counter.svelte.js';
33
const counter = createCounter(0);
44
let localCounter = $state(0);
5-
</script>
5+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */ </script>
66

77
<button onclick={counter.increment}>
88
count is {counter.count}

packages/e2e-tests/_test_dependencies/svelte-nested-workspace-devdep/src/components/Message.svelte

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,8 @@
33
export let message = '';
44
import { cjs_and_esm } from 'e2e-test-dep-cjs-and-esm';
55
import 'e2e-test-dep-scss-only';
6-
</script>
6+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */
7+
</script>
78

89
<div {id}>{message}</div>
910
<div id="cjs-and-esm">{cjs_and_esm()}</div>

packages/e2e-tests/_test_dependencies/svelte-nested/src/components/Message.svelte

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@
33
export let message = '';
44
import { cjs_and_esm } from 'e2e-test-dep-cjs-and-esm';
55
import 'e2e-test-dep-scss-only';
6-
</script>
6+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */ </script>
77

88
<div {id}>{message}</div>
99
<div id="cjs-and-esm">{cjs_and_esm()}</div>

packages/e2e-tests/_test_dependencies/svelte-simple/src/components/Dependency.svelte

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,8 +1,10 @@
11
<script>
2-
const label = 'dependency-import';
32
import * as cjsOnly from 'e2e-test-dep-cjs-only';
3+
const label = 'dependency-import';
44
const { cjs } = cjsOnly;
5-
</script>
5+
// moving the following script close tag to column 0 triggers a bug in svelte sourcemap creation that prevents rolldown optimizer from processing the sourcemap
6+
// TODO: move it back after fixed in svelte see https://github.com/sveltejs/svelte/pull/17167
7+
/* //TODO: move closing tag back to column zero after sourcemap bug is fixed */ </script>
68

79
<div id="dependency-import"><span class="label">{label}</span></div>
810
<div id="sticky-dep" class="sticky-dep">sticky-dep</div>

packages/e2e-tests/scan-deps/__tests__/scan-deps.spec.ts

Lines changed: 2 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,15 +1,9 @@
1-
import { e2eServer, getText } from '~utils';
1+
import { getServerErrors, getText } from '~utils';
22
import { describe, expect, it } from 'vitest';
33
describe('vite import scan', () => {
44
it('should not fail to discover dependencies exported from script module', async () => {
55
// vite logs an error if scan fails but continues, so validate no errors logged
6-
const errorLogs = e2eServer.logs.server.err.filter(
7-
(line) =>
8-
![
9-
'Support for rolldown-vite in vite-plugin-svelte is experimental',
10-
'See https://github.com/sveltejs/vite-plugin-svelte/issues/1143 for a list of known issues'
11-
].some((ignore) => line.includes(ignore))
12-
);
6+
const errorLogs = getServerErrors();
137
expect(errorLogs.length, `unexpected errors:\n${errorLogs.join('\n')}`).toBe(0);
148
});
159
it('should work with exports from module context', async () => {

0 commit comments

Comments
 (0)