diff --git a/@commitlint/ensure/src/case.js b/@commitlint/ensure/src/case.js index db0f1b1ed5..31e1b6a166 100644 --- a/@commitlint/ensure/src/case.js +++ b/@commitlint/ensure/src/case.js @@ -8,7 +8,11 @@ function ensureCase(raw = '', target = 'lowercase') { const input = String(raw) .replace(/`.*?`|".*?"|'.*?'/g, '') .trim(); - const transformed = toCase(input, target); + + const delimiters = /(\/|\\)/g; + const transformed = input.split(delimiters) + .map(segment => delimiters.test(segment) ? segment : toCase(segment, target)) + .join(''); if (transformed === '' || transformed.match(/^\d/)) { return true; diff --git a/@commitlint/ensure/src/case.test.js b/@commitlint/ensure/src/case.test.js index ec517ee88d..d19847abbf 100644 --- a/@commitlint/ensure/src/case.test.js +++ b/@commitlint/ensure/src/case.test.js @@ -110,6 +110,11 @@ test('true for * on pascal-case', t => { t.is(actual, true); }); +test('true for Modules/Graph on pascal-case', t => { + const actual = ensure('Modules/Graph', 'pascal-case'); + t.is(actual, true); +}); + test('true for * on start-case', t => { const actual = ensure('*', 'start-case'); t.is(actual, true);