diff --git a/src/compiler/program.ts b/src/compiler/program.ts index 0be96b7d55f..0b22d78f35a 100644 --- a/src/compiler/program.ts +++ b/src/compiler/program.ts @@ -114,9 +114,9 @@ namespace ts { fileName, data, writeByteOrderMark, - writeFileWorker, - compilerHost.createDirectory || system.createDirectory, - directoryExists); + (f, d, w) => writeFileWorker(f, d, w), + p => (compilerHost.createDirectory || system.createDirectory)(p), + p => directoryExists(p)); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite"); diff --git a/src/compiler/sys.ts b/src/compiler/sys.ts index 772eb148fc0..933cea7b729 100644 --- a/src/compiler/sys.ts +++ b/src/compiler/sys.ts @@ -533,10 +533,10 @@ namespace ts { writeFileEnsuringDirectories( path, data, - writeBom, + !!writeBom, (p, d, w) => originalWriteFile.call(sys, p, d, w), - p => sys.createDirectory.call(sys, p), - p => sys.directoryExists.call(sys, p)); + p => sys.createDirectory(p), + p => sys.directoryExists(p)); } /*@internal*/ diff --git a/src/compiler/utilities.ts b/src/compiler/utilities.ts index 8f7602cbe2a..ac29da93899 100644 --- a/src/compiler/utilities.ts +++ b/src/compiler/utilities.ts @@ -3714,8 +3714,8 @@ namespace ts { export function writeFileEnsuringDirectories( path: string, data: string, - writeByteOrderMark: boolean | undefined, - writeFile: (path: string, data: string, writeByteOrderMark?: boolean) => void, + writeByteOrderMark: boolean, + writeFile: (path: string, data: string, writeByteOrderMark: boolean) => void, createDirectory: (path: string) => void, directoryExists: (path: string) => boolean): void { diff --git a/src/compiler/watch.ts b/src/compiler/watch.ts index cc6bd0bcced..eef4a03c07b 100644 --- a/src/compiler/watch.ts +++ b/src/compiler/watch.ts @@ -303,7 +303,13 @@ namespace ts { // NOTE: If patchWriteFileEnsuringDirectory has been called, // the host.writeFile will do its own directory creation and // the ensureDirectoriesExist call will always be redundant. - writeFileEnsuringDirectories(fileName, text, writeByteOrderMark, host.writeFile!, host.createDirectory!, host.directoryExists!); + writeFileEnsuringDirectories( + fileName, + text, + writeByteOrderMark, + (f, w, d) => host.writeFile!(f, w, d), + p => host.createDirectory!(p), + p => host.directoryExists!(p)); performance.mark("afterIOWrite"); performance.measure("I/O Write", "beforeIOWrite", "afterIOWrite");