Make builds work again and catch squirrel errors on windows (#2078)

* Catch errors for electron-squirrel-startup

* Made builds work again

* linting

* linting
This commit is contained in:
Andy 2017-08-13 07:03:35 +02:00 committed by Leo Lamprecht
parent be8e0cce29
commit de8e70f935
6 changed files with 26 additions and 15 deletions

1
.gitignore vendored
View file

@ -1,5 +1,6 @@
# build output
dist
app/renderer
# dependencies
node_modules

View file

@ -31,7 +31,7 @@
<div id="mount"></div>
<script>start = performance.now();</script>
<script src="dist/bundle.js"></script>
<script src="renderer/bundle.js"></script>
<script>console.log('total init time', performance.now() - start);</script>
</body>
</html>

View file

@ -9,6 +9,19 @@ if (['--help', '-v', '--version'].includes(process.argv[1])) {
process.exit();
}
const checkSquirrel = () => {
let squirrel;
try {
squirrel = require('electron-squirrel-startup');
} catch (err) {}
if (squirrel) {
// eslint-disable-next-line unicorn/no-process-exit
process.exit();
}
};
// handle startup squirrel events
if (process.platform === 'win32') {
// eslint-disable-next-line import/order
@ -18,19 +31,16 @@ if (process.platform === 'win32') {
case '--squirrel-install':
case '--squirrel-updated':
systemContextMenu.add(() => {
// eslint-disable-next-line curly, unicorn/no-process-exit
if (require('electron-squirrel-startup')) process.exit();
checkSquirrel();
});
break;
case '--squirrel-uninstall':
systemContextMenu.remove(() => {
// eslint-disable-next-line curly, unicorn/no-process-exit
if (require('electron-squirrel-startup')) process.exit();
checkSquirrel();
});
break;
default:
// eslint-disable-next-line curly, unicorn/no-process-exit
if (require('electron-squirrel-startup')) process.exit();
checkSquirrel();
}
}

View file

@ -106,8 +106,8 @@ export default class Header extends Component {
const {hambMenu, winCtrls} = this.getWindowHeaderConfig();
const left = winCtrls === 'left';
const maxButtonHref = this.props.maximized ?
'./dist/assets/icons.svg#restore-window' :
'./dist/assets/icons.svg#maximize-window';
'./renderer/assets/icons.svg#restore-window' :
'./renderer/assets/icons.svg#maximize-window';
return (<header
className={css('header', isMac && 'headerRounded')}
@ -126,7 +126,7 @@ export default class Header extends Component {
className={css('shape', (left && 'hamburgerMenuRight') || 'hamburgerMenuLeft')}
onClick={this.handleHamburgerMenuClick}
>
<use xlinkHref="./dist/assets/icons.svg#hamburger-menu"/>
<use xlinkHref="./renderer/assets/icons.svg#hamburger-menu"/>
</svg>
}
<span className={css('appTitle')}>{title}</span>
@ -137,7 +137,7 @@ export default class Header extends Component {
className={css('shape', left && 'minimizeWindowLeft')}
onClick={this.handleMinimizeClick}
>
<use xlinkHref="./dist/assets/icons.svg#minimize-window"/>
<use xlinkHref="./renderer/assets/icons.svg#minimize-window"/>
</svg>
<svg
className={css('shape', left && 'maximizeWindowLeft')}
@ -149,7 +149,7 @@ export default class Header extends Component {
className={css('shape', 'closeWindow', left && 'closeWindowLeft')}
onClick={this.handleCloseClick}
>
<use xlinkHref="./dist/assets/icons.svg#close-window"/>
<use xlinkHref="./renderer/assets/icons.svg#close-window"/>
</svg>
</div>
}

View file

@ -12,8 +12,8 @@
"prepush": "npm test",
"postinstall": "electron-builder install-app-deps && npm run rebuild-node-pty",
"rebuild-node-pty": "electron-rebuild -f -w app/node_modules/node-pty -m app",
"dist": "npm run build && cross-env BABEL_ENV=production babel --out-file app/dist/bundle.js --no-comments --minified app/dist/bundle.js && build",
"clean": "node ./bin/rimraf-standalone.js node_modules && node ./bin/rimraf-standalone.js ./app/node_modules && node ./bin/rimraf-standalone.js ./app/dist"
"dist": "npm run build && cross-env BABEL_ENV=production babel --out-file app/renderer/bundle.js --no-comments --minified app/renderer/bundle.js && build",
"clean": "node ./bin/rimraf-standalone.js node_modules && node ./bin/rimraf-standalone.js ./app/node_modules && node ./bin/rimraf-standalone.js ./app/renderer"
},
"xo": {
"extends": "xo-react",

View file

@ -13,7 +13,7 @@ module.exports = {
devtool: isProd ? 'hidden-source-map' : 'cheap-module-source-map',
entry: './lib/index.js',
output: {
path: path.join(__dirname, 'app', 'dist'),
path: path.join(__dirname, 'app', 'renderer'),
filename: 'bundle.js'
},
module: {