-
-
Notifications
You must be signed in to change notification settings - Fork 2
Description
Hi there!
I'm the developer behind Chachalog, a light-weight alternative to Changesets. The release flow is really similar:
- Create feature PRs with a changelog entry in each of them (example feature PR)
- When ready for release, merge the automatically created release PR (example release PR)
Check out the fully illustrated workflow in the readme
I decided to start fresh rather than try to fix Changesets for a number of reason:
-
Chachalog is designed to only live in your GitHub workflows, not to be a dependency of your project
-
It's much easier to setup: you don't need a GitHub app and 15MB of dependencies added to your project for it to work
The
npm init @chachalogcommand makes it even easier -
It does not take responsibilities it does not need. Publishing to npm can be done by all package managers, and that's why publication is not implemented in Chachalog
My release workflow is a single command
yarn workspaces foreach -Avv --no-private npm publish --access public --tolerate-republish --provenance -
Compatibility with pnpm/yarn monorepos is handled by the actual package manager libraries (
@pnpm/workspace.find-packagesand@yarnpkg/core). It prevents bugs like Changesets for the monorepo root workspace changesets/changesets#1137 while being lighter than their workspace emulation. -
... you can find some more reasons in the readme
Here are the release workflow templates in Chachalog: https://github.com/GauBen/chachalog/blob/main/packages/create/src/github.ts
