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 # build output
dist dist
app/renderer
# dependencies # dependencies
node_modules node_modules

View file

@ -31,7 +31,7 @@
<div id="mount"></div> <div id="mount"></div>
<script>start = performance.now();</script> <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> <script>console.log('total init time', performance.now() - start);</script>
</body> </body>
</html> </html>

View file

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

View file

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

View file

@ -12,8 +12,8 @@
"prepush": "npm test", "prepush": "npm test",
"postinstall": "electron-builder install-app-deps && npm run rebuild-node-pty", "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", "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", "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/dist" "clean": "node ./bin/rimraf-standalone.js node_modules && node ./bin/rimraf-standalone.js ./app/node_modules && node ./bin/rimraf-standalone.js ./app/renderer"
}, },
"xo": { "xo": {
"extends": "xo-react", "extends": "xo-react",

View file

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