Skip to content

Commit

Permalink
Use Babel in main process with Webpack build
Browse files Browse the repository at this point in the history
  • Loading branch information
jhen0409 committed Apr 10, 2016
1 parent 6d7797f commit 286010f
Show file tree
Hide file tree
Showing 5 changed files with 56 additions and 15 deletions.
2 changes: 2 additions & 0 deletions .gitignore
Original file line number Diff line number Diff line change
Expand Up @@ -32,3 +32,5 @@ node_modules
# App packaged
dist
release
main.js
main.js.map
12 changes: 1 addition & 11 deletions main.js → main.development.js
Original file line number Diff line number Diff line change
@@ -1,19 +1,9 @@
/* eslint strict: 0 */
'use strict';
import { app, BrowserWindow, Menu, crashReporter, shell } from 'electron';

process.env.NODE_ENV = process.env.NODE_ENV || 'production';

const electron = require('electron');
const app = electron.app;
const BrowserWindow = electron.BrowserWindow;
const Menu = electron.Menu;
const crashReporter = electron.crashReporter;
const shell = electron.shell;
let menu;
let template;
let mainWindow = null;


crashReporter.start();

if (process.env.NODE_ENV === 'development') {
Expand Down
3 changes: 2 additions & 1 deletion package.js
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,8 @@ const DEFAULT_OPTS = {
ignore: [
'/test($|/)',
'/tools($|/)',
'/release($|/)'
'/release($|/)',
'/main.development.js'
].concat(devDeps.map(name => `/node_modules/${name}($|/)`))
};

Expand Down
9 changes: 6 additions & 3 deletions package.json
Original file line number Diff line number Diff line change
Expand Up @@ -10,9 +10,11 @@
"test-e2e": "cross-env NODE_ENV=test mocha --compilers js:babel-core/register --require ./test/setup.js --require co-mocha ./test/e2e.js",
"lint": "eslint app test *.js",
"hot-server": "babel-node server.js",
"build": "cross-env NODE_ENV=production babel-node ./node_modules/.bin/webpack --config webpack.config.production.js --progress --profile --colors",
"build-electron": "cross-env NODE_ENV=production babel-node ./node_modules/.bin/webpack --config webpack.config.electron.js --progress --profile --colors",
"build-webpack": "cross-env NODE_ENV=production babel-node ./node_modules/.bin/webpack --config webpack.config.production.js --progress --profile --colors",
"build": "npm run build-electron && npm run build-webpack",
"start": "cross-env NODE_ENV=production electron ./",
"start-hot": "cross-env HOT=1 NODE_ENV=development electron ./",
"start-hot": "cross-env HOT=1 NODE_ENV=development electron -r babel-register ./main.development",
"package": "cross-env NODE_ENV=production babel-node package.js",
"package-all": "npm run package -- --all",
"postinstall": "node node_modules/fbjs-scripts/node/check-dev-engines.js package.json",
Expand Down Expand Up @@ -103,7 +105,8 @@
"react-router": "^2.0.1",
"react-router-redux": "^4.0.0",
"redux": "^3.3.1",
"redux-thunk": "^2.0.1"
"redux-thunk": "^2.0.1",
"source-map-support": "^0.4.0"
},
"devEngines": {
"node": "4.x || 5.x",
Expand Down
45 changes: 45 additions & 0 deletions webpack.config.electron.js
Original file line number Diff line number Diff line change
@@ -0,0 +1,45 @@
import webpack from 'webpack';
import baseConfig from './webpack.config.base';

export default {
...baseConfig,

devtool: 'source-map',

entry: './main.development',

output: {
path: __dirname,
filename: './main.js'
},

plugins: [
new webpack.optimize.UglifyJsPlugin({
compressor: {
warnings: false
}
}),
new webpack.BannerPlugin(
'require("source-map-support").install();',
{ raw: true, entryOnly: false }
),
new webpack.DefinePlugin({
'process.env': {
NODE_ENV: JSON.stringify('production')
}
})
],

target: 'electron',

node: {
__dirname: false,
__filename: false
},

externals: [
...baseConfig.externals,
'font-awesome',
'source-map-support'
]
}

0 comments on commit 286010f

Please sign in to comment.