Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 1 addition & 1 deletion CLAUDE.md
Original file line number Diff line number Diff line change
Expand Up @@ -62,7 +62,7 @@ npm run publish # Build, test, version, publish to npm, tag, release note
npm run publish-next # The same, under the 'next' dist-tag
```

`bin/publish.mjs` implements it. The ordering is the point: everything fallible runs before anything irreversible, and npm is published before git is tagged, so a tag can never point at a version nobody can install. There is no rollback — every step is idempotent, so an interrupted release is resumed by re-running it. Tags are per package (`datocms-structured-text-utils@6.1.0`); the historical `vX.Y.Z` tags stay where they are.
`toolchain/publish.mjs` implements it. The ordering is the point: everything fallible runs before anything irreversible, and npm is published before git is tagged, so a tag can never point at a version nobody can install. There is no rollback — every step is idempotent, so an interrupted release is resumed by re-running it. Tags are per package (`datocms-structured-text-utils@6.1.0`); the historical `vX.Y.Z` tags stay where they are.

## Architecture

Expand Down
4 changes: 2 additions & 2 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -30,8 +30,8 @@
"test": "npm run lint && cross-env NODE_OPTIONS=--experimental-vm-modules jest",
"build": "turbo run build",
"changeset": "changeset",
"publish": "node bin/publish.mjs",
"publish-next": "node bin/publish.mjs --tag next",
"publish": "node toolchain/publish.mjs",
"publish-next": "node toolchain/publish.mjs --tag next",
"lint": "eslint . --ext .ts,.tsx",
"prettier": "prettier --write \"**/*.{ts,tsx,js,mjs,json,md,yml}\"",
"prettier:check": "prettier --check \"**/*.{ts,tsx,js,mjs,json,md,yml}\"",
Expand Down
8 changes: 8 additions & 0 deletions toolchain/README.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,8 @@
# toolchain

Everything that acts on **this repository** rather than shipping to a user.

`packages/*` is the product. This is the machinery that turns the product into
releases: it reads the repo, writes into it, and produces something outside it —
a version bump, a changelog, a commit, a tag, an npm package, a GitHub release.
Nothing in here is published, and nothing in here is imported by code that is.
File renamed without changes.
Loading