Skip to content

Commit 2c22cf8

Browse files
authored
fix: validate peer dependencies in release workflow and update ci:version script (#281)
1 parent 3552578 commit 2c22cf8

File tree

4 files changed

+1188
-3
lines changed

4 files changed

+1188
-3
lines changed

.config/knip.json

Lines changed: 17 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,17 @@
1+
{
2+
"$schema": "https://unpkg.com/knip@latest/schema.json",
3+
"workspaces": {
4+
"packages/*": {
5+
"entry": ["dist/index.mjs"],
6+
"project": "**/*.{js,ts,mjs,mts}",
7+
"ignoreDependencies": ["unbuild"]
8+
}
9+
},
10+
"ignore": ["**/node_modules/**"],
11+
"ignoreExportsUsedInFile": true,
12+
"rules": {
13+
"dependencies": "error",
14+
"devDependencies": "warn",
15+
"peerDependencies": "error"
16+
}
17+
}

.github/workflows/release.yml

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -41,7 +41,12 @@ jobs:
4141
env:
4242
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}
4343
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44-
44+
- name: Validate dependencies
45+
if: steps.changesets.outputs.published == 'true'
46+
run: |
47+
pnpm run deps:check
48+
env:
49+
NODE_ENV: production
4550
- name: Publish to jsr.io
4651
if: steps.changesets.outputs.published == 'true'
4752
run: pnpx @qingshaner/jsr-release publish --changesetReleases='${{ steps.changesets.outputs.publishedPackages }}'

package.json

Lines changed: 4 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -12,21 +12,23 @@
1212
"type-check": "biome lint && tsc",
1313
"test": "pnpm --color -r run test",
1414
"ci:install": "pnpm install --no-frozen-lockfile",
15-
"ci:version": "changeset version && pnpx @qingshaner/jsr-release --allowDirty version --sync",
15+
"ci:version": "changeset version && pnpm add -D @pnpm/logger@^5.1.0 @pnpm/worker@^1000.1.3 && pnpx @qingshaner/jsr-release --allowDirty version --sync",
1616
"ci:publish": "changeset publish",
1717
"ci:prepublish": "pnpm build",
18+
"deps:check": "pnpm dlx knip --production",
1819
"jsr:test": "pnpm --filter \"@clack/*\" jsr --dry-run",
1920
"jsr:run": "pnpm --filter \"@clack/*\" jsr"
2021
},
2122
"devDependencies": {
2223
"@biomejs/biome": "1.9.4",
2324
"@changesets/cli": "^2.26.2",
2425
"@types/node": "^18.16.0",
26+
"knip": "^3.8.4",
2527
"typescript": "^5.2.2",
2628
"unbuild": "^2.0.0"
2729
},
2830
"packageManager": "[email protected]",
2931
"volta": {
3032
"node": "20.18.1"
3133
}
32-
}
34+
}

0 commit comments

Comments
 (0)