diff --git a/lib/output.ts b/lib/output.ts index 7802a736..563c886e 100644 --- a/lib/output.ts +++ b/lib/output.ts @@ -58,7 +58,7 @@ export class Output { // gulp-sourcemaps docs: // paths in the generated source map (`file` and `sources`) are relative to `file.base` (e.g. use `file.relative`). - map.file = output.relative; + map.file = utils.forwardSlashes(output.relative); map.sources = map.sources.map(relativeToOutput); delete map.sourceRoot; @@ -93,8 +93,8 @@ export class Output { return generator.toString(); function relativeToOutput(fileName: string) { - const absolute = path.resolve(directory, fileName.replace(/\\/g, '/')); - return path.relative(output.base, absolute); + const absolute = path.resolve(directory, fileName); + return utils.forwardSlashes(path.relative(output.base, absolute)); } } diff --git a/lib/utils.ts b/lib/utils.ts index f7f44ae4..24c62f3d 100644 --- a/lib/utils.ts +++ b/lib/utils.ts @@ -8,6 +8,10 @@ export interface Map { [key: string]: T; } +export function forwardSlashes(fileName: string) { + return fileName.replace(/\\/g, '/') +} + export function normalizePath(pathString: string) { return path.normalize(pathString).toLowerCase(); }