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
**Prereleases (beta / alpha):**`pnpm release:beta` / `pnpm release:alpha` cut the next prerelease
656
+
(`1.0.4` → `1.0.5-beta.0` → `-beta.1` …). Each publishes under its own npm dist-tag (`beta`, `alpha`,
657
+
`rc`…) so it never becomes `latest`, and is flagged as a pre-release on GitHub — testers opt in with
658
+
`npm install slack-blocks-to-jsx@beta`. Bump types `prepatch`/`preminor`/`premajor`/`prerelease` plus
659
+
`--preid=<id>` give finer control; a normal `pnpm release patch` on a prerelease graduates it to stable
660
+
(`1.0.5-beta.2` → `1.0.5`). The version maths mirror semver's `inc`. See `RELEASING.md`.
661
+
662
+
The old Changesets flow (`pnpm changeset` + the `publish.yml` "Version Packages" bot) has been removed
663
+
in favour of this. CI (`.github/workflows/main.yml`) still runs lint + build on every push/PR, but no
664
+
longer publishes — releasing is now a deliberate local action. There is no `CHANGELOG.md`; release notes
665
+
are auto-generated from merged PRs/commits on each GitHub release.
666
+
667
+
**PR preview releases:**`.github/workflows/preview.yml` publishes every PR (and `main`) to
668
+
[pkg.pr.new](https://github.com/stackblitz-labs/pkg.pr.new) so reviewers can `npm install`
669
+
a branch (`https://pkg.pr.new/slack-blocks-to-jsx@<commit-or-PR>`) without it ever hitting the
670
+
real npm package. It needs no npm token, works for fork PRs, and re-publishes + updates the PR
671
+
comment on every new commit. Requires the pkg.pr.new GitHub App installed on the repo. These
672
+
previews are distinct from intentional `pnpm release:beta` prereleases (which do go to npm).
647
673
648
674
`RELEASE_NOTES.md` tells the story of v1.0.1 — the "full Block Kit parity" release — after 80+ iterative releases. Major breaking changes from that version:
649
675
@@ -683,8 +709,9 @@ Folder: `test-blocks/`. Used as manual/visual test inputs. Each file is a comple
683
709
684
710
```
685
711
slack blocks to jsx library/
686
-
├── .changeset/
687
712
├── .github/
713
+
├── scripts/
714
+
│ └── release.mjs # One-command release (see Ch. 11)
@@ -771,7 +798,7 @@ Rules worth knowing before making changes:
771
798
7.**Externalization:**`react-markdown`, `remark-gfm`, `node-emoji` must stay external in tsup config — bundling them again will break Next.js ESM interop.
772
799
8.**Accessibility:** preserve the `accessibility_label` prop on buttons; use semantic tags (button, a, input) — this mirrors Slack's own a11y posture.
773
800
9.**Type-first:** every block/element addition requires a matching interface in `src/types/` before the component lands.
774
-
10.**Changesets:**any user-facing change needs a changeset before merge.
801
+
10.**Releasing:**versioning + publishing is a single local command, `pnpm release` (see Ch. 11 / `RELEASING.md`). No changeset files are needed.
775
802
776
803
---
777
804
@@ -856,3 +883,4 @@ The sidebar picks it up automatically on next HMR. Keep fixtures small (≤ 10 b
856
883
| 2026-04-17 | Claude + Mash | Added Ch. 0 — How to use this knowledge base (usage, reading strategy, update triggers, update procedure, style rules, ownership). |
857
884
| 2026-04-17 | Claude + Mash | v1.1.0 release prep: added three new blocks (`alert`, `card`, `carousel`) matching Slack's 2026-04-16 Block Kit launch. Ch. 4 block count 14 → 17 (new §4.6 "Status & rich-container blocks"). Ch. 6.1 type list updated with `AlertBlock`, `CardBlock`, `CarouselBlock`, `CardImage`, `AlertLevel`. Ch. 12 gained `11-alert-card-carousel.json` fixture. Ch. 13 file tree updated. Changeset: `.changeset/add-alert-card-carousel-blocks.md`. |
858
885
| 2026-04-17 | Claude + Mash | Added Ch. 15 — Playground. New `playground/` folder (Vite + React 18) that source-aliases `slack-blocks-to-jsx` to `../src/index.ts` for instant HMR. Committed to git, excluded from npm via `.npmignore`. Ch. 15 renumbered from change log → playground; change log moved to Ch. 16. Root `package.json` gained `playground`, `playground:install`, `playground:build` scripts. Ch. 13 file tree extended. |
886
+
| 2026-06-06 | Claude + Mash | Replaced the Changesets release flow with a single local command `pnpm release` (`scripts/release.mjs`): checks → lint → build → bump → commit/tag → npm publish → push → GitHub release. Removed `.changeset/`, `@changesets/cli`, and `.github/workflows/publish.yml`; added `test`/`release`/`release:dry` scripts and `RELEASING.md`. Rewrote Ch. 11, updated §10.3/§10.5 scripts + hygiene, Ch. 13 file tree (`scripts/`), and Ch. 14 rule 10. Added first-class beta/alpha prereleases: `release:beta`/`release:alpha` scripts, `prepatch`/`preminor`/`premajor`/`prerelease` bump types + `--preid`, auto dist-tag per channel, prerelease graduation, and a "Trying a prerelease" section in `readme.md`. Added `.github/workflows/preview.yml` (pkg.pr.new) for automatic per-PR/per-commit preview installs (no npm token, fork-safe). |
0 commit comments