@hugo-fixit/fixit-releaser
Version:
Versioning, change-log and release tool.
97 lines (68 loc) • 2.87 kB
Markdown
# FixIt Releaser
[](https://www.npmjs.com/package/@hugo-fixit/fixit-releaser)
English | [中文](/README.md)
Versioning, change-log and release tool.
> [!CAUTION]
> Maintenance of this tool has stopped! It is recommended to use [auto changelog](https://github.com/Lruihao/auto-changelog).
## ✨ Features
- 📝 Automatically generate changelog (Conventional Commits specification)
- 🔖 Update FixIt internal version number `*`
> Features marked with `*` are only applicable to [FixIt](https://github.com/hugo-fixit/FixIt).
## 📦 Installation
| Package Manager | Command |
| --------------- | ---------------------------------------- |
| pnpm | `pnpm add -D @hugo-fixit/fixit-releaser` |
| yarn | `yarn add -D @hugo-fixit/fixit-releaser` |
| npm | `npm i -D @hugo-fixit/fixit-releaser` |
Add commands to `package.json`:
```json
{
"scripts": {
"version": "fixit-releaser changelog -p && git add CHANGELOG.md"
}
}
```
## 🚀 Usage
### Changelog
Based on [Conventional Commits](https://www.conventionalcommits.org/en/v1.0.0/) specification, supports the following commit types:
- `feat:` New features
- `fix:` Bug fixes
- `perf:` Performance optimization
- `refactor:` Code refactoring
- `docs:` Documentation changes
- `test:` Test related
- `style:` Code formatting
- `chore:` Build process or auxiliary tool changes
- `build:` Build system changes
- `ci:` Continuous integration configuration changes
- `revert:` Code rollback
- Scope support: `feat(api):`, `fix(ui):`, etc.
- Emoji support: `:sparkles: feat:`, `✨ feat:`, etc.
- Breaking Changes support: `feat!:`, `feat(scope)!:`, `BREAKING CHANGE:`, etc.
- Automatically ignore WIP commits: `wip:`, `Wip:` and other temporary commits are excluded from changelog
For example:
```bash
# Generate changelog for all versions
npx fixit-releaser changelog
# Generate changelog from specified version
npx fixit-releaser changelog --starting-version v0.3.10
```
> Execute `fixit-releaser changelog -h` to get help or refer to the [auto-changelog](https://github.com/cookpete/auto-changelog) documentation.
### Version `*`
> [!WARNING]
> Already integrated into [FixIt](https://github.com/hugo-fixit/FixIt) monorepo, See [FixIt#629](https://github.com/hugo-fixit/FixIt/pull/629)
FixIt internal development version format:
```plaintext
v{major}.{minor}.{patch+1}-{timestamp}-{shortHash}
```
For example:
```bash
# Update FixIt production version
npx fixit-releaser version prod
# Update FixIt development version
npx fixit-releaser version dev
```
## ⚙️ Configuration
The `fixit-releaser changelog` configuration is compatible with auto-changelog.
## 🙏 Acknowledgments
- [auto-changelog](https://github.com/cookpete/auto-changelog)