-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathwebpack.config.js
More file actions
80 lines (75 loc) · 2.14 KB
/
webpack.config.js
File metadata and controls
80 lines (75 loc) · 2.14 KB
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
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
/*
* This webpack config produces two js files: one is npm module file ReactProgressMeter.js,
* the other one is example app js file appExample.js in dist directory.
* Devzone Tech Ltd.
* https://www.devzonetech.com/
*
* Howto rebuild:
* npm install
* node_modules/webpack/bin/webpack.js --config webpack.config.js
*
*/
var webpack = require('webpack');
var path = require('path');
var BUILD_DIR = path.resolve(__dirname, 'dist');
var APP_DIR = path.resolve(__dirname, './src/');
var config = {
devtool:'sourcemaps',
cache: true,
entry: {
ReactProgressMeter: APP_DIR + '/ReactProgressMeter.js',
},
output: {
path: BUILD_DIR,
filename: '[name].js',
library: 'shared-components',
libraryTarget: 'umd'
},
resolve: {
extensions: ['.js', '.jsx']
},
externals: {
'react': 'react',
'react-dom': 'react-dom',
'prop-types': 'prop-types'
},
module : {
loaders: [
{
test: /(\.scss|\.css)$/,
loaders: [
require.resolve('style-loader'),
require.resolve('css-loader') + '?sourceMap&modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]',
require.resolve('sass-loader') + '?sourceMap'
]
},
{
test: path.join(__dirname, '.'),
exclude: /(node_modules)/,
loader: 'babel-loader',
query: { presets:['env', 'stage-0', 'react' ], plugins:["add-module-exports"]}
},
],
},
plugins: [
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false,
// Drop `console` statements
drop_console: true
},
output: {
comments: false,
},
sourceMap: false,
// Don't beautify output (enable for neater output)
beautify: false,
})
]
};
var configExample = Object.assign({}, config);
configExample.externals = {};
configExample.entry = {
appExample: APP_DIR + '/appExample.js',
};
module.exports = [config, configExample];