fix: Run app.setAppPath() with the right path (#78)

* Fix: Run app.setAppPath() with the right path

* Implement feedback <3

* test: Add linting
This commit is contained in:
Felix Rieseberg
2023-09-06 08:52:08 -07:00
committed by GitHub
parent 381ca1a748
commit 9a808beecc
3 changed files with 43 additions and 7 deletions

View File

@@ -1,7 +1,26 @@
const path = require('path');
if (process.arch === 'arm64') { if (process.arch === 'arm64') {
process._archPath = require.resolve('../app-arm64.asar'); setPaths('arm64');
} else { } else {
process._archPath = require.resolve('../app-x64.asar'); setPaths('x64');
}
function setPaths(platform) {
// This should return the full path, ending in something like
// Notion.app/Contents/Resources/app.asar
const appPath = app.getAppPath();
const asarFile = `app-${platform}.asar`;
// Maybe we'll handle this in Electron one day
if (path.basename(appPath) === 'app.asar') {
const platformAppPath = path.join(path.dirname(appPath), asarFile);
// This is an undocumented API. It exists.
app.setAppPath(platformAppPath);
}
process._archPath = require.resolve(`../${asarFile}`);
} }
require(process._archPath); require(process._archPath);

View File

@@ -1,7 +1,24 @@
if (process.arch === 'arm64') { if (process.arch === 'arm64') {
process._archPath = require.resolve('../app-arm64'); setPaths('arm64');
} else { } else {
process._archPath = require.resolve('../app-x64'); setPaths('x64');
}
function setPaths(platform) {
// This should return the full path, ending in something like
// Notion.app/Contents/Resources/app
const appPath = app.getAppPath();
const appFolder = `app-${platform}`;
// Maybe we'll handle this in Electron one day
if (path.basename(appPath) === 'app') {
const platformAppPath = path.join(path.dirname(appPath), appFolder);
// This is an undocumented private API. It exists.
app.setAppPath(platformAppPath);
}
process._archPath = require.resolve(`../${appFolder}`);
} }
require(process._archPath); require(process._archPath);

View File

@@ -25,8 +25,8 @@
"author": "Samuel Attard", "author": "Samuel Attard",
"scripts": { "scripts": {
"build": "tsc && tsc -p tsconfig.esm.json", "build": "tsc && tsc -p tsconfig.esm.json",
"lint": "prettier --check \"src/**/*.ts\"", "lint": "prettier --check \"{src,entry-asar}/**/*.{js,ts}\"",
"prettier:write": "prettier --write \"src/**/*.ts\"", "prettier:write": "prettier --write \"{src,entry-asar}/**/*.{js,ts}\"",
"prepublishOnly": "npm run build", "prepublishOnly": "npm run build",
"test": "exit 0", "test": "exit 0",
"prepare": "husky install" "prepare": "husky install"