react-native-macos
Version:
A framework for building native macOS apps using React
40 lines (33 loc) • 952 B
JavaScript
/**
* Copyright (c) 2013-present, Facebook, Inc.
* All rights reserved.
*
* This source code is licensed under the BSD-style license found in the
* LICENSE file in the root directory of this source tree. An additional grant
* of patent rights can be found in the PATENTS file in the same directory.
*
* @flow
*/
;
const childProcess = require('child_process');
const childModule = require.resolve('./child/index');
function fork(forkModule: string, options: {|+execArgv: Array<string>|}) {
const child = childProcess.fork(childModule, {
env: process.env,
cwd: process.cwd(),
execArgv: options.execArgv,
});
child.send({module: forkModule});
// return a send() function for this child
return {
send(data: {}) {
try {
child.send(data);
} catch (e) {
// this *should* be picked up by onExit and the operation requeued
}
},
child,
};
}
module.exports = fork;