Skip to content

Commit 36ad0a4

Browse files
committed
fix(rules): unpack default from rules when exporting in index
1 parent 012c18e commit 36ad0a4

File tree

2 files changed

+39
-34
lines changed

2 files changed

+39
-34
lines changed

@commitlint/rules/src/index.test.ts

+2-2
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@ import {values} from 'lodash';
44
import rules from '.';
55

66
test('exports all rules', async () => {
7-
const expected = (await glob('*.js')).sort();
7+
const expected = (await glob('*.ts')).sort();
88
const actual = Object.keys(rules).sort();
99
expect(actual).toMatchObject(expected);
1010
});
@@ -16,7 +16,7 @@ test('rules export functions', () => {
1616

1717
async function glob(pattern: string) {
1818
const files = await globby([path.join(__dirname, pattern)], {
19-
ignore: ['**/index.js', '**/*.test.js'],
19+
ignore: ['**/index.ts', '**/types.ts', '**/*.test.ts'],
2020
cwd: __dirname
2121
});
2222
return files.map(relative).map(toExport);

@commitlint/rules/src/index.ts

+37-32
Original file line numberDiff line numberDiff line change
@@ -1,34 +1,39 @@
1+
const loadRule = (name: string) => {
2+
const rule = require(`./${name}`);
3+
return rule.default || rule;
4+
};
5+
16
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-max-line-length': require('./body-max-line-length'),
7-
'body-min-length': require('./body-min-length'),
8-
'footer-empty': require('./footer-empty'),
9-
'footer-leading-blank': require('./footer-leading-blank'),
10-
'footer-max-length': require('./footer-max-length'),
11-
'footer-max-line-length': require('./footer-max-line-length'),
12-
'footer-min-length': require('./footer-min-length'),
13-
'header-case': require('./header-case'),
14-
'header-full-stop': require('./header-full-stop'),
15-
'header-max-length': require('./header-max-length'),
16-
'header-min-length': require('./header-min-length'),
17-
'references-empty': require('./references-empty'),
18-
'scope-case': require('./scope-case'),
19-
'scope-empty': require('./scope-empty'),
20-
'scope-enum': require('./scope-enum'),
21-
'scope-max-length': require('./scope-max-length'),
22-
'scope-min-length': require('./scope-min-length'),
23-
'signed-off-by': require('./signed-off-by'),
24-
'subject-case': require('./subject-case'),
25-
'subject-empty': require('./subject-empty'),
26-
'subject-full-stop': require('./subject-full-stop'),
27-
'subject-max-length': require('./subject-max-length'),
28-
'subject-min-length': require('./subject-min-length'),
29-
'type-case': require('./type-case'),
30-
'type-empty': require('./type-empty'),
31-
'type-enum': require('./type-enum'),
32-
'type-max-length': require('./type-max-length'),
33-
'type-min-length': require('./type-min-length')
7+
'body-case': loadRule('body-case'),
8+
'body-empty': loadRule('body-empty'),
9+
'body-leading-blank': loadRule('body-leading-blank'),
10+
'body-max-length': loadRule('body-max-length'),
11+
'body-max-line-length': loadRule('body-max-line-length'),
12+
'body-min-length': loadRule('body-min-length'),
13+
'footer-empty': loadRule('footer-empty'),
14+
'footer-leading-blank': loadRule('footer-leading-blank'),
15+
'footer-max-length': loadRule('footer-max-length'),
16+
'footer-max-line-length': loadRule('footer-max-line-length'),
17+
'footer-min-length': loadRule('footer-min-length'),
18+
'header-case': loadRule('header-case'),
19+
'header-full-stop': loadRule('header-full-stop'),
20+
'header-max-length': loadRule('header-max-length'),
21+
'header-min-length': loadRule('header-min-length'),
22+
'references-empty': loadRule('references-empty'),
23+
'scope-case': loadRule('scope-case'),
24+
'scope-empty': loadRule('scope-empty'),
25+
'scope-enum': loadRule('scope-enum'),
26+
'scope-max-length': loadRule('scope-max-length'),
27+
'scope-min-length': loadRule('scope-min-length'),
28+
'signed-off-by': loadRule('signed-off-by'),
29+
'subject-case': loadRule('subject-case'),
30+
'subject-empty': loadRule('subject-empty'),
31+
'subject-full-stop': loadRule('subject-full-stop'),
32+
'subject-max-length': loadRule('subject-max-length'),
33+
'subject-min-length': loadRule('subject-min-length'),
34+
'type-case': loadRule('type-case'),
35+
'type-empty': loadRule('type-empty'),
36+
'type-enum': loadRule('type-enum'),
37+
'type-max-length': loadRule('type-max-length'),
38+
'type-min-length': loadRule('type-min-length')
3439
};

0 commit comments

Comments
 (0)