https://github.com/unix/done
Releaser for semantic version.
https://github.com/unix/done
command-line release-helper semver
Last synced: 4 months ago
JSON representation
Releaser for semantic version.
- Host: GitHub
- URL: https://github.com/unix/done
- Owner: unix
- License: mit
- Created: 2019-05-25T11:27:38.000Z (about 6 years ago)
- Default Branch: master
- Last Pushed: 2023-06-29T16:45:36.000Z (about 2 years ago)
- Last Synced: 2025-03-10T18:11:19.919Z (4 months ago)
- Topics: command-line, release-helper, semver
- Language: TypeScript
- Homepage:
- Size: 81.1 KB
- Stars: 9
- Watchers: 2
- Forks: 0
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
## done
`done` is a command line tool to help standardize release.
just run `npx done`.
### Features
- No dependencies. (15k ~gzip).
- Support multiple remotes.
- Support Hooks.
- Faster running speed.### Usage
`done` will help you automatically generate a release, follow [SemVer](https://semver.org/) spec.
**Recommended use of NPX**. Please do not download this package. (required npm > 5.2.0, [what is npx](https://blog.npmjs.org/post/162869356040/introducing-npx-an-npm-package-runner).)
```bash
npx done
```
everything is done, it's easy, right?
### Hooks
`done` will look for a file named release.js in the root directory of your project.```js
// release.js
module.export = (meta: Release.HookMetas): string => {
if (meta.type === 'patch') {
return 'fix some bugs'
}
return meta.version
}
```**Hook params**:
```ts
export interface ChangeInfo {
name: string,
pluralName: string,
description: string,
}export interface HookMetas {
infos: ChangeInfo,
type: string,
version: string,
}
```### Why
- why use `npx` instead of install?
1. `done` very small and no dependences (published), the online experience is great.
2. make your computer cleaner.
3. conflict with `shell` reservations, if you must download to the global, try `DONE`.- why can't add files when release?
1. `done` jsut to help you add tags.
2. add files requires GitHub(or other) authentication.- why NPX is so fast?
1. i used `ncc` pack files, it worked amazingly well.
2. i use `arg` instead of `commander`.
### license
[MIT](LICENSE)