UNPKG

2.02 kBJavaScriptView Raw
1const path = require('path');
2const ExtractTextPlugin = require('extract-text-webpack-plugin');
3const webpack = require('webpack');
4const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin');
5
6module.exports = {
7 entry: {
8 'dist/index': path.resolve(__dirname, './src/index.js'),
9 'dist/xml-lite': path.resolve(__dirname, './lib/index-browser.js'),
10 'spec/index': path.resolve(__dirname, './spec/index.spec.js'),
11 },
12 output: {
13 filename: '[name].js',
14 library: 'XMLLite',
15 libraryTarget: 'var',
16 path: path.resolve(__dirname),
17 publicPath: '/',
18 },
19 alias: {},
20 resolveLoader: {},
21 module: {
22 loaders: [
23 {
24 test: /\.js[x]?$/,
25 loader: 'babel-loader',
26 exclude: /locale/,
27 query: {
28 presets: [
29 'es2015',
30 ]
31 }
32 },
33 {
34 test: /\.css$/,
35 loader: ExtractTextPlugin.extract('style-loader', 'css-loader')
36 },
37 {
38 test: /\.less$/,
39 loader: ExtractTextPlugin.extract('style-loader', 'css-loader!less-loader')
40 },
41 {
42 test: /\.(png|jpg|jpeg|gif)(\?v=\d+\.\d+\.\d+)?$/i, // images
43 loader: 'url?name=[path][name].[ext]'
44 },
45 {
46 test: /\.(eot|svg|ttf|woff|woff2)$/, // font files
47 loader: 'url?name=[path][name].[ext]'
48 },
49 {
50 test: /\.json$/,
51 loader: 'json'
52 },
53 ]
54 },
55 externals: {
56 'codemirror': 'CodeMirror',
57 'jquery': 'jQuery',
58 'xml-lite': 'XMLLite',
59 },
60 plugins: [
61 new ExtractTextPlugin('[name].css'),
62 new webpack.optimize.UglifyJsPlugin({
63 compress: {
64 warnings: false
65 }
66 }),
67 // new webpack.BannerPlugin('eslint-disable\n'),
68 new webpack.optimize.DedupePlugin(),
69 new OptimizeCssAssetsPlugin({
70 assetNameRegExp: /\.optimize\.css$/g,
71 cssProcessor: require('cssnano'),
72 cssProcessorOptions: {
73 discardComments: {
74 removeAll: true
75 }
76 },
77 canPrint: true
78 })
79 ],
80};