forked from jonjaques/react-loaders
-
Notifications
You must be signed in to change notification settings - Fork 0
/
webpack.config.coffee
47 lines (41 loc) · 1.02 KB
/
webpack.config.coffee
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
webpack = require 'webpack'
merge = require 'lodash/object/merge'
baseConfig =
output:
path: './dist'
filename: 'react-[name].js'
libraryTarget: 'umd'
module:
loaders: [{
test: /\.js$/
exclude: /node_modules/
loader: 'babel-loader?stage=0'
}]
bundle = (o)-> merge {}, baseConfig, o
loaderBundle =
bundle({
name: 'loaders'
entry:
'loaders': './components/loader.js'
externals: [
"react"
"react-dom"
"classnames"
"merge"
]
})
loaderMinBundle = merge({}, loaderBundle)
loaderMinBundle.name = loaderBundle.name + '.min'
loaderMinBundle.entry = 'loaders.min': loaderBundle.entry.loaders
loaderMinBundle.plugins = [ new webpack.optimize.UglifyJsPlugin() ]
demoBundle =
bundle({
name: 'loaders-demo'
entry:
'loaders-demo': './components/demo.js'
output:
libraryTarget: 'umd'
library: 'LoaderDemo'
plugins: [ new webpack.optimize.UglifyJsPlugin() ]
})
module.exports = [ loaderBundle, loaderMinBundle, demoBundle ]