1 | #!/usr/bin/env node
|
2 |
|
3 | var changelog = require('conventional-changelog');
|
4 | var semver_regex = /\bv?(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)\.(?:0|[1-9][0-9]*)(?:-[\da-z\-]+(?:\.[\da-z\-]+)*)?(?:\+[\da-z\-]+(?:\.[\da-z\-]+)*)?\b/ig;
|
5 |
|
6 | const commitPartial = ` - {{header}}
|
7 |
|
8 | {{~!-- commit hash --}} {{#if @root.linkReferences}}([{{hash}}]({{#if @root.host}}{{@root.host}}/{{/if}}{{#if @root.owner}}{{@root.owner}}/{{/if}}{{@root.repository}}/{{@root.commit}}/{{hash}})){{else}}{{hash~}}{{/if}}
|
9 |
|
10 | {{~!-- commit references --}}{{#if references}}, closes{{~#each references}} {{#if @root.linkReferences}}[{{#if this.owner}}{{this.owner}}/{{/if}}{{this.repository}}#{{this.issue}}]({{#if @root.host}}{{@root.host}}/{{/if}}{{#if this.repository}}{{#if this.owner}}{{this.owner}}/{{/if}}{{this.repository}}{{else}}{{#if @root.owner}}{{@root.owner}}/{{/if}}{{@root.repository}}{{/if}}/{{@root.issue}}/{{this.issue}}){{else}}{{#if this.owner}}{{this.owner}}/{{/if}}{{this.repository}}#{{this.issue}}{{/if}}{{/each}}{{/if}}
|
11 | `;
|
12 |
|
13 | const headerPartial = `## {{version}}{{#if title}} "{{title}}"{{/if}}{{#if date}} - {{date}}{{/if}}
|
14 | `;
|
15 |
|
16 | changelog({
|
17 | releaseCount: 19,
|
18 | // preset: 'jshint'
|
19 | }, null, null, null, {
|
20 | transform: function (commit) {
|
21 | if (commit.header && semver_regex.exec(commit.header)) {
|
22 | return null;
|
23 | }
|
24 | return commit;
|
25 | },
|
26 | commitPartial: commitPartial,
|
27 | headerPartial: headerPartial
|
28 | }).pipe(process.stdout);
|