diff --git a/@commitlint/load/src/utils/load-parser-opts.ts b/@commitlint/load/src/utils/load-parser-opts.ts index 5380f529ba..f168fd642a 100644 --- a/@commitlint/load/src/utils/load-parser-opts.ts +++ b/@commitlint/load/src/utils/load-parser-opts.ts @@ -1,10 +1,5 @@ import {ParserPreset} from '@commitlint/types'; -import { - isObjectLike, - isParserOptsFunction, - isPromiseLike, - validateParser, -} from './validators'; +import {isObjectLike, isParserOptsFunction, isPromiseLike} from './validators'; export async function loadParser( pendingParser: unknown @@ -15,7 +10,9 @@ export async function loadParser( // Await for the module, loaded with require const parser = await pendingParser; - validateParser(parser); + if (!isObjectLike(parser)) { + throw new Error('Invalid configuration, `parserPreset` must be an object'); + } // Await parser opts if applicable if (isPromiseLike(parser.parserOpts)) { @@ -26,6 +23,7 @@ export async function loadParser( // Create parser opts from factory if ( isParserOptsFunction(parser) && + typeof parser.name === 'string' && parser.name.startsWith('conventional-changelog-') ) { return new Promise((resolve) => { diff --git a/@commitlint/load/src/utils/validators.ts b/@commitlint/load/src/utils/validators.ts index 3027707da2..7b76e17b88 100644 --- a/@commitlint/load/src/utils/validators.ts +++ b/@commitlint/load/src/utils/validators.ts @@ -56,17 +56,3 @@ export function validateConfig( throw new Error('Invalid configuration, `helpUrl` must be a string'); } } - -export function validateParser( - parser: unknown -): asserts parser is {name: string; path: string; [key: string]: unknown} { - if (!isObjectLike(parser)) { - throw new Error('Invalid configuration, parserPreset must be an object'); - } - if (typeof parser.name !== 'string') { - throw new Error('Invalid configuration, parserPreset must have a name'); - } - if (typeof parser.path !== 'string') { - throw new Error('Invalid configuration, parserPreset must have a name'); - } -} diff --git a/@commitlint/types/src/load.ts b/@commitlint/types/src/load.ts index 2dfd8fd389..c24a81bfb9 100644 --- a/@commitlint/types/src/load.ts +++ b/@commitlint/types/src/load.ts @@ -48,7 +48,7 @@ export interface QualifiedConfig { } export interface ParserPreset { - name: string; - path: string; + name?: string; + path?: string; parserOpts?: unknown; }