feat(commands): add --sudo option to commit command (#16)

This commit is contained in:
2024-01-27 16:15:31 +02:00
parent ebfa3859fc
commit 30a7e0b286

View File

@@ -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"
);