Skip to content

Commit 5151091

Browse files
authored
Merge pull request #121 from mainmatter/svelte5
Add Svelte 5 support
2 parents bc70f7f + 7185867 commit 5151091

File tree

7 files changed

+5739
-4671
lines changed

7 files changed

+5739
-4671
lines changed

.github/workflows/ci.yml

Lines changed: 23 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -3,7 +3,7 @@ on:
33
- pull_request
44

55
env:
6-
PNPM_VERSION: 8.10.5
6+
NODE_VERSION: 20
77

88
jobs:
99
lint:
@@ -12,14 +12,9 @@ jobs:
1212

1313
steps:
1414
- uses: actions/checkout@v4
15-
- uses: pnpm/action-setup@v2.4.0
15+
- uses: wyvox/action-setup-pnpm@v3
1616
with:
17-
version: ${{ env.PNPM_VERSION }}
18-
- name: Install Node
19-
uses: actions/setup-node@v4
20-
with:
21-
node-version: 18.x
22-
cache: pnpm
17+
node-version: ${{ env.NODE_VERSION }}
2318
- name: Install Dependencies
2419
run: pnpm install
2520
- name: Run lint
@@ -29,19 +24,22 @@ jobs:
2924
name: Run end-to-end tests
3025
runs-on: ubuntu-latest
3126
needs: [lint]
27+
strategy:
28+
fail-fast: false
29+
matrix:
30+
# TODO: Fix tests for Svelte 5
31+
# svelte-version: ['4.2.12', '5.0.0']
32+
svelte-version: ['4.2.12']
3233

3334
steps:
3435
- uses: actions/checkout@v4
35-
- uses: pnpm/[email protected]
36-
with:
37-
version: ${{ env.PNPM_VERSION }}
38-
- name: Install Node
39-
uses: actions/setup-node@v4
36+
- uses: wyvox/action-setup-pnpm@v3
4037
with:
41-
node-version: 18.x
42-
cache: pnpm
38+
node-version: ${{ env.NODE_VERSION }}
4339
- name: Install Dependencies
4440
run: pnpm install
41+
- name: Install Svelte version ${{ matrix.svelte-version }}
42+
run: pnpm add -D svelte@${{ matrix.svelte-version }}
4543
- name: Install playwright browsers
4644
run: pnpm exec playwright install
4745
- name: Run tests
@@ -51,18 +49,21 @@ jobs:
5149
name: Run unit tests
5250
runs-on: ubuntu-latest
5351
needs: [lint]
52+
strategy:
53+
fail-fast: false
54+
matrix:
55+
# TODO: Fix tests for Svelte 5
56+
# svelte-version: ['4.2.12', '5.0.0']
57+
svelte-version: ['4.2.12']
5458

5559
steps:
5660
- uses: actions/checkout@v4
57-
- uses: pnpm/[email protected]
58-
with:
59-
version: ${{ env.PNPM_VERSION }}
60-
- name: Install Node
61-
uses: actions/setup-node@v4
61+
- uses: wyvox/action-setup-pnpm@v3
6262
with:
63-
node-version: 18.x
64-
cache: pnpm
63+
node-version: ${{ env.NODE_VERSION }}
6564
- name: Install Dependencies
6665
run: pnpm install
66+
- name: Install Svelte version ${{ matrix.svelte-version }}
67+
run: pnpm add -D svelte@${{ matrix.svelte-version }}
6768
- name: Run unit tests
6869
run: pnpm test:unit

.github/workflows/deploy.yml

Lines changed: 3 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -7,7 +7,7 @@ on:
77
- main
88

99
env:
10-
PNPM_VERSION: 8.10.5
10+
NODE_VERSION: 20
1111

1212
jobs:
1313
build-and-deploy:
@@ -17,15 +17,9 @@ jobs:
1717
uses: actions/[email protected]
1818

1919
- name: Setup 📦
20-
uses: pnpm/action-setup@v2.4.0
20+
uses: wyvox/action-setup-pnpm@v3
2121
with:
22-
version: ${{ env.PNPM_VERSION }}
23-
24-
- name: Install Node 📦
25-
uses: actions/setup-node@v4
26-
with:
27-
node-version: 18.x
28-
cache: pnpm
22+
node-version: ${{ env.NODE_VERSION }}
2923

3024
- name: Install and Build 🔧
3125
run: |

package.json

Lines changed: 9 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -17,7 +17,10 @@
1717
"check:watch": "svelte-kit sync && svelte-check --tsconfig ./tsconfig.json --watch",
1818
"test:unit": "vitest",
1919
"lint": "prettier --check . && eslint .",
20-
"format": "prettier --write . && eslint . --fix"
20+
"format": "prettier --write . && eslint . --fix",
21+
"test:svelte4": "pnpm add -D [email protected] && pnpm test:unit && pnpm test:ct",
22+
"test:svelte5": "pnpm add -D svelte@next && pnpm test:unit && pnpm test:ct",
23+
"test:all-versions": "pnpm test:svelte4 && pnpm test:svelte5"
2124
},
2225
"exports": {
2326
".": {
@@ -37,12 +40,15 @@
3740
"engines": {
3841
"node": ">=16"
3942
},
43+
"pnpm": {
44+
"packageManager": "pnpm@^9.7.0"
45+
},
4046
"dependencies": {
4147
"deepmerge": "^4.3.0",
4248
"focus-trap": "^7.3.1"
4349
},
4450
"peerDependencies": {
45-
"svelte": "^3.54.0 || ^4.0.0"
51+
"svelte": "^3.54.0 || ^4.0.0 || ^5.0.0"
4652
},
4753
"devDependencies": {
4854
"@playwright/experimental-ct-svelte": "1.40.1",
@@ -55,7 +61,7 @@
5561
"@sveltejs/vite-plugin-svelte": "^3.0.0",
5662
"@testing-library/dom": "^9.0.0",
5763
"@testing-library/jest-dom": "^6.0.0",
58-
"@testing-library/svelte": "^4.0.0",
64+
"@testing-library/svelte": "^5.2.6",
5965
"@testing-library/user-event": "^14.4.3",
6066
"@types/prismjs": "^1.26.3",
6167
"@types/testing-library__jest-dom": "^5.14.5",

0 commit comments

Comments
 (0)