https://github.com/akryum/sheep
:sheep: Opinionated CLI command to release pnpm monorepos
https://github.com/akryum/sheep
Last synced: over 1 year ago
JSON representation
:sheep: Opinionated CLI command to release pnpm monorepos
- Host: GitHub
- URL: https://github.com/akryum/sheep
- Owner: Akryum
- License: mit
- Created: 2021-11-29T10:37:43.000Z (over 4 years ago)
- Default Branch: main
- Last Pushed: 2024-01-18T11:41:31.000Z (over 2 years ago)
- Last Synced: 2024-05-19T04:22:38.692Z (about 2 years ago)
- Language: TypeScript
- Homepage:
- Size: 189 KB
- Stars: 39
- Watchers: 2
- Forks: 1
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- Funding: .github/FUNDING.yml
- License: LICENSE
Awesome Lists containing this project
README
# 🐑️ sheep
Opinionated CLI command to update CHANGELOG.md and release packages.
```bash
pnpm add -WD @akryum/sheep
```
Assumed:
- Git repository
- Monorepo
- Uses pnpm
- Tags with `vX.Y.Z` format
- All tags are fetched locally
- `CHANGELOG.md` exists (init it with `pnpm exec conventional-changelog -p angular -o CHANGELOG.md -r 0`)
What it does:
- Select new version
- Update nested packages versions and workspace dependencies
- Update the root `package.json` version
- Update the `CHANGELOG.md` file with the latest changes
- Publish the packages to npm
- Push the changes with `vX.Y.Z` commit message
- Create and push a `vX.Y.Z` git tag
Usage:
```json
{
"scripts": {
"release": "pnpm run link && pnpm run build && pnpm run test && sheep release -b main"
}
}
```
Recommended compagnon GitHub Action: [Akryum/release-tag](https://github.com/Akryum/release-tag) :ok_hand: