From 5f3b430f63c809c7fdcf5f6a965132c8e4bc751d Mon Sep 17 00:00:00 2001 From: Jozielio Santiago Date: Thu, 25 Jan 2018 16:21:41 -0300 Subject: [PATCH] webpack.config --- package.json | 50 +++++++++++++++++++++++------------------------ webpack.config.js | 20 ++++++++++++++++++- 2 files changed, 44 insertions(+), 26 deletions(-) diff --git a/package.json b/package.json index 66df157..9865838 100644 --- a/package.json +++ b/package.json @@ -34,32 +34,32 @@ }, "homepage": "https://github.com/Especializa/es6#readme", "devDependencies": { - "babel-core": "^6.22.1", - "babel-loader": "^6.2.10", - "babel-preset-es2015": "^6.22.0", - "compression-webpack-plugin": "^0.3.2", - "css-loader": "^0.26.1", - "eslint": "^3.14.0", - "eslint-config-airbnb-base": "^11.0.1", - "eslint-plugin-import": "^2.2.0", - "express": "^4.14.1", + "babel-core": "^6.26.0", + "babel-loader": "^6.4.1", + "babel-preset-es2015": "^6.24.1", + "compression-webpack-plugin": "^1.1.3", + "css-loader": "^0.28.9", + "eslint": "^4.16.0", + "eslint-config-airbnb-base": "^12.1.0", + "eslint-plugin-import": "^2.8.0", + "express": "^4.16.2", "extract-text-webpack-plugin": "^2.0.0-rc.3", - "file-loader": "^0.10.0", - "html-es6-template-loader": "^1.0.2", - "html-webpack-plugin": "^2.28.0", - "http-server": "^0.9.0", - "image-webpack-loader": "^3.2.0", - "node-sass": "^4.5.0", - "nodemon": "^1.11.0", - "rimraf": "^2.6.0", - "sass-loader": "^5.0.1", - "style-loader": "^0.13.1", - "uglifyjs": "^2.4.10", - "uglifyjs-webpack-plugin": "^0.2.1", - "url-loader": "^0.5.7", - "webpack": "^2.2.1", - "webpack-dev-middleware": "^1.10.0", - "webpack-dev-server": "^2.3.0" + "file-loader": "^1.1.6", + "html-es6-template-loader": "^1.0.5", + "html-webpack-plugin": "^2.30.1", + "http-server": "^0.11.1", + "image-webpack-loader": "^4.0.0", + "node-sass": "^4.7.2", + "nodemon": "^1.14.11", + "rimraf": "^2.6.2", + "sass-loader": "^6.0.6", + "style-loader": "^0.19.1", + "uglifyjs": "^2.4.11", + "uglifyjs-webpack-plugin": "^1.1.6", + "url-loader": "^0.6.2", + "webpack": "^3.10.0", + "webpack-dev-middleware": "^2.0.4", + "webpack-dev-server": "^2.11.1" }, "dependencies": { "moment": "^2.17.1" diff --git a/webpack.config.js b/webpack.config.js index 5e4aabc..80e5d62 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -2,12 +2,20 @@ const path = require('path'); const webpack = require('webpack'); const HtmlWebpackPlugin = require('html-webpack-plugin'); const ExtractTextWebpackPlugin = require('extract-text-webpack-plugin'); +const UglifyJsWebpackPlugin = require('uglifyjs-webpack-plugin'); +const CompressionWebpackPlugin = require('compression-webpack-plugin'); const extractSass = new ExtractTextWebpackPlugin({ filename: '[name].[contenthash:8].bundle.css', disable: false, }); +const minify = { + collapseWhitespace: true, + conservativeCollapse: true, + removeComments: true, +}; + const config = { entry: { main: './app/index.js', @@ -28,13 +36,19 @@ const config = { template: path.join(__dirname, 'app', 'index.html'), filename: 'index.html', chunks: ['main', 'commons'], + minify, }), new HtmlWebpackPlugin({ template: path.join(__dirname, 'app', 'old-messages.html'), filename: 'old-messages.html', chunks: ['oldMessages', 'commons'], + minify, }), extractSass, + new UglifyJsWebpackPlugin(), + new CompressionWebpackPlugin({ + asset: '[path].gz', + }), ], module: { rules: [ @@ -52,7 +66,11 @@ const config = { test: /\.js$/, loader: 'babel-loader', options: { - presets: ['es2015'], + presets: [ + ['es2015', { + modules: false, + }], + ], }, exclude: /node_modules/, },