Lightweight (Conventional) Commits library, allowing you to retrieve (Conventional) Commits and verify them against the (Extended) Conventional Commits specification
import { Commit } from "@dev-build-deploy/commit-it";
const gitCommit = Commit.fromHash({ hash: "f1aaa6e0b89eb87b591ab623053845b5d5488d9f" });
console.log(JSON.stringify(gitCommit, null, 2))
import { ConventionalCommit } from '@dev-build-deploy/commit-it';
// OPTIONAL; Conventional Commits options
const conventionalOptions = {
// EC-01: A scope MAY be provided after a type. A scope MUST consist of one of the configured values (...) surrounded by parenthesis
scopes: [ "core", "cli", "action" ],
// EC-02: Commits MUST be prefixed with a type, which consists of one of the configured values (feat, fix, ...)
types: [ "build", "ci", "docs", "perf", "refactor", "style", "test" ],
};
const conventionalCommit = ConventionalCommit.fromHash(
{ hash: "f1aaa6e0b89eb87b591ab623053845b5d5488d9f" },
conventionalOptions
);
// NOTE: See "Non-compliant Conventional Commits message" for details on how to capture failures.
console.log(JSON.stringify(conventionalCommit, null, 2));
import { ConventionalCommit } from '@dev-build-deploy/commit-it';
// Provide a commit message as a string
const conventionalCommit = ConventionalCommit.fromString({
hash: "0ab1cd2ef",
message: "feat (no noun): non-compliant conventional commits message",
});
if (!conventionalCommit.isValid) {
conventionalCommit.errors.forEach(e => console.log(e.toString()));
}
If you have suggestions for how commit-it could be improved, or want to report a bug, open an issue! We'd love all and any contributions.
For more, check out the Contributing Guide.