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 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/tree
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
@@ -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>;
@@ -1 +1 @@
1
- {"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/cli/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,QAAQ,CAAA;AAOtC,wBAAuB,eAAe,CAAC,CAAC,EAAE,MAAM,EAAE,QAAQ,6CAkCzD;AAED,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"}
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
- const NEWLINE = /\r?\n/;
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUNBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUV0QyxNQUFNLE9BQU8sR0FBRyxPQUFPLENBQUE7QUFFdkIsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsZUFBZSxDQUFJLE1BQWdCO0lBQ3hELElBQUksS0FBYSxDQUFBO0lBQ2pCLElBQUksT0FBaUIsQ0FBQTtJQUNyQixJQUFJLE1BQU0sR0FBRyxFQUFFLENBQUE7SUFDZixJQUFJLElBQVksQ0FBQTtJQUVoQixJQUFJLEtBQUssRUFBRSxLQUFLLElBQUksTUFBTSxFQUFFLENBQUM7UUFDM0IsTUFBTSxJQUFJLEtBQUssQ0FBQyxRQUFRLEVBQUUsQ0FBQTtRQUUxQixJQUFJLE9BQU8sQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLEVBQUUsQ0FBQztZQUN6QixPQUFPLEdBQUcsTUFBTSxDQUFDLEtBQUssQ0FBQyxPQUFPLENBQUMsQ0FBQTtZQUMvQixNQUFNLEdBQUcsT0FBTyxDQUFDLEdBQUcsRUFBRSxJQUFJLEVBQUUsQ0FBQTtZQUU1QixLQUFLLElBQUksSUFBSSxPQUFPLEVBQUUsQ0FBQztnQkFDckIsSUFBSSxDQUFDO29CQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxJQUFJLENBQU0sQ0FBQTtnQkFDN0IsQ0FBQztnQkFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO29CQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEVBQUU7d0JBQ3pDLEtBQUssRUFBRSxHQUFHO3FCQUNYLENBQUMsQ0FBQTtnQkFDSixDQUFDO1lBQ0gsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0lBRUQsSUFBSSxNQUFNLEVBQUUsQ0FBQztRQUNYLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLENBQU0sQ0FBQTtRQUMvQixDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE1BQU0sSUFBSSxLQUFLLENBQUMseUJBQXlCLEVBQUU7Z0JBQ3pDLEtBQUssRUFBRSxHQUFHO2FBQ1gsQ0FBQyxDQUFBO1FBQ0osQ0FBQztJQUNILENBQUM7QUFDSCxDQUFDO0FBRUQsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUksS0FBZTtJQUM1RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQU0sQ0FBQTtRQUNyRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxlQUFlLENBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFnQjtJQUN2QyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDeEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCO0lBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRWhELElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBVyxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsc0VBQXNFO0lBQ3RFLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBaUIsQ0FBQTtBQUMzRCxDQUFDIn0=
31
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL3V0aWxzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE1BQU0sTUFBTSxDQUFBO0FBQ3ZDLE9BQU8sRUFBRSxhQUFhLEVBQUUsTUFBTSxLQUFLLENBQUE7QUFDbkMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0QyxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sMkJBQTJCLENBQUE7QUFFM0QsTUFBTSxDQUFDLEtBQUssU0FBUyxDQUFDLENBQUMsb0JBQW9CLENBQUksS0FBZTtJQUM1RCxLQUFLLE1BQU0sSUFBSSxJQUFJLEtBQUssRUFBRSxDQUFDO1FBQ3pCLElBQUksQ0FBQztZQUNILE1BQU0sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxJQUFJLEVBQUUsTUFBTSxDQUFDLENBQU0sQ0FBQTtRQUNyRCxDQUFDO1FBQUMsT0FBTyxHQUFHLEVBQUUsQ0FBQztZQUNiLE9BQU8sQ0FBQyxJQUFJLENBQUMsdUJBQXVCLElBQUksUUFBUSxHQUFhLEVBQUUsQ0FBQyxDQUFBO1FBQ2xFLENBQUM7SUFDSCxDQUFDO0FBQ0gsQ0FBQztBQUVELE1BQU0sVUFBVSxvQkFBb0I7SUFDbEMsT0FBTyxlQUFlLENBQUksT0FBTyxDQUFDLEtBQUssQ0FBQyxDQUFBO0FBQzFDLENBQUM7QUFFRCxTQUFTLGVBQWUsQ0FBQyxRQUFnQjtJQUN2QyxPQUFPLGFBQWEsQ0FBQyxPQUFPLENBQUMsT0FBTyxDQUFDLEdBQUcsRUFBRSxFQUFFLFFBQVEsQ0FBQyxDQUFDLENBQUE7QUFDeEQsQ0FBQztBQUVELE1BQU0sQ0FBQyxLQUFLLFVBQVUsWUFBWSxDQUFDLFFBQWdCO0lBQ2pELE1BQU0sZ0JBQWdCLEdBQUcsZUFBZSxDQUFDLFFBQVEsQ0FBQyxDQUFBO0lBQ2xELE1BQU0sR0FBRyxHQUFHLE9BQU8sQ0FBQyxnQkFBZ0IsQ0FBQyxRQUFRLEVBQUUsQ0FBQyxDQUFBO0lBRWhELElBQUksR0FBRyxLQUFLLE9BQU8sRUFBRSxDQUFDO1FBQ3BCLE9BQU8sSUFBSSxDQUFDLEtBQUssQ0FBQyxNQUFNLFFBQVEsQ0FBQyxnQkFBZ0IsRUFBRSxNQUFNLENBQUMsQ0FBVyxDQUFBO0lBQ3ZFLENBQUM7SUFFRCxnRUFBZ0U7SUFDaEUsc0VBQXNFO0lBQ3RFLE9BQU8sQ0FBQyxNQUFNLE1BQU0sQ0FBQyxnQkFBZ0IsQ0FBQyxDQUFDLENBQUMsT0FBaUIsQ0FBQTtBQUMzRCxDQUFDIn0=
@@ -1,10 +1,10 @@
1
1
  import type { TemplatesOptions, FinalTemplatesOptions, FinalContext, FinalOptions, CommitKnownProps, TransformedCommit } from './types/index.js';
2
2
  /**
3
- * Load templates from files.
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): Promise<FinalTemplatesOptions>;
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
@@ -1 +1 @@
1
- {"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAKA,OAAO,KAAK,EACV,gBAAgB,EAChB,qBAAqB,EACrB,YAAY,EACZ,YAAY,EACZ,gBAAgB,EAChB,iBAAiB,EAElB,MAAM,kBAAkB,CAAA;AAKzB;;;;GAIG;AACH,wBAAsB,aAAa,CAAC,OAAO,GAAE,gBAAqB,GAAG,OAAO,CAAC,qBAAqB,CAAC,CAmBlG;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,qBAwB3B"}
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
- const dirname = fileURLToPath(new URL('.', import.meta.url));
4
+ import { mainTemplate, headerPartial, commitPartial, footerPartial } from './templates.js';
8
5
  /**
9
- * Load templates from files.
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 async function loadTemplates(options = {}) {
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
- return template(templateContext);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsT0FBTyxFQUFFLElBQUksRUFBRSxNQUFNLE1BQU0sQ0FBQTtBQUMzQixPQUFPLEVBQUUsYUFBYSxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ25DLE9BQU8sRUFBRSxRQUFRLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDdEMsT0FBTyxVQUFVLE1BQU0sWUFBWSxDQUFBO0FBQ25DLE9BQU8sRUFBRSx5QkFBeUIsRUFBRSxNQUFNLDZCQUE2QixDQUFBO0FBVXZFLE9BQU8sRUFBRSxrQkFBa0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUVqRCxNQUFNLE9BQU8sR0FBRyxhQUFhLENBQUMsSUFBSSxHQUFHLENBQUMsR0FBRyxFQUFFLE1BQU0sQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUMsQ0FBQTtBQUU1RDs7OztHQUlHO0FBQ0gsTUFBTSxDQUFDLEtBQUssVUFBVSxhQUFhLENBQUMsVUFBNEIsRUFBRTtJQUNoRSxNQUFNLENBQ0osWUFBWSxFQUNaLGFBQWEsRUFDYixhQUFhLEVBQ2IsYUFBYSxDQUNkLEdBQUcsTUFBTSxPQUFPLENBQUMsR0FBRyxDQUFDO1FBQ3BCLE9BQU8sQ0FBQyxZQUFZLElBQUksUUFBUSxDQUFDLElBQUksQ0FBQyxPQUFPLEVBQUUsSUFBSSxFQUFFLFdBQVcsRUFBRSxjQUFjLENBQUMsRUFBRSxPQUFPLENBQUM7UUFDM0YsT0FBTyxDQUFDLGFBQWEsSUFBSSxRQUFRLENBQUMsSUFBSSxDQUFDLE9BQU8sRUFBRSxJQUFJLEVBQUUsV0FBVyxFQUFFLFlBQVksQ0FBQyxFQUFFLE9BQU8sQ0FBQztRQUMxRixPQUFPLENBQUMsYUFBYSxJQUFJLFFBQVEsQ0FBQyxJQUFJLENBQUMsT0FBTyxFQUFFLElBQUksRUFBRSxXQUFXLEVBQUUsWUFBWSxDQUFDLEVBQUUsT0FBTyxDQUFDO1FBQzFGLE9B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
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
- * {{header}}
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
- async function getRequirements(context = {}, options = {}) {
7
- const templates = await loadTemplates(options);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93cml0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFRbEMsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsRUFDdkIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTdDLEtBQUssVUFBVSxlQUFlLENBRzVCLFVBQTJCLEVBQUUsRUFDN0IsVUFBMkIsRUFBRTtJQUU3QixNQUFNLFNBQVMsR0FBRyxNQUFNLGFBQWEsQ0FBQyxPQUFPLENBQUMsQ0FBQTtJQUM5QyxNQUFNLFlBQVksR0FBRyxlQUFlLENBQUMsT0FBTyxFQUFFLFNBQVMsQ0FBQyxDQUFBO0lBQ3hELE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDM0QsTUFBTSxVQUFVLEdBQUcscUJBQXFCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBQ3BFLE1BQU0sY0FBYyxHQUFHLHNCQUFzQixDQUFDLFlBQVksRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUV6RSxPQUFPO1FBQ0wsWUFBWTtRQUNaLFlBQVk7UUFDWixVQUFVO1FBQ1YsY0FBYztLQUNmLENBQUE7QUFDSCxDQUFDO0FBeUJELE1BQU0sVUFBVSxjQUFjLENBQzVCLFVBQTJCLEVBQUUsRUFDN0IsVUFBMkIsRUFBRSxFQUM3QixjQUFjLEdBQUcsS0FBSztJQUV0QixNQUFNLG1CQUFtQixHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7SUFDN0QsTUFBTSxVQUFVLEdBQUcsY0FBYztR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
105
+ //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid3JpdGVycy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy93cml0ZXJzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFBRSxTQUFTLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFRbEMsT0FBTyxFQUNMLGFBQWEsRUFDYixzQkFBc0IsRUFDdkIsTUFBTSxlQUFlLENBQUE7QUFDdEIsT0FBTyxFQUFFLGVBQWUsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUM5QyxPQUFPLEVBQ0wsZUFBZSxFQUNmLHFCQUFxQixFQUN0QixNQUFNLGNBQWMsQ0FBQTtBQUNyQixPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBRTdDLFNBQVMsZUFBZSxDQUd0QixVQUEyQixFQUFFLEVBQzdCLFVBQTJCLEVBQUU7SUFFN0IsTUFBTSxTQUFTLEdBQUcsYUFBYSxDQUFDLE9BQU8sQ0FBQyxDQUFBO0lBQ3hDLE1BQU0sWUFBWSxHQUFHLGVBQWUsQ0FBQyxPQUFPLEVBQUUsU0FBUyxDQUFDLENBQUE7SUFDeEQsTUFBTSxZQUFZLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxZQUFZLENBQUMsQ0FBQTtJQUMzRCxNQUFNLFVBQVUsR0FBRyxxQkFBcUIsQ0FBQyxZQUFZLEVBQUUsWUFBWSxDQUFDLENBQUE7SUFDcEUsTUFBTSxjQUFjLEdBQUcsc0JBQXNCLENBQUMsWUFBWSxFQUFFLFlBQVksQ0FBQyxDQUFBO0lBRXpFLE9BQU87UUFDTCxZQUFZO1FBQ1osWUFBWTtRQUNaLFVBQVU7UUFDVixjQUFjO0tBQ2YsQ0FBQTtBQUNILENBQUM7QUF5QkQsTUFBTSxVQUFVLGNBQWMsQ0FDNUIsVUFBMkIsRUFBRSxFQUM3QixVQUEyQixFQUFFLEVBQzdCLGNBQWMsR0FBRyxLQUFLO0lBRXRCLE1BQU0sbUJBQW1CLEdBQUcsZUFBZSxDQUFDLE9BQU8sRUFBRSxPQUFPLENBQUMsQ0FBQTtJQUM3RCxNQUFNLFVBQVUsR0FBRyxjQUFjO1FBQy9CLENBQUMs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
package/package.json CHANGED
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "name": "conventional-changelog-writer",
3
3
  "type": "module",
4
- "version": "8.2.0",
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",
@@ -1,10 +0,0 @@
1
- {{#if noteGroups}}
2
- {{#each noteGroups}}
3
-
4
- ### {{title}}
5
-
6
- {{#each notes}}
7
- * {{text}}
8
- {{/each}}
9
- {{/each}}
10
- {{/if}}
@@ -1,9 +0,0 @@
1
- ## {{#if isPatch~}} <small>
2
- {{~/if~}} {{version}}
3
- {{~#if title}} "{{title}}"
4
- {{~/if~}}
5
- {{~#if date}} ({{date}})
6
- {{~/if~}}
7
- {{~#if isPatch~}} </small>
8
- {{~/if}}
9
-
@@ -1,11 +0,0 @@
1
- {{> header}}
2
-
3
- {{#each commitGroups}}
4
- {{#each commits}}
5
- {{> commit root=@root}}
6
- {{/each}}
7
- {{/each}}
8
-
9
- {{> footer}}
10
-
11
-