diff --git a/lib/gui/app/modules/image-writer.ts b/lib/gui/app/modules/image-writer.ts index 358f7b46..99e31318 100644 --- a/lib/gui/app/modules/image-writer.ts +++ b/lib/gui/app/modules/image-writer.ts @@ -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 diff --git a/lib/start.ts b/lib/start.ts deleted file mode 100644 index d377d5c4..00000000 --- a/lib/start.ts +++ /dev/null @@ -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'); -} diff --git a/webpack.config.ts b/webpack.config.ts index eac976a1..2d1bed3d 100644 --- a/webpack.config.ts +++ b/webpack.config.ts @@ -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];