A project demonstrating Changesets configuration and workflow patterns for monorepo version management.
Configure your monorepo versioning behavior in config.json:
Ensure packages always bump together, even if only one changes:
{
"linked": [["@try-changesets/user-app", "@try-changesets/internal-dashboard"]]
}Automatically bump dependent packages when core packages change:
{
"fixed": [["@try-changesets/api", "@try-changesets/user-app"]]
}Skip versioning for specific folders:
{
"ignore": ["@try-changesets/docs", "@try-changesets/examples"]
}Track versions for internal apps without publishing:
{
"name": "@try-changesets/internal-dashboard",
"version": "1.2.0",
"private": true
}Add automated tagging to your CI/CD workflow:
- name: Create git tags
run: |
# After versioning
bun run version-packages
# Create tags for each package
for dir in packages/*; do
PKG_NAME=$(node -p "require('./$dir/package.json').name")
PKG_VERSION=$(node -p "require('./$dir/package.json').version")
git tag "${PKG_NAME}@${PKG_VERSION}"
done
git push --tags