generator-react-webpack/templates/common/_webpack.dist.config.js
2015-02-22 19:18:42 +00:00

75 lines
1.8 KiB
JavaScript

/*
* Webpack distribution configuration
*
* This file is set up for serving the distribution version. It will be compiled to dist/ by default
*/
'use strict';
var webpack = require('webpack');
module.exports = {
output: {
publicPath: '/assets/',
path: 'dist/assets/',
filename: 'main.js'
},
debug: false,
devtool: false,
entry: './src/scripts/components/<% if (reactRouter) { %>main<% } else { %><%= scriptAppName %><% } %>.js',
stats: {
colors: true,
reasons: false
},
plugins: [
new webpack.optimize.DedupePlugin(),
new webpack.optimize.UglifyJsPlugin(),
new webpack.optimize.OccurenceOrderPlugin(),
new webpack.optimize.AggressiveMergingPlugin()
],
resolve: {
extensions: ['', '.js'],
alias: {
'styles': '../../../src/styles',
'components': '../../../src/scripts/components/'
}
},
module: {
preLoaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: 'jsxhint'
}],
loaders: [{
test: /\.js$/,
exclude: /node_modules/,
loader: '<% if (es6) { %>babel!<% }%>jsx-loader?harmony'
}, {
test: /\.css$/,
loader: 'style-loader!css-loader'
},<% if (stylesLanguage === 'sass') { %> {
test: /\.sass/,
loader: 'style-loader!css-loader!sass-loader?outputStyle=expanded'
},<% } %><% if (stylesLanguage === 'scss') { %> {
test: /\.scss/,
loader: 'style-loader!css-loader!sass-loader?outputStyle=expanded'
},<% } %><% if (stylesLanguage === 'less') { %> {
test: /\.less/,
loader: 'style-loader!css-loader!less-loader'
},<% } %><% if (stylesLanguage === 'stylus') { %> {
test: /\.styl/,
loader: 'style-loader!stylus-loader!less-loader'
},<% } %> {
test: /\.(png|jpg)$/,
loader: 'url-loader?limit=8192'
}]
}
};