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.
Files changed (2) hide show
  1. package/dist/cli/index.js +43 -79
  2. 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 meow from 'meow';
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 cli = meow(`
9
- Practice writing commit messages or parse messages from files.
10
- If used without specifying a text file path, you will enter an interactive shell.
11
- Otherwise the commit messages in the files are parsed and printed
12
- By default, commits will be split by three newlines ('\\n\\n\\n') or you can specify a separator.
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
- Usage
15
- conventional-commits-parser [-s <commit-separator>]
16
- conventional-commits-parser [-s <commit-separator>] <path> [<path> ...]
17
- cat <path> | conventional-commits-parser [-s <commit-separator>]
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
- Example
20
- conventional-commits-parser
21
- conventional-commits-parser log.txt
22
- cat log.txt | conventional-commits-parser
23
- conventional-commits-parser log2.txt -s '===' >> parsed.txt
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
- Options
26
- -s, --separator Commit separator
27
- -p, --header-pattern Regex to match header pattern
28
- -c, --header-correspondence Comma separated parts used to define what capturing group of 'headerPattern' captures what
29
- -r, --reference-actions Comma separated keywords that used to reference issues
30
- -i, --issue-prefixes Comma separated prefixes of an issue
31
- --issue-prefixes-case-sensitive Treat issue prefixes as case sensitive
32
- -n, --note-keywords Comma separated keywords for important notes
33
- -f, --field-pattern Regex to match other fields
34
- --revert-pattern Regex to match revert pattern
35
- --revert-correspondence Comma separated fields used to define what the commit reverts
36
- -v, --verbose Verbose output
37
- `, {
38
- importMeta: import.meta,
39
- flags: {
40
- separator: {
41
- shortFlag: 's',
42
- type: 'string',
43
- default: DEFAULT_SEPARATOR
44
- },
45
- headerPattern: {
46
- shortFlag: 'p',
47
- type: 'string'
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 (cli.input.length) {
89
- inputStream = readRawCommitsFromFiles(cli.input, separator);
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,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY2xpL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7QUFDQSxPQUFPLEVBQUUsUUFBUSxFQUFFLE1BQU0saUJBQWlCLENBQUE7QUFDMUMsT0FBTyxJQUFJLE1BQU0sTUFBTSxDQUFBO0FBQ3ZCLE9BQU8sRUFBRSxZQUFZLEVBQUUsTUFBTSxhQUFhLENBQUE7QUFDMUMsT0FBTyxFQUFFLFlBQVksRUFBRSxNQUFNLGNBQWMsQ0FBQTtBQUMzQyxPQUFPLEVBQ0wsdUJBQXVCLEVBQ3ZCLHNCQUFzQixFQUN0Qix1QkFBdUIsRUFDdkIsU0FBUyxFQUNWLE1BQU0sWUFBWSxDQUFBO0FBRW5CLE1BQU0saUJBQWlCLEdBQUcsUUFBUSxDQUFBO0FBQ2xDLE1BQU0sR0FBRyxHQUFHLElBQUksQ0FBQzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Q0E2QmhCLEVBQUU7SUFDRCxVQUFVLEVBQUUsT0FBTyxJQUFJO0lBQ3ZCLEtBQUssRUFBRTtRQUNMLFNBQVMsRUFBRTtZQUNULFNBQVMsRUFBRSxHQUFHO1lBQ2QsSUFBSSxFQUFFLFFBQVE7WUFDZCxPQUFPLEVBQUUsaUJBQWlCO1NBQzNCO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEdBQUc7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDcEIsU0FBUyxFQUFFLEdBQUc7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsZ0JBQWdCLEVBQUU7WUFDaEIsU0FBUyxFQUFFLEdBQUc7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsYUFBYSxFQUFFO1lBQ2IsU0FBUyxFQUFFLEdBQUc7WUFDZCxJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0QsMEJBQTBCLEVBQUU7WUFDMUIsSUFBSSxFQUFFLFNBQVM7U0FDaEI7UUFDRCxZQUFZLEVBQUU7WUFDWixTQUFTLEVBQUUsR0FBRztZQUNkLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxZQUFZLEVBQUU7WUFDWixTQUFTLEVBQUUsR0FBRztZQUNkLElBQUksRUFBRSxRQUFRO1NBQ2Y7UUFDRCxhQUFhLEVBQUU7WUFDYixJQUFJLEVBQUUsUUFBUTtTQUNmO1FBQ0Qsb0JBQW9CLEVBQUU7WUFDcEIsSUFBSSxFQUFFLFFBQVE7U0FDZjtRQUNELE9BQU8sRUFBRTtZQUNQLFNBQVMsRUFBRSxHQUFHO1lBQ2QsSUFBSSxFQUFFLFNBQVM7U0FDaEI7S0FDRjtDQUNGLENBQUMsQ0FBQTtBQUNGLE1BQU0sRUFBRSxTQUFTLEVBQUUsR0FBRyxHQUFHLENBQUMsS0FBSyxDQUFBO0FBQy9CLE1BQU0sT0FBTyxHQUFHLFlBQVksQ0FBQyxHQUFHLENBQUMsS0FBSyxDQUFDLENBQUE7QUFDdkMsSUFBSSxXQUFrQyxDQUFBO0FBRXRDLElBQUksQ0FBQztJQUNILElBQUksR0FBRyxDQUFDLEtBQUssQ0FBQyxNQUFNLEVBQUUsQ0FBQztRQUNyQixXQUFXLEdBQUcsdUJBQXVCLENBQUMsR0FBRyxDQUFDLEtBQUssRUFBRSxTQUFTLENBQUMsQ0FBQTtJQUM3RCxDQUFDO1NBQ0MsSUFBSSxPQUFPLENBQUMsS0FBSyxDQUFDLEtBQUssRUFBRSxDQUFDO1FBQ3hCLFdBQVcsR0FBRyxzQkFBc0IsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNqRCxDQUFDO1NBQU0sQ0FBQztRQUNOLFdBQVcsR0FBRyx1QkFBdUIsQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUNsRCxDQUFDO0lBRUgsTUFBTSxRQUFRLENBQ1osV0FBVyxFQUNYLFlBQVksQ0FBQyxPQUFPLENBQUMsRUFDckIsU0FBUyxFQUNULE9BQU8sQ0FBQyxNQUFNLENBQ2YsQ0FBQTtBQUNILENBQUM7QUFBQyxPQUFPLEdBQUcsRUFBRSxDQUFDO0lBQ2IsT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQTtJQUNsQixPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFBO0FBQ2pCLENBQUMifQ==
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.1",
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
- "meow": "^14.0.0"
41
+ "argue-cli": "^3.1.0"
42
42
  },
43
43
  "bin": {
44
44
  "conventional-commits-parser": "./dist/cli/index.js"