0.4.0 โข Published 7 months ago
@gvdp/should-semantic-release v0.4.0
Usage
This function determines whether a semantic release should occur for a package based on Git history. It returns true if a "meaningful" commit has come since the most recent release commit.
if npx should-semantic-release; then npx release-it; fiThis can be useful, for example, to prevent a release-it release.
should-semantic-release accepts the following CLI flag:
-v/--verbose(default:false): Whether to log debug information to the console
$ npx should-semantic-release --verbose
Checking up to 123 commits for release readiness...
Checking commit: chore: an example chore (#101)
Found type chore.
Checking commit: chore: another example chore (#100)
Found type chore.
Checking commit: chore: release v1.27.31
This is a release commit. Returning false.Commit Purposes
Based on a commit's conventional commit message type:
- If the type is
featfix, orperf, it's considered "meaningful" - If the commit is marked as being a breaking change, either via a
BREAKING CHANGE:at the start of any commit message lines or via an!appended to the type, it's considered "meaningful" - If the type is
docs,refactor,style, ortest, it's ignored - If the message looks like
v1.2.3,chore: release 1.2.3, or similar, it's considered a "release"
See getCommitMeaning for the exact logic used.
Node API
Alternately, you can call this import asynchronous shouldSemanticRelease function into Node scripts:
import { shouldSemanticRelease } from "should-semantic-release";
if (await shouldSemanticRelease()) {
console.log("Let's release! ๐");
}shouldSemanticRelease accepts an optional options object with the following parameter:
verbose(default:false)
import { shouldSemanticRelease } from "should-semantic-release";
await shouldSemanticRelease({ verbose: true });Development
See .github/CONTRIBUTING.md, then .github/DEVELOPMENT.md.
Thanks! ๐
Contributors
๐ This package was templated with
create-typescript-appusing the Bingo engine.