conventional-changelog-writer 8.2.0 → 8.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/cli/utils.d.ts +0 -2
- package/dist/cli/utils.d.ts.map +1 -1
- package/dist/cli/utils.js +2 -35
- package/dist/template.d.ts +3 -3
- package/dist/template.d.ts.map +1 -1
- package/dist/template.js +13 -19
- package/dist/templates.d.ts +5 -0
- package/dist/templates.d.ts.map +1 -0
- package/{templates/commit.hbs → dist/templates.js} +33 -1
- package/dist/writers.js +7 -7
- package/package.json +2 -1
- package/templates/footer.hbs +0 -10
- package/templates/header.hbs +0 -9
- package/templates/template.hbs +0 -11
package/README.md
CHANGED
|
@@ -18,7 +18,7 @@
|
|
|
18
18
|
[node-url]: https://nodejs.org
|
|
19
19
|
|
|
20
20
|
[deps]: https://img.shields.io/librariesio/release/npm/conventional-changelog-writer
|
|
21
|
-
[deps-url]: https://libraries.io/npm/conventional-changelog-writer
|
|
21
|
+
[deps-url]: https://libraries.io/npm/conventional-changelog-writer
|
|
22
22
|
|
|
23
23
|
[size]: https://packagephobia.com/badge?p=conventional-changelog-writer
|
|
24
24
|
[size-url]: https://packagephobia.com/result?p=conventional-changelog-writer
|
package/dist/cli/utils.d.ts
CHANGED
|
@@ -1,5 +1,3 @@
|
|
|
1
|
-
import type { Readable } from 'stream';
|
|
2
|
-
export declare function parseJsonStream<T>(stream: Readable): AsyncGenerator<Awaited<T>, void, unknown>;
|
|
3
1
|
export declare function readCommitsFromFiles<T>(files: string[]): AsyncGenerator<Awaited<T>, void, unknown>;
|
|
4
2
|
export declare function readCommitsFromStdin<T>(): AsyncGenerator<Awaited<T>, void, unknown>;
|
|
5
3
|
export declare function loadDataFile(filePath: string): Promise<object>;
|
package/dist/cli/utils.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAKA,wBAAuB,oBAAoB,CAAC,CAAC,EAAE,KAAK,EAAE,MAAM,EAAE,6CAQ7D;AAED,wBAAgB,oBAAoB,CAAC,CAAC,+CAErC;AAMD,wBAAsB,YAAY,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAWpE"}
|
package/dist/cli/utils.js
CHANGED
|
@@ -1,40 +1,7 @@
|
|
|
1
1
|
import { resolve, extname } from 'path';
|
|
2
2
|
import { pathToFileURL } from 'url';
|
|
3
3
|
import { readFile } from 'fs/promises';
|
|
4
|
-
|
|
5
|
-
export async function* parseJsonStream(stream) {
|
|
6
|
-
let chunk;
|
|
7
|
-
let payload;
|
|
8
|
-
let buffer = '';
|
|
9
|
-
let json;
|
|
10
|
-
for await (chunk of stream) {
|
|
11
|
-
buffer += chunk.toString();
|
|
12
|
-
if (NEWLINE.test(buffer)) {
|
|
13
|
-
payload = buffer.split(NEWLINE);
|
|
14
|
-
buffer = payload.pop() || '';
|
|
15
|
-
for (json of payload) {
|
|
16
|
-
try {
|
|
17
|
-
yield JSON.parse(json);
|
|
18
|
-
}
|
|
19
|
-
catch (err) {
|
|
20
|
-
throw new Error('Failed to split commits', {
|
|
21
|
-
cause: err
|
|
22
|
-
});
|
|
23
|
-
}
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
}
|
|
27
|
-
if (buffer) {
|
|
28
|
-
try {
|
|
29
|
-
yield JSON.parse(buffer);
|
|
30
|
-
}
|
|
31
|
-
catch (err) {
|
|
32
|
-
throw new Error('Failed to split commits', {
|
|
33
|
-
cause: err
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
}
|
|
37
|
-
}
|
|
4
|
+
import { parseJsonStream } from '@simple-libs/stream-utils';
|
|
38
5
|
export async function* readCommitsFromFiles(files) {
|
|
39
6
|
for (const file of files) {
|
|
40
7
|
try {
|
|
@@ -61,4 +28,4 @@ export async function loadDataFile(filePath) {
|
|
|
61
28
|
// eslint-disable-next-line @typescript-eslint/no-unsafe-member-access
|
|
62
29
|
return (await import(resolvedFilePath)).default;
|
|
63
30
|
}
|
|
64
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
31
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFM0QsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUksS0FBZTtJQUM1RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQU0sQ0FBQTtRQUNyRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxlQUFlLENBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFnQjtJQUN2QyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDeEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCO0lBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRWhELElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBVyxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsc0VBQXNFO0lBQ3RFLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBaUIsQ0FBQTtBQUMzRCxDQUFDIn0=
|
package/dist/template.d.ts
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
import type { TemplatesOptions, FinalTemplatesOptions, FinalContext, FinalOptions, CommitKnownProps, TransformedCommit } from './types/index.js';
|
|
2
2
|
/**
|
|
3
|
-
* Load templates from
|
|
3
|
+
* Load templates from options or fall back to built-in defaults.
|
|
4
4
|
* @param options
|
|
5
5
|
* @returns Templates strings object.
|
|
6
6
|
*/
|
|
7
|
-
export declare function loadTemplates(options?: TemplatesOptions):
|
|
7
|
+
export declare function loadTemplates(options?: TemplatesOptions): FinalTemplatesOptions;
|
|
8
8
|
/**
|
|
9
9
|
* Compile Handlebars templates.
|
|
10
10
|
* @param templates
|
|
@@ -17,5 +17,5 @@ export declare function compileTemplates(templates: FinalTemplatesOptions): Hand
|
|
|
17
17
|
* @param options
|
|
18
18
|
* @returns Template render function.
|
|
19
19
|
*/
|
|
20
|
-
export declare function createTemplateRenderer<Commit extends CommitKnownProps = CommitKnownProps>(context: FinalContext<Commit>, options: FinalOptions<Commit>): (commits: TransformedCommit<Commit>[], keyCommit: Commit | null) => Promise<string>;
|
|
20
|
+
export declare function createTemplateRenderer<Commit extends CommitKnownProps = CommitKnownProps>(context: FinalContext<Commit>, options: FinalOptions<Commit>): (commits: TransformedCommit<Commit>[], keyCommit: Commit | null, subsequent?: boolean) => Promise<string>;
|
|
21
21
|
//# sourceMappingURL=template.d.ts.map
|
package/dist/template.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAEA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,kBAAkB,CAAA;AASzB;;;;GAIG;AACH,wBAAgB,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,qBAAqB,CAOnF;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,qBAAqB,mCAwBhE;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACvF,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,EAC7B,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,IAM3B,SAAS,iBAAiB,CAAC,MAAM,CAAC,EAAE,EACpC,WAAW,MAAM,GAAG,IAAI,EACxB,aAAa,OAAO,qBA2BvB"}
|
package/dist/template.js
CHANGED
|
@@ -1,27 +1,18 @@
|
|
|
1
|
-
import { join } from 'path';
|
|
2
|
-
import { fileURLToPath } from 'url';
|
|
3
|
-
import { readFile } from 'fs/promises';
|
|
4
1
|
import Handlebars from 'handlebars';
|
|
5
2
|
import { filterRevertedCommitsSync } from 'conventional-commits-filter';
|
|
6
3
|
import { getTemplateContext } from './context.js';
|
|
7
|
-
|
|
4
|
+
import { mainTemplate, headerPartial, commitPartial, footerPartial } from './templates.js';
|
|
8
5
|
/**
|
|
9
|
-
* Load templates from
|
|
6
|
+
* Load templates from options or fall back to built-in defaults.
|
|
10
7
|
* @param options
|
|
11
8
|
* @returns Templates strings object.
|
|
12
9
|
*/
|
|
13
|
-
export
|
|
14
|
-
const [mainTemplate, headerPartial, commitPartial, footerPartial] = await Promise.all([
|
|
15
|
-
options.mainTemplate || readFile(join(dirname, '..', 'templates', 'template.hbs'), 'utf-8'),
|
|
16
|
-
options.headerPartial || readFile(join(dirname, '..', 'templates', 'header.hbs'), 'utf-8'),
|
|
17
|
-
options.commitPartial || readFile(join(dirname, '..', 'templates', 'commit.hbs'), 'utf-8'),
|
|
18
|
-
options.footerPartial || readFile(join(dirname, '..', 'templates', 'footer.hbs'), 'utf-8')
|
|
19
|
-
]);
|
|
10
|
+
export function loadTemplates(options = {}) {
|
|
20
11
|
return {
|
|
21
|
-
mainTemplate,
|
|
22
|
-
headerPartial,
|
|
23
|
-
commitPartial,
|
|
24
|
-
footerPartial
|
|
12
|
+
mainTemplate: options.mainTemplate || mainTemplate,
|
|
13
|
+
headerPartial: options.headerPartial || headerPartial,
|
|
14
|
+
commitPartial: options.commitPartial || commitPartial,
|
|
15
|
+
footerPartial: options.footerPartial || footerPartial
|
|
25
16
|
};
|
|
26
17
|
}
|
|
27
18
|
/**
|
|
@@ -54,7 +45,7 @@ export function compileTemplates(templates) {
|
|
|
54
45
|
export function createTemplateRenderer(context, options) {
|
|
55
46
|
const { ignoreReverted } = options;
|
|
56
47
|
const template = compileTemplates(options);
|
|
57
|
-
return async (commits, keyCommit) => {
|
|
48
|
+
return async (commits, keyCommit, subsequent) => {
|
|
58
49
|
const notes = [];
|
|
59
50
|
const commitsForTemplate = (ignoreReverted
|
|
60
51
|
? Array.from(filterRevertedCommitsSync(commits))
|
|
@@ -70,7 +61,10 @@ export function createTemplateRenderer(context, options) {
|
|
|
70
61
|
})
|
|
71
62
|
}));
|
|
72
63
|
const templateContext = await getTemplateContext(keyCommit, commits, commitsForTemplate, notes, context, options);
|
|
73
|
-
|
|
64
|
+
const rendered = template(templateContext).trim();
|
|
65
|
+
return rendered.length > 0
|
|
66
|
+
? `${subsequent ? '\n' : ''}${rendered}\n`
|
|
67
|
+
: '';
|
|
74
68
|
};
|
|
75
69
|
}
|
|
76
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBVXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNqRCxPQUFPLEVBQ0wsWUFBWSxFQUNaLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxFQUNkLE1BQU0sZ0JBQWdCLENBQUE7QUFFdkI7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxhQUFhLENBQUMsVUFBNEIsRUFBRTtJQUMxRCxPQUFPO1FBQ0wsWUFBWSxFQUFFLE9BQU8sQ0FBQyxZQUFZLElBQUksWUFBWTtRQUNsRCxhQUFhLEVBQUUsT0FBTyxDQUFDLGFBQWEsSUFBSSxhQUFhO1FBQ3JELGFBQWEsRUFBRSxPQUFPLENBQUMsYUFBYSxJQUFJLGFBQWE7UUFDckQsYUFBYSxFQUFFLE9BQU8sQ0FBQyxhQUFhLElBQUksYUFBYTtLQUN0RCxDQUFBO0FBQ0gsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsZ0JBQWdCLENBQUMsU0FBZ0M7SUFDL0QsTUFBTSxFQUNKLFlBQVksRUFDWixhQUFhLEVBQ2IsYUFBYSxFQUNiLGFBQWEsRUFDYixRQUFRLEVBQ1QsR0FBRyxTQUFTLENBQUE7SUFFYixVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNuRCxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUNuRCxVQUFVLENBQUMsZUFBZSxDQUFDLFFBQVEsRUFBRSxhQUFhLENBQUMsQ0FBQTtJQUVuRCxJQUFJLFFBQVEsRUFBRSxDQUFDO1FBQ2IsTUFBTSxDQUFDLE9BQU8sQ0FBQyxRQUFRLENBQUMsQ0FBQyxPQUFPLENBQUMsQ0FBQyxDQUFDLElBQUksRUFBRSxPQUFPLENBQUMsRUFBRSxFQUFFO1lBQ25ELElBQUksT0FBTyxPQUFPLEtBQUssUUFBUSxFQUFFLENBQUM7Z0JBQ2hDLFVBQVUsQ0FBQyxlQUFlLENBQUMsSUFBSSxFQUFFLE9BQU8sQ0FBQyxDQUFBO1lBQzNDLENBQUM7UUFDSCxDQUFDLENBQUMsQ0FBQTtJQUNKLENBQUM7SUFFRCxPQUFPLFVBQVUsQ0FBQyxPQUFPLENBQUMsWUFBWSxFQUFFO1FBQ3RDLFFBQVEsRUFBRSxJQUFJO0tBQ2YsQ0FBQyxDQUFBO0FBQ0osQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxPQUE2QixFQUM3QixPQUE2QjtJQUU3QixNQUFNLEVBQUUsY0FBYyxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBQ2xDLE1BQU0sUUFBUSxHQUFHLGdCQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBRTFDLE9BQU8sS0FBSyxFQUNWLE9BQW9DLEVBQ3BDLFNBQXdCLEVBQ3hCLFVBQW9CLEVBQ3BCLEVBQUU7UUFDRixNQUFNLEtBQUssR0FBaUIsRUFBRSxDQUFBO1FBQzlCLE1BQU0sa0JBQWtCLEdBQUcsQ0FDekIsY0FBYztZQUNaLENBQUMsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLHlCQUF5QixDQUFDLE9BQU8sQ0FBQyxDQUFDO1lBQ2hELENBQUMsQ0FBQyxPQUFPLENBQ1osQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQyxDQUFDO1lBQ2YsR0FBRyxNQUFNO1lBQ1QsS0FBSyxFQUFFLE1BQU0sQ0FBQyxLQUFLLENBQUMsR0FBRyxDQUFDLENBQUMsSUFBSSxFQUFFLEVBQUU7Z0JBQy9CLE1BQU0sVUFBVSxHQUFHO29CQUNqQixHQUFHLElBQUk7b0JBQ1AsTUFBTTtpQkFDUCxDQUFBO2dCQUVELEtBQUssQ0FBQyxJQUFJLENBQUMsVUFBVSxDQUFDLENBQUE7Z0JBRXRCLE9BQU8sVUFBVSxDQUFBO1lBQ25CLENBQUMsQ0FBQztTQUNILENBQUMsQ0FBQyxDQUFBO1FBQ0gsTUFBTSxlQUFlLEdBQUcsTUFBTSxrQkFBa0IsQ0FBQyxTQUFTLEVBQUUsT0FBTyxFQUFFLGtCQUFrQixFQUFFLEtBQUssRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7UUFDakgsTUFBTSxRQUFRLEdBQUcsUUFBUSxDQUFDLGVBQWUsQ0FBQyxDQUFDLElBQUksRUFBRSxDQUFBO1FBRWpELE9BQU8sUUFBUSxDQUFDLE1BQU0sR0FBRyxDQUFDO1lBQ3hCLENBQUMsQ0FBQyxHQUFHLFVBQVUsQ0FBQyxDQUFDLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxFQUFFLEdBQUcsUUFBUSxJQUFJO1lBQzFDLENBQUMsQ0FBQyxFQUFFLENBQUE7SUFDUixDQUFDLENBQUE7QUFDSCxDQUFDIn0=
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export declare const mainTemplate = "{{> header}}\n\n{{#each commitGroups}}\n{{#each commits}}\n{{> commit root=@root}}\n{{/each}}\n{{/each}}\n{{> footer}}\n";
|
|
2
|
+
export declare const headerPartial = "## {{#if isPatch~}} <small>\n {{~/if~}} {{version}}\n {{~#if title}} \"{{title}}\"\n {{~/if~}}\n {{~#if date}} ({{date}})\n {{~/if~}}\n {{~#if isPatch~}} </small>\n {{~/if}}\n\n";
|
|
3
|
+
export declare const commitPartial = "* {{header}}\n\n{{~!-- commit link --}}\n{{~#if @root.linkReferences}} ([{{hash}}](\n {{~#if @root.repository}}\n {{~#if @root.host}}\n {{~@root.host}}/\n {{~/if}}\n {{~#if @root.owner}}\n {{~@root.owner}}/\n {{~/if}}\n {{~@root.repository}}\n {{~else}}\n {{~@root.repoUrl}}\n {{~/if}}/\n {{~@root.commit}}/{{hash}}))\n{{~else if hash}} {{hash}}{{~/if}}\n\n{{~!-- commit references --}}\n{{~#if references~}}\n , closes\n {{~#each references}} {{#if @root.linkReferences~}}\n [\n {{~#if this.owner}}\n {{~this.owner}}/\n {{~/if}}\n {{~this.repository}}#{{this.issue}}](\n {{~#if @root.repository}}\n {{~#if @root.host}}\n {{~@root.host}}/\n {{~/if}}\n {{~#if this.repository}}\n {{~#if this.owner}}\n {{~this.owner}}/\n {{~/if}}\n {{~this.repository}}\n {{~else}}\n {{~#if @root.owner}}\n {{~@root.owner}}/\n {{~/if}}\n {{~@root.repository}}\n {{~/if}}\n {{~else}}\n {{~@root.repoUrl}}\n {{~/if}}/\n {{~@root.issue}}/{{this.issue}})\n {{~else}}\n {{~#if this.owner}}\n {{~this.owner}}/\n {{~/if}}\n {{~this.repository}}#{{this.issue}}\n {{~/if}}{{/each}}\n{{~/if}}\n\n";
|
|
4
|
+
export declare const footerPartial = "{{#if noteGroups}}\n{{#each noteGroups}}\n\n### {{title}}\n\n{{#each notes}}\n* {{text}}\n{{/each}}\n{{/each}}\n{{/if}}\n";
|
|
5
|
+
//# sourceMappingURL=templates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"templates.d.ts","sourceRoot":"","sources":["../src/templates.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,YAAY,6HAQxB,CAAA;AAED,eAAO,MAAM,aAAa,6LASzB,CAAA;AAED,eAAO,MAAM,aAAa,quCAsDzB,CAAA;AAED,eAAO,MAAM,aAAa,8HAUzB,CAAA"}
|
|
@@ -1,4 +1,23 @@
|
|
|
1
|
-
|
|
1
|
+
export const mainTemplate = `{{> header}}
|
|
2
|
+
|
|
3
|
+
{{#each commitGroups}}
|
|
4
|
+
{{#each commits}}
|
|
5
|
+
{{> commit root=@root}}
|
|
6
|
+
{{/each}}
|
|
7
|
+
{{/each}}
|
|
8
|
+
{{> footer}}
|
|
9
|
+
`;
|
|
10
|
+
export const headerPartial = `## {{#if isPatch~}} <small>
|
|
11
|
+
{{~/if~}} {{version}}
|
|
12
|
+
{{~#if title}} "{{title}}"
|
|
13
|
+
{{~/if~}}
|
|
14
|
+
{{~#if date}} ({{date}})
|
|
15
|
+
{{~/if~}}
|
|
16
|
+
{{~#if isPatch~}} </small>
|
|
17
|
+
{{~/if}}
|
|
18
|
+
|
|
19
|
+
`;
|
|
20
|
+
export const commitPartial = `* {{header}}
|
|
2
21
|
|
|
3
22
|
{{~!-- commit link --}}
|
|
4
23
|
{{~#if @root.linkReferences}} ([{{hash}}](
|
|
@@ -52,3 +71,16 @@
|
|
|
52
71
|
{{~/if}}{{/each}}
|
|
53
72
|
{{~/if}}
|
|
54
73
|
|
|
74
|
+
`;
|
|
75
|
+
export const footerPartial = `{{#if noteGroups}}
|
|
76
|
+
{{#each noteGroups}}
|
|
77
|
+
|
|
78
|
+
### {{title}}
|
|
79
|
+
|
|
80
|
+
{{#each notes}}
|
|
81
|
+
* {{text}}
|
|
82
|
+
{{/each}}
|
|
83
|
+
{{/each}}
|
|
84
|
+
{{/if}}
|
|
85
|
+
`;
|
|
86
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGVzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL3RlbXBsYXRlcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUc7Ozs7Ozs7O0NBUTNCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7OztDQVM1QixDQUFBO0FBRUQsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0FzRDVCLENBQUE7QUFFRCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUc7Ozs7Ozs7Ozs7Q0FVNUIsQ0FBQSJ9
|
package/dist/writers.js
CHANGED
|
@@ -3,8 +3,8 @@ import { loadTemplates, createTemplateRenderer } from './template.js';
|
|
|
3
3
|
import { getFinalContext } from './context.js';
|
|
4
4
|
import { getFinalOptions, getGenerateOnFunction } from './options.js';
|
|
5
5
|
import { transformCommit } from './commit.js';
|
|
6
|
-
|
|
7
|
-
const templates =
|
|
6
|
+
function getRequirements(context = {}, options = {}) {
|
|
7
|
+
const templates = loadTemplates(options);
|
|
8
8
|
const finalOptions = getFinalOptions(options, templates);
|
|
9
9
|
const finalContext = getFinalContext(context, finalOptions);
|
|
10
10
|
const generateOn = getGenerateOnFunction(finalContext, finalOptions);
|
|
@@ -32,7 +32,7 @@ export function writeChangelog(context = {}, options = {}, includeDetails = fals
|
|
|
32
32
|
let keyCommit;
|
|
33
33
|
let commitsGroup = [];
|
|
34
34
|
let neverGenerated = true;
|
|
35
|
-
let result;
|
|
35
|
+
let result = '';
|
|
36
36
|
let savedKeyCommit = null;
|
|
37
37
|
let firstRelease = true;
|
|
38
38
|
for await (chunk of commits) {
|
|
@@ -48,7 +48,7 @@ export function writeChangelog(context = {}, options = {}, includeDetails = fals
|
|
|
48
48
|
}
|
|
49
49
|
if (generateOn(keyCommit, commitsGroup)) {
|
|
50
50
|
neverGenerated = false;
|
|
51
|
-
result = await renderTemplate(commitsGroup, keyCommit);
|
|
51
|
+
result = await renderTemplate(commitsGroup, keyCommit, result.length > 0);
|
|
52
52
|
commitsGroup = [];
|
|
53
53
|
yield prepResult(result, keyCommit);
|
|
54
54
|
}
|
|
@@ -56,7 +56,7 @@ export function writeChangelog(context = {}, options = {}, includeDetails = fals
|
|
|
56
56
|
else {
|
|
57
57
|
if (generateOn(keyCommit, commitsGroup)) {
|
|
58
58
|
neverGenerated = false;
|
|
59
|
-
result = await renderTemplate(commitsGroup, savedKeyCommit);
|
|
59
|
+
result = await renderTemplate(commitsGroup, savedKeyCommit, result.length > 0);
|
|
60
60
|
commitsGroup = [];
|
|
61
61
|
if (!firstRelease || doFlush) {
|
|
62
62
|
yield prepResult(result, savedKeyCommit);
|
|
@@ -72,7 +72,7 @@ export function writeChangelog(context = {}, options = {}, includeDetails = fals
|
|
|
72
72
|
if (!doFlush && (reverse || neverGenerated)) {
|
|
73
73
|
return;
|
|
74
74
|
}
|
|
75
|
-
result = await renderTemplate(commitsGroup, savedKeyCommit);
|
|
75
|
+
result = await renderTemplate(commitsGroup, savedKeyCommit, result.length > 0);
|
|
76
76
|
yield prepResult(result, savedKeyCommit);
|
|
77
77
|
};
|
|
78
78
|
}
|
|
@@ -102,4 +102,4 @@ export async function writeChangelogString(commits, context, options) {
|
|
|
102
102
|
}
|
|
103
103
|
return changelog;
|
|
104
104
|
}
|
|
105
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
105
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93cml0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFRbEMsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsRUFDdkIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTdDLFNBQVMsZUFBZSxDQUd0QixVQUEyQixFQUFFLEVBQzdCLFVBQTJCLEVBQUU7SUFFN0IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDeEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMzRCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDcEUsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBRXpFLE9BQU87UUFDTCxZQUFZO1FBQ1osWUFBWTtRQUNaLFVBQVU7UUFDVixjQUFjO0tBQ2YsQ0FBQTtBQUNILENBQUM7QUF5QkQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsVUFBMkIsRUFBRSxFQUM3QixVQUEyQixFQUFFLEVBQzdCLGNBQWMsR0FBRyxLQUFLO0lBRXRCLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFVBQVUsR0FBRyxjQUFjO1FBQy9CLENBQUMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxTQUF3QixFQUFFLEVBQUUsQ0FBQyxDQUFDO1lBQzVDLEdBQUc7WUFDSCxTQUFTO1NBQ1YsQ0FBQztRQUNGLENBQUMsQ0FBQyxDQUFDLEdBQVcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFBO0lBRXhCLE9BQU8sS0FBSyxTQUFTLENBQUMsQ0FBQyxLQUFLLENBQzFCLE9BQWlEO1FBRWpELE1BQU0sRUFDSixZQUFZLEVBQ1osWUFBWSxFQUNaLFVBQVUsRUFDVixjQUFjLEVBQ2YsR0FBRyxNQUFNLG1CQUFtQixDQUFBO1FBQzdCLE1BQU0sRUFDSixTQUFTLEVBQ1QsT0FBTyxFQUNQLE9BQU8sRUFDUCxJQUFJLEVBQ0wsR0FBRyxZQUFZLENBQUE7UUFDaEIsSUFBSSxLQUFhLENBQUE7UUFDakIsSUFBSSxNQUF3QyxDQUFBO1FBQzVDLElBQUksU0FBd0IsQ0FBQTtRQUM1QixJQUFJLFlBQVksR0FBZ0MsRUFBRSxDQUFBO1FBQ2xELElBQUksY0FBYyxHQUFHLElBQUksQ0FBQTtRQUN6QixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7UUFDZixJQUFJLGNBQWMsR0FBa0IsSUFBSSxDQUFBO1FBQ3hDLElBQUksWUFBWSxHQUFHLElBQUksQ0FBQTtRQUV2QixJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksT0FBTyxFQUFFLENBQUM7WUFDNUIsTUFBTSxHQUFHLE1BQU0sZUFBZSxDQUFDLEtBQUssRUFBRSxTQUFTLEVBQUUsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO1lBQzVFLFNBQVMsR0FBRyxNQUFNLElBQUksS0FBSyxDQUFBO1lBRTNCLElBQUksSUFBSSxFQUFFLENBQUMsU0FBUyxDQUFDLEVBQUUsQ0FBQztnQkFDdEIsU0FBUTtZQUNWLENBQUM7WUFFRCwwQkFBMEI7WUFDMUIsSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDWixJQUFJLE1BQU0sRUFBRSxDQUFDO29CQUNYLFlBQVksQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7Z0JBQzNCLENBQUM7Z0JBRUQsSUFBSSxVQUFVLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxFQUFFLENBQUM7b0JBQ3hDLGNBQWMsR0FBRyxLQUFLLENBQUE7b0JBQ3RCLE1BQU0sR0FBRyxNQUFNLGNBQWMsQ0FBQyxZQUFZLEVBQUUsU0FBUyxFQUFFLE1BQU0sQ0FBQyxNQUFNLEdBQUcsQ0FBQyxDQUFDLENBQUE7b0JBQ3pFLFlBQVksR0FBRyxFQUFFLENBQUE7b0JBRWpCLE1BQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxTQUFTLENBQUMsQ0FBQTtnQkFDckMsQ0FBQztZQUNILENBQUM7aUJBQU0sQ0FBQztnQkFDTixJQUFJLFVBQVUsQ0FBQyxTQUFTLEVBQUUsWUFBWSxDQUFDLEVBQUUsQ0FBQztvQkFDeEMsY0FBYyxHQUFHLEtBQUssQ0FBQTtvQkFDdEIsTUFBTSxHQUFHLE1BQU0sY0FBYyxDQUFDLFlBQVksRUFBRSxjQUFjLEVBQUUsTUFBTSxDQUFDLE1BQU0sR0FBRyxDQUFDLENBQUMsQ0FBQTtvQkFDOUUsWUFBWSxHQUFHLEVBQUUsQ0FBQTtvQkFFakIsSUFBSSxDQUFDLFlBQVksSUFBSSxPQUFPLEVBQUUsQ0FBQzt3QkFDN0IsTUFBTSxVQUFVLENBQUMsTUFBTSxFQUFFLGNBQWMsQ0FBQyxDQUFBO29CQUMxQyxDQUFDO29CQUVELFlBQVksR0FBRyxLQUFLLENBQUE7b0JBQ3BCLGNBQWMsR0FBRyxTQUFTLENBQUE7Z0JBQzVCLENBQUM7Z0JBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztvQkFDWCxZQUFZLENBQUMsSUFBSSxDQUFDLE1BQU0sQ0FBQyxDQUFBO2dCQUMzQixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7UUFFRCxJQUFJLENBQUMsT0FBTyxJQUFJLENBQUMsT0FBTyxJQUFJLGNBQWMsQ0FBQyxFQUFFLENBQUM7WUFDNUMsT0FBTTtRQUNSLENBQUM7UUFFRCxNQUFNLEdBQUcsTUFBTSxjQUFjLENBQUMsWUFBWSxFQUFFLGNBQWMsRUFBRSxNQUFNLENBQUMsTUFBTSxHQUFHLENBQUMsQ0FBQyxDQUFBO1FBRTlFLE1BQU0sVUFBVSxDQUFDLE1BQU0sRUFBRSxjQUFjLENBQUMsQ0FBQTtJQUMxQyxDQUFDLENBQUE7QUFDSCxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxVQUFVLG9CQUFvQixDQUNsQyxPQUF5QixFQUN6QixPQUF5QixFQUN6QixjQUFjLEdBQUcsS0FBSztJQUV0QixPQUFPLFNBQVMsQ0FBQyxJQUFJLENBQUMsY0FBYyxDQUFDLE9BQU8sRUFBRSxPQUFPLEVBQUUsY0FBYyxDQUFDLENBQUMsQ0FBQTtBQUN6RSxDQUFDO0FBRUQ7Ozs7OztHQU1HO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxvQkFBb0IsQ0FDeEMsT0FBaUQsRUFDakQsT0FBeUIsRUFDekIsT0FBeUI7SUFFekIsTUFBTSxzQkFBc0IsR0FBRyxjQUFjLENBQUMsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hFLElBQUksU0FBUyxHQUFHLEVBQUUsQ0FBQTtJQUNsQixJQUFJLEtBQWEsQ0FBQTtJQUVqQixJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksc0JBQXNCLEVBQUUsQ0FBQztRQUMzQyxTQUFTLElBQUksS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxPQUFPLFNBQVMsQ0FBQTtBQUNsQixDQUFDIn0=
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conventional-changelog-writer",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "8.
|
|
4
|
+
"version": "8.4.0",
|
|
5
5
|
"description": "Write logs based on conventional commits and templates.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Steve Mao",
|
|
@@ -40,6 +40,7 @@
|
|
|
40
40
|
"templates/*.hbs"
|
|
41
41
|
],
|
|
42
42
|
"dependencies": {
|
|
43
|
+
"@simple-libs/stream-utils": "^1.2.0",
|
|
43
44
|
"handlebars": "^4.7.7",
|
|
44
45
|
"meow": "^13.0.0",
|
|
45
46
|
"semver": "^7.5.2",
|
package/templates/footer.hbs
DELETED
package/templates/header.hbs
DELETED