Skip to content

Commit 793b65e

Browse files
committed
build: migrate to pnpm
Switch the package manager from npm to pnpm 11. Add packageManager, pnpm-workspace.yaml (build allowlist + workbox public-hoist), and mise.toml; update CI to use pnpm/action-setup and pnpm commands; remove package-lock.json. Two pnpm-strictness fixes were needed: an explicit "@" resolve.alias in vite.config.ts, and publicHoistPattern for workbox so vite-plugin-pwa's virtual register module resolves workbox-window under pnpm's non-flat node_modules. Assisted-by: ClaudeCode:claude-opus-4-8
1 parent a0654e4 commit 793b65e

7 files changed

Lines changed: 7071 additions & 10821 deletions

File tree

.github/workflows/ci.yml

Lines changed: 16 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -8,35 +8,39 @@ jobs:
88
lint:
99
runs-on: ubuntu-latest
1010
steps:
11-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
11+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
12+
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
1213
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
1314
with:
1415
node-version: 24
15-
cache: npm
16-
- run: npm ci
17-
- run: npm run lint
16+
cache: pnpm
17+
- run: pnpm ci
18+
- run: pnpm lint
1819
test:
1920
runs-on: ubuntu-latest
2021
steps:
21-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
22+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
23+
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
2224
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
2325
with:
2426
node-version: 24
25-
cache: npm
26-
- run: npm ci
27-
- run: npm test
27+
cache: pnpm
28+
- run: pnpm ci
29+
- run: pnpm test
2830
deploy:
2931
needs: [lint, test]
3032
if: github.event_name == 'push' && github.ref == 'refs/heads/main'
3133
runs-on: ubuntu-latest
3234
steps:
33-
- uses: actions/checkout@de0fac2e4500dabe0009e67214ff5f5447ce83dd # v6.0.2
35+
- uses: actions/checkout@9c091bb21b7c1c1d1991bb908d89e4e9dddfe3e0 # v7.0.0
36+
- uses: pnpm/action-setup@0ebf47130e4866e96fce0953f49152a61190b271 # v6.0.9
3437
- uses: actions/setup-node@48b55a011bda9f5d6aeb4c2d9c7362e8dae4041e # v6.4.0
3538
with:
3639
node-version: 24
37-
cache: npm
38-
- run: npm ci
39-
- run: npm run build
40+
cache: pnpm
41+
- run: pnpm ci
42+
- run: pnpm build
4043
- uses: cloudflare/wrangler-action@ebbaa1584979971c8614a24965b4405ff95890e0 # v4.0.0
4144
with:
4245
apiToken: ${{ secrets.CLOUDFLARE_API_TOKEN }}
46+
packageManager: pnpm

README.md

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -52,10 +52,11 @@ shows a "What we found" report of exactly which datasets were recognized.
5252
## Development
5353

5454
```sh
55-
npm install
56-
npm run dev # start the dev server
57-
npm test # vitest unit + integration tests
58-
npm run build # type-check (vue-tsc) + production build
55+
mise install # provision Node 24 + pnpm 11 (see mise.toml); or bring your own
56+
pnpm install
57+
pnpm dev # start the dev server
58+
pnpm test # vitest unit + integration tests
59+
pnpm build # type-check (vue-tsc) + production build
5960
```
6061

6162
Stack: Vue 3 + Vite + TypeScript, Tailwind CSS v4, Apache ECharts via vue-echarts,

mise.toml

Lines changed: 3 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,3 @@
1+
[tools]
2+
node = "24"
3+
pnpm = "11"

0 commit comments

Comments
 (0)