-
-
Notifications
You must be signed in to change notification settings - Fork 215
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor: update to cssnano 5. #357
Conversation
Codecov Report
@@ Coverage Diff @@
## master #357 +/- ##
=======================================
Coverage 92.94% 92.94%
=======================================
Files 10 10
Lines 326 326
Branches 115 115
=======================================
Hits 303 303
Misses 22 22
Partials 1 1
Continue to review full report at Codecov.
|
@@ -233,7 +233,7 @@ export default (options = {}) => { | |||
cssOptions.to = codeFileName | |||
} | |||
|
|||
const result = await require('cssnano').process(code, cssOptions) | |||
const result = await require('cssnano')(postcssLoaderOptions.minimize).process(code, cssOptions) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
With cssnano 5, you need to call cssnano()
, pass cssnano specific options to it. This returns a normal PostCSS processor, which you then call to process the CSS.
@@ -224,7 +224,7 @@ export default (options = {}) => { | |||
let { code, codeFileName, map, mapFileName } = getExtracted() | |||
// Perform cssnano on the extracted file | |||
if (postcssLoaderOptions.minimize) { | |||
const cssOptions = postcssLoaderOptions.minimize |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
According to the README (https://github.com/egoist/rollup-plugin-postcss#minimize) minimize
can be boolean
. In that case, I don't think the current code sets PostCSS options correctly.
@@ -44,7 +44,7 @@ | |||
"jest": "^26.6.3", | |||
"less": "^3.12.2", | |||
"node-sass": "^5.0.0", | |||
"postcss": "^8.1.14", | |||
"postcss": "^8.2.7", |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Please update to enforce at least version 8.2.10
to avoid vulnerability as per https://www.npmjs.com/advisories/1693
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It should not make much difference as the ^
in front of the version number should let you update to the latest postcss version anyway. In any case it would be better to do it in a separate PR since this one also updates cssnano which is potentially more breaking than bumping postcss version.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Apart from me not being experienced in jest
snapshots, it looks like the only changes in test/__snapshots__/index.test.js.snap
are variable names being rotated a bit, and the rest of the code looks fine.
@egoist is there a chance this may merge sometime in the near future? |
As an alternative, we could let users add cssnano in the same way as other postcss plugins so they could choose their own version. That would be a breaking change but I don't see the advantage of having minimization as a separate configuration. |
How about we take this one now, and plan the alternative @ludofischer suggested for later? |
we are also needing this to resolve https://www.npmjs.com/advisories/1693. Is there anything blocking this from being merged at this point? |
🎉 This PR is included in version 4.0.1 🎉 The release is available on: Your semantic-release bot 📦🚀 |
Fix #350
Update cssnano to the latest releasse: https://github.com/cssnano/cssnano/releases/tag/cssnano%405.0.0
Also possibly fix #340 (need to check this)