/studio-changes

📦 Generate a changelog as part of the npm version command

Primary LanguageJavaScriptMIT LicenseMIT

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

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

Configure

❯ npx changes --init

This will add the following to your package.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 -- <dir> 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:

❯ npx changes

License

MIT

Made with ❤️ on 🌍