feat(electron): complete electron integration

* chore(package): update webpack to beta.22

Lastest version before breaking changes.

* feat(electron): Complete Electron integration.

New task to build targeting Electron:

    "build:electron": Alias for build:electron.full
    "prebuild:electron.full": "npm run clean:electron",
    "build:electron.full": "npm run build:electron.renderer && npm run build:electron.main",
    "postbuild:electron.full": "npm run electron:start",

    "build:electron.renderer": Webpack aplication with production properties and targeting electron-renderer
    "build:electron.main": Webpack main Electron with production properties and targeting electron

    "electron:start": "electron build"
This commit is contained in:
Michael De Abreu 2016-10-12 08:59:51 -04:00 committed by Tibing
parent fd09e652c8
commit c6a9d67a83
12 changed files with 208 additions and 32 deletions

View file

@ -0,0 +1,67 @@
const helpers = require('./../helpers');
const webpack = require('webpack');
const METADATA = {
baseUrl: './',
ENV: 'renderer',
};
/*
* Webpack configuration
*
* See: http://webpack.github.io/docs/configuration.html#cli
*/
module.exports = function (env) {
METADATA.ENV = env
? env
: METADATA.ENV
return {
/*
* Static metadata for index.html
*
* See: (custom attribute)
*/
metadata: METADATA,
/**
* The plataform target where the aplication is going to run in.
* It support target electron-renderer, but is not documented.
*
* See: https://webpack.github.io/docs/configuration.html#target
*/
target: 'electron-renderer',
/**
* Options affecting the output of the compilation.
*
* See: http://webpack.github.io/docs/configuration.html#output
*/
output: {
/**
* The output directory as absolute path (required).
*
* See: http://webpack.github.io/docs/configuration.html#output-path
*/
path: helpers.root('build'),
},
/*
* Include polyfills or mocks for various node stuff
* Description: Node configuration
*
* See: https://webpack.github.io/docs/configuration.html#node
*/
node: {
global: 'window',
crypto: 'empty',
process: true,
module: false,
clearImmediate: false,
setImmediate: false
}
};
};