40 lines
1.2 KiB
JavaScript
Executable File
40 lines
1.2 KiB
JavaScript
Executable File
#!/usr/bin/env node
|
|
|
|
'use strict';
|
|
|
|
/**
|
|
* Just a small command-line wrapper around the conventional-changelog npm module
|
|
* (https://www.npmjs.com/package/conventional-changelog), which also prepends
|
|
* changes to CHANGELOG.md.
|
|
*
|
|
* Appends CHANGELOG.md with the changes between tag and HEAD.
|
|
* NOTE: only `fix`, `feat`, `perf` and `revert` commits are used
|
|
* see: https://github.com/conventional-changelog/conventional-changelog/blob/v0.2.1/presets/angular.js#L24
|
|
*/
|
|
|
|
var fs = require('fs');
|
|
var cl = require('conventional-changelog');
|
|
const exec = require('child_process').exec;
|
|
|
|
var changelogStream = fs.createWriteStream('CHANGELOG-delta.md');
|
|
|
|
if (process.argv.length < 3) {
|
|
console.log('Usage: ./scripts/publish/changelog.js <start-tag>');
|
|
process.exit(-1);
|
|
}
|
|
|
|
var config = {
|
|
preset: 'angular',
|
|
releaseCount: 1,
|
|
};
|
|
|
|
var prependDelta = function() {
|
|
exec('cat CHANGELOG-delta.md CHANGELOG.md > CHANGELOG-new.md;' +
|
|
'mv CHANGELOG-new.md CHANGELOG.md;' +
|
|
'rm CHANGELOG-delta.md');
|
|
}
|
|
|
|
cl(config, null, {from: process.argv[2]}).on('error', function(err) {
|
|
console.error('Failed to generate changelog: ' + err);
|
|
}).pipe(changelogStream).on('close', prependDelta);
|