conventional-changelog-writer
Version:
Write logs based on conventional commits and templates.
70 lines • 4.22 kB
JavaScript
import { pipeline } from 'stream/promises';
import meow from 'meow';
import { writeChangelog } from '../index.js';
import { loadDataFile, readCommitsFromFiles, readCommitsFromStdin } from './utils.js';
const cli = meow(`
Usage
conventional-changelog-writer <path> [<path> ...]
cat <path> | conventional-changelog-writer
,
Example
conventional-changelog-writer commits.ldjson
cat commits.ldjson | conventional-changelog-writer
,
Options
-c, --context A filepath of a json that is used to define template variables
-o, --options A filepath of a javascript object that is used to define options
`, {
importMeta: import.meta,
flags: {
context: {
shortFlag: 'c',
type: 'string'
},
options: {
shortFlag: 'o',
type: 'string'
}
}
});
const { context: contextPath, options: optionsPath } = cli.flags;
let context;
let options;
if (contextPath) {
try {
context = await loadDataFile(contextPath);
}
catch (err) {
console.error(`Failed to get context from file ${contextPath}:\n ${err}`);
process.exit(1);
}
}
if (optionsPath) {
try {
options = await loadDataFile(optionsPath);
}
catch (err) {
console.error(`Failed to get options from file ${optionsPath}:\n ${err}`);
process.exit(1);
}
}
let inputStream;
try {
if (cli.input.length) {
inputStream = readCommitsFromFiles(cli.input);
}
else if (process.stdin.isTTY) {
console.error('You must specify at least one line delimited json file');
process.exit(1);
}
else {
inputStream = readCommitsFromStdin();
}
await pipeline(inputStream, writeChangelog(context, options), process.stdout);
}
catch (err) {
console.error(err);
process.exit(1);
}
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFFMUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sRUFHTCxjQUFjLEVBQ2YsTUFBTSxhQUFhLENBQUE7QUFDcEIsT0FBTyxFQUNMLFlBQVksRUFDWixvQkFBb0IsRUFDcEIsb0JBQW9CLEVBQ3JCLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7O0NBWWhCLEVBQUU7SUFDRCxVQUFVLEVBQUUsT0FBTyxJQUFJO0lBQ3ZCLEtBQUssRUFBRTtRQUNMLE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxHQUFHO1lBQ2QsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxHQUFHO1lBQ2QsSUFBSSxFQUFFLFFBQVE7U0FDZjtLQUNGO0NBQ0YsQ0FBQyxDQUFBO0FBQ0YsTUFBTSxFQUNKLE9BQU8sRUFBRSxXQUFXLEVBQ3BCLE9BQU8sRUFBRSxXQUFXLEVBQ3JCLEdBQUcsR0FBRyxDQUFDLEtBQUssQ0FBQTtBQUNiLElBQUksT0FBb0MsQ0FBQTtBQUN4QyxJQUFJLE9BQTRCLENBQUE7QUFFaEMsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNoQixJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxXQUFXLFFBQVEsR0FBYSxFQUFFLENBQUMsQ0FBQTtRQUNwRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxXQUFXLEVBQUUsQ0FBQztJQUNoQixJQUFJLENBQUM7UUFDSCxPQUFPLEdBQUcsTUFBTSxZQUFZLENBQUMsV0FBVyxDQUFDLENBQUE7SUFDM0MsQ0FBQztJQUFDLE9BQU8sR0FBRyxFQUFFLENBQUM7UUFDYixPQUFPLENBQUMsS0FBSyxDQUFDLG1DQUFtQyxXQUFXLFFBQVEsR0FBYSxFQUFFLENBQUMsQ0FBQTtRQUNwRixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0lBQ2pCLENBQUM7QUFDSCxDQUFDO0FBRUQsSUFBSSxXQUE0QyxDQUFBO0FBRWhELElBQUksQ0FBQztJQUNILElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixXQUFXLEdBQUcsb0JBQW9CLENBQUMsR0FBRyxDQUFDLEtBQUssQ0FBQyxDQUFBO0lBQy9DLENBQUM7U0FDQyxJQUFJLE9BQU8sQ0FBQyxLQUFLLENBQUMsS0FBSyxFQUFFLENBQUM7UUFDeEIsT0FBTyxDQUFDLEtBQUssQ0FBQyx3REFBd0QsQ0FBQyxDQUFBO1FBQ3ZFLE9BQU8sQ0FBQyxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUE7SUFDakIsQ0FBQztTQUFNLENBQUM7UUFDTixXQUFXLEdBQUcsb0JBQW9CLEVBQUUsQ0FBQTtJQUN0QyxDQUFDO0lBRUgsTUFBTSxRQUFRLENBQ1osV0FBVyxFQUNYLGNBQWMsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLEVBQ2hDLE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQTtBQUNILENBQUM7QUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMifQ==