diff --git a/lib/broccoli/broccoli-typescript.js b/lib/broccoli/broccoli-typescript.js index 87d395fb918a..8ab914c3ef0f 100644 --- a/lib/broccoli/broccoli-typescript.js +++ b/lib/broccoli/broccoli-typescript.js @@ -78,7 +78,12 @@ class BroccoliTypeScriptCompiler extends Plugin { this._fileRegistry[tsFilePath].outputs.forEach(absoluteFilePath => { const outputFilePath = absoluteFilePath.replace(this.cachePath, this.outputPath); fse.mkdirsSync(path.dirname(outputFilePath)); - fs.symlinkSync(absoluteFilePath, outputFilePath); + try { + fs.symlinkSync(absoluteFilePath, outputFilePath); + } catch (e) { + const conentStr = fs.readFileSync(absoluteFilePath); + fs.writeFileSync(outputFilePath, conentStr); + } }); } else { this._fileRegistry[tsFilePath].version = entry.mtime; @@ -203,7 +208,12 @@ class BroccoliTypeScriptCompiler extends Plugin { fs.writeFileSync(absoluteFilePath, content, FS_OPTS); fse.mkdirsSync(path.dirname(outputFilePath)); - fs.symlinkSync(absoluteFilePath, outputFilePath); + try { + fs.symlinkSync(absoluteFilePath, outputFilePath); + } catch (e) { + const conentStr = fs.readFileSync(absoluteFilePath); + fs.writeFileSync(outputFilePath, conentStr); + } } _addNewFileEntry(entry, checkDuplicates /* = true */) {