From 3c55909d284481c6c2fb2511c01c6625974d28c1 Mon Sep 17 00:00:00 2001 From: Mark Lee Date: Sat, 8 Dec 2018 23:44:46 -0800 Subject: [PATCH] feat: Linux support --- README.md | 10 +++++++++- package.json | 4 ---- src/utils/app-folder.ts | 13 +++++-------- src/utils/electron-bin.ts | 10 ++++------ 4 files changed, 18 insertions(+), 19 deletions(-) diff --git a/README.md b/README.md index 8bfe7b7..fce4837 100644 --- a/README.md +++ b/README.md @@ -19,15 +19,23 @@ electron-comrade --electron path/to/electron --app path/to/app Running an installed app with a different version of Electron: Windows: + ```powershell electron-comrade --electron 3.0.9 --app ~\AppData\Local\slack\app-3.3.4\ ``` -macOS +macOS: + ```sh electron-comrade --electron 3.0.9 --app /Applications/Slack.app ``` +Linux: + +```sh +electron-comrade --electron 3.0.9 --app /usr/lib/slack +``` + Running an installed app with a local build of Electron: ```powershell diff --git a/package.json b/package.json index 43c36d2..a11a738 100644 --- a/package.json +++ b/package.json @@ -26,10 +26,6 @@ "bugs": { "url": "https://github.com/felixrieseberg/electron-comrade/issues" }, - "os": [ - "win32", - "darwin" - ], "homepage": "https://github.com/felixrieseberg/electron-comrade#readme", "devDependencies": { "@types/chalk": "^2.2.0", diff --git a/src/utils/app-folder.ts b/src/utils/app-folder.ts index 332daec..bd2f3b4 100644 --- a/src/utils/app-folder.ts +++ b/src/utils/app-folder.ts @@ -6,21 +6,18 @@ import { IArgs } from 'src/interfaces'; export function getResourcesDirFromRoot(input: string) { if (process.platform === 'darwin') { return path.join(input, 'Electron.app', 'Contents', 'Resources'); - } - - if (process.platform === 'win32') { + } else { return path.join(input, 'resources'); } } export async function getAppFolder(options: IArgs): Promise { - if (process.platform === 'win32') { - return getAppFolderWin(options); - } - if (process.platform === 'darwin') { return getAppFolderMac(options); + } else { + return getAppFolderNonMac(options); } + } export async function getAppFolderMac({ app }: IArgs): Promise { @@ -29,7 +26,7 @@ export async function getAppFolderMac({ app }: IArgs): Promise { : app; } -export async function getAppFolderWin({ app }: IArgs): Promise { +export async function getAppFolderNonMac({ app }: IArgs): Promise { const contents = await fs.readdir(app); return contents.indexOf('resources') > -1 diff --git a/src/utils/electron-bin.ts b/src/utils/electron-bin.ts index 6d876d7..8dadaf6 100644 --- a/src/utils/electron-bin.ts +++ b/src/utils/electron-bin.ts @@ -1,9 +1,7 @@ export function getElectronBin() { - if (process.platform === 'win32') { - return 'electron.exe'; - } - - if (process.platform === 'darwin') { - return `Electron.app/Contents/MacOS/Electron`; + switch (process.platform) { + case 'win32': return 'electron.exe'; + case 'darwin': return `Electron.app/Contents/MacOS/Electron`; + default: return 'electron'; } }