fix ASAR for windows

This commit is contained in:
Benjamin Pasero
2018-09-07 17:39:21 +02:00
parent 38e76c0214
commit d1ec72c2a0
2 changed files with 16 additions and 6 deletions

View File

@@ -36,6 +36,7 @@ exports.assign = function assign(destination, source) {
exports.load = function (modulePaths, resultCallback, options) {
// @ts-ignore
const webFrame = require('electron').webFrame;
const path = require('path');
const args = exports.parseURLQueryArgs();
const configuration = JSON.parse(args['config'] || '{}') || {};
@@ -55,7 +56,14 @@ exports.load = function (modulePaths, resultCallback, options) {
exports.assign(process.env, configuration.userEnv);
// Enable ASAR support
bootstrap.enableASARSupport();
// Note: On windows we have to be careful about the drive letter casing. If
// the drive letter case is lowercase, we convert it to uppercase. DO NOT
// CHANGE THIS logic or otherwise loading will fail in windows.
let nodeModulesPath = path.join(configuration.appRoot, 'node_modules');
if (process.platform === 'win32' && /[a-z]\:/.test(nodeModulesPath)) {
nodeModulesPath = nodeModulesPath.charAt(0).toUpperCase() + nodeModulesPath.substr(1); // Make drive letter uppercase
}
bootstrap.enableASARSupport(nodeModulesPath);
// disable pinch zoom & apply zoom level early to avoid glitches
const zoomLevel = configuration.zoomLevel;