should-release-it

1.1.0 • Public • Published

Should Release-It


Check if should release new version by looking at the commits using conventional commits

npm GitHub Workflow Status (with branch)

🚩 Table of Contents

🚀 Introduction

When releasing using release-it you might want to release only if the commits messages have meaningful changes.

This script analyzes the commit messages using conventional commits to check if a new release is necessary.

It looks for the @release-it/conventional-changelog plugin and get the types defined there, the ones that are hidden will not trigger a release.

"plugins": {
  "@release-it/conventional-changelog": {
    "preset": "conventionalcommits",
    "types": [
      { "type": "feat", "section": "Features" },
      { "type": "fix", "section": "Bug Fixes" },
      { "type": "perf", "section": "Performance Improvements" },
      { "type": "revert", "section": "Reverts" },
      { "type": "docs", "section": "Documentation", "hidden": true },
      { "type": "style", "section": "Styles", "hidden": true },
      { "type": "chore", "section": "Miscellaneous Chores", "hidden": true },
      { "type": "refactor", "section": "Code Refactoring", "hidden": true },
      { "type": "test", "section": "Tests", "hidden": true },
      { "type": "build", "section": "Build System", "hidden": true },
      { "type": "ci", "section": "Continuous Integration", "hidden": true }
    ]
  }
}

🔧 Installation

There's no need to install should-release-it, you can use it with npx.

📖 Usage

npx should-release-it <options>
$ npx should-release-it && npm run release-it

Output with no meaningful commits

$ npx should-release-it
» [6:08:53 PM] [should-release-it] › ℹ  Should NOT trigger a release: ci: update workflow
» [6:08:53 PM] [should-release-it] › ℹ  No meaningful commits found, we should not release

Output that should trigger release

$ npx should-release-it
» [11:27:49 PM] [should-release-it] › ℹ  Should NOT trigger a release: ci: clean up workflow
» [11:27:49 PM] [should-release-it] › ℹ  Should trigger a release: feat: update dashboard
» [11:27:49 PM] [should-release-it] › ℹ  Found at least one commit that require a release, we should release

Use on CI:

- name: Check if should release
  run: |
    npx should-release-it || exit 0
    npm run release
  env:
    GITHUB_TOKEN: ${{ secrets.GITHUB_TOKEN }}

# OR

- name: Check if should release
  id: should-release
  run: |
    if npx should-release-it; then
      echo "value=true" >> $GITHUB_OUTPUT
    else
      echo "value=false" >> $GITHUB_OUTPUT
    fi

Options

Argument Description Type
--current-version Version to use when getting git log, if not provided will use the one on package.json. [string]
--release-it-dir Directory to search for the release-it config file, defaults to the current working directory. [string]
--silent Mute logs.

💬 Contributing

Would like to help make this package better? Please take a look at the contributing guidelines for a detailed explanation on how you can contribute.

❤️ Acknowledgments

I'd like thank my daily coffee!

Package Sidebar

Install

npm i should-release-it

Weekly Downloads

5

Version

1.1.0

License

MIT

Unpacked Size

18.2 kB

Total Files

10

Last publish

Collaborators

  • diogoabu