Skip to content

Commit c970b9d

Browse files
committed
chore: set up changeset and github workflows
1 parent 54650f0 commit c970b9d

File tree

6 files changed

+748
-3
lines changed

6 files changed

+748
-3
lines changed

.changeset/README.md

Lines changed: 8 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,8 @@
1+
# Changesets
2+
3+
Hello and welcome! This folder has been automatically generated by `@changesets/cli`, a build tool that works
4+
with multi-package repos, or single-package repos to help you version and publish your code. You can
5+
find the full documentation for it [in our repository](https://github.com/changesets/changesets)
6+
7+
We have a quick list of common questions to get you started engaging with this project in
8+
[our documentation](https://github.com/changesets/changesets/blob/main/docs/common-questions.md)

.changeset/config.json

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
{
2+
"$schema": "https://unpkg.com/@changesets/[email protected]/schema.json",
3+
"changelog": "@changesets/changelog-github",
4+
"commit": false,
5+
"fixed": [],
6+
"linked": [],
7+
"access": "public",
8+
"baseBranch": "main",
9+
"updateInternalDependencies": "patch",
10+
"ignore": []
11+
}

.github/workflows/ci.yml

Lines changed: 46 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
name: CI
2+
3+
on:
4+
pull_request:
5+
push:
6+
branches: [main]
7+
8+
jobs:
9+
checks:
10+
name: Build checks (Node ${{ matrix.node }})
11+
runs-on: ubuntu-latest
12+
strategy:
13+
fail-fast: false
14+
matrix:
15+
node: [18, 20, 22]
16+
steps:
17+
- uses: actions/checkout@v4
18+
19+
- name: Setup Node
20+
uses: actions/setup-node@v4
21+
with:
22+
node-version: ${{ matrix.node }}
23+
cache: 'pnpm'
24+
25+
- name: Setup pnpm
26+
uses: pnpm/action-setup@v4
27+
with:
28+
version: 9
29+
30+
- name: Install
31+
run: pnpm install --frozen-lockfile
32+
33+
- name: Lint
34+
run: pnpm check:lint
35+
36+
- name: Format
37+
run: pnpm check:format
38+
39+
- name: Typecheck
40+
run: pnpm check:types
41+
42+
- name: Test
43+
run: pnpm test:all
44+
45+
- name: Build (smoke)
46+
run: pnpm build

.github/workflows/release.yml

Lines changed: 44 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,44 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches: [main]
6+
7+
permissions:
8+
contents: write
9+
pull-requests: write
10+
id-token: write # required for npm provenance
11+
12+
jobs:
13+
release:
14+
name: Version & Publish
15+
runs-on: ubuntu-latest
16+
environment: npm-publish # protect this environment with required reviewers
17+
steps:
18+
- uses: actions/checkout@v4
19+
20+
- name: Setup Node
21+
uses: actions/setup-node@v4
22+
with:
23+
node-version: 20
24+
registry-url: 'https://registry.npmjs.org'
25+
cache: 'pnpm'
26+
27+
- name: Setup pnpm
28+
uses: pnpm/action-setup@v4
29+
with:
30+
version: 9
31+
32+
- name: Install
33+
run: pnpm install --frozen-lockfile
34+
35+
# This action either opens/updates the "Version Packages" PR,
36+
# or, if we're on main AND that PR has been merged, it will run "pnpm release"
37+
- name: Changesets
38+
id: changesets
39+
uses: changesets/action@v1
40+
with:
41+
publish: pnpm release
42+
env:
43+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
44+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

package.json

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -32,7 +32,9 @@
3232
}
3333
},
3434
"types": "./lib/dist/index.d.ts",
35-
"files": ["lib/dist/"],
35+
"files": [
36+
"lib/dist/"
37+
],
3638
"scripts": {
3739
"check:lint": "eslint lib/src --ext .ts",
3840
"check:format": "prettier --check \"lib/src/**/*.ts\"",
@@ -47,9 +49,16 @@
4749
"test:watch": "vitest",
4850
"build": "tsup lib/src/index.ts --dts --out-dir lib/dist",
4951
"build:checks": "pnpm check:all && pnpm test:all && pnpm build",
50-
"prepack": "pnpm build"
52+
"prepack": "pnpm build",
53+
"release": "pnpm build && changeset publish"
54+
},
55+
"publishConfig": {
56+
"access": "public",
57+
"provenance": true
5158
},
5259
"devDependencies": {
60+
"@changesets/changelog-github": "^0.5.1",
61+
"@changesets/cli": "^2.29.7",
5362
"@eslint/js": "^9.27.0",
5463
"@eslint/json": "^0.12.0",
5564
"@types/node": "^22.15.21",
@@ -68,6 +77,8 @@
6877
"typescript-eslint": "^8.32.1",
6978
"vitest": "^3.1.4"
7079
},
71-
"engines": { "node": ">=18" },
80+
"engines": {
81+
"node": ">=18"
82+
},
7283
"sideEffects": false
7384
}

0 commit comments

Comments
 (0)