diff --git a/packages/jest-haste-map/src/lib/fast_path.ts b/packages/jest-haste-map/src/lib/fast_path.ts index 255751de4a91..85a5b71d6595 100644 --- a/packages/jest-haste-map/src/lib/fast_path.ts +++ b/packages/jest-haste-map/src/lib/fast_path.ts @@ -9,7 +9,7 @@ import * as path from 'path'; // rootDir and filename must be absolute paths (resolved) export function relative(rootDir: string, filename: string): string { - return filename.indexOf(rootDir + path.sep) === 0 + return filename.startsWith(rootDir + path.sep) ? filename.slice(rootDir.length + 1) : path.relative(rootDir, filename); } @@ -19,7 +19,7 @@ const INDIRECTION_FRAGMENT = `..${path.sep}`; // rootDir must be an absolute path and relativeFilename must be simple // (e.g.: foo/bar or ../foo/bar, but never ./foo or foo/../bar) export function resolve(rootDir: string, relativeFilename: string): string { - return relativeFilename.indexOf(INDIRECTION_FRAGMENT) === 0 + return relativeFilename.startsWith(INDIRECTION_FRAGMENT) ? path.resolve(rootDir, relativeFilename) : rootDir + path.sep + relativeFilename; }