This document outlines the release process for React Telegram packages.
We use Changesets for version management and releases.
When you make changes that should be released:
bun run changesetThis will prompt you to:
- Select which packages have changed
- Choose the version bump type (major, minor, patch)
- Write a summary of the changes
- Create changesets for your changes during development
- Merge PRs with changesets to main branch
- Automated PR will be created by the Release workflow
- Review and merge the automated version bump PR
- Packages are published automatically to npm
If you need to manually release:
# 1. Ensure you're on main branch
git checkout main
git pull origin main
# 2. Run tests
bun test
# 3. Build packages
bun run build
# 4. Create changeset and version
bun run changeset
bun run version
# 5. Commit version changes
git add .
git commit -m "chore: version packages"
# 6. Publish to npm
bun run release
# 7. Push changes and tags
git push origin main --follow-tagsFor beta/alpha releases:
# Create a beta changeset
bun run changeset pre enter beta
# Make changes and create changesets as normal
# When ready to release
bun run version
bun run release
# Exit pre-release mode
bun run changeset pre exit- Runs on every push and PR
- Tests, lints, and builds packages
- Validates examples
- Runs on push to main
- Creates version bump PRs
- Publishes to npm when version PRs are merged
- Weekly security audits
- Dependency vulnerability scanning
- Create an npm account at npmjs.com
- Generate an access token with publish permissions
- Add as
NPM_TOKENsecret in GitHub repository settings
- Check TypeScript errors:
bun run type-check - Clean build artifacts:
bun run clean - Reinstall dependencies:
rm -rf node_modules && bun install
- Verify npm authentication:
npm whoami - Check package names are available
- Ensure version hasn't been published already
- Reset changeset state:
rm -rf .changeset/pre.json - Manually fix versions in package.json files
- Force version update:
bun run changeset version --no-git-tag