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:
@@ -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);
|
||||||
|
|||||||
@@ -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);
|
||||||
|
|||||||
@@ -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"
|
||||||
|
|||||||
Reference in New Issue
Block a user