Skip to content

Commit d1cab45

Browse files
committed
use either process.send or writeFile fallback
1 parent 2fd13c2 commit d1cab45

File tree

1 file changed

+19
-7
lines changed

1 file changed

+19
-7
lines changed

src/child-require-hook.ts

Lines changed: 19 additions & 7 deletions
Original file line numberDiff line numberDiff line change
@@ -38,15 +38,27 @@ const waitForFile = function (fileName: string) {
3838
}
3939
}
4040

41-
const compile = (code: string, fileName: string) => {
42-
const compiledPath = getCompiledPath(code, fileName, compiledDir)
43-
process.send &&
44-
process.send({
45-
compile: fileName,
46-
compiledPath: compiledPath,
47-
})
41+
const sendFsCompileRequest = (fileName: string, compiledPath: string) => {
4842
const compileRequestFile = [compiledDir, compilationId + '.req'].join(sep)
4943
fs.writeFileSync(compileRequestFile, [fileName, compiledPath].join('\n'))
44+
}
45+
46+
const compile = (code: string, fileName: string) => {
47+
const compiledPath = getCompiledPath(code, fileName, compiledDir)
48+
if (process.send) {
49+
try {
50+
process.send({
51+
compile: fileName,
52+
compiledPath: compiledPath,
53+
})
54+
} catch (e) {
55+
console.warn('Error while sending compile request via process.send')
56+
sendFsCompileRequest(fileName, compiledPath)
57+
}
58+
} else {
59+
sendFsCompileRequest(fileName, compiledPath)
60+
}
61+
5062
waitForFile(compiledPath + '.done')
5163
const compiled = fs.readFileSync(compiledPath, 'utf-8')
5264
return compiled

0 commit comments

Comments
 (0)