@pegakit/pegakit
Version:
The living styleguide, pattern library, UI ToolKit, and front-end build tools that power Pega's digital web properties.
81 lines (78 loc) • 1.72 kB
JavaScript
var path = require('path'),
webpack = require('webpack');
module.exports = {
context: __dirname + '/source/scripts',
externals: {
fs: '{}',
tls: '{}',
net: '{}',
console: '{}'
},
entry: {
app: [
'./app.js'
],
critical: './critical.js',
styleguide: [
'./styleguide.js'
]
},
output: {
path: path.resolve('public/scripts'),
publicPath: '/scripts/',
filename: '[name].built.js',
chunkFilename: '[chunkhash].bundle.js'
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
mangle: false,
compress: {
properties: true,
dead_code: true,
unused: true,
warnings: false
}
}),
new webpack.optimize.DedupePlugin(),
new webpack.optimize.OccurenceOrderPlugin()
],
// resolve: {
// extensions: ['', '.js', '.json']
// },
// debug: $.env.development(),
module: {
loaders: [
{
test: /\.js$/,
include: /(node_modules\/bunnyjs|scripts|node_modules\/fr\-tooltip)/,
loader: 'babel',
query: {
presets: ['es2015']
}
},
{
test: /\.json$/,
loader: 'json'
}
// {
// test: /bootstrap\/js\/src/,
// loader: 'babel',
// query: {
// presets: ['es2015'],
// plugins: ['transform-runtime']
// }
// }
// {
// test: require.resolve('jquery/src/jquery'),
// loader: "expose?$!expose?jQuery"
// },
// {
// test: require.resolve('jquery-once'),
// loader: "imports?jQuery=jquery"
// },
// {
// test: require.resolve('./node_modules/drupal/misc/drupal.js'),
// loader: "script"
// }
]}
};