1.1.0 • Published 5 months ago

should-release-it v1.1.0

Weekly downloads
-
License
MIT
Repository
github
Last release
5 months ago

🚩 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

ArgumentDescriptionType
--current-versionVersion to use when getting git log, if not provided will use the one on package.json.string
--release-it-dirDirectory to search for the release-it config file, defaults to the current working directory.string
--silentMute 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!