@domoinc/domo-select
Version:
DomoSelect - Domo Widget
52 lines (49 loc) • 1.23 kB
JavaScript
var webpack = require('webpack');
var config = {
entry: './src/Widget',
output: {
path: __dirname + '/dist',
publicPath: '/dist/',
filename: 'bundle.js',
libraryTarget: 'umd',
library: 'DomoSelect'
},
plugins: [
new webpack.BannerPlugin('Copyright 2016 Domo Inc.')
],
externals: {
d3: 'd3',
'd3.chart': 'd3.chart',
'@domoinc/base-widget': {
root: 'BaseWidget',
commonjs: '@domoinc/base-widget',
commonjs2: '@domoinc/base-widget',
amd: 'base-widget'
},
'@domoinc/dropdown': {
root: 'Dropdown',
commonjs: '@domoinc/dropdown',
commonjs2: '@domoinc/dropdown',
amd: 'dropdown'
},
'@domoinc/button': {
root: 'Button',
commonjs: '@domoinc/button',
commonjs2: '@domoinc/button',
amd: 'button'
}
}
};
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;