conventional-commits-parser 7.0.1 → 7.1.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/dist/cli/index.js +43 -79
- package/package.json +2 -2
package/dist/cli/index.js
CHANGED
|
@@ -1,92 +1,56 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
import { pipeline } from 'stream/promises';
|
|
3
|
-
import
|
|
3
|
+
import { readFile } from 'fs/promises';
|
|
4
|
+
import { readOptions, option, flag, alias, autocase, rest } from 'argue-cli';
|
|
4
5
|
import { parseCommits } from '../index.js';
|
|
5
6
|
import { parseOptions } from './options.js';
|
|
6
7
|
import { readRawCommitsFromFiles, readRawCommitsFromLine, readRawCommitsFromStdin, stringify } from './utils.js';
|
|
7
8
|
const DEFAULT_SEPARATOR = '\n\n\n';
|
|
8
|
-
const
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
9
|
+
const HELP = `
|
|
10
|
+
Practice writing commit messages or parse messages from files.
|
|
11
|
+
If used without specifying a text file path, you will enter an interactive shell.
|
|
12
|
+
Otherwise the commit messages in the files are parsed and printed
|
|
13
|
+
By default, commits will be split by three newlines ('\\n\\n\\n') or you can specify a separator.
|
|
13
14
|
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
15
|
+
Usage
|
|
16
|
+
conventional-commits-parser [-s <commit-separator>]
|
|
17
|
+
conventional-commits-parser [-s <commit-separator>] <path> [<path> ...]
|
|
18
|
+
cat <path> | conventional-commits-parser [-s <commit-separator>]
|
|
18
19
|
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
20
|
+
Example
|
|
21
|
+
conventional-commits-parser
|
|
22
|
+
conventional-commits-parser log.txt
|
|
23
|
+
cat log.txt | conventional-commits-parser
|
|
24
|
+
conventional-commits-parser log2.txt -s '===' >> parsed.txt
|
|
24
25
|
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
headerCorrespondence: {
|
|
50
|
-
shortFlag: 'c',
|
|
51
|
-
type: 'string'
|
|
52
|
-
},
|
|
53
|
-
referenceActions: {
|
|
54
|
-
shortFlag: 'r',
|
|
55
|
-
type: 'string'
|
|
56
|
-
},
|
|
57
|
-
issuePrefixes: {
|
|
58
|
-
shortFlag: 'i',
|
|
59
|
-
type: 'string'
|
|
60
|
-
},
|
|
61
|
-
issuePrefixesCaseSensitive: {
|
|
62
|
-
type: 'boolean'
|
|
63
|
-
},
|
|
64
|
-
noteKeywords: {
|
|
65
|
-
shortFlag: 'n',
|
|
66
|
-
type: 'string'
|
|
67
|
-
},
|
|
68
|
-
fieldPattern: {
|
|
69
|
-
shortFlag: 'f',
|
|
70
|
-
type: 'string'
|
|
71
|
-
},
|
|
72
|
-
revertPattern: {
|
|
73
|
-
type: 'string'
|
|
74
|
-
},
|
|
75
|
-
revertCorrespondence: {
|
|
76
|
-
type: 'string'
|
|
77
|
-
},
|
|
78
|
-
verbose: {
|
|
79
|
-
shortFlag: 'v',
|
|
80
|
-
type: 'boolean'
|
|
81
|
-
}
|
|
82
|
-
}
|
|
83
|
-
});
|
|
84
|
-
const { separator } = cli.flags;
|
|
85
|
-
const options = parseOptions(cli.flags);
|
|
26
|
+
Options
|
|
27
|
+
-s, --separator Commit separator
|
|
28
|
+
-p, --header-pattern Regex to match header pattern
|
|
29
|
+
-c, --header-correspondence Comma separated parts used to define what capturing group of 'headerPattern' captures what
|
|
30
|
+
-r, --reference-actions Comma separated keywords that used to reference issues
|
|
31
|
+
-i, --issue-prefixes Comma separated prefixes of an issue
|
|
32
|
+
--issue-prefixes-case-sensitive Treat issue prefixes as case sensitive
|
|
33
|
+
-n, --note-keywords Comma separated keywords for important notes
|
|
34
|
+
-f, --field-pattern Regex to match other fields
|
|
35
|
+
--revert-pattern Regex to match revert pattern
|
|
36
|
+
--revert-correspondence Comma separated fields used to define what the commit reverts
|
|
37
|
+
-v, --verbose Verbose output
|
|
38
|
+
`;
|
|
39
|
+
const flags = readOptions(option(alias('separator', 's'), String), option(autocase(alias('headerPattern', 'p')), String), option(autocase(alias('headerCorrespondence', 'c')), String), option(autocase(alias('referenceActions', 'r')), String), option(autocase(alias('issuePrefixes', 'i')), String), flag(autocase('issuePrefixesCaseSensitive')), option(autocase(alias('noteKeywords', 'n')), String), option(autocase(alias('fieldPattern', 'f')), String), option(autocase('revertPattern'), String), option(autocase('revertCorrespondence'), String), flag(alias('verbose', 'v')), flag('help'), flag('version'));
|
|
40
|
+
const files = rest();
|
|
41
|
+
if (flags.help || flags.version) {
|
|
42
|
+
const pkg = JSON.parse(await readFile(new URL('../../package.json', import.meta.url), 'utf8'));
|
|
43
|
+
console.log(flags.help
|
|
44
|
+
? `\n ${pkg.description}\n${HELP}`
|
|
45
|
+
: pkg.version);
|
|
46
|
+
process.exit(0);
|
|
47
|
+
}
|
|
48
|
+
const separator = flags.separator ?? DEFAULT_SEPARATOR;
|
|
49
|
+
const options = parseOptions(flags);
|
|
86
50
|
let inputStream;
|
|
87
51
|
try {
|
|
88
|
-
if (
|
|
89
|
-
inputStream = readRawCommitsFromFiles(
|
|
52
|
+
if (files.length) {
|
|
53
|
+
inputStream = readRawCommitsFromFiles(files, separator);
|
|
90
54
|
}
|
|
91
55
|
else if (process.stdin.isTTY) {
|
|
92
56
|
inputStream = readRawCommitsFromLine(separator);
|
|
@@ -100,4 +64,4 @@ catch (err) {
|
|
|
100
64
|
console.error(err);
|
|
101
65
|
process.exit(1);
|
|
102
66
|
}
|
|
103
|
-
//# sourceMappingURL=data:application/json;base64,
|
|
67
|
+
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxFQUFFLFFBQVEsRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUN0QyxPQUFPLEVBQ0wsV0FBVyxFQUNYLE1BQU0sRUFDTixJQUFJLEVBQ0osS0FBSyxFQUNMLFFBQVEsRUFDUixJQUFJLEVBQ0wsTUFBTSxXQUFXLENBQUE7QUFDbEIsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGFBQWEsQ0FBQTtBQUMxQyxPQUFPLEVBQUUsWUFBWSxFQUFFLE1BQU0sY0FBYyxDQUFBO0FBQzNDLE9BQU8sRUFDTCx1QkFBdUIsRUFDdkIsc0JBQXNCLEVBQ3RCLHVCQUF1QixFQUN2QixTQUFTLEVBQ1YsTUFBTSxZQUFZLENBQUE7QUFFbkIsTUFBTSxpQkFBaUIsR0FBRyxRQUFRLENBQUE7QUFDbEMsTUFBTSxJQUFJLEdBQUc7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7O0NBNkJaLENBQUE7QUFDRCxNQUFNLEtBQUssR0FBRyxXQUFXLENBQ3ZCLE1BQU0sQ0FBQyxLQUFLLENBQUMsV0FBVyxFQUFFLEdBQUcsQ0FBQyxFQUFFLE1BQU0sQ0FBQyxFQUN2QyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxlQUFlLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDckQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsc0JBQXNCLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDNUQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsa0JBQWtCLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDeEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsZUFBZSxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQ3JELElBQUksQ0FBQyxRQUFRLENBQUMsNEJBQTRCLENBQUMsQ0FBQyxFQUM1QyxNQUFNLENBQUMsUUFBUSxDQUFDLEtBQUssQ0FBQyxjQUFjLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDcEQsTUFBTSxDQUFDLFFBQVEsQ0FBQyxLQUFLLENBQUMsY0FBYyxFQUFFLEdBQUcsQ0FBQyxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQ3BELE1BQU0sQ0FBQyxRQUFRLENBQUMsZUFBZSxDQUFDLEVBQUUsTUFBTSxDQUFDLEVBQ3pDLE1BQU0sQ0FBQyxRQUFRLENBQUMsc0JBQXNCLENBQUMsRUFBRSxNQUFNLENBQUMsRUFDaEQsSUFBSSxDQUFDLEtBQUssQ0FBQyxTQUFTLEVBQUUsR0FBRyxDQUFDLENBQUMsRUFDM0IsSUFBSSxDQUFDLE1BQU0sQ0FBQyxFQUNaLElBQUksQ0FBQyxTQUFTLENBQUMsQ0FDaEIsQ0FBQTtBQUNELE1BQU0sS0FBSyxHQUFHLElBQUksRUFBRSxDQUFBO0FBRXBCLElBQUksS0FBSyxDQUFDLElBQUksSUFBSSxLQUFLLENBQUMsT0FBTyxFQUFFLENBQUM7SUFDaEMsTUFBTSxHQUFHLEdBQUcsSUFBSSxDQUFDLEtBQUssQ0FDcEIsTUFBTSxRQUFRLENBQUMsSUFBSSxHQUFHLENBQUMsb0JBQW9CLEVBQUUsT0FBTyxJQUFJLENBQUMsR0FBRyxDQUFDLEVBQUUsTUFBTSxDQUFDLENBSXZFLENBQUE7SUFFRCxPQUFPLENBQUMsR0FBRyxDQUNULEtBQUssQ0FBQyxJQUFJO1FBQ1IsQ0FBQyxDQUFDLE9BQU8sR0FBRyxDQUFDLFdBQVcsS0FBSyxJQUFJLEVBQUU7UUFDbkMsQ0FBQyxDQUFDLEdBQUcsQ0FBQyxPQUFPLENBQ2hCLENBQUE7SUFDRCxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUM7QUFFRCxNQUFNLFNBQVMsR0FBRyxLQUFLLENBQUMsU0FBUyxJQUFJLGlCQUFpQixDQUFBO0FBQ3RELE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxLQUFLLENBQUMsQ0FBQTtBQUNuQyxJQUFJLFdBQWtDLENBQUE7QUFFdEMsSUFBSSxDQUFDO0lBQ0gsSUFBSSxLQUFLLENBQUMsTUFBTSxFQUFFLENBQUM7UUFDakIsV0FBVyxHQUFHLHVCQUF1QixDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUN6RCxDQUFDO1NBQ0MsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqRCxDQUFDO1NBQU0sQ0FBQztRQUNOLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUgsTUFBTSxRQUFRLENBQ1osV0FBVyxFQUNYLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDckIsU0FBUyxFQUNULE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQTtBQUNILENBQUM7QUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMifQ==
|
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "conventional-commits-parser",
|
|
3
3
|
"type": "module",
|
|
4
|
-
"version": "7.0
|
|
4
|
+
"version": "7.1.0",
|
|
5
5
|
"description": "Parse raw conventional commits.",
|
|
6
6
|
"author": {
|
|
7
7
|
"name": "Steve Mao",
|
|
@@ -38,7 +38,7 @@
|
|
|
38
38
|
],
|
|
39
39
|
"dependencies": {
|
|
40
40
|
"@simple-libs/stream-utils": "^2.0.0",
|
|
41
|
-
"
|
|
41
|
+
"argue-cli": "^3.1.0"
|
|
42
42
|
},
|
|
43
43
|
"bin": {
|
|
44
44
|
"conventional-commits-parser": "./dist/cli/index.js"
|