@hugojosefson/cli 0.11.0 → 0.13.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/esm/deno.js +16 -8
- package/esm/hj.js +19 -0
- package/esm/node_modules/@conventional-changelog/template/LICENSE.md +21 -0
- package/esm/node_modules/@conventional-changelog/template/README.md +66 -0
- package/esm/node_modules/@conventional-changelog/template/dist/elements.d.ts +78 -0
- package/esm/node_modules/@conventional-changelog/template/dist/elements.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/elements.js +132 -0
- package/esm/node_modules/@conventional-changelog/template/dist/index.d.ts +6 -0
- package/esm/node_modules/@conventional-changelog/template/dist/index.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/index.js +5 -0
- package/esm/node_modules/@conventional-changelog/template/dist/legacy.d.ts +20 -0
- package/esm/node_modules/@conventional-changelog/template/dist/legacy.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/legacy.js +22 -0
- package/esm/node_modules/@conventional-changelog/template/dist/references.d.ts +43 -0
- package/esm/node_modules/@conventional-changelog/template/dist/references.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/references.js +82 -0
- package/esm/node_modules/@conventional-changelog/template/dist/templates.d.ts +74 -0
- package/esm/node_modules/@conventional-changelog/template/dist/templates.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/templates.js +125 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/commit.d.ts +37 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/commit.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/commit.js +2 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/context.d.ts +113 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/context.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/context.js +2 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/index.d.ts +4 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/index.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/index.js +2 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/utils.d.ts +2 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/utils.d.ts.map +1 -0
- package/esm/node_modules/@conventional-changelog/template/dist/types/utils.js +2 -0
- package/esm/node_modules/@conventional-changelog/template/package.json +38 -0
- package/esm/node_modules/@simple-libs/stream-utils/LICENSE +21 -0
- package/esm/node_modules/@simple-libs/stream-utils/README.md +79 -0
- package/esm/node_modules/@simple-libs/stream-utils/dist/index.d.ts +51 -0
- package/esm/node_modules/@simple-libs/stream-utils/dist/index.d.ts.map +1 -0
- package/esm/node_modules/@simple-libs/stream-utils/dist/index.js +116 -0
- package/esm/node_modules/@simple-libs/stream-utils/package.json +38 -0
- package/esm/node_modules/argue-cli/LICENSE +21 -0
- package/esm/node_modules/argue-cli/README.md +239 -0
- package/esm/node_modules/argue-cli/dist/args.d.ts +30 -0
- package/esm/node_modules/argue-cli/dist/args.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/argv.d.ts +14 -0
- package/esm/node_modules/argue-cli/dist/argv.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/core.d.ts +24 -0
- package/esm/node_modules/argue-cli/dist/core.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/index.d.ts +6 -0
- package/esm/node_modules/argue-cli/dist/index.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/index.js +254 -0
- package/esm/node_modules/argue-cli/dist/index.js.map +1 -0
- package/esm/node_modules/argue-cli/dist/options.d.ts +9 -0
- package/esm/node_modules/argue-cli/dist/options.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/types.d.ts +16 -0
- package/esm/node_modules/argue-cli/dist/types.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/dist/utils.d.ts +24 -0
- package/esm/node_modules/argue-cli/dist/utils.d.ts.map +1 -0
- package/esm/node_modules/argue-cli/package.json +34 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-changelog-writer/LICENSE.md +21 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-changelog-writer/README.md +369 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-changelog-writer/package.json +53 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-filter/LICENSE +21 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-filter/README.md +184 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-filter/package.json +31 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-parser/LICENSE.md +21 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-parser/README.md +383 -0
- package/esm/node_modules/conventional-changelog-core/node_modules/conventional-commits-parser/package.json +47 -0
- package/esm/node_modules/conventional-changelog-writer/README.md +49 -342
- package/esm/node_modules/conventional-changelog-writer/dist/cli/index.d.ts +3 -0
- package/esm/node_modules/conventional-changelog-writer/dist/cli/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/cli/index.js +68 -0
- package/esm/node_modules/conventional-changelog-writer/dist/cli/utils.d.ts +4 -0
- package/esm/node_modules/conventional-changelog-writer/dist/cli/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/cli/utils.js +39 -0
- package/esm/node_modules/conventional-changelog-writer/dist/commit.d.ts +10 -0
- package/esm/node_modules/conventional-changelog-writer/dist/commit.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/commit.js +43 -0
- package/esm/node_modules/conventional-changelog-writer/dist/context.d.ts +27 -0
- package/esm/node_modules/conventional-changelog-writer/dist/context.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/context.js +134 -0
- package/esm/node_modules/conventional-changelog-writer/dist/index.d.ts +7 -0
- package/esm/node_modules/conventional-changelog-writer/dist/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/index.js +6 -0
- package/esm/node_modules/conventional-changelog-writer/dist/options.d.ts +25 -0
- package/esm/node_modules/conventional-changelog-writer/dist/options.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/options.js +79 -0
- package/esm/node_modules/conventional-changelog-writer/dist/template.d.ts +10 -0
- package/esm/node_modules/conventional-changelog-writer/dist/template.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/template.js +18 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/index.d.ts +8 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/index.js +2 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/options.d.ts +122 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/options.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/options.js +2 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/utils.d.ts +9 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/types/utils.js +2 -0
- package/esm/node_modules/conventional-changelog-writer/dist/utils.d.ts +20 -0
- package/esm/node_modules/conventional-changelog-writer/dist/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/utils.js +70 -0
- package/esm/node_modules/conventional-changelog-writer/dist/writers.d.ts +29 -0
- package/esm/node_modules/conventional-changelog-writer/dist/writers.d.ts.map +1 -0
- package/esm/node_modules/conventional-changelog-writer/dist/writers.js +94 -0
- package/esm/node_modules/conventional-changelog-writer/package.json +24 -26
- package/esm/node_modules/conventional-commits-filter/README.md +51 -170
- package/esm/node_modules/conventional-commits-filter/dist/RevertedCommitsFilter.d.ts +17 -0
- package/esm/node_modules/conventional-commits-filter/dist/RevertedCommitsFilter.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-filter/dist/RevertedCommitsFilter.js +46 -0
- package/esm/node_modules/conventional-commits-filter/dist/filters.d.ts +19 -0
- package/esm/node_modules/conventional-commits-filter/dist/filters.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-filter/dist/filters.js +34 -0
- package/esm/node_modules/conventional-commits-filter/dist/index.d.ts +4 -0
- package/esm/node_modules/conventional-commits-filter/dist/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-filter/dist/index.js +3 -0
- package/esm/node_modules/conventional-commits-filter/dist/types.d.ts +6 -0
- package/esm/node_modules/conventional-commits-filter/dist/types.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-filter/dist/types.js +2 -0
- package/esm/node_modules/conventional-commits-filter/dist/utils.d.ts +16 -0
- package/esm/node_modules/conventional-commits-filter/dist/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-filter/dist/utils.js +43 -0
- package/esm/node_modules/conventional-commits-filter/package.json +22 -16
- package/esm/node_modules/conventional-commits-parser/README.md +49 -353
- package/esm/node_modules/conventional-commits-parser/dist/CommitParser.d.ts +40 -0
- package/esm/node_modules/conventional-commits-parser/dist/CommitParser.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/CommitParser.js +319 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/index.d.ts +3 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/index.js +67 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/options.d.ts +3 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/options.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/options.js +40 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/utils.d.ts +5 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/cli/utils.js +49 -0
- package/esm/node_modules/conventional-commits-parser/dist/index.d.ts +4 -0
- package/esm/node_modules/conventional-commits-parser/dist/index.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/index.js +3 -0
- package/esm/node_modules/conventional-commits-parser/dist/options.d.ts +3 -0
- package/esm/node_modules/conventional-commits-parser/dist/options.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/options.js +27 -0
- package/esm/node_modules/conventional-commits-parser/dist/regex.d.ts +8 -0
- package/esm/node_modules/conventional-commits-parser/dist/regex.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/regex.js +63 -0
- package/esm/node_modules/conventional-commits-parser/dist/stream.d.ts +14 -0
- package/esm/node_modules/conventional-commits-parser/dist/stream.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/stream.js +38 -0
- package/esm/node_modules/conventional-commits-parser/dist/types.d.ts +100 -0
- package/esm/node_modules/conventional-commits-parser/dist/types.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/types.js +2 -0
- package/esm/node_modules/conventional-commits-parser/dist/utils.d.ts +41 -0
- package/esm/node_modules/conventional-commits-parser/dist/utils.d.ts.map +1 -0
- package/esm/node_modules/conventional-commits-parser/dist/utils.js +75 -0
- package/esm/node_modules/conventional-commits-parser/package.json +22 -23
- package/esm/src/cli/command-help.js +15 -0
- package/esm/src/cli/repair-configuration-description.js +98 -0
- package/esm/src/cli/run-changelog.js +51 -0
- package/esm/src/cli/run-cli.js +8 -0
- package/esm/src/features/built-in-feature-registry.js +2 -0
- package/esm/src/features/changelog-feature.js +155 -0
- package/esm/src/features/github-ci-artifacts.js +17 -3
- package/esm/src/features/github-ci-runtime-matrix.js +50 -0
- package/esm/src/features/github-release-publish-artifacts.js +5 -4
- package/esm/src/features/github-release-publish-feature.js +7 -2
- package/esm/src/features/github-workflow-cache.js +18 -0
- package/esm/src/features/npm-readme-badge.js +163 -0
- package/esm/src/features/readme-contribution-plans.js +18 -1
- package/esm/src/features/workflow-deno.js +1 -1
- package/esm/src/package/npm-name.js +5 -0
- package/esm/src/readme/contribution-blocks.js +33 -6
- package/esm/src/release/changelog-markdown.js +41 -0
- package/esm/src/release/changelog.js +155 -7
- package/esm/src/release/format-changelog.js +15 -0
- package/esm/src/release/migrate-changelog.js +92 -0
- package/esm/src/release/publish-github.js +7 -3
- package/esm/src/release/publish-npm.js +2 -2
- package/esm/src/release/publish-tag-prepare.js +63 -78
- package/esm/src/release/release-history.js +53 -0
- package/npm-dependencies.lock.json +115 -48
- package/package.json +7 -5
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/dependencies.js +0 -11036
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/index.d.ts +0 -1416
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/index.js +0 -100
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/licenses.md +0 -1767
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/options.js +0 -92
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/parser.js +0 -84
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/utils.js +0 -7
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/build/validate.js +0 -122
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/license +0 -9
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/package.json +0 -107
- package/esm/node_modules/conventional-commits-parser/node_modules/meow/readme.md +0 -314
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/cli.mjs +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/index.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/lib/util.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/templates/commit.hbs +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/templates/footer.hbs +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/templates/header.hbs +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core/node_modules/conventional-changelog-writer}/templates/template.hbs +0 -0
- /package/esm/node_modules/{conventional-commits-filter → conventional-changelog-core/node_modules/conventional-commits-filter}/index.js +0 -0
- /package/esm/node_modules/{conventional-commits-parser → conventional-changelog-core/node_modules/conventional-commits-parser}/cli.mjs +0 -0
- /package/esm/node_modules/{conventional-commits-parser → conventional-changelog-core/node_modules/conventional-commits-parser}/index.js +0 -0
- /package/esm/node_modules/{conventional-commits-parser → conventional-changelog-core/node_modules/conventional-commits-parser}/lib/parser.js +0 -0
- /package/esm/node_modules/{conventional-commits-parser → conventional-changelog-core/node_modules/conventional-commits-parser}/lib/regex.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/dependencies.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/index.d.ts +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/index.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/licenses.md +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/options.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/parser.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/utils.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/build/validate.js +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/license +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/package.json +0 -0
- /package/esm/node_modules/{conventional-changelog-writer → conventional-changelog-core}/node_modules/meow/readme.md +0 -0
|
@@ -0,0 +1,134 @@
|
|
|
1
|
+
import semver from 'semver';
|
|
2
|
+
import { filterRevertedCommitsSync } from 'conventional-commits-filter';
|
|
3
|
+
import { stringify } from './utils.js';
|
|
4
|
+
export function getCommitGroups(commits, options) {
|
|
5
|
+
const { groupBy, commitGroupsSort, commitsSort } = options;
|
|
6
|
+
const commitGroups = [];
|
|
7
|
+
const commitGroupsObj = commits.reduce((groups, commit) => {
|
|
8
|
+
const key = commit[groupBy] || '';
|
|
9
|
+
if (groups[key]) {
|
|
10
|
+
groups[key].push(commit);
|
|
11
|
+
}
|
|
12
|
+
else {
|
|
13
|
+
groups[key] = [commit];
|
|
14
|
+
}
|
|
15
|
+
return groups;
|
|
16
|
+
}, {});
|
|
17
|
+
Object.entries(commitGroupsObj).forEach(([title, commits]) => {
|
|
18
|
+
if (commitsSort) {
|
|
19
|
+
commits.sort(commitsSort);
|
|
20
|
+
}
|
|
21
|
+
commitGroups.push({
|
|
22
|
+
title,
|
|
23
|
+
commits
|
|
24
|
+
});
|
|
25
|
+
});
|
|
26
|
+
if (commitGroupsSort) {
|
|
27
|
+
commitGroups.sort(commitGroupsSort);
|
|
28
|
+
}
|
|
29
|
+
return commitGroups;
|
|
30
|
+
}
|
|
31
|
+
export function getNoteGroups(notes, options) {
|
|
32
|
+
const { noteGroupsSort, notesSort } = options;
|
|
33
|
+
const retGroups = [];
|
|
34
|
+
notes.forEach((note) => {
|
|
35
|
+
const { title } = note;
|
|
36
|
+
let titleExists = false;
|
|
37
|
+
retGroups.forEach((group) => {
|
|
38
|
+
if (group.title === title) {
|
|
39
|
+
titleExists = true;
|
|
40
|
+
group.notes.push(note);
|
|
41
|
+
}
|
|
42
|
+
});
|
|
43
|
+
if (!titleExists) {
|
|
44
|
+
retGroups.push({
|
|
45
|
+
title,
|
|
46
|
+
notes: [note]
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
});
|
|
50
|
+
if (noteGroupsSort) {
|
|
51
|
+
retGroups.sort(noteGroupsSort);
|
|
52
|
+
}
|
|
53
|
+
if (notesSort) {
|
|
54
|
+
retGroups.forEach((group) => {
|
|
55
|
+
group.notes.sort(notesSort);
|
|
56
|
+
});
|
|
57
|
+
}
|
|
58
|
+
return retGroups;
|
|
59
|
+
}
|
|
60
|
+
export function getExtraContext(commits, notes, options) {
|
|
61
|
+
return {
|
|
62
|
+
// group `commits` by `options.groupBy`
|
|
63
|
+
commitGroups: getCommitGroups(commits, options),
|
|
64
|
+
// group `notes` for footer
|
|
65
|
+
noteGroups: getNoteGroups(notes, options)
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
/**
|
|
69
|
+
* Get final context with default values.
|
|
70
|
+
* @param context
|
|
71
|
+
* @param options
|
|
72
|
+
* @returns Final context with default values.
|
|
73
|
+
*/
|
|
74
|
+
export function getFinalContext(context, options) {
|
|
75
|
+
const finalContext = {
|
|
76
|
+
commit: 'commits',
|
|
77
|
+
issue: 'issues',
|
|
78
|
+
compare: 'compare',
|
|
79
|
+
date: options.formatDate(new Date()),
|
|
80
|
+
headerPartial: options.headerPartial,
|
|
81
|
+
preamblePartial: options.preamblePartial,
|
|
82
|
+
commitPartial: options.commitPartial,
|
|
83
|
+
footerPartial: options.footerPartial,
|
|
84
|
+
...context
|
|
85
|
+
};
|
|
86
|
+
if (typeof finalContext.linkReferences !== 'boolean'
|
|
87
|
+
&& (finalContext.repository || finalContext.repoUrl)
|
|
88
|
+
&& finalContext.commit
|
|
89
|
+
&& finalContext.issue) {
|
|
90
|
+
finalContext.linkReferences = true;
|
|
91
|
+
}
|
|
92
|
+
return finalContext;
|
|
93
|
+
}
|
|
94
|
+
/**
|
|
95
|
+
* Get context prepared for template.
|
|
96
|
+
* @param keyCommit
|
|
97
|
+
* @param commits
|
|
98
|
+
* @param filteredCommits
|
|
99
|
+
* @param notes
|
|
100
|
+
* @param context
|
|
101
|
+
* @param options
|
|
102
|
+
* @returns TemplateContext prepared for template.
|
|
103
|
+
*/
|
|
104
|
+
export async function getTemplateContext(keyCommit, commits, context, options) {
|
|
105
|
+
const notes = [];
|
|
106
|
+
const filteredCommits = (options.ignoreReverted
|
|
107
|
+
? Array.from(filterRevertedCommitsSync(commits))
|
|
108
|
+
: commits).map(commit => ({
|
|
109
|
+
...commit,
|
|
110
|
+
notes: commit.notes.map((note) => {
|
|
111
|
+
const commitNote = {
|
|
112
|
+
...note,
|
|
113
|
+
commit
|
|
114
|
+
};
|
|
115
|
+
notes.push(commitNote);
|
|
116
|
+
return commitNote;
|
|
117
|
+
})
|
|
118
|
+
}));
|
|
119
|
+
let templateContext = {
|
|
120
|
+
...context,
|
|
121
|
+
...keyCommit,
|
|
122
|
+
...getExtraContext(filteredCommits, notes, options)
|
|
123
|
+
};
|
|
124
|
+
if (keyCommit?.committerDate) {
|
|
125
|
+
templateContext.date = keyCommit.committerDate;
|
|
126
|
+
}
|
|
127
|
+
if (templateContext.version && semver.valid(templateContext.version)) {
|
|
128
|
+
templateContext.isPatch ||= semver.patch(templateContext.version) !== 0;
|
|
129
|
+
}
|
|
130
|
+
templateContext = await options.finalizeContext(templateContext, options, filteredCommits, keyCommit, commits);
|
|
131
|
+
options.debug(`Your final context is:\n${stringify(templateContext)}`);
|
|
132
|
+
return templateContext;
|
|
133
|
+
}
|
|
134
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29udGV4dC5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb250ZXh0LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQVNBLE9BQU8sTUFBTSxNQUFNLFFBQVEsQ0FBQTtBQUMzQixPQUFPLEVBQUUseUJBQXlCLEVBQUUsTUFBTSw2QkFBNkIsQ0FBQTtBQUV2RSxPQUFPLEVBQUUsU0FBUyxFQUFFLE1BQU0sWUFBWSxDQUFBO0FBRXRDLE1BQU0sVUFBVSxlQUFlLENBQzdCLE9BQWlCLEVBQ2pCLE9BQW1GO0lBRW5GLE1BQU0sRUFDSixPQUFPLEVBQ1AsZ0JBQWdCLEVBQ2hCLFdBQVcsRUFDWixHQUFHLE9BQU8sQ0FBQTtJQUNYLE1BQU0sWUFBWSxHQUEwQixFQUFFLENBQUE7SUFDOUMsTUFBTSxlQUFlLEdBQUcsT0FBTyxDQUFDLE1BQU0sQ0FBMkIsQ0FBQyxNQUFNLEVBQUUsTUFBTSxFQUFFLEVBQUU7UUFDbEYsTUFBTSxHQUFHLEdBQUcsTUFBTSxDQUFDLE9BQU8sQ0FBVyxJQUFJLEVBQUUsQ0FBQTtRQUUzQyxJQUFJLE1BQU0sQ0FBQyxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ2hCLE1BQU0sQ0FBQyxHQUFHLENBQUMsQ0FBQyxJQUFJLENBQUMsTUFBTSxDQUFDLENBQUE7UUFDMUIsQ0FBQzthQUFNLENBQUM7WUFDTixNQUFNLENBQUMsR0FBRyxDQUFDLEdBQUcsQ0FBQyxNQUFNLENBQUMsQ0FBQTtRQUN4QixDQUFDO1FBRUQsT0FBTyxNQUFNLENBQUE7SUFDZixDQUFDLEVBQUUsRUFBRSxDQUFDLENBQUE7SUFFTixNQUFNLENBQUMsT0FBTyxDQUFDLGVBQWUsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxDQUFDLENBQUMsS0FBSyxFQUFFLE9BQU8sQ0FBQyxFQUFFLEVBQUU7UUFDM0QsSUFBSSxXQUFXLEVBQUUsQ0FBQztZQUNoQixPQUFPLENBQUMsSUFBSSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBQzNCLENBQUM7UUFFRCxZQUFZLENBQUMs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
|
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export * from '@conventional-changelog/template';
|
|
2
|
+
export type * from './types/index.js';
|
|
3
|
+
export { transformCommit } from './commit.js';
|
|
4
|
+
export { defaultCommitTransform } from './options.js';
|
|
5
|
+
export * from './utils.js';
|
|
6
|
+
export * from './writers.js';
|
|
7
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,kCAAkC,CAAA;AAChD,mBAAmB,kBAAkB,CAAA;AACrC,OAAO,EAAE,eAAe,EAAE,MAAM,aAAa,CAAA;AAC7C,OAAO,EAAE,sBAAsB,EAAE,MAAM,cAAc,CAAA;AACrD,cAAc,YAAY,CAAA;AAC1B,cAAc,cAAc,CAAA"}
|
|
@@ -0,0 +1,6 @@
|
|
|
1
|
+
export * from '@conventional-changelog/template';
|
|
2
|
+
export { transformCommit } from './commit.js';
|
|
3
|
+
export { defaultCommitTransform } from './options.js';
|
|
4
|
+
export * from './utils.js';
|
|
5
|
+
export * from './writers.js';
|
|
6
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBQUEsY0FBYyxrQ0FBa0MsQ0FBQTtBQUVoRCxPQUFPLEVBQUUsZUFBZSxFQUFFLE1BQU0sYUFBYSxDQUFBO0FBQzdDLE9BQU8sRUFBRSxzQkFBc0IsRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUNyRCxjQUFjLFlBQVksQ0FBQTtBQUMxQixjQUFjLGNBQWMsQ0FBQSJ9
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
import { type CommitKnownProps, type FinalTemplateContext } from '@conventional-changelog/template';
|
|
2
|
+
import type { Options, FinalOptions } from './types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Default commit transform function.
|
|
5
|
+
* @param commit
|
|
6
|
+
* @param _context
|
|
7
|
+
* @param options
|
|
8
|
+
* @param options.formatDate - Date formatter function.
|
|
9
|
+
* @returns Patch object for commit.
|
|
10
|
+
*/
|
|
11
|
+
export declare function defaultCommitTransform<Commit extends CommitKnownProps = CommitKnownProps>(commit: Commit, _context: unknown, options: Pick<FinalOptions<Commit>, 'formatDate'>): Partial<Commit>;
|
|
12
|
+
/**
|
|
13
|
+
* Get final options object.
|
|
14
|
+
* @param options
|
|
15
|
+
* @returns Final options object.
|
|
16
|
+
*/
|
|
17
|
+
export declare function getFinalOptions<Commit extends CommitKnownProps = CommitKnownProps>(options: Options<Commit>): FinalOptions<Commit>;
|
|
18
|
+
/**
|
|
19
|
+
* Get final context object.
|
|
20
|
+
* @param context
|
|
21
|
+
* @param options
|
|
22
|
+
* @returns Final context object.
|
|
23
|
+
*/
|
|
24
|
+
export declare function getGenerateOnFunction<Commit extends CommitKnownProps = CommitKnownProps>(context: FinalTemplateContext<Commit>, options: FinalOptions<Commit>): (keyCommit: Commit, commitsGroup: Commit[]) => boolean;
|
|
25
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../src/options.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,KAAK,gBAAgB,EACrB,KAAK,oBAAoB,EAM1B,MAAM,kCAAkC,CAAA;AAEzC,OAAO,KAAK,EACV,OAAO,EACP,YAAY,EACb,MAAM,kBAAkB,CAAA;AASzB;;;;;;;GAOG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACvF,MAAM,EAAE,MAAM,EACd,QAAQ,EAAE,OAAO,EACjB,OAAO,EAAE,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,YAAY,CAAC,GAkB5C,OAAO,CAAC,MAAM,CAAC,CACrB;AAED;;;;GAIG;AACH,wBAAgB,eAAe,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EAChF,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,wBA+BzB;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACtF,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,eAUV,MAAM,gBAAgB,MAAM,EAAE,aAClD"}
|
|
@@ -0,0 +1,79 @@
|
|
|
1
|
+
import { headerPartial, preamblePartial, commitPartial, footerPartial, template } from '@conventional-changelog/template';
|
|
2
|
+
import { valid as semverValid } from 'semver';
|
|
3
|
+
import { formatDate, createComparator } from './utils.js';
|
|
4
|
+
const HASH_SHORT_LENGTH = 7;
|
|
5
|
+
const HEADER_MAX_LENGTH = 100;
|
|
6
|
+
/**
|
|
7
|
+
* Default commit transform function.
|
|
8
|
+
* @param commit
|
|
9
|
+
* @param _context
|
|
10
|
+
* @param options
|
|
11
|
+
* @param options.formatDate - Date formatter function.
|
|
12
|
+
* @returns Patch object for commit.
|
|
13
|
+
*/
|
|
14
|
+
export function defaultCommitTransform(commit, _context, options) {
|
|
15
|
+
const { hash, header, committerDate } = commit;
|
|
16
|
+
return {
|
|
17
|
+
hash: typeof hash === 'string'
|
|
18
|
+
? hash.substring(0, HASH_SHORT_LENGTH)
|
|
19
|
+
: hash,
|
|
20
|
+
header: typeof header === 'string'
|
|
21
|
+
? header.substring(0, HEADER_MAX_LENGTH)
|
|
22
|
+
: header,
|
|
23
|
+
committerDate: committerDate
|
|
24
|
+
? options.formatDate(committerDate)
|
|
25
|
+
: committerDate
|
|
26
|
+
};
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get final options object.
|
|
30
|
+
* @param options
|
|
31
|
+
* @returns Final options object.
|
|
32
|
+
*/
|
|
33
|
+
export function getFinalOptions(options) {
|
|
34
|
+
const prefinalOptions = {
|
|
35
|
+
groupBy: 'type',
|
|
36
|
+
commitsSort: 'header',
|
|
37
|
+
noteGroupsSort: 'title',
|
|
38
|
+
notesSort: 'text',
|
|
39
|
+
transform: defaultCommitTransform,
|
|
40
|
+
generateOn: (commit) => Boolean(semverValid(commit.version)),
|
|
41
|
+
finalizeContext: (context) => context,
|
|
42
|
+
debug: () => { },
|
|
43
|
+
formatDate,
|
|
44
|
+
template,
|
|
45
|
+
headerPartial,
|
|
46
|
+
preamblePartial,
|
|
47
|
+
commitPartial,
|
|
48
|
+
footerPartial,
|
|
49
|
+
reverse: false,
|
|
50
|
+
ignoreReverted: true,
|
|
51
|
+
doFlush: true,
|
|
52
|
+
...options
|
|
53
|
+
};
|
|
54
|
+
const finalOptions = {
|
|
55
|
+
...prefinalOptions,
|
|
56
|
+
commitGroupsSort: createComparator(prefinalOptions.commitGroupsSort),
|
|
57
|
+
commitsSort: createComparator(prefinalOptions.commitsSort),
|
|
58
|
+
noteGroupsSort: createComparator(prefinalOptions.noteGroupsSort),
|
|
59
|
+
notesSort: createComparator(prefinalOptions.notesSort)
|
|
60
|
+
};
|
|
61
|
+
return finalOptions;
|
|
62
|
+
}
|
|
63
|
+
/**
|
|
64
|
+
* Get final context object.
|
|
65
|
+
* @param context
|
|
66
|
+
* @param options
|
|
67
|
+
* @returns Final context object.
|
|
68
|
+
*/
|
|
69
|
+
export function getGenerateOnFunction(context, options) {
|
|
70
|
+
const { generateOn } = options;
|
|
71
|
+
if (typeof generateOn === 'string') {
|
|
72
|
+
return (commit) => typeof commit[generateOn] !== 'undefined';
|
|
73
|
+
}
|
|
74
|
+
else if (typeof generateOn !== 'function') {
|
|
75
|
+
return () => false;
|
|
76
|
+
}
|
|
77
|
+
return (keyCommit, commitsGroup) => generateOn(keyCommit, commitsGroup, context, options);
|
|
78
|
+
}
|
|
79
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoib3B0aW9ucy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9vcHRpb25zLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiJBQUFBLE9BQU8sRUFHTCxhQUFhLEVBQ2IsZUFBZSxFQUNmLGFBQWEsRUFDYixhQUFhLEVBQ2IsUUFBUSxFQUNULE1BQU0sa0NBQWtDLENBQUE7QUFDekMsT0FBTyxFQUFFLEtBQUssSUFBSSxXQUFXLEVBQUUsTUFBTSxRQUFRLENBQUE7QUFLN0MsT0FBTyxFQUNMLFVBQVUsRUFDVixnQkFBZ0IsRUFDakIsTUFBTSxZQUFZLENBQUE7QUFFbkIsTUFBTSxpQkFBaUIsR0FBRyxDQUFDLENBQUE7QUFDM0IsTUFBTSxpQkFBaUIsR0FBRyxHQUFHLENBQUE7QUFFN0I7Ozs7Ozs7R0FPRztBQUNILE1BQU0sVUFBVSxzQkFBc0IsQ0FDcEMsTUFBYyxFQUNkLFFBQWlCLEVBQ2pCLE9BQWlEO0lBRWpELE1BQU0sRUFDSixJQUFJLEVBQ0osTUFBTSxFQUNOLGFBQWEsRUFDZCxHQUFHLE1BQU0sQ0FBQTtJQUVWLE9BQU87UUFDTCxJQUFJLEVBQUUsT0FBTyxJQUFJLEtBQUssUUFBUTtZQUM1QixDQUFDLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUM7WUFDdEMsQ0FBQyxDQUFDLElBQUk7UUFDUixNQUFNLEVBQUUsT0FBTyxNQUFNLEtBQUssUUFBUTtZQUNoQyxDQUFDLENBQUMsTUFBTSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEVBQUUsaUJBQWlCLENBQUM7WUFDeEMsQ0FBQyxDQUFDLE1BQU07UUFDVixhQUFhLEVBQUUsYUFBYTtZQUMxQixDQUFDLENBQUMsT0FBTyxDQUFDLFVBQVUsQ0FBQyxhQUFhLENBQUM7WUFDbkMsQ0FBQyxDQUFDLGFBQWE7S0FDQyxDQUFBO0FBQ3RCLENBQUM7QUFFRDs7OztHQUlHO0FBQ0gsTUFBTSxVQUFVLGVBQWUsQ0FDN0IsT0FBd0I7SUFFeEIsTUFBTSxlQUFlLEdBQUc7UUFDdEIsT0FBTyxFQUFFLE1BQWU7UUFDeEIsV0FBVyxFQUFFLFFBQWlCO1FBQzlCLGNBQWMsRUFBRSxPQUFnQjtRQUNoQyxTQUFTLEVBQUUsTUFBZTtRQUMxQixTQUFTLEVBQUUsc0JBQXNCO1FBQ2pDLFVBQVUsRUFBRSxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsT0FBTyxDQUFDLFdBQVcsQ0FBQyxNQUFNLENBQUMsT0FBTyxDQUFDLENBQUM7UUFDcEUsZUFBZSxFQUFFLENBQUMsT0FBcUMsRUFBRSxFQUFFLENBQUMsT0FBTztRQUNuRSxLQUFLLEVBQUUsR0FBRyxFQUFFLEdBQWMsQ0FBQztRQUMzQixVQUFVO1FBQ1YsUUFBUTtRQUNSLGFBQWE7UUFDYixlQUFlO1FBQ2YsYUFBYTtRQUNiLGFBQWE7UUFDYixPQUFPLEVBQUUsS0FBSztRQUNkLGNBQWMsRUFBRSxJQUFJO1FBQ3BCLE9BQU8sRUFBRSxJQUFJO1FBQ2IsR0FBRyxPQUFPO0tBQ1gsQ0FBQTtJQUNELE1BQU0sWUFBWSxHQUFHO1FBQ25CLEdBQUcsZUFBZTtRQUNsQixnQkFBZ0IsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsZ0JBQWdCLENBQUM7UUFDcEUsV0FBVyxFQUFFLGdCQUFnQixDQUFDLGVBQWUsQ0FBQyxXQUF1QixDQUFDO1FBQ3RFLGNBQWMsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsY0FBYyxDQUFDO1FBQ2hFLFNBQVMsRUFBRSxnQkFBZ0IsQ0FBQyxlQUFlLENBQUMsU0FBUyxDQUFDO0tBQy9CLENBQUE7SUFFekIsT0FBTyxZQUFZLENBQUE7QUFDckIsQ0FBQztBQUVEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHFCQUFxQixDQUNuQyxPQUFxQyxFQUNyQyxPQUE2QjtJQUU3QixNQUFNLEVBQUUsVUFBVSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRTlCLElBQUksT0FBTyxVQUFVLEtBQUssUUFBUSxFQUFFLENBQUM7UUFDbkMsT0FBTyxDQUFDLE1BQWMsRUFBRSxFQUFFLENBQUMsT0FBTyxNQUFNLENBQUMsVUFBVSxDQUFDLEtBQUssV0FBVyxDQUFBO0lBQ3RFLENBQUM7U0FBTSxJQUFJLE9BQU8sVUFBVSxLQUFLLFVBQVUsRUFBRSxDQUFDO1FBQzVDLE9BQU8sR0FBRyxFQUFFLENBQUMsS0FBSyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxPQUFPLENBQUMsU0FBaUIsRUFBRSxZQUFzQixFQUFFLEVBQUUsQ0FBQyxVQUFVLENBQUMsU0FBUyxFQUFFLFlBQVksRUFBRSxPQUFPLEVBQUUsT0FBTyxDQUFDLENBQUE7QUFDN0csQ0FBQyJ9
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
import type { CommitKnownProps, FinalTemplateContext, TransformedCommit } from '@conventional-changelog/template';
|
|
2
|
+
import type { FinalOptions } from './types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Create template renderer.
|
|
5
|
+
* @param context
|
|
6
|
+
* @param options
|
|
7
|
+
* @returns Template render function.
|
|
8
|
+
*/
|
|
9
|
+
export declare function createTemplateRenderer<Commit extends CommitKnownProps = CommitKnownProps>(context: FinalTemplateContext<Commit>, options: FinalOptions<Commit>): (commits: TransformedCommit<Commit>[], keyCommit: Commit | null, subsequent?: boolean) => Promise<string>;
|
|
10
|
+
//# sourceMappingURL=template.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template.d.ts","sourceRoot":"","sources":["../src/template.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,oBAAoB,EACpB,iBAAiB,EAClB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAA;AAGpD;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACvF,OAAO,EAAE,oBAAoB,CAAC,MAAM,CAAC,EACrC,OAAO,EAAE,YAAY,CAAC,MAAM,CAAC,aAKlB,iBAAiB,CAAC,MAAM,CAAC,EAAE,aACzB,MAAM,GAAG,IAAI,eACX,OAAO,qBASvB"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { getTemplateContext } from './context.js';
|
|
2
|
+
/**
|
|
3
|
+
* Create template renderer.
|
|
4
|
+
* @param context
|
|
5
|
+
* @param options
|
|
6
|
+
* @returns Template render function.
|
|
7
|
+
*/
|
|
8
|
+
export function createTemplateRenderer(context, options) {
|
|
9
|
+
const { template } = options;
|
|
10
|
+
return async (commits, keyCommit, subsequent) => {
|
|
11
|
+
const templateContext = await getTemplateContext(keyCommit, commits, context, options);
|
|
12
|
+
const rendered = (await template(templateContext)).trim();
|
|
13
|
+
return rendered.length > 0
|
|
14
|
+
? `${subsequent ? '\n' : ''}${rendered}\n`
|
|
15
|
+
: '';
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidGVtcGxhdGUuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdGVtcGxhdGUudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBTUEsT0FBTyxFQUFFLGtCQUFrQixFQUFFLE1BQU0sY0FBYyxDQUFBO0FBRWpEOzs7OztHQUtHO0FBQ0gsTUFBTSxVQUFVLHNCQUFzQixDQUNwQyxPQUFxQyxFQUNyQyxPQUE2QjtJQUU3QixNQUFNLEVBQUUsUUFBUSxFQUFFLEdBQUcsT0FBTyxDQUFBO0lBRTVCLE9BQU8sS0FBSyxFQUNWLE9BQW9DLEVBQ3BDLFNBQXdCLEVBQ3hCLFVBQW9CLEVBQ3BCLEVBQUU7UUFDRixNQUFNLGVBQWUsR0FBRyxNQUFNLGtCQUFrQixDQUFDLFNBQVMsRUFBRSxPQUFPLEVBQUUsT0FBTyxFQUFFLE9BQU8sQ0FBQyxDQUFBO1FBQ3RGLE1BQU0sUUFBUSxHQUFHLENBQUMsTUFBTSxRQUFRLENBQUMsZUFBZSxDQUFDLENBQUMsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtRQUV6RCxPQUFPLFFBQVEsQ0FBQyxNQUFNLEdBQUcsQ0FBQztZQUN4QixDQUFDLENBQUMsR0FBRyxVQUFVLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxHQUFHLFFBQVEsSUFBSTtZQUMxQyxDQUFDLENBQUMsRUFBRSxDQUFBO0lBQ1IsQ0FBQyxDQUFBO0FBQ0gsQ0FBQyJ9
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { CommitKnownProps } from '@conventional-changelog/template';
|
|
2
|
+
export type * from './options.js';
|
|
3
|
+
export type * from './utils.js';
|
|
4
|
+
export interface Details<Commit extends CommitKnownProps = CommitKnownProps> {
|
|
5
|
+
log: string;
|
|
6
|
+
keyCommit: Commit | null;
|
|
7
|
+
}
|
|
8
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/types/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AAExE,mBAAmB,cAAc,CAAA;AACjC,mBAAmB,YAAY,CAAA;AAE/B,MAAM,WAAW,OAAO,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB;IACzE,GAAG,EAAE,MAAM,CAAA;IACX,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;CACzB"}
|
|
@@ -0,0 +1,122 @@
|
|
|
1
|
+
import type { CommitKnownProps, CommitGroup, CommitNote, NoteGroup, FinalTemplateContext, HeaderPartialFunction, PreamblePartialFunction, CommitPartialFunction, FooterPartialFunction } from '@conventional-changelog/template';
|
|
2
|
+
import type { Comparator, PickStringsKeys } from './utils.js';
|
|
3
|
+
export type SortBy<T> = PickStringsKeys<T> | PickStringsKeys<T>[] | Comparator<T>;
|
|
4
|
+
export type CommitTransformFunction<Commit extends CommitKnownProps = CommitKnownProps> = (commit: Commit, context: FinalTemplateContext<Commit>, options: FinalOptions<Commit>) => Partial<Commit> | null | Promise<Partial<Commit> | null>;
|
|
5
|
+
export type GenerateOnFunction<Commit extends CommitKnownProps = CommitKnownProps> = (keyCommit: Commit, commitsGroup: Commit[], context: FinalTemplateContext<Commit>, options: FinalOptions<Commit>) => boolean;
|
|
6
|
+
export type TemplateFunction<Commit extends CommitKnownProps = CommitKnownProps> = (context: FinalTemplateContext<Commit>) => string | Promise<string>;
|
|
7
|
+
export interface Options<Commit extends CommitKnownProps = CommitKnownProps> {
|
|
8
|
+
/**
|
|
9
|
+
* Key to group commits by.
|
|
10
|
+
* If this value is falsy, commits are not grouped.
|
|
11
|
+
*/
|
|
12
|
+
groupBy?: keyof Commit;
|
|
13
|
+
/**
|
|
14
|
+
* Key to sort commits by or sort function.
|
|
15
|
+
* If this value is falsy, commits are not sorted.
|
|
16
|
+
*/
|
|
17
|
+
commitsSort?: SortBy<Commit>;
|
|
18
|
+
/**
|
|
19
|
+
* Key to sort commit groups by or sort function.
|
|
20
|
+
* If this value is falsy, commit groups are not sorted.
|
|
21
|
+
*/
|
|
22
|
+
commitGroupsSort?: SortBy<CommitGroup<Commit>>;
|
|
23
|
+
/**
|
|
24
|
+
* Key to sort notes by or sort function.
|
|
25
|
+
* If this value is falsy, notes are not sorted.
|
|
26
|
+
*/
|
|
27
|
+
notesSort?: SortBy<CommitNote>;
|
|
28
|
+
/**
|
|
29
|
+
* Key to sort note groups by or sort function.
|
|
30
|
+
* If this value is falsy, note groups are not sorted.
|
|
31
|
+
*/
|
|
32
|
+
noteGroupsSort?: SortBy<NoteGroup>;
|
|
33
|
+
/**
|
|
34
|
+
* If `true`, reverted commits will be ignored.
|
|
35
|
+
*/
|
|
36
|
+
ignoreReverted?: boolean;
|
|
37
|
+
/**
|
|
38
|
+
* The normal order means reverse chronological order.
|
|
39
|
+
* `reverse` order means chronological order.
|
|
40
|
+
*/
|
|
41
|
+
reverse?: boolean;
|
|
42
|
+
/**
|
|
43
|
+
* If `true`, the stream will flush out the last bit of commits (could be empty) to changelog.
|
|
44
|
+
*/
|
|
45
|
+
doFlush?: boolean;
|
|
46
|
+
/**
|
|
47
|
+
* A function to transform commits.
|
|
48
|
+
* Should return diff object which will be merged with the original commit.
|
|
49
|
+
*/
|
|
50
|
+
transform?: CommitTransformFunction<Commit>;
|
|
51
|
+
/**
|
|
52
|
+
* Function or key to detect whether a changelog block should be generated.
|
|
53
|
+
*/
|
|
54
|
+
generateOn?: GenerateOnFunction<Commit> | keyof Commit | null;
|
|
55
|
+
/**
|
|
56
|
+
* Function that renders the prepared changelog context to text.
|
|
57
|
+
*/
|
|
58
|
+
template?: TemplateFunction<Commit>;
|
|
59
|
+
/**
|
|
60
|
+
* Function that renders the release header.
|
|
61
|
+
*/
|
|
62
|
+
headerPartial?: HeaderPartialFunction<Commit>;
|
|
63
|
+
/**
|
|
64
|
+
* Function that renders introductory text after the release header.
|
|
65
|
+
*/
|
|
66
|
+
preamblePartial?: PreamblePartialFunction<Commit>;
|
|
67
|
+
/**
|
|
68
|
+
* Function that renders a single commit entry.
|
|
69
|
+
*/
|
|
70
|
+
commitPartial?: CommitPartialFunction<Commit>;
|
|
71
|
+
/**
|
|
72
|
+
* Function that renders release footer notes.
|
|
73
|
+
*/
|
|
74
|
+
footerPartial?: FooterPartialFunction<Commit>;
|
|
75
|
+
/**
|
|
76
|
+
* Last chance to modify your context before generating a changelog.
|
|
77
|
+
* @param context
|
|
78
|
+
* @param options
|
|
79
|
+
* @param filteredCommits
|
|
80
|
+
* @param keyCommit
|
|
81
|
+
* @param commits
|
|
82
|
+
*/
|
|
83
|
+
finalizeContext?(context: FinalTemplateContext<Commit>, options: FinalOptions<Commit>, filteredCommits: Commit[], keyCommit: Commit | null, commits: Commit[]): FinalTemplateContext<Commit> | Promise<FinalTemplateContext<Commit>>;
|
|
84
|
+
/**
|
|
85
|
+
* A function to get debug information.
|
|
86
|
+
* @param message - The debug message.
|
|
87
|
+
*/
|
|
88
|
+
debug?(message: string): void;
|
|
89
|
+
/**
|
|
90
|
+
* A function to format date.
|
|
91
|
+
* @param date - Date string or Date object.
|
|
92
|
+
* @returns Final date string.
|
|
93
|
+
*/
|
|
94
|
+
formatDate?(date: string | Date): string;
|
|
95
|
+
/**
|
|
96
|
+
* A function that will determine if a commit should be skipped by the writer
|
|
97
|
+
* @param commit - The commit in question
|
|
98
|
+
* @returns boolean. If true, don't write the current commit
|
|
99
|
+
*/
|
|
100
|
+
skip?(commit: Commit): boolean;
|
|
101
|
+
}
|
|
102
|
+
type RequiredOptions<Commit extends CommitKnownProps = CommitKnownProps> = Required<Options<Commit>>;
|
|
103
|
+
export interface FinalOptions<Commit extends CommitKnownProps = CommitKnownProps> extends Options<Commit> {
|
|
104
|
+
groupBy: RequiredOptions<Commit>['groupBy'];
|
|
105
|
+
generateOn: RequiredOptions<Commit>['generateOn'];
|
|
106
|
+
finalizeContext: RequiredOptions<Commit>['finalizeContext'];
|
|
107
|
+
debug: RequiredOptions<Commit>['debug'];
|
|
108
|
+
formatDate: RequiredOptions<Commit>['formatDate'];
|
|
109
|
+
transform: RequiredOptions<Commit>['transform'];
|
|
110
|
+
template: RequiredOptions<Commit>['template'];
|
|
111
|
+
headerPartial: RequiredOptions<Commit>['headerPartial'];
|
|
112
|
+
preamblePartial: RequiredOptions<Commit>['preamblePartial'];
|
|
113
|
+
commitPartial: RequiredOptions<Commit>['commitPartial'];
|
|
114
|
+
footerPartial: RequiredOptions<Commit>['footerPartial'];
|
|
115
|
+
commitsSort?: Comparator<Commit>;
|
|
116
|
+
commitGroupsSort?: Comparator<CommitGroup<Commit>>;
|
|
117
|
+
notesSort?: Comparator<CommitNote>;
|
|
118
|
+
noteGroupsSort?: Comparator<NoteGroup>;
|
|
119
|
+
skip?: Options<Commit>['skip'];
|
|
120
|
+
}
|
|
121
|
+
export {};
|
|
122
|
+
//# sourceMappingURL=options.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"options.d.ts","sourceRoot":"","sources":["../../src/types/options.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
export type Comparator<T> = (a: T, b: T) => number;
|
|
2
|
+
export type StringsRecord<T extends string> = {
|
|
3
|
+
[K in T]?: string | undefined;
|
|
4
|
+
};
|
|
5
|
+
export type PickStringsKeys<T> = {
|
|
6
|
+
[P in keyof T]: P extends string ? T[P] extends string ? (string extends T[P] ? P : never) : never : never;
|
|
7
|
+
}[keyof T];
|
|
8
|
+
export type PickStrings<T> = StringsRecord<PickStringsKeys<T>>;
|
|
9
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../../src/types/utils.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,UAAU,CAAC,CAAC,IAAI,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,KAAK,MAAM,CAAA;AAElD,MAAM,MAAM,aAAa,CAAC,CAAC,SAAS,MAAM,IAAI;KAAG,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,MAAM,GAAG,SAAS;CAAE,CAAA;AAE/E,MAAM,MAAM,eAAe,CAAC,CAAC,IAAI;KAC9B,CAAC,IAAI,MAAM,CAAC,GAAG,CAAC,SAAS,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,SAAS,MAAM,GAAG,CAAC,MAAM,SAAS,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,KAAK,CAAC,GAAG,KAAK,GAAG,KAAK;CAC3G,CAAC,MAAM,CAAC,CAAC,CAAA;AAEV,MAAM,MAAM,WAAW,CAAC,CAAC,IAAI,aAAa,CAAC,eAAe,CAAC,CAAC,CAAC,CAAC,CAAA"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import type { Comparator, StringsRecord } from './types/index.js';
|
|
2
|
+
/**
|
|
3
|
+
* Formats date to yyyy-mm-dd format.
|
|
4
|
+
* @param date - Date string or Date object.
|
|
5
|
+
* @returns Date string in yyyy-mm-dd format.
|
|
6
|
+
*/
|
|
7
|
+
export declare function formatDate(date: string | Date): string;
|
|
8
|
+
/**
|
|
9
|
+
* Safe JSON.stringify with circular reference support.
|
|
10
|
+
* @param obj
|
|
11
|
+
* @returns Stringified object with circular references.
|
|
12
|
+
*/
|
|
13
|
+
export declare function stringify(obj: unknown): string;
|
|
14
|
+
/**
|
|
15
|
+
* Creates a compare function for sorting from object keys.
|
|
16
|
+
* @param strings - String or array of strings of object keys to compare.
|
|
17
|
+
* @returns Compare function.
|
|
18
|
+
*/
|
|
19
|
+
export declare function createComparator<K extends string, T extends StringsRecord<K>>(strings: K | K[] | Comparator<T> | undefined): Comparator<T> | undefined;
|
|
20
|
+
//# sourceMappingURL=utils.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.d.ts","sourceRoot":"","sources":["../src/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,UAAU,EACV,aAAa,EACd,MAAM,kBAAkB,CAAA;AAIzB;;;;GAIG;AACH,wBAAgB,UAAU,CACxB,IAAI,EAAE,MAAM,GAAG,IAAI,UAGpB;AAED;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,GAAG,EAAE,OAAO,UAqCrC;AAED;;;;GAIG;AACH,wBAAgB,gBAAgB,CAC9B,CAAC,SAAS,MAAM,EAChB,CAAC,SAAS,aAAa,CAAC,CAAC,CAAC,EAC1B,OAAO,EAAE,CAAC,GAAG,CAAC,EAAE,GAAG,UAAU,CAAC,CAAC,CAAC,GAAG,SAAS,6BAoB7C"}
|
|
@@ -0,0 +1,70 @@
|
|
|
1
|
+
const DATETIME_LENGTH = 10;
|
|
2
|
+
/**
|
|
3
|
+
* Formats date to yyyy-mm-dd format.
|
|
4
|
+
* @param date - Date string or Date object.
|
|
5
|
+
* @returns Date string in yyyy-mm-dd format.
|
|
6
|
+
*/
|
|
7
|
+
export function formatDate(date) {
|
|
8
|
+
return new Date(date).toISOString().slice(0, DATETIME_LENGTH);
|
|
9
|
+
}
|
|
10
|
+
/**
|
|
11
|
+
* Safe JSON.stringify with circular reference support.
|
|
12
|
+
* @param obj
|
|
13
|
+
* @returns Stringified object with circular references.
|
|
14
|
+
*/
|
|
15
|
+
export function stringify(obj) {
|
|
16
|
+
const stack = [];
|
|
17
|
+
const keys = [];
|
|
18
|
+
let thisPos;
|
|
19
|
+
const cycleReplacer = (value) => {
|
|
20
|
+
if (stack[0] === value) {
|
|
21
|
+
return '[Circular ~]';
|
|
22
|
+
}
|
|
23
|
+
return `[Circular ~.${keys.slice(0, stack.indexOf(value)).join('.')}]`;
|
|
24
|
+
};
|
|
25
|
+
function serializer(key, value) {
|
|
26
|
+
let resultValue = value;
|
|
27
|
+
if (stack.length > 0) {
|
|
28
|
+
thisPos = stack.indexOf(this);
|
|
29
|
+
if (thisPos !== -1) {
|
|
30
|
+
stack.splice(thisPos + 1);
|
|
31
|
+
keys.splice(thisPos, Infinity, key);
|
|
32
|
+
}
|
|
33
|
+
else {
|
|
34
|
+
stack.push(this);
|
|
35
|
+
keys.push(key);
|
|
36
|
+
}
|
|
37
|
+
if (stack.includes(resultValue)) {
|
|
38
|
+
resultValue = cycleReplacer(resultValue);
|
|
39
|
+
}
|
|
40
|
+
}
|
|
41
|
+
else {
|
|
42
|
+
stack.push(resultValue);
|
|
43
|
+
}
|
|
44
|
+
return resultValue;
|
|
45
|
+
}
|
|
46
|
+
return JSON.stringify(obj, serializer, ' ');
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Creates a compare function for sorting from object keys.
|
|
50
|
+
* @param strings - String or array of strings of object keys to compare.
|
|
51
|
+
* @returns Compare function.
|
|
52
|
+
*/
|
|
53
|
+
export function createComparator(strings) {
|
|
54
|
+
if (typeof strings === 'string') {
|
|
55
|
+
return (a, b) => (a[strings] || '').localeCompare(b[strings] || '');
|
|
56
|
+
}
|
|
57
|
+
if (Array.isArray(strings)) {
|
|
58
|
+
return (a, b) => {
|
|
59
|
+
let strA = '';
|
|
60
|
+
let strB = '';
|
|
61
|
+
for (const key of strings) {
|
|
62
|
+
strA += a[key] || '';
|
|
63
|
+
strB += b[key] || '';
|
|
64
|
+
}
|
|
65
|
+
return strA.localeCompare(strB);
|
|
66
|
+
};
|
|
67
|
+
}
|
|
68
|
+
return strings;
|
|
69
|
+
}
|
|
70
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidXRpbHMuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvdXRpbHMudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6IkFBS0EsTUFBTSxlQUFlLEdBQUcsRUFBRSxDQUFBO0FBRTFCOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsVUFBVSxDQUN4QixJQUFtQjtJQUVuQixPQUFPLElBQUksSUFBSSxDQUFDLElBQUksQ0FBQyxDQUFDLFdBQVcsRUFBRSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsZUFBZSxDQUFDLENBQUE7QUFDL0QsQ0FBQztBQUVEOzs7O0dBSUc7QUFDSCxNQUFNLFVBQVUsU0FBUyxDQUFDLEdBQVk7SUFDcEMsTUFBTSxLQUFLLEdBQWMsRUFBRSxDQUFBO0lBQzNCLE1BQU0sSUFBSSxHQUFhLEVBQUUsQ0FBQTtJQUN6QixJQUFJLE9BQWUsQ0FBQTtJQUNuQixNQUFNLGFBQWEsR0FBRyxDQUFDLEtBQWMsRUFBRSxFQUFFO1FBQ3ZDLElBQUksS0FBSyxDQUFDLENBQUMsQ0FBQyxLQUFLLEtBQUssRUFBRSxDQUFDO1lBQ3ZCLE9BQU8sY0FBYyxDQUFBO1FBQ3ZCLENBQUM7UUFFRCxPQUFPLGVBQWUsSUFBSSxDQUFDLEtBQUssQ0FBQyxDQUFDLEVBQUUsS0FBSyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLElBQUksQ0FBQyxHQUFHLENBQUMsR0FBRyxDQUFBO0lBQ3hFLENBQUMsQ0FBQTtJQUVELFNBQVMsVUFBVSxDQUFnQixHQUFXLEVBQUUsS0FBYztRQUM1RCxJQUFJLFdBQVcsR0FBRyxLQUFLLENBQUE7UUFFdkIsSUFBSSxLQUFLLENBQUMsTUFBTSxHQUFHLENBQUMsRUFBRSxDQUFDO1lBQ3JCLE9BQU8sR0FBRyxLQUFLLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxDQUFBO1lBRTdCLElBQUksT0FBTyxLQUFLLENBQUMsQ0FBQyxFQUFFLENBQUM7Z0JBQ25CLEtBQUssQ0FBQyxNQUFNLENBQUMsT0FBTyxHQUFHLENBQUMsQ0FBQyxDQUFBO2dCQUN6QixJQUFJLENBQUMsTUFBTSxDQUFDLE9BQU8sRUFBRSxRQUFRLEVBQUUsR0FBRyxDQUFDLENBQUE7WUFDckMsQ0FBQztpQkFBTSxDQUFDO2dCQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsSUFBSSxDQUFDLENBQUE7Z0JBQ2hCLElBQUksQ0FBQyxJQUFJLENBQUMsR0FBRyxDQUFDLENBQUE7WUFDaEIsQ0FBQztZQUVELElBQUksS0FBSyxDQUFDLFFBQVEsQ0FBQyxXQUFXLENBQUMsRUFBRSxDQUFDO2dCQUNoQyxXQUFXLEdBQUcsYUFBYSxDQUFDLFdBQVcsQ0FBQyxDQUFBO1lBQzFDLENBQUM7UUFDSCxDQUFDO2FBQU0sQ0FBQztZQUNOLEtBQUssQ0FBQyxJQUFJLENBQUMsV0FBVyxDQUFDLENBQUE7UUFDekIsQ0FBQztRQUVELE9BQU8sV0FBVyxDQUFBO0lBQ3BCLENBQUM7SUFFRCxPQUFPLElBQUksQ0FBQyxTQUFTLENBQUMsR0FBRyxFQUFFLFVBQVUsRUFBRSxJQUFJLENBQUMsQ0FBQTtBQUM5QyxDQUFDO0FBRUQ7Ozs7R0FJRztBQUNILE1BQU0sVUFBVSxnQkFBZ0IsQ0FHOUIsT0FBNEM7SUFDNUMsSUFBSSxPQUFPLE9BQU8sS0FBSyxRQUFRLEVBQUUsQ0FBQztRQUNoQyxPQUFPLENBQUMsQ0FBSSxFQUFFLENBQUksRUFBRSxFQUFFLENBQUMsQ0FBQyxDQUFDLENBQUMsT0FBTyxDQUFDLElBQUksRUFBRSxDQUFDLENBQUMsYUFBYSxDQUFDLENBQUMsQ0FBQyxPQUFPLENBQUMsSUFBSSxFQUFFLENBQUMsQ0FBQTtJQUMzRSxDQUFDO0lBRUQsSUFBSSxLQUFLLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxFQUFFLENBQUM7UUFDM0IsT0FBTyxDQUFDLENBQUksRUFBRSxDQUFJLEVBQUUsRUFBRTtZQUNwQixJQUFJLElBQUksR0FBRyxFQUFFLENBQUE7WUFDYixJQUFJLElBQUksR0FBRyxFQUFFLENBQUE7WUFFYixLQUFLLE1BQU0sR0FBRyxJQUFJLE9BQU8sRUFBRSxDQUFDO2dCQUMxQixJQUFJLElBQUksQ0FBQyxDQUFDLEdBQUcsQ0FBQyxJQUFJLEVBQUUsQ0FBQTtnQkFDcEIsSUFBSSxJQUFJLENBQUMsQ0FBQyxHQUFHLENBQUMsSUFBSSxFQUFFLENBQUE7WUFDdEIsQ0FBQztZQUVELE9BQU8sSUFBSSxDQUFDLGFBQWEsQ0FBQyxJQUFJLENBQUMsQ0FBQTtRQUNqQyxDQUFDLENBQUE7SUFDSCxDQUFDO0lBRUQsT0FBTyxPQUFPLENBQUE7QUFDaEIsQ0FBQyJ9
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { CommitKnownProps, TemplateContext } from '@conventional-changelog/template';
|
|
2
|
+
import type { Options, Details } from './types/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Creates an async generator function to generate changelog entries from commits.
|
|
5
|
+
* @param context - TemplateContext for changelog template.
|
|
6
|
+
* @param options - Options for changelog template.
|
|
7
|
+
* @param includeDetails - Whether to yield details object instead of changelog entry.
|
|
8
|
+
* @returns Async generator function to generate changelog entries from commits.
|
|
9
|
+
*/
|
|
10
|
+
export declare function writeChangelog<Commit extends CommitKnownProps = CommitKnownProps>(context?: TemplateContext<Commit>, options?: Options<Commit>, includeDetails?: false): (commits: Iterable<Commit> | AsyncIterable<Commit>) => AsyncGenerator<string, void>;
|
|
11
|
+
export declare function writeChangelog<Commit extends CommitKnownProps = CommitKnownProps>(context: TemplateContext<Commit>, options: Options<Commit>, includeDetails: true): (commits: Iterable<Commit> | AsyncIterable<Commit>) => AsyncGenerator<Details<Commit>, void>;
|
|
12
|
+
export declare function writeChangelog<Commit extends CommitKnownProps = CommitKnownProps>(context?: TemplateContext<Commit>, options?: Options<Commit>, includeDetails?: boolean): (commits: Iterable<Commit> | AsyncIterable<Commit>) => AsyncGenerator<string | Details<Commit>, void>;
|
|
13
|
+
/**
|
|
14
|
+
* Creates a transform stream which takes commits and outputs changelog entries.
|
|
15
|
+
* @param context - TemplateContext for changelog template.
|
|
16
|
+
* @param options - Options for changelog template.
|
|
17
|
+
* @param includeDetails - Whether to emit details object instead of changelog entry.
|
|
18
|
+
* @returns Transform stream which takes commits and outputs changelog entries.
|
|
19
|
+
*/
|
|
20
|
+
export declare function writeChangelogStream<Commit extends CommitKnownProps = CommitKnownProps>(context?: TemplateContext<Commit>, options?: Options<Commit>, includeDetails?: boolean): import("stream").Duplex;
|
|
21
|
+
/**
|
|
22
|
+
* Create a changelog string from commits.
|
|
23
|
+
* @param commits - Commits to generate changelog from.
|
|
24
|
+
* @param context - TemplateContext for changelog template.
|
|
25
|
+
* @param options - Options for changelog template.
|
|
26
|
+
* @returns Changelog string.
|
|
27
|
+
*/
|
|
28
|
+
export declare function writeChangelogString<Commit extends CommitKnownProps = CommitKnownProps>(commits: Iterable<Commit> | AsyncIterable<Commit>, context?: TemplateContext<Commit>, options?: Options<Commit>): Promise<string>;
|
|
29
|
+
//# sourceMappingURL=writers.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"writers.d.ts","sourceRoot":"","sources":["../src/writers.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EACV,gBAAgB,EAChB,eAAe,EAEhB,MAAM,kCAAkC,CAAA;AACzC,OAAO,KAAK,EACV,OAAO,EACP,OAAO,EACR,MAAM,kBAAkB,CAAA;AASzB;;;;;;GAMG;AACH,wBAAgB,cAAc,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EAC/E,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,cAAc,CAAC,EAAE,KAAK,GACrB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC,MAAM,EAAE,IAAI,CAAC,CAAA;AACtF,wBAAgB,cAAc,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EAC/E,OAAO,EAAE,eAAe,CAAC,MAAM,CAAC,EAChC,OAAO,EAAE,OAAO,CAAC,MAAM,CAAC,EACxB,cAAc,EAAE,IAAI,GACnB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;AAC/F,wBAAgB,cAAc,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EAC/E,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,cAAc,CAAC,EAAE,OAAO,GACvB,CAAC,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,KAAK,cAAc,CAAC,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,EAAE,IAAI,CAAC,CAAA;AAuFxG;;;;;;GAMG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EACrF,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,EACzB,cAAc,UAAQ,2BAGvB;AAED;;;;;;GAMG;AACH,wBAAsB,oBAAoB,CAAC,MAAM,SAAS,gBAAgB,GAAG,gBAAgB,EAC3F,OAAO,EAAE,QAAQ,CAAC,MAAM,CAAC,GAAG,aAAa,CAAC,MAAM,CAAC,EACjD,OAAO,CAAC,EAAE,eAAe,CAAC,MAAM,CAAC,EACjC,OAAO,CAAC,EAAE,OAAO,CAAC,MAAM,CAAC,mBAW1B"}
|