Update dependency postcss to v8.3.0
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
postcss (source) | devDependencies | minor | 8.2.15 -> 8.3.0 |
Release Notes
postcss/postcss
v8.3.0
PostCSS 8.3 improved source map parsing performance, added Node#assign()
shortcut, and experimental Document
node to AST.
Thanks to Sponsors
This release was possible thanks to our community.
If your company wants to support the sustainability of front-end infrastructure or wants to give some love to PostCSS, you can join our supporters by:
- Tidelift with a Spotify-like subscription model supporting all projects from your lock file.
- Direct donations in PostCSS & Autoprefixer Open Collective.
Source Map Performance
Because PostCSS needs synchronous API, we can’t move from the old `source-map 0.6 to 0.7 (many other open-source projects too).
@7rulnik forked source-map
0.6 to source-map-js
and back-ported performance improvements from 0.7. In 8.3 we switched from source-map
to this source-map-js
fork.
You map see 4x performance improvements in parsing map from processing step before PostCSS (for instance, Sass).
Document
Nodes
Thanks to @gucong3000, PostCSS already parse CSS from HTML and JS files (CSS-in-JS templates and objects).
But his plugin need big updates. @hudochenkov from stylelint team decided to create new parsers for styles inside CSS-in-JS, HTML, and Markdown.
He suggested adding new Document
node type to PostCSS AST to keep multiple Root
nodes inside and JS/HTML/Markdown code blocks between these style blocks.
const document = htmlParser(
'<html><style>a{color:black}</style><style>b{z-index:2}</style>'
)
document.type //=> 'document'
document.nodes.length //=> 2
document.nodes[0].type //=> 'root'
This is an experimental feature. Some aspects of this node could change within minor or patch version releases.
Node#assign()
Shortcut
The creator of famous postcss-preset-env
and many other PostCSS tools, @jonathantneal suggested a nice shortcut to change multiple properties in the node:
decl.assign({ prop: 'word-wrap', value: 'break-word' })
Configuration
-
If you want to rebase/retry this MR, check this box.
This MR has been generated by Renovate Bot.