Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

https://github.com/javascript-studio/studio-changes

📦 Generate a changelog as part of the npm version command
https://github.com/javascript-studio/studio-changes

automation changelog commits git npm release versioning

Last synced: 4 days ago
JSON representation

📦 Generate a changelog as part of the npm version command

Lists

README

        


Studio Changes



📦 Generate a changelog as part of the npm version command




npm Version


SemVer


Build Status


License

## Usage

- Use `npm version [patch|minor|major]` to create a release
- Your editor will open with a generated `CHANGES.md` file
- When you're done writing the release notes, save and close the editor to
continue
- To abort the release, remove the heading with the new version number

## Install

```bash
❯ npm install @studio/changes --save-dev
```

## Configure

```bash
❯ npx changes --init
```

This will add the following to your `package.json`:

```json
{
"scripts": {
"preversion": "npm test",
"version": "changes",
"postversion": "git push --follow-tags && npm publish"
}
}
```

## Options

- `--help`, `-h`: Display a help message.
- `--commits`, `-c`: Generate links to commits using the given URL as base. If
no URL is given it defaults to `${homepage}/commit` using the homepage
configured in the `package.json`.
- `--footer`: Generate a footer with the git author and release date. The
author name is taken from `$GIT_AUTHOR_NAME` and `$GIT_AUTHOR_EMAIL` is used
to find the authors GitHub profile page.
- `--file`, `-f`: Specify the name of the changelog file. Defaults to
`CHANGES.md`.
- `--init`: Add version lifecycle scripts to `package.json`. Can be combined
with `--file` and `--commits` to configure the `changes` invocation.
- `--tag`: Use a custom git tag, supports simple replacement of `package.json`
fields. Defaults to `v${version}`.
- `--dir`: Passes the given dir to `git log -- ` to filter the commit
history by this directory.
- `--workspace`: Is a convenience flag which sets `--dir` to the current
directory name and `--tag` to `${dir}/v${version}`.

Configure your preferred editor with the `$EDITOR` environment variable.

## Preview next release

Preview the release notes for the next release by running:

```bash
❯ npx changes
```

![](https://javascript.studio/assets/changes-1.0.gif)

## License

MIT

Made with ❤️ on 🌍

[1]: https://medium.com/@maybekatz/introducing-npx-an-npm-package-runner-55f7d4bd282b