2 Commits

3 changed files with 36 additions and 30 deletions

View File

@@ -1,8 +1,13 @@
# Changelog
Generation of this changelog is based on commits
## v1.11.0
### Features
- [30a7e0b28] - **commands**: add --sudo option to commit command (#16)
## v1.10.1
### Fixes
- [782894dae] - **commands**: failure to cancel commit creation
### Miscellaneous
- [ebfa3859f] - **release**: v1.10.1
## v1.10.0
### Features
- [d707aaffe] - **config**: allow RCZ configs to be located in a folder (#15)

View File

@@ -1,6 +1,6 @@
{
"name": "@resultium/rcz",
"version": "1.10.1",
"version": "1.11.0",
"description": "Resultium commit standardization library, based on conventional commits",
"main": "./dist/index.js",
"bin": {

View File

@@ -123,7 +123,7 @@ const program = new Command();
program
.name("rcz")
.description("Resultium commit standardization command-line interface")
.version("1.10.1");
.version("1.11.0");
program
.command("commit")
@@ -131,6 +131,7 @@ program
.description("Create a conventional commit")
.option("-S, --sign", "sign the commit")
.option("--amend", "amend commit message to the last commit")
.option("--sudo", "remove any validation")
.action(async (options) => {
await CheckForUpdates();
@@ -138,6 +139,7 @@ program
const sign = config?.autoSignCommits || options.sign ? true : false;
const amend = options.amend ? true : false;
const sudo = options.sudo ? true : false;
intro("Creating a conventional commit");
@@ -166,7 +168,7 @@ program
).match(/\d+/gm) || []
).reduce((partialSum, num) => partialSum + Number(num), 0);
if (changedLines > 250) {
if (changedLines > 250 && !sudo) {
const proceedCommitting = await confirm({
message:
"You are about to commit changes to more than 250 lines, are you sure you want to proceed?",
@@ -240,6 +242,10 @@ program
"Input a scope (subsystem which change is relevant to e.g. router, forms, core) or leave empty",
placeholder: "router",
validate: (value) => {
if (sudo) {
return
}
if (config?.scopes && value) {
if (!config?.scopes.includes(value))
return "This scope is not allowed by local configuration";
@@ -260,6 +266,10 @@ program
message: `Briefly describe made changes in imperative tense, maximum length 50`,
placeholder: "warn upon suspicious router requests",
validate: (value) => {
if (sudo) {
return
}
if (value.length > 50) {
return "Your message is too long";
}
@@ -321,10 +331,8 @@ program
process.exit(0);
}
const commitMessage = `${type.toString()}${
scope ? `(${scope.toString()})` : ``
}${isBreaking ? "!" : ""}: ${message.toString()}${
resolvesIssue ? ` (${issue?.toString()})` : ``
const commitMessage = `${type.toString()}${scope ? `(${scope.toString()})` : ``
}${isBreaking ? "!" : ""}: ${message.toString()}${resolvesIssue ? ` (${issue?.toString()})` : ``
}${body ? `\n\n${body}` : ``}${footer ? `\n\n${footer}` : ``}`;
if (stageAll) {
@@ -344,8 +352,7 @@ program
note(commitMessage);
outro(
`Finished ${
amend ? "amending" : "creating"
`Finished ${amend ? "amending" : "creating"
} a conventional commit, feel free to push`
);
});
@@ -467,8 +474,7 @@ program
: firstMessageLine[0];
console.log(
`${showHashes ? `- [${shortHash}]` : ``} - ${
type ? `**${type}**: ${briefMessage}` : briefMessage
`${showHashes ? `- [${shortHash}]` : ``} - ${type ? `**${type}**: ${briefMessage}` : briefMessage
}`
);
}
@@ -487,8 +493,7 @@ program
: firstMessageLine[0];
console.log(
`${showHashes ? `- [${shortHash}]` : ``} - ${
type ? `**${type}**: ${briefMessage}` : briefMessage
`${showHashes ? `- [${shortHash}]` : ``} - ${type ? `**${type}**: ${briefMessage}` : briefMessage
}`
);
}
@@ -507,8 +512,7 @@ program
: firstMessageLine[0];
console.log(
`${showHashes ? `- [${shortHash}]` : ``} - ${
type ? `**${type}**: ${briefMessage}` : briefMessage
`${showHashes ? `- [${shortHash}]` : ``} - ${type ? `**${type}**: ${briefMessage}` : briefMessage
}`
);
}
@@ -527,8 +531,7 @@ program
: firstMessageLine[0];
console.log(
`${showHashes ? `- [${shortHash}]` : ``} - ${
type ? `**${type}**: ${briefMessage}` : briefMessage
`${showHashes ? `- [${shortHash}]` : ``} - ${type ? `**${type}**: ${briefMessage}` : briefMessage
}`
);
}
@@ -616,11 +619,9 @@ program
// /(build|feat|docs)(\((commands|changelog)\))?!?: .* ?(\(..*\))?((\n\n..*)?(\n\n..*)?)?/gm
const testRegex = new RegExp(
`(${
config?.types?.map((type) => type.value).join("|") ||
`(${config?.types?.map((type) => type.value).join("|") ||
"feat|fix|build|ci|docs|perf|refactor|chore"
})(\\((${
config?.scopes ? [...config?.scopes, "release"].join("|") : "..*"
})(\\((${config?.scopes ? [...config?.scopes, "release"].join("|") : "..*"
})\\))?!?: .* ?(\\(..*\\))?((\n\n..*)?(\n\n..*)?)?`,
"gm"
);