@domoinc/base-widget
Version:
BaseWidget - Domo Widget
46 lines (43 loc) • 1.03 kB
JavaScript
var webpack = require('webpack');
var config = {
entry: './src/Widget.js',
output: {
path: __dirname + '/dist',
publicPath: '/dist/',
filename: 'bundle.js',
libraryTarget: 'umd',
library: 'BaseWidget'
},
plugins: [
new webpack.BannerPlugin('Copyright 2016 Domo Inc.')
],
externals: {
d3: 'd3',
'd3.chart': 'd3.chart',
"@domoinc/notifier": {
root: 'Notifier',
commonjs: '@domoinc/notifier',
commonjs2: '@domoinc/notifier',
amd: 'notifier'
},
lodash: {
root: '_',
commonjs: 'lodash',
commonjs2: 'lodash',
amd: 'lodash'
}
}
};
config.setDev = function() {
var externals = config.externals;
delete config.externals;
config.entry = {
app: config.entry,
vendor: Object.keys(externals)
};
config.plugins.push(new webpack.optimize.CommonsChunkPlugin(/* chunkName= */"vendor", /* filename= */"vendor.bundle.js"));
};
if (process.env.NODE_ENV === 'development') {
config.setDev();
}
module.exports = config;