You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
The hand-rolled workflow_dispatch release script bumped one package at a
time, hand-synced inter-package ^ ranges with jq, and omitted
@pascal-app/nodes entirely (it could never be released). Replace it with
Changesets driving an automated "Version Packages" PR flow.
- Add @changesets/cli and .changeset/config.json. Set
onlyUpdatePeerDependentsWhenOutOfRange so a core patch doesn't force a
major bump on its four peer-dependents.
- Convert internal @pascal-app/* refs to the workspace: protocol,
preserving range semantics (^x.y.z -> workspace:^, * -> workspace:*).
- Rewrite .github/workflows/release.yml to use changesets/action on push
to main: opens/updates the Version PR, publishes on merge.
- Publish via scripts/publish.ts: changeset publish does not resolve the
workspace: protocol under Bun, so publish each package with `bun publish`
(which does) and tag with `changeset tag`.
- Document the changeset flow in README and CONTRIBUTING.
Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com>
Copy file name to clipboardExpand all lines: CONTRIBUTING.md
+3-2Lines changed: 3 additions & 2 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -49,8 +49,9 @@ A key rule: **`packages/viewer` must never import from `apps/editor`**. The view
49
49
1.**Fork the repo** and create a branch from `main`
50
50
2.**Make your changes** and test locally with `bun dev`
51
51
3.**Run `bun check`** to make sure linting passes
52
-
4.**Open a PR** with a clear description of what changed and why
53
-
5.**Link related issues** if applicable (e.g., "Fixes #42")
52
+
4.**Add a changeset** if you changed a published `@pascal-app/*` package — run `bun changeset`, pick the affected packages and bump type, and commit the generated file. This drives the automated release; see [Publishing Packages](README.md#publishing-packages).
53
+
5.**Open a PR** with a clear description of what changed and why
54
+
6.**Link related issues** if applicable (e.g., "Fixes #42")
Releases are managed with [Changesets](https://changesets.dev). Publishing is automated — you don't run `npm publish` by hand.
388
386
389
-
# Publish to npm
390
-
npm publish --workspace=@pascal-app/core --access public
391
-
npm publish --workspace=@pascal-app/viewer --access public
392
-
```
387
+
1. In any PR that changes a published package, add a changeset describing the change:
388
+
389
+
```bash
390
+
bun changeset
391
+
```
392
+
393
+
Pick the affected packages and bump type (patch/minor/major); commit the generated file in `.changeset/`.
394
+
395
+
2. When the PR merges to `main`, the `Release` workflow opens (or updates) a **Version Packages** PR that applies the pending changesets — bumping versions and writing changelogs.
396
+
397
+
3. Merging that **Version Packages** PR publishes the affected packages to npm and tags the release.
0 commit comments