Skip to content

Commit 80cd7cc

Browse files
committed
refactor: enable static analysis of dependency tree
1 parent dcf2774 commit 80cd7cc

File tree

3 files changed

+46
-19
lines changed

3 files changed

+46
-19
lines changed

source/cli.js

+6-14
Original file line numberDiff line numberDiff line change
@@ -1,24 +1,16 @@
11
#!/usr/bin/env node
2-
// polyfills
3-
import 'babel-polyfill';
2+
import 'babel-polyfill'; // eslint-disable-line import/no-unassigned-import
43

54
// npm modules
65
import chalk from 'chalk';
76
import meow from 'meow';
87
import {pick} from 'lodash';
98
import stdin from 'get-stdin';
109

11-
// local modules
10+
import pkg from '../package.json'; // eslint-disable-line import/extensions
1211
import help from './help';
1312
import lint from './';
14-
import {
15-
format,
16-
getConfiguration,
17-
getPreset,
18-
getMessages
19-
} from './';
20-
21-
import pkg from '../package';
13+
import {format, getConfiguration, getPreset, getMessages} from './'; // eslint-disable-line no-duplicate-imports
2214

2315
/**
2416
* Behavioural rules
@@ -132,12 +124,12 @@ async function main(options) {
132124

133125
// Start the engine
134126
main(cli)
135-
.catch(error =>
127+
.catch(err =>
136128
setTimeout(() => {
137-
if (error.type === pkg.name) {
129+
if (err.type === pkg.name) {
138130
process.exit(1);
139131
}
140-
throw error;
132+
throw err;
141133
})
142134
);
143135

source/index.js

+8-5
Original file line numberDiff line numberDiff line change
@@ -1,10 +1,13 @@
11
import {sync as parse} from 'conventional-commits-parser';
22
import {merge} from 'lodash';
33

4-
export getConfiguration from './library/get-configuration';
5-
export getMessages from './library/get-messages';
6-
export getPreset from './library/get-preset';
7-
export format from './library/format';
4+
import ruleFunctions from './rules';
5+
import format from './library/format';
6+
import getConfiguration from './library/get-configuration';
7+
import getMessages from './library/get-messages';
8+
import getPreset from './library/get-preset';
9+
10+
export {format, getConfiguration, getMessages, getPreset};
811

912
export default async (message, options = {}) => {
1013
const {
@@ -62,7 +65,7 @@ export default async (message, options = {}) => {
6265
return null;
6366
}
6467

65-
const rule = require(`./rules/${name}`);
68+
const rule = ruleFunctions[name];
6669
const [valid, message] = rule(parsed, when, value);
6770

6871
return {

source/rules/index.js

+32
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,32 @@
1+
export default {
2+
'body-case': require('./body-case'),
3+
'body-empty': require('./body-empty'),
4+
'body-leading-blank': require('./body-leading-blank'),
5+
'body-max-length': require('./body-max-length'),
6+
'body-min-length': require('./body-min-length'),
7+
'body-tense': require('./body-tense'),
8+
'footer-empty': require('./footer-empty'),
9+
'footer-leading-blank': require('./footer-leading-blank'),
10+
'footer-max-length': require('./footer-max-length'),
11+
'footer-min-length': require('./footer-min-length'),
12+
'footer-tense': require('./footer-tense'),
13+
'header-max-length': require('./header-max-length'),
14+
'header-min-length': require('./header-min-length'),
15+
lang: require('./lang'),
16+
'scope-case': require('./scope-case'),
17+
'scope-empty': require('./scope-empty'),
18+
'scope-enum': require('./scope-enum'),
19+
'scope-max-length': require('./scope-max-length'),
20+
'scope-min-length': require('./scope-min-length'),
21+
'subject-case': require('./subject-case'),
22+
'subject-empty': require('./subject-empty'),
23+
'subject-full-stop': require('./subject-full-stop'),
24+
'subject-leading-capital': require('./subject-leading-capital'),
25+
'subject-max-length': require('./subject-max-length'),
26+
'subject-tense': require('./subject-tense'),
27+
'type-case': require('./type-case'),
28+
'type-empty': require('./type-empty'),
29+
'type-enum': require('./type-enum'),
30+
'type-max-length': require('./type-max-length'),
31+
'type-min-length': require('./type-min-length')
32+
};

0 commit comments

Comments
 (0)