-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathwebpack.config.js
65 lines (63 loc) · 1.96 KB
/
webpack.config.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
var path = require('path');
var webpack = require('webpack');
var HtmlWebpackPlugin = require('html-webpack-plugin');
var autoprefixer = require('autoprefixer');
var fontMagician = require('postcss-font-magician');
var ExtractTextPlugin = require('extract-text-webpack-plugin');
var config = require('./client/app/config').default;
module.exports = {
devtool: 'source-map',
entry: {},
module: {
preLoaders: [
{
test: /\.js$/,
loader: "eslint-loader?{rules:{'no-var':0}}",
exclude: /(node_modules)/
}
],
loaders: [
{ test: /\.js$/, exclude: [/app\/lib/, /node_modules/], loader: 'ng-annotate!babel' },
{ test: /\.html$/, loader: 'raw' },
{ test: /\.css$/, loader: 'style!css!postcss' },
]
},
plugins: [
// Injects bundles in your index.html instead of wiring all manually.
// It also adds hash to all injected assets so we don't have problems
// with cache purging during deployment.
new HtmlWebpackPlugin({
template: 'client/index.html',
inject: 'body',
hash: true
}),
// Automatically move all modules defined outside of application directory to vendor bundle.
// If you are using more complicated project structure, consider to specify common chunks manually.
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module, count) {
return module.resource && module.resource.indexOf(path.resolve(__dirname, 'client')) === -1;
}
}),
new webpack.ContextReplacementPlugin(/moment[\/\\]locale$/, /pl|en-gb/),
// fetch polyfill
new webpack.ProvidePlugin({
$: "jquery",
jQuery: "jquery",
"window.jQuery": "jquery"
}),
new ExtractTextPlugin('[name].[chunkhash].css')
],
eslint: {
emitError: false,
emitWarning: true,
failOnError: true,
failOnWarning: false
},
postcss: [
autoprefixer(),
fontMagician({
foundries: 'bootstrap google'
})
]
};