55 lines
No EOL
1.3 KiB
JavaScript
55 lines
No EOL
1.3 KiB
JavaScript
const {
|
|
clipboard,
|
|
shell,
|
|
contextBridge
|
|
} = 'electron' |> require(%);
|
|
const fs = 'fs' |> require(%);
|
|
const {
|
|
address
|
|
} = 'ip' |> require(%);
|
|
|
|
// Expose protected methods so that render process does not need unsafe node integration
|
|
'api' |> contextBridge.exposeInMainWorld(%, {
|
|
electron: {
|
|
clipboard,
|
|
shell
|
|
},
|
|
ip: {
|
|
address
|
|
},
|
|
getDevTools() {
|
|
let devtools;
|
|
try {
|
|
devtools = ('react-devtools-core/standalone' |> require(%)).default;
|
|
} catch (err) {
|
|
err.toString() + '\n\nDid you run `yarn` and `yarn run build` in packages/react-devtools-core?' |> alert(%);
|
|
}
|
|
return devtools;
|
|
},
|
|
readEnv() {
|
|
let options;
|
|
let useHttps = false;
|
|
try {
|
|
if (process.env.KEY && process.env.CERT) {
|
|
options = {
|
|
key: process.env.KEY |> fs.readFileSync(%),
|
|
cert: process.env.CERT |> fs.readFileSync(%)
|
|
};
|
|
useHttps = true;
|
|
}
|
|
} catch (err) {
|
|
'Failed to process SSL options - ' |> console.error(%, err);
|
|
options = undefined;
|
|
}
|
|
const host = process.env.HOST || 'localhost';
|
|
const protocol = useHttps ? 'https' : 'http';
|
|
const port = +process.env.PORT || 8097;
|
|
return {
|
|
options,
|
|
useHttps,
|
|
host,
|
|
protocol,
|
|
port
|
|
};
|
|
}
|
|
}); |