|
| 1 | +# React Descendants |
| 2 | + |
| 3 | +A small runtime agnostic library for tracking descendants within a React application. |
| 4 | +Heavily inspired by [@reach/descendants](https://www.npmjs.com/package/@reach/descendants) and [pacocoursey/use-descendants](https://github.com/pacocoursey/use-descendants). |
| 5 | + |
| 6 | +## Release Process |
| 7 | + |
| 8 | +This repo uses **Changesets** for versioning and **GitHub Actions** for automated publishing. |
| 9 | + |
| 10 | +### 1. Create Changesets for Changes |
| 11 | + |
| 12 | +```bash |
| 13 | +# Generate a changeset for your changes |
| 14 | +bunx changeset |
| 15 | +``` |
| 16 | + |
| 17 | +- Select which packages are affected by your changes |
| 18 | +- Choose the appropriate semantic version bump (patch, minor, major) |
| 19 | +- Write a descriptive summary of the changes |
| 20 | +- Commit the generated changeset file in `.changeset/` |
| 21 | + |
| 22 | +### 2. Automated Version Management |
| 23 | + |
| 24 | +When you push to the `master` branch, the GitHub Action will: |
| 25 | + |
| 26 | +- **Create a Release PR**: If there are pending changesets, it creates a "Version Packages" PR with updated version numbers, CHANGELOGs, and consumed changeset files |
| 27 | + |
| 28 | +### 3. Release Publication |
| 29 | + |
| 30 | +When the "Version Packages" PR is merged: |
| 31 | + |
| 32 | +- **Automated Build**: Builds only packages using `bun run build-release` |
| 33 | +- **Automated Publishing**: Publishes updated packages to NPM via `changeset publish` |
| 34 | +- **Git Tagging**: Creates appropriate git tags for the released versions |
| 35 | + |
| 36 | +### Manual Release (if needed) |
| 37 | + |
| 38 | +```bash |
| 39 | +# 1. Create changesets for changes |
| 40 | +bunx changeset |
| 41 | + |
| 42 | +# 2. Version packages (updates versions + CHANGELOGs) |
| 43 | +bun run changeset-version |
| 44 | + |
| 45 | +# 3. Build and publish |
| 46 | +bun run changeset-publish |
| 47 | +``` |
0 commit comments