Skip to content

Commit d43eea3

Browse files
shmuel hizmiclaude
andcommitted
Set up changesets for monorepo publishing
- Initialize changesets config with linked echoform packages - Remove stale pre-release mode (pre.json) - Fix broken 0.3.NaN versions → 0.4.0 (wmux → 0.1.0) - Replace manual publish.yml with changesets/action release.yml - Move @changesets/cli to devDependencies - Add changeset/version/release scripts - Add initial changeset for first release Workflow: `bunx changeset` → commit → merge → CI creates Version Packages PR → merge PR → CI publishes to npm. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
1 parent f0ef035 commit d43eea3

14 files changed

Lines changed: 97 additions & 129 deletions

File tree

.changeset/README.md

Lines changed: 15 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,15 @@
1+
# Changesets
2+
3+
This repo uses [changesets](https://github.com/changesets/changesets) to manage versions and publish to npm.
4+
5+
## Adding a changeset
6+
7+
```bash
8+
bunx changeset
9+
```
10+
11+
Follow the prompts to select which packages changed and the bump type (patch/minor/major).
12+
13+
## Publishing
14+
15+
Push to `master` with pending changesets → CI creates a "Version Packages" PR → merge it → CI publishes to npm.

.changeset/config.json

Lines changed: 11 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,18 @@
11
{
2-
"$schema": "https://unpkg.com/@changesets/config@2.2.0/schema.json",
2+
"$schema": "https://unpkg.com/@changesets/config@3.1.1/schema.json",
33
"changelog": "@changesets/cli/changelog",
44
"commit": false,
55
"fixed": [],
6-
"linked": [],
6+
"linked": [
7+
[
8+
"@playfast/echoform",
9+
"@playfast/echoform-render",
10+
"@playfast/echoform-bun-ws-client",
11+
"@playfast/echoform-bun-ws-server",
12+
"@playfast/echoform-socket-client",
13+
"@playfast/echoform-socket-server"
14+
]
15+
],
716
"access": "public",
817
"baseBranch": "master",
918
"updateInternalDependencies": "patch",

.changeset/initial-release.md

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,11 @@
1+
---
2+
"@playfast/echoform": minor
3+
"@playfast/echoform-render": minor
4+
"@playfast/echoform-bun-ws-client": minor
5+
"@playfast/echoform-bun-ws-server": minor
6+
"@playfast/echoform-socket-client": minor
7+
"@playfast/echoform-socket-server": minor
8+
"@playfast/wmux": minor
9+
---
10+
11+
Initial public release with echoform core, transport plugins, and wmux.

.changeset/pre.json

Lines changed: 0 additions & 13 deletions
This file was deleted.

.github/workflows/publish.yml

Lines changed: 0 additions & 103 deletions
This file was deleted.

.github/workflows/release.yml

Lines changed: 48 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,48 @@
1+
name: Release
2+
3+
on:
4+
push:
5+
branches: [master]
6+
7+
concurrency:
8+
group: release
9+
cancel-in-progress: false
10+
11+
jobs:
12+
release:
13+
runs-on: ubuntu-latest
14+
timeout-minutes: 10
15+
permissions:
16+
contents: write
17+
pull-requests: write
18+
id-token: write
19+
20+
steps:
21+
- uses: actions/checkout@v4
22+
23+
- uses: oven-sh/setup-bun@v2
24+
with:
25+
bun-version: "1.3.11"
26+
27+
- name: Install dependencies
28+
run: bun install
29+
30+
- name: Build
31+
run: bun run build
32+
33+
- name: Set wmux client URL
34+
run: |
35+
WMUX_CLIENT_URL="${{ vars.WMUX_CLIENT_URL || 'https://wmux.playfast.dev' }}"
36+
sed -i "s|__WMUX_CLIENT_URL__|$WMUX_CLIENT_URL|g" packages/wmux/src/wmux.tsx
37+
38+
- name: Configure npm auth
39+
run: echo "//registry.npmjs.org/:_authToken=${{ secrets.NPM_TOKEN }}" > ~/.npmrc
40+
41+
- name: Create Release PR or Publish
42+
uses: changesets/action@v1
43+
with:
44+
version: bun run version
45+
publish: bun run release
46+
env:
47+
GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}
48+
NPM_TOKEN: ${{ secrets.NPM_TOKEN }}

package.json

Lines changed: 5 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -20,12 +20,13 @@
2020
"lint:packages": "oxlint packages/",
2121
"lint:plugins": "oxlint plugins/",
2222
"knip": "knip",
23-
"knip:fix": "knip --fix"
24-
},
25-
"dependencies": {
26-
"@changesets/cli": "^2.25.2"
23+
"knip:fix": "knip --fix",
24+
"changeset": "changeset",
25+
"version": "changeset version",
26+
"release": "changeset publish"
2727
},
2828
"devDependencies": {
29+
"@changesets/cli": "^2.25.2",
2930
"@typescript/native-preview": "^7.0.0-dev.20260323.1",
3031
"knip": "^5.0.0",
3132
"oxlint": "^0.13.0",

packages/fullstack/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@playfast/echoform",
3-
"version": "0.3.NaN",
3+
"version": "0.4.0",
44
"description": "run your react app logic on the server",
55
"type": "module",
66
"exports": {

packages/react-render-null/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@playfast/echoform-render",
3-
"version": "0.3.NaN",
3+
"version": "0.4.0",
44
"description": "render react tree to nothing!",
55
"type": "module",
66
"exports": {

packages/wmux/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "@playfast/wmux",
3-
"version": "0.0.2",
3+
"version": "0.1.0",
44
"description": "Web terminal multiplexer for dev servers",
55
"type": "module",
66
"exports": {

0 commit comments

Comments
 (0)