Skip to content

Commit 056c6fe

Browse files
authoredFeb 3, 2020
feat: add possibility to extend from string (#865)
1 parent 3476234 commit 056c6fe

File tree

2 files changed

+16
-2
lines changed

2 files changed

+16
-2
lines changed
 

‎@commitlint/resolve-extends/src/index.test.ts

+11
Original file line numberDiff line numberDiff line change
@@ -30,6 +30,17 @@ test('fails for missing extends', async () => {
3030
);
3131
});
3232

33+
test('resolves extends for single config', () => {
34+
const input = {extends: 'extender-name'};
35+
const ctx = {
36+
resolve: id,
37+
require: jest.fn(() => ({}))
38+
} as ResolveExtendsContext;
39+
resolveExtends(input, ctx);
40+
41+
expect(ctx.require).toHaveBeenCalledWith('extender-name');
42+
});
43+
3344
test('uses empty prefix by default', () => {
3445
const input = {extends: ['extender-name']};
3546
const ctx = {

‎@commitlint/resolve-extends/src/index.ts

+5-2
Original file line numberDiff line numberDiff line change
@@ -13,7 +13,7 @@ export interface ResolvedConfig {
1313

1414
export interface ResolveExtendsConfig {
1515
parserPreset?: unknown;
16-
extends?: string[];
16+
extends?: string | string[];
1717
[key: string]: unknown;
1818
}
1919

@@ -48,7 +48,10 @@ function loadExtends(
4848
config: ResolveExtendsConfig = {},
4949
context: ResolveExtendsContext = {}
5050
): ResolvedConfig[] {
51-
return (config.extends || []).reduce<ResolvedConfig[]>((configs, raw) => {
51+
const {extends: e} = config;
52+
const ext = e ? (Array.isArray(e) ? e : [e]) : [];
53+
54+
return ext.reduce<ResolvedConfig[]>((configs, raw) => {
5255
const load = context.require || require;
5356
const resolved = resolveConfig(raw, context);
5457
const c = load(resolved);

0 commit comments

Comments
 (0)
Please sign in to comment.