Skip to content

Commit 4de8c99

Browse files
authored
refactor!: replace optimize-cssnano-plugin with css-minimizer-webpack-plugin (#6140)
1 parent b1344c2 commit 4de8c99

File tree

6 files changed

+29
-23
lines changed

6 files changed

+29
-23
lines changed

packages/@vue/cli-service/__tests__/cssPreprocessors.spec.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -49,6 +49,7 @@ test('CSS minification', async () => {
4949
'#app {\n height: calc(100px * 2);'
5050
)
5151
)
52+
process.env.VUE_CLI_TEST_MINIMIZE = true
5253
await project.run('vue-cli-service build')
5354
const appCss = await project.read('dist/css/app.css')
5455
expect(appCss).not.toMatch('calc(100px')

packages/@vue/cli-service/lib/config/css.js

Lines changed: 7 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -243,14 +243,13 @@ module.exports = (api, rootOptions) => {
243243
.use(require('mini-css-extract-plugin'), [extractOptions])
244244

245245
// minify extracted CSS
246-
if (isProd) {
247-
webpackConfig
248-
.plugin('optimize-css')
249-
.use(require('@intervolga/optimize-cssnano-plugin'), [{
250-
sourceMap: rootOptions.productionSourceMap && sourceMap,
251-
cssnanoOptions
252-
}])
253-
}
246+
webpackConfig.optimization
247+
.minimizer('css')
248+
.use(require('css-minimizer-webpack-plugin'), [{
249+
parallel: rootOptions.parallel,
250+
sourceMap: rootOptions.productionSourceMap && sourceMap,
251+
minimizerOptions: cssnanoOptions
252+
}])
254253
}
255254
})
256255
}

packages/@vue/cli-service/lib/config/prod.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ module.exports = (api, options) => {
2222
}
2323

2424
// disable optimization during tests to speed things up
25-
if (process.env.VUE_CLI_TEST) {
25+
if (process.env.VUE_CLI_TEST && !process.env.VUE_CLI_TEST_MINIMIZE) {
2626
webpackConfig.optimization.minimize(false)
2727
}
2828
}

packages/@vue/cli-service/package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -23,7 +23,6 @@
2323
},
2424
"homepage": "https://cli.vuejs.org/",
2525
"dependencies": {
26-
"@intervolga/optimize-cssnano-plugin": "^1.0.5",
2726
"@soda/friendly-errors-webpack-plugin": "^1.8.0",
2827
"@soda/get-current-script": "^1.0.2",
2928
"@types/minimist": "^1.2.0",
@@ -47,6 +46,7 @@
4746
"cliui": "^7.0.4",
4847
"copy-webpack-plugin": "^6.4.0",
4948
"css-loader": "^3.5.3",
49+
"css-minimizer-webpack-plugin": "^1.1.5",
5050
"cssnano": "^4.1.10",
5151
"debug": "^4.1.1",
5252
"default-gateway": "^6.0.2",

packages/@vue/cli-ui/index.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@ exports.clientAddonConfig = function ({ id, port = 8042 }) {
1616
config.plugins.delete('preload')
1717
config.plugins.delete('prefetch')
1818
config.plugins.delete('html')
19-
config.plugins.delete('optimize-css')
19+
config.optimization.minimizers.delete('css')
2020
config.optimization.splitChunks(false)
2121

2222
config.module

yarn.lock

Lines changed: 18 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1582,15 +1582,6 @@
15821582
resolved "https://registry.yarnpkg.com/@iarna/toml/-/toml-2.2.5.tgz#b32366c89b43c6f8cefbdefac778b9c828e3ba8c"
15831583
integrity sha512-trnsAYxU3xnS1gPHPyU961coFyLkh4gAD/0zQ5mymY4yOZ+CYvsPqUbOFSw0aDM4y0tV7tiFxL/1XfXPNC6IPg==
15841584

1585-
"@intervolga/optimize-cssnano-plugin@^1.0.5":
1586-
version "1.0.6"
1587-
resolved "https://registry.yarnpkg.com/@intervolga/optimize-cssnano-plugin/-/optimize-cssnano-plugin-1.0.6.tgz#be7c7846128b88f6a9b1d1261a0ad06eb5c0fdf8"
1588-
integrity sha512-zN69TnSr0viRSU6cEDIcuPcP67QcpQ6uHACg58FiN9PDrU6SLyGW3MR4tiISbYxy1kDWAVPwD+XwQTWE5cigAA==
1589-
dependencies:
1590-
cssnano "^4.0.0"
1591-
cssnano-preset-default "^4.0.0"
1592-
postcss "^7.0.0"
1593-
15941585
"@istanbuljs/load-nyc-config@^1.0.0":
15951586
version "1.1.0"
15961587
resolved "https://registry.yarnpkg.com/@istanbuljs/load-nyc-config/-/load-nyc-config-1.1.0.tgz#fd3db1d59ecf7cf121e80650bb86712f9b55eced"
@@ -8027,6 +8018,21 @@ css-loader@^3.5.3:
80278018
schema-utils "^2.7.0"
80288019
semver "^6.3.0"
80298020

8021+
css-minimizer-webpack-plugin@^1.1.5:
8022+
version "1.1.5"
8023+
resolved "https://registry.yarnpkg.com/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-1.1.5.tgz#f6f41358518d0f28b7a2d6819dfe1e410bc404f6"
8024+
integrity sha512-mXgaoFjNpIudZfxD49N1aPtLxfXGJt+BVPVjQ+H66I48b5n4wJtFpYfffVr7izK8W6fD01J7K0kUcP6HGjw90w==
8025+
dependencies:
8026+
cacache "^15.0.5"
8027+
cssnano "^4.1.10"
8028+
find-cache-dir "^3.3.1"
8029+
jest-worker "^26.3.0"
8030+
p-limit "^3.0.2"
8031+
schema-utils "^3.0.0"
8032+
serialize-javascript "^5.0.1"
8033+
source-map "^0.6.1"
8034+
webpack-sources "^1.4.3"
8035+
80308036
css-parse@~2.0.0:
80318037
version "2.0.0"
80328038
resolved "https://registry.yarnpkg.com/css-parse/-/css-parse-2.0.0.tgz#a468ee667c16d81ccf05c58c38d2a97c780dbfd4"
@@ -8115,7 +8121,7 @@ cssfilter@0.0.10:
81158121
resolved "https://registry.yarnpkg.com/cssfilter/-/cssfilter-0.0.10.tgz#c6d2672632a2e5c83e013e6864a42ce8defd20ae"
81168122
integrity sha1-xtJnJjKi5cg+AT5oZKQs6N79IK4=
81178123

8118-
cssnano-preset-default@^4.0.0, cssnano-preset-default@^4.0.7:
8124+
cssnano-preset-default@^4.0.7:
81198125
version "4.0.7"
81208126
resolved "https://registry.yarnpkg.com/cssnano-preset-default/-/cssnano-preset-default-4.0.7.tgz#51ec662ccfca0f88b396dcd9679cdb931be17f76"
81218127
integrity sha512-x0YHHx2h6p0fCl1zY9L9roD7rnlltugGu7zXSKQx6k2rYw0Hi3IqxcoAGF7u9Q5w1nt7vK0ulxV8Lo+EvllGsA==
@@ -8173,7 +8179,7 @@ cssnano-util-same-parent@^4.0.0:
81738179
resolved "https://registry.yarnpkg.com/cssnano-util-same-parent/-/cssnano-util-same-parent-4.0.1.tgz#574082fb2859d2db433855835d9a8456ea18bbf3"
81748180
integrity sha512-WcKx5OY+KoSIAxBW6UBBRay1U6vkYheCdjyVNDm85zt5K9mHoGOfsOsqIszfAqrQQFIIKgjh2+FDgIj/zsl21Q==
81758181

8176-
cssnano@^4.0.0, cssnano@^4.1.10:
8182+
cssnano@^4.1.10:
81778183
version "4.1.10"
81788184
resolved "https://registry.yarnpkg.com/cssnano/-/cssnano-4.1.10.tgz#0ac41f0b13d13d465487e111b778d42da631b8b2"
81798185
integrity sha512-5wny+F6H4/8RgNlaqab4ktc3e0/blKutmq8yNlBFXA//nSFFAqAngjNVRzUvCgYROULmZZUoosL/KSoZo5aUaQ==
@@ -13363,7 +13369,7 @@ jest-watcher@^26.6.2:
1336313369
jest-util "^26.6.2"
1336413370
string-length "^4.0.1"
1336513371

13366-
jest-worker@^26.2.1, jest-worker@^26.5.0, jest-worker@^26.6.1, jest-worker@^26.6.2:
13372+
jest-worker@^26.2.1, jest-worker@^26.3.0, jest-worker@^26.5.0, jest-worker@^26.6.1, jest-worker@^26.6.2:
1336713373
version "26.6.2"
1336813374
resolved "https://registry.yarnpkg.com/jest-worker/-/jest-worker-26.6.2.tgz#7f72cbc4d643c365e27b9fd775f9d0eaa9c7a8ed"
1336913375
integrity sha512-KWYVV1c4i+jbMpaBC+U++4Va0cp8OisU185o73T1vo99hqi7w8tSJfUXYswwqqrjzwxa6KpRK54WhPvwf5w6PQ==

0 commit comments

Comments
 (0)