From f99dc6f7ef1ee8db1827774748c5835c1d3fa653 Mon Sep 17 00:00:00 2001 From: Charles Lyding Date: Fri, 27 Jan 2017 22:45:03 -0500 Subject: [PATCH] feat(build): minify/optimize component stylesheets --- package.json | 2 +- packages/angular-cli/models/webpack-configs/production.ts | 1 - packages/angular-cli/models/webpack-configs/styles.ts | 7 ++++--- packages/angular-cli/package.json | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/package.json b/package.json index ca77b677d0b6..d5e9b6bff802 100644 --- a/package.json +++ b/package.json @@ -48,6 +48,7 @@ "chalk": "^1.1.3", "common-tags": "^1.3.1", "css-loader": "^0.26.1", + "cssnano": "^3.10.0", "debug": "^2.1.3", "denodeify": "^1.2.1", "diff": "^2.2.2", @@ -83,7 +84,6 @@ "opn": "4.0.1", "ora": "^0.2.0", "portfinder": "1.0.9", - "postcss-discard-comments": "^2.0.4", "postcss-loader": "^0.9.1", "quick-temp": "0.1.5", "raw-loader": "^0.5.1", diff --git a/packages/angular-cli/models/webpack-configs/production.ts b/packages/angular-cli/models/webpack-configs/production.ts index 0c5a8542c122..5c218d6fcaf5 100644 --- a/packages/angular-cli/models/webpack-configs/production.ts +++ b/packages/angular-cli/models/webpack-configs/production.ts @@ -13,7 +13,6 @@ export const getProdConfig = function (wco: WebpackConfigOptions) { new webpack.DefinePlugin({ 'process.env.NODE_ENV': JSON.stringify('production') }), - new webpack.LoaderOptionsPlugin({ minimize: true }), new webpack.optimize.UglifyJsPlugin({ mangle: { screw_ie8: true }, compress: { screw_ie8: true, warnings: buildOptions.verbose }, diff --git a/packages/angular-cli/models/webpack-configs/styles.ts b/packages/angular-cli/models/webpack-configs/styles.ts index cd92052d0089..9ec830459b9a 100644 --- a/packages/angular-cli/models/webpack-configs/styles.ts +++ b/packages/angular-cli/models/webpack-configs/styles.ts @@ -6,7 +6,7 @@ import { import { extraEntryParser, getOutputHashFormat } from './utils'; import { WebpackConfigOptions } from '../webpack-config'; -const postcssDiscardComments = require('postcss-discard-comments'); +const cssnano = require('cssnano'); const autoprefixer = require('autoprefixer'); const ExtractTextPlugin = require('extract-text-webpack-plugin'); @@ -34,9 +34,10 @@ export function getStylesConfig(wco: WebpackConfigOptions) { const globalStylePaths: string[] = []; const extraPlugins: any[] = []; - // discard comments in production + // minify/optimize css in production + // autoprefixer is always run separately so disable here const extraPostCssPlugins = buildOptions.target === 'production' - ? [postcssDiscardComments] + ? [cssnano({ safe: true, autoprefixer: false })] : []; // determine hashing format diff --git a/packages/angular-cli/package.json b/packages/angular-cli/package.json index e5442ba89580..6ed0aea7d9d7 100644 --- a/packages/angular-cli/package.json +++ b/packages/angular-cli/package.json @@ -38,6 +38,7 @@ "chalk": "^1.1.3", "common-tags": "^1.3.1", "css-loader": "^0.26.1", + "cssnano": "^3.10.0", "debug": "^2.1.3", "denodeify": "^1.2.1", "diff": "^2.2.2", @@ -70,7 +71,6 @@ "opn": "4.0.1", "ora": "^0.2.0", "portfinder": "1.0.9", - "postcss-discard-comments": "^2.0.4", "postcss-loader": "^0.9.1", "quick-temp": "0.1.5", "raw-loader": "^0.5.1",