UNPKG

esnextbin

Version:

Prototype JavaScript programs in the browser with ESNext (a.k.a ES2015) syntax and features, using modules from NPM.

59 lines (53 loc) 1.38 kB
const path = require('path'); const webpack = require('webpack'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); const OptimizeCssAssetsPlugin = require('optimize-css-assets-webpack-plugin'); const CompressionPlugin = require('compression-webpack-plugin'); module.exports = { entry: { app: './src/app', embed: './src/embed' }, output: { path: path.join(__dirname, 'build'), filename: '[name].min.js', publicPath: '/build' }, plugins: [ new webpack.DefinePlugin({ 'process.env': { 'NODE_ENV': JSON.stringify('production') } }), new webpack.optimize.OccurrenceOrderPlugin(), new webpack.optimize.UglifyJsPlugin({ compress: { warnings: false, screw_ie8: true }, output: { comments: false } }), new ExtractTextPlugin('[name].min.css'), new OptimizeCssAssetsPlugin(), new CompressionPlugin({ asset: '[path].gz[query]', algorithm: 'gzip', test: /\.js$/, threshold: 10240, minRatio: 0 }) ], resolve: { extensions: ['.js', '.jsx', 'json'] }, module: { rules: [{ test: /\.jsx?$/, exclude: /node_modules/, loader: 'babel-loader' }, { test: /\.css$/, use: ExtractTextPlugin.extract({ fallback: 'style-loader', use: ['css-loader', 'postcss-loader'] }) }] } };