@cjbarth/github-release-notes
Version:
Create a release from a tag and uses issues or commits to creating the release notes. It also can generate a CHANGELOG.md file based on the release notes (or generate a brand new).
153 lines • 4.93 kB
JavaScript
var chalk = require("chalk");
module.exports = {
changelogOptions: [{
"short": false,
name: false,
description: "\n".concat(chalk.yellow("Changelog options"), "\n\n")
}, {
"short": "-G",
name: "generate",
description: "Generate the changelog with gren rather than using the repo releases"
}, {
"short": "-f",
name: "changelog-filename",
valueType: "<filename.md>",
description: "The name of the changelog file. [CHANGELOG.md]",
defaultValue: "CHANGELOG.md"
}, {
"short": false,
name: false,
description: "\n\n".concat(chalk.yellow("Release options"), " \n").concat(chalk.blue("(only applicable with the --generate option)."), "\n\n")
}],
globalOptions: [{
"short": "-u",
name: "username",
valueType: "<repo owner>",
description: "The username of the repo e.g. github-tools"
}, {
"short": "-r",
name: "repo",
valueType: "<repository name>",
description: "The repository name e.g. github-release-notes"
}, {
"short": "-T",
name: "token",
valueType: "<github token>",
description: "The token generated with repo access"
}, {
"short": "-a",
name: "api-url",
valueType: "<url>",
description: "Override the GitHub API URL, allows gren to connect to a private GHE installation"
}, {
"short": "-o",
name: "override",
description: "Override the release notes if exist"
}, {
"short": "-B",
name: "debug",
description: "Run the command in debugging mode"
}, {
"short": "-t",
name: "tags",
valueType: "<new-tag>..<old-tag>",
description: "Write release notes for <new-tag> using data collected until <old-tag>. If only one tag is specified, will use data until the previous tag. To run gren for all the tags, use --tags=all",
action: function action(value) {
return value.split("..");
}
}, {
"short": "-l",
name: "limit",
valueType: "<number>",
description: "Just produce release notes for the <number> last releases."
}, {
"short": "-D",
name: "data-source",
valueType: "<issues|commits|milestones|prs|prs-with-issues>",
description: "The informations you want to use to build release notes. [issues]",
action: /^(issues|commits|milestones|prs|prs-with-issues)$/i,
defaultValue: "issues"
}, {
"short": "-h",
name: "head",
valueType: "<string>",
description: "Which branch would you like to include commits from after the last tag?"
}, {
"short": "-N",
name: "include-messages",
valueType: "<merge|commits|all>",
description: "Filter the messages added to the release notes. Only used when --data-source used is commits [commits]",
action: /^(merge|commits|all)$/i,
defaultValue: "commits"
}, {
"short": "-i",
name: "ignore-tags-with",
valueType: "<string1>,<string2>",
description: "Ignore tags that contain one of the specified strings.",
action: function action(value) {
return value.split(",");
}
}, {
"short": "-C",
name: "ignore-commits-with",
valueType: "<string1>,<string2>",
description: "Ignore commits that contain one of the specified strings.",
action: function action(value) {
return value.split(",");
}
}, {
"short": "-p",
name: "prefix",
valueType: "<name prefix>",
description: "Add a prefix to the tag version. e.g. 'v'"
}, {
"short": "-g",
name: "group-by",
valueType: "<label>",
description: "Group the issues using the labels as group headings. You can set custom headings for groups of labels from a configuration file."
}, {
"short": "-L",
name: "ignore-labels",
valueType: "<label1>,<label2>",
description: "Ignore the specified labels.",
action: function action(value) {
return value.split(",");
}
}, {
"short": "-I",
name: "ignore-issues-with",
valueType: "<label1>,<label2>",
description: "Ignore issues that contains one of the specified labels.",
action: function action(value) {
return value.split(",");
}
}, {
"short": "-M",
name: "milestone-match",
valueType: "<prefix>",
description: "The title that the script needs to match to link the release to the milestone. e.g. v will match v0.1.0 [Release {{tag_name}}]",
defaultValue: "Release {{tag_name}}"
}, {
"short": "-m",
name: "only-milestones",
description: "Add to the release bodies only the issues that have a milestone"
}, {
"short": "-q",
name: "quiet",
description: "Run command without console logs."
}, {
"short": "-c",
name: "config",
valueType: "<string>",
description: "Specify a custom config filename"
}],
releaseOptions: [{
"short": "-d",
name: "draft",
description: "Set the release notes as a draft."
}, {
"short": "-P",
name: "prerelease",
description: "Set the release as a prerelease."
}]
};