yaclt
Version:
Yet Another Change Log Tool
141 lines • 15.4 kB
JavaScript
;
var __assign = (this && this.__assign) || function () {
__assign = Object.assign || function(t) {
for (var s, i = 1, n = arguments.length; i < n; i++) {
s = arguments[i];
for (var p in s) if (Object.prototype.hasOwnProperty.call(s, p))
t[p] = s[p];
}
return t;
};
return __assign.apply(this, arguments);
};
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
return new (P || (P = Promise))(function (resolve, reject) {
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
step((generator = generator.apply(thisArg, _arguments || [])).next());
});
};
var __generator = (this && this.__generator) || function (thisArg, body) {
var _ = { label: 0, sent: function() { if (t[0] & 1) throw t[1]; return t[1]; }, trys: [], ops: [] }, f, y, t, g;
return g = { next: verb(0), "throw": verb(1), "return": verb(2) }, typeof Symbol === "function" && (g[Symbol.iterator] = function() { return this; }), g;
function verb(n) { return function (v) { return step([n, v]); }; }
function step(op) {
if (f) throw new TypeError("Generator is already executing.");
while (_) try {
if (f = 1, y && (t = op[0] & 2 ? y["return"] : op[0] ? y["throw"] || ((t = y["return"]) && t.call(y), 0) : y.next) && !(t = t.call(y, op[1])).done) return t;
if (y = 0, t) op = [op[0] & 2, t.value];
switch (op[0]) {
case 0: case 1: t = op; break;
case 4: _.label++; return { value: op[1], done: false };
case 5: _.label++; y = op[1]; op = [0]; continue;
case 7: op = _.ops.pop(); _.trys.pop(); continue;
default:
if (!(t = _.trys, t = t.length > 0 && t[t.length - 1]) && (op[0] === 6 || op[0] === 2)) { _ = 0; continue; }
if (op[0] === 3 && (!t || (op[1] > t[0] && op[1] < t[3]))) { _.label = op[1]; break; }
if (op[0] === 6 && _.label < t[1]) { _.label = t[1]; t = op; break; }
if (t && _.label < t[2]) { _.label = t[2]; _.ops.push(op); break; }
if (t[2]) _.ops.pop();
_.trys.pop(); continue;
}
op = body.call(thisArg, _);
} catch (e) { op = [6, e]; y = 0; } finally { f = t = 0; }
if (op[0] & 5) throw op[1]; return { value: op[0] ? op[1] : void 0, done: true };
}
};
var __importDefault = (this && this.__importDefault) || function (mod) {
return (mod && mod.__esModule) ? mod : { "default": mod };
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.NewCommand = void 0;
var yargs_1 = __importDefault(require("yargs"));
var new_1 = require("../../actions/new");
var options_1 = require("../../cli/options");
var logger_1 = require("../../utils/logger");
var run_action_1 = require("../../utils/run-action");
var string_utils_1 = require("../../utils/string-utils");
exports.NewCommand = {
command: "new",
describe: "Generate a new changelog entry",
builder: __assign({ issueId: {
describe: "The issue ID to be interpolated into the new changelog. Takes precedence over parsing from git branch based on --branchFormat",
type: "string",
demandOption: false,
}, message: {
alias: "m",
describe: "The change log message, defaults to a placeholder message",
type: "string",
demandOption: false,
}, lastCommit: {
describe: "Use the first line of the most recent git commit message as the message for the new changelog entry",
type: "boolean",
demandOption: false,
conflicts: "message",
}, changeType: {
describe: "The change type tag to use, defaults to the first one defined in --changeTypes",
type: "string",
demandOption: false,
}, entryFileName: {
describe: "Pass a custom entry filename. If using a JS config file and this is a function, it will be passed an instance of `DateTime` from Luxon representing the current timestamp. See Luxon documentation for `DateTime` API.",
type: "string",
demandOption: false,
}, edit: {
describe: "After generating the changelog file, open it in `$EDITOR`, if `$EDITOR` is defined",
type: "boolean",
default: false,
demandOption: false,
}, preNew: {
describe: "A hook function to run before generating the changelog. Throw an error or return false to halt execution. Only usable from a Javascript config file. May be async.",
demandOption: false,
hidden: true,
}, postNew: {
describe: "A hook function to run after generating the changelog. Only usable from a Javascript config file. May be async.",
demandOption: false,
hidden: true,
} }, options_1.CliOptions),
handler: function (argv) { return __awaiter(void 0, void 0, void 0, function () {
return __generator(this, function (_a) {
switch (_a.label) {
case 0: return [4, run_action_1.runAction(function () { return __awaiter(void 0, void 0, void 0, function () {
var message, options;
var _a, _b, _c;
return __generator(this, function (_d) {
switch (_d.label) {
case 0:
if (argv.changeType && !argv.changeTypes.includes(argv.changeType)) {
message = "Invalid change type: " + argv.changeType;
logger_1.Logger.error(message);
yargs_1.default.exit(1, new Error(message));
return [2];
}
options = {
plumbing: argv.plumbing,
logsDir: argv.logsDir,
format: argv.format,
changeType: (_b = (_a = argv.changeType) !== null && _a !== void 0 ? _a : argv.changeTypes[0]) !== null && _b !== void 0 ? _b : string_utils_1.StringFormatParams.changeType,
issueId: argv.issueId,
gitBranchFormat: argv.branchFormat,
message: argv.message,
entryFileName: argv.entryFileName,
edit: (_c = argv.edit) !== null && _c !== void 0 ? _c : false,
preNew: argv.preNew,
postNew: argv.postNew,
};
return [4, new_1.ActionNew(options)];
case 1:
_d.sent();
return [2];
}
});
}); })];
case 1:
_a.sent();
return [2];
}
});
}); },
};
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmV3LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NsaS9jb21tYW5kcy9uZXcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxnREFBd0Q7QUFDeEQseUNBQWdFO0FBQ2hFLDZDQUEyRDtBQUUzRCw2Q0FBNEM7QUFDNUMscURBQW1EO0FBQ25ELHlEQUE4RDtBQVlqRCxRQUFBLFVBQVUsR0FHbkI7SUFDRixPQUFPLEVBQUUsS0FBSztJQUNkLFFBQVEsRUFBRSxnQ0FBZ0M7SUFDMUMsT0FBTyxhQUNMLE9BQU8sRUFBRTtZQUNQLFFBQVEsRUFDTiwrSEFBK0g7WUFDakksSUFBSSxFQUFFLFFBQVE7WUFDZCxZQUFZLEVBQUUsS0FBSztTQUNwQixFQUNELE9BQU8sRUFBRTtZQUNQLEtBQUssRUFBRSxHQUFHO1lBQ1YsUUFBUSxFQUFFLDJEQUEyRDtZQUNyRSxJQUFJLEVBQUUsUUFBUTtZQUNkLFlBQVksRUFBRSxLQUFLO1NBQ3BCLEVBQ0QsVUFBVSxFQUFFO1lBQ1YsUUFBUSxFQUNOLHFHQUFxRztZQUN2RyxJQUFJLEVBQUUsU0FBUztZQUNmLFlBQVksRUFBRSxLQUFLO1lBQ25CLFNBQVMsRUFBRSxTQUFTO1NBQ3JCLEVBQ0QsVUFBVSxFQUFFO1lBQ1YsUUFBUSxFQUNOLGdGQUFnRjtZQUNsRixJQUFJLEVBQUUsUUFBUTtZQUNkLFlBQVksRUFBRSxLQUFLO1NBQ3BCLEVBQ0QsYUFBYSxFQUFFO1lBQ2IsUUFBUSxFQUNOLHdOQUF3TjtZQUMxTixJQUFJLEVBQUUsUUFBUTtZQUNkLFlBQVksRUFBRSxLQUFLO1NBQ3BCLEVBQ0QsSUFBSSxFQUFFO1lBQ0osUUFBUSxFQUNOLG9GQUFvRjtZQUN0RixJQUFJLEVBQUUsU0FBUztZQUNmLE9BQU8sRUFBRSxLQUFLO1lBQ2QsWUFBWSxFQUFFLEtBQUs7U0FDcEIsRUFDRCxNQUFNLEVBQUU7WUFDTixRQUFRLEVBQ04sb0tBQW9LO1lBQ3RLLFlBQVksRUFBRSxLQUFLO1lBQ25CLE1BQU0sRUFBRSxJQUFJO1NBQ2IsRUFDRCxPQUFPLEVBQUU7WUFDUCxRQUFRLEVBQ04saUhBQWlIO1lBQ25ILFlBQVksRUFBRSxLQUFLO1lBQ25CLE1BQU0sRUFBRSxJQUFJO1NBQ2IsSUFDRSxvQkFBVSxDQUNkO0lBQ0QsT0FBTyxFQUFFLFVBQU8sSUFBa0M7Ozt3QkFDaEQsV0FBTSxzQkFBUyxDQUFDOzs7Ozs7b0NBQ2QsSUFBSSxJQUFJLENBQUMsVUFBVSxJQUFJLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxRQUFRLENBQUMsSUFBSSxDQUFDLFVBQVUsQ0FBQyxFQUFFO3dDQUM1RCxPQUFPLEdBQUcsMEJBQXdCLElBQUksQ0FBQyxVQUFZLENBQUM7d0NBQzFELGVBQU0sQ0FBQyxLQUFLLENBQUMsT0FBTyxDQUFDLENBQUM7d0NBQ3RCLGVBQUssQ0FBQyxJQUFJLENBQUMsQ0FBQyxFQUFFLElBQUksS0FBSyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUM7d0NBQ2xDLFdBQU87cUNBQ1I7b0NBRUssT0FBTyxHQUFxQjt3Q0FDaEMsUUFBUSxFQUFFLElBQUksQ0FBQyxRQUFRO3dDQUN2QixPQUFPLEVBQUUsSUFBSSxDQUFDLE9BQU87d0NBQ3JCLE1BQU0sRUFBRSxJQUFJLENBQUMsTUFBTTt3Q0FDbkIsVUFBVSxFQUNSLE1BQUEsTUFBQSxJQUFJLENBQUMsVUFBVSxtQ0FDZixJQUFJLENBQUMsV0FBVyxDQUFDLENBQUMsQ0FBQyxtQ0FDbkIsaUNBQWtCLENBQUMsVUFBVTt3Q0FDL0IsT0FBTyxFQUFFLElBQUksQ0FBQyxPQUFPO3dDQUNyQixlQUFlLEVBQUUsSUFBSSxDQUFDLFlBQVk7d0NBQ2xDLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTzt3Q0FDckIsYUFBYSxFQUFFLElBQUksQ0FBQyxhQUFhO3dDQUNqQyxJQUFJLEVBQUUsTUFBQSxJQUFJLENBQUMsSUFBSSxtQ0FBSSxLQUFLO3dDQUN4QixNQUFNLEVBQUUsSUFBSSxDQUFDLE1BQU07d0NBQ25CLE9BQU8sRUFBRSxJQUFJLENBQUMsT0FBTztxQ0FDdEIsQ0FBQztvQ0FFRixXQUFNLGVBQVMsQ0FBQyxPQUFPLENBQUMsRUFBQTs7b0NBQXhCLFNBQXdCLENBQUM7Ozs7eUJBQzFCLENBQUMsRUFBQTs7b0JBMUJGLFNBMEJFLENBQUM7Ozs7U0FDSjtDQUNGLENBQUMiLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeWFyZ3MsIHsgQXJndW1lbnRzLCBDb21tYW5kTW9kdWxlIH0gZnJvbSBcInlhcmdzXCI7XG5pbXBvcnQgeyBBY3Rpb25OZXcsIEFjdGlvbk5ld09wdGlvbnMgfSBmcm9tIFwiLi4vLi4vYWN0aW9ucy9uZXdcIjtcbmltcG9ydCB7IENsaU9wdGlvbnMsIEdsb2JhbEFyZ3YgfSBmcm9tIFwiLi4vLi4vY2xpL29wdGlvbnNcIjtcbmltcG9ydCB7IEhvb2sgfSBmcm9tIFwiLi4vLi4vdXRpbHMvaG9vay1oYW5kbGVyXCI7XG5pbXBvcnQgeyBMb2dnZXIgfSBmcm9tIFwiLi4vLi4vdXRpbHMvbG9nZ2VyXCI7XG5pbXBvcnQgeyBydW5BY3Rpb24gfSBmcm9tIFwiLi4vLi4vdXRpbHMvcnVuLWFjdGlvblwiO1xuaW1wb3J0IHsgU3RyaW5nRm9ybWF0UGFyYW1zIH0gZnJvbSBcIi4uLy4uL3V0aWxzL3N0cmluZy11dGlsc1wiO1xuXG5leHBvcnQgaW50ZXJmYWNlIE5ld0NvbW1hbmRPcHRpb25zIGV4dGVuZHMgR2xvYmFsQXJndiB7XG4gIGlzc3VlSWQ/OiBzdHJpbmc7XG4gIG1lc3NhZ2U/OiBzdHJpbmc7XG4gIGNoYW5nZVR5cGU/OiBzdHJpbmc7XG4gIGVkaXQ/OiBib29sZWFuO1xuICBwcmVOZXc/OiBIb29rO1xuICBwb3N0TmV3PzogSG9vaztcbiAgZW50cnlGaWxlTmFtZT86IHN0cmluZztcbn1cblxuZXhwb3J0IGNvbnN0IE5ld0NvbW1hbmQ6IENvbW1hbmRNb2R1bGU8XG4gIFJlY29yZDxzdHJpbmcsIHVua25vd24+LFxuICBOZXdDb21tYW5kT3B0aW9uc1xuPiA9IHtcbiAgY29tbWFuZDogXCJuZXdcIixcbiAgZGVzY3JpYmU6IFwiR2VuZXJhdGUgYSBuZXcgY2hhbmdlbG9nIGVudHJ5XCIsXG4gIGJ1aWxkZXI6IHtcbiAgICBpc3N1ZUlkOiB7XG4gICAgICBkZXNjcmliZTpcbiAgICAgICAgXCJUaGUgaXNzdWUgSUQgdG8gYmUgaW50ZXJwb2xhdGVkIGludG8gdGhlIG5ldyBjaGFuZ2Vsb2cuIFRha2VzIHByZWNlZGVuY2Ugb3ZlciBwYXJzaW5nIGZyb20gZ2l0IGJyYW5jaCBiYXNlZCBvbiAtLWJyYW5jaEZvcm1hdFwiLFxuICAgICAgdHlwZTogXCJzdHJpbmdcIixcbiAgICAgIGRlbWFuZE9wdGlvbjogZmFsc2UsXG4gICAgfSxcbiAgICBtZXNzYWdlOiB7XG4gICAgICBhbGlhczogXCJtXCIsXG4gICAgICBkZXNjcmliZTogXCJUaGUgY2hhbmdlIGxvZyBtZXNzYWdlLCBkZWZhdWx0cyB0byBhIHBsYWNlaG9sZGVyIG1lc3NhZ2VcIixcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICBkZW1hbmRPcHRpb246IGZhbHNlLFxuICAgIH0sXG4gICAgbGFzdENvbW1pdDoge1xuICAgICAgZGVzY3JpYmU6XG4gICAgICAgIFwiVXNlIHRoZSBmaXJzdCBsaW5lIG9mIHRoZSBtb3N0IHJlY2VudCBnaXQgY29tbWl0IG1lc3NhZ2UgYXMgdGhlIG1lc3NhZ2UgZm9yIHRoZSBuZXcgY2hhbmdlbG9nIGVudHJ5XCIsXG4gICAgICB0eXBlOiBcImJvb2xlYW5cIixcbiAgICAgIGRlbWFuZE9wdGlvbjogZmFsc2UsXG4gICAgICBjb25mbGljdHM6IFwibWVzc2FnZVwiLFxuICAgIH0sXG4gICAgY2hhbmdlVHlwZToge1xuICAgICAgZGVzY3JpYmU6XG4gICAgICAgIFwiVGhlIGNoYW5nZSB0eXBlIHRhZyB0byB1c2UsIGRlZmF1bHRzIHRvIHRoZSBmaXJzdCBvbmUgZGVmaW5lZCBpbiAtLWNoYW5nZVR5cGVzXCIsXG4gICAgICB0eXBlOiBcInN0cmluZ1wiLFxuICAgICAgZGVtYW5kT3B0aW9uOiBmYWxzZSxcbiAgICB9LFxuICAgIGVudHJ5RmlsZU5hbWU6IHtcbiAgICAgIGRlc2NyaWJlOlxuICAgICAgICBcIlBhc3MgYSBjdXN0b20gZW50cnkgZmlsZW5hbWUuIElmIHVzaW5nIGEgSlMgY29uZmlnIGZpbGUgYW5kIHRoaXMgaXMgYSBmdW5jdGlvbiwgaXQgd2lsbCBiZSBwYXNzZWQgYW4gaW5zdGFuY2Ugb2YgYERhdGVUaW1lYCBmcm9tIEx1eG9uIHJlcHJlc2VudGluZyB0aGUgY3VycmVudCB0aW1lc3RhbXAuIFNlZSBMdXhvbiBkb2N1bWVudGF0aW9uIGZvciBgRGF0ZVRpbWVgIEFQSS5cIixcbiAgICAgIHR5cGU6IFwic3RyaW5nXCIsXG4gICAgICBkZW1hbmRPcHRpb246IGZhbHNlLFxuICAgIH0sXG4gICAgZWRpdDoge1xuICAgICAgZGVzY3JpYmU6XG4gICAgICAgIFwiQWZ0ZXIgZ2VuZXJhdGluZyB0aGUgY2hhbmdlbG9nIGZpbGUsIG9wZW4gaXQgaW4gYCRFRElUT1JgLCBpZiBgJEVESVRPUmAgaXMgZGVmaW5lZFwiLFxuICAgICAgdHlwZTogXCJib29sZWFuXCIsXG4gICAgICBkZWZhdWx0OiBmYWxzZSxcbiAgICAgIGRlbWFuZE9wdGlvbjogZmFsc2UsXG4gICAgfSxcbiAgICBwcmVOZXc6IHtcbiAgICAgIGRlc2NyaWJlOlxuICAgICAgICBcIkEgaG9vayBmdW5jdGlvbiB0byBydW4gYmVmb3JlIGdlbmVyYXRpbmcgdGhlIGNoYW5nZWxvZy4gVGhyb3cgYW4gZXJyb3Igb3IgcmV0dXJuIGZhbHNlIHRvIGhhbHQgZXhlY3V0aW9uLiBPbmx5IHVzYWJsZSBmcm9tIGEgSmF2YXNjcmlwdCBjb25maWcgZmlsZS4gTWF5IGJlIGFzeW5jLlwiLFxuICAgICAgZGVtYW5kT3B0aW9uOiBmYWxzZSxcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB9LFxuICAgIHBvc3ROZXc6IHtcbiAgICAgIGRlc2NyaWJlOlxuICAgICAgICBcIkEgaG9vayBmdW5jdGlvbiB0byBydW4gYWZ0ZXIgZ2VuZXJhdGluZyB0aGUgY2hhbmdlbG9nLiBPbmx5IHVzYWJsZSBmcm9tIGEgSmF2YXNjcmlwdCBjb25maWcgZmlsZS4gTWF5IGJlIGFzeW5jLlwiLFxuICAgICAgZGVtYW5kT3B0aW9uOiBmYWxzZSxcbiAgICAgIGhpZGRlbjogdHJ1ZSxcbiAgICB9LFxuICAgIC4uLkNsaU9wdGlvbnMsXG4gIH0sXG4gIGhhbmRsZXI6IGFzeW5jIChhcmd2OiBBcmd1bWVudHM8TmV3Q29tbWFuZE9wdGlvbnM+KSA9PiB7XG4gICAgYXdhaXQgcnVuQWN0aW9uKGFzeW5jICgpID0+IHtcbiAgICAgIGlmIChhcmd2LmNoYW5nZVR5cGUgJiYgIWFyZ3YuY2hhbmdlVHlwZXMuaW5jbHVkZXMoYXJndi5jaGFuZ2VUeXBlKSkge1xuICAgICAgICBjb25zdCBtZXNzYWdlID0gYEludmFsaWQgY2hhbmdlIHR5cGU6ICR7YXJndi5jaGFuZ2VUeXBlfWA7XG4gICAgICAgIExvZ2dlci5lcnJvcihtZXNzYWdlKTtcbiAgICAgICAgeWFyZ3MuZXhpdCgxLCBuZXcgRXJyb3IobWVzc2FnZSkpO1xuICAgICAgICByZXR1cm47XG4gICAgICB9XG5cbiAgICAgIGNvbnN0IG9wdGlvbnM6IEFjdGlvbk5ld09wdGlvbnMgPSB7XG4gICAgICAgIHBsdW1iaW5nOiBhcmd2LnBsdW1iaW5nLFxuICAgICAgICBsb2dzRGlyOiBhcmd2LmxvZ3NEaXIsXG4gICAgICAgIGZvcm1hdDogYXJndi5mb3JtYXQsXG4gICAgICAgIGNoYW5nZVR5cGU6XG4gICAgICAgICAgYXJndi5jaGFuZ2VUeXBlID8/XG4gICAgICAgICAgYXJndi5jaGFuZ2VUeXBlc1swXSA/P1xuICAgICAgICAgIFN0cmluZ0Zvcm1hdFBhcmFtcy5jaGFuZ2VUeXBlLFxuICAgICAgICBpc3N1ZUlkOiBhcmd2Lmlzc3VlSWQsXG4gICAgICAgIGdpdEJyYW5jaEZvcm1hdDogYXJndi5icmFuY2hGb3JtYXQsXG4gICAgICAgIG1lc3NhZ2U6IGFyZ3YubWVzc2FnZSxcbiAgICAgICAgZW50cnlGaWxlTmFtZTogYXJndi5lbnRyeUZpbGVOYW1lLFxuICAgICAgICBlZGl0OiBhcmd2LmVkaXQgPz8gZmFsc2UsXG4gICAgICAgIHByZU5ldzogYXJndi5wcmVOZXcsXG4gICAgICAgIHBvc3ROZXc6IGFyZ3YucG9zdE5ldyxcbiAgICAgIH07XG5cbiAgICAgIGF3YWl0IEFjdGlvbk5ldyhvcHRpb25zKTtcbiAgICB9KTtcbiAgfSxcbn07XG4iXX0=