Split main process and child-writer js files

Changelog-entry: Split main process and child-writer js files
Change-type: patch
This commit is contained in:
Alexis Svinartchouk 2020-07-16 13:04:35 +02:00
parent dc9351713c
commit 3218fc2c83
3 changed files with 25 additions and 34 deletions

View File

@ -93,7 +93,11 @@ function terminateServer() {
}
function writerArgv(): string[] {
let entryPoint = electron.remote.app.getAppPath();
let entryPoint = path.join(
electron.remote.app.getAppPath(),
'generated',
'child-writer.js',
);
// AppImages run over FUSE, so the files inside the mount point
// can only be accessed by the user that mounted the AppImage.
// This means we can't re-spawn Etcher as root from the same

View File

@ -1,30 +0,0 @@
/*
* Copyright 2016 balena.io
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
// See http://electron.atom.io/docs/v0.37.7/api/environment-variables/#electronrunasnode
//
// Notice that if running electron with `ELECTRON_RUN_AS_NODE`, the binary
// *won't* attempt to load the `app.asar` application by default, therefore
// if passing `ELECTRON_RUN_AS_NODE`, you have to pass the path to the asar
// or the entry point file (this file) manually as an argument.
import { env } from 'process';
if (env.ELECTRON_RUN_AS_NODE) {
import('./gui/modules/child-writer');
} else {
import('./gui/etcher');
}

View File

@ -288,15 +288,32 @@ const guiConfig = {
],
};
const etcherConfig = {
const mainConfig = {
...commonConfig,
target: 'electron-main',
node: {
__dirname: false,
__filename: true,
},
};
const etcherConfig = {
...mainConfig,
entry: {
etcher: path.join(__dirname, 'lib', 'start.ts'),
etcher: path.join(__dirname, 'lib', 'gui', 'etcher.ts'),
},
};
const childWriterConfig = {
...mainConfig,
entry: {
'child-writer': path.join(
__dirname,
'lib',
'gui',
'modules',
'child-writer.ts',
),
},
};
@ -337,4 +354,4 @@ const cssConfig = {
},
};
module.exports = [cssConfig, guiConfig, etcherConfig];
module.exports = [cssConfig, guiConfig, etcherConfig, childWriterConfig];