trim leading slashes
This commit is contained in:
parent
9fb69dda17
commit
abf6f239fa
3 changed files with 16 additions and 1 deletions
6
lib/config-utils.js
generated
6
lib/config-utils.js
generated
|
|
@ -112,7 +112,13 @@ const pathStarsRegex = /.*(?:\*\*[^/].*|\*\*$|[^/]\*\*.*)/;
|
||||||
// Checks that a paths of paths-ignore entry is valid, possibly modifying it
|
// Checks that a paths of paths-ignore entry is valid, possibly modifying it
|
||||||
// to make it valid, or if not possible then throws an error.
|
// to make it valid, or if not possible then throws an error.
|
||||||
function validateAndSanitisePath(originalPath, propertyName, configFile) {
|
function validateAndSanitisePath(originalPath, propertyName, configFile) {
|
||||||
|
// Take a copy so we don't modify the original path, so we can still construct error messages
|
||||||
let path = originalPath;
|
let path = originalPath;
|
||||||
|
// All paths are relative to the src root, so strip off leading slashes.
|
||||||
|
while (path.charAt(0) === '/') {
|
||||||
|
path = path.substring(1);
|
||||||
|
}
|
||||||
|
// Trailing ** are redundant, so strip them off
|
||||||
if (path.endsWith('/**')) {
|
if (path.endsWith('/**')) {
|
||||||
path = path.substring(0, path.length - 2);
|
path = path.substring(0, path.length - 2);
|
||||||
}
|
}
|
||||||
|
|
|
||||||
File diff suppressed because one or more lines are too long
|
|
@ -121,10 +121,19 @@ const pathStarsRegex = /.*(?:\*\*[^/].*|\*\*$|[^/]\*\*.*)/;
|
||||||
// Checks that a paths of paths-ignore entry is valid, possibly modifying it
|
// Checks that a paths of paths-ignore entry is valid, possibly modifying it
|
||||||
// to make it valid, or if not possible then throws an error.
|
// to make it valid, or if not possible then throws an error.
|
||||||
export function validateAndSanitisePath(originalPath: string, propertyName: string, configFile: string): string {
|
export function validateAndSanitisePath(originalPath: string, propertyName: string, configFile: string): string {
|
||||||
|
// Take a copy so we don't modify the original path, so we can still construct error messages
|
||||||
let path = originalPath;
|
let path = originalPath;
|
||||||
|
|
||||||
|
// All paths are relative to the src root, so strip off leading slashes.
|
||||||
|
while (path.charAt(0) === '/') {
|
||||||
|
path = path.substring(1);
|
||||||
|
}
|
||||||
|
|
||||||
|
// Trailing ** are redundant, so strip them off
|
||||||
if (path.endsWith('/**')) {
|
if (path.endsWith('/**')) {
|
||||||
path = path.substring(0, path.length - 2);
|
path = path.substring(0, path.length - 2);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (path.match(pathStarsRegex)) {
|
if (path.match(pathStarsRegex)) {
|
||||||
throw new Error(getConfigFilePropertyError(
|
throw new Error(getConfigFilePropertyError(
|
||||||
configFile,
|
configFile,
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue