diff -r de5736883786 -r f912b591e1c1 src_js/iconolab-bundle/webpack.config.js --- /dev/null Thu Jan 01 00:00:00 1970 +0000 +++ b/src_js/iconolab-bundle/webpack.config.js Fri Aug 19 19:04:26 2016 +0200 @@ -0,0 +1,71 @@ +var path = require('path') +var webpack = require('webpack') +var ExtractTextPlugin = require("extract-text-webpack-plugin") + +module.exports = { + entry: './src/main.js', + output: { + path: path.resolve(__dirname, './dist'), + publicPath: '/dist/', + filename: 'build.js' + }, + resolveLoader: { + root: path.join(__dirname, 'node_modules'), + }, + module: { + plugins: [], + loaders: [ + { + test: /\.vue$/, + loader: 'vue' + }, + { + test: /\.css$/, + loader: ExtractTextPlugin.extract({ fallbackLoader: "style-loader", loader: "css-loader" }) + }, + { + test: /\.js$/, + loader: 'babel-loader', + //exclude: /node_modules/, + query: { + presets: ['es2015'] + }, + "plugins": ["transform-es2015-shorthand-properties"] + }, + { + test: /\.(png|jpg|gif|svg)$/, + loader: 'file', + query: { + name: '[name].[ext]?[hash]' + } + }, + { + test: require.resolve('snapsvg'), + loader: 'imports-loader?this=>window,fix=>module.exports=0' + }, + ] + }, + devServer: { + historyApiFallback: true, + noInfo: true + }, + devtool: '#eval-source-map' +} + +if (process.env.NODE_ENV === 'production') { + module.exports.devtool = '#source-map' + // http://vue-loader.vuejs.org/en/workflow/production.html + module.exports.plugins = (module.exports.plugins || []).concat([ + new webpack.DefinePlugin({ + 'process.env': { + NODE_ENV: '"production"' + } + }), + new webpack.optimize.UglifyJsPlugin({ + compress: { + warnings: false + } + }), + new webpack.optimize.OccurenceOrderPlugin() + ]) +}