Update dependency postcss to v8.4.49
This MR contains the following updates:
Package | Type | Update | Change |
---|---|---|---|
postcss (source) | devDependencies | minor | 8.3.6 -> 8.4.49 |
Release Notes
postcss/postcss (postcss)
v8.4.49
- Fixed custom syntax without
source.offset
(by @romainmenke).
v8.4.48
- Fixed position calculation in error/warnings methods (by @romainmenke).
v8.4.47
- Removed debug code.
v8.4.46
- Fixed
Cannot read properties of undefined (reading 'before')
.
v8.4.45
- Removed unnecessary fix which could lead to infinite loop.
v8.4.44
- Another way to fix
markClean is not a function
error.
v8.4.43
- Fixed
markClean is not a function
error.
v8.4.42
- Fixed CSS syntax error on long minified files (by @varpstar).
v8.4.41
- Fixed types (by @nex3 and @querkmachine).
- Cleaned up RegExps (by @bluwy).
v8.4.40
- Moved to getter/setter in nodes types to help Sass team (by @nex3).
v8.4.39
- Fixed
CssSyntaxError
types (by @romainmenke).
v8.4.38
- Fixed
endIndex: 0
in errors and warnings (by @romainmenke).
v8.4.37
- Fixed
original.column are not numbers
error in another case.
v8.4.36
- Fixed
original.column are not numbers
error on broken previous source map.
v8.4.35
- Avoid
!
innode.parent.nodes
type. - Allow to pass
undefined
to node adding method to simplify types.
v8.4.34
- Fixed
AtRule#nodes
type (by Tim Weißenfels). - Cleaned up code (by Dmitry Kirillov).
v8.4.33
- Fixed
NoWorkResult
behavior difference with normal mode (by Romain Menke). - Fixed
NoWorkResult
usage conditions (by @ahmdammarr).
v8.4.32
- Fixed
postcss().process()
types (by Andrew Ferreira).
v8.4.31
- Fixed
\r
parsing to fix CVE-2023-44270.
v8.4.30
- Improved source map performance (by Romain Menke).
v8.4.29
- Fixed
Node#source.offset
(by Ido Rosenthal). - Fixed docs (by Christian Oliff).
v8.4.28
- Fixed
Root.source.end
for better source map (by Romain Menke). - Fixed
Result.root
types whenprocess()
has no parser.
v8.4.27
- Fixed
Container
clone methods types.
v8.4.26
- Fixed clone methods types.
v8.4.25
- Improve stringify performance (by Romain Menke).
- Fixed docs (by @vikaskaliramna07).
v8.4.24
- Fixed
Plugin
types.
v8.4.23
- Fixed warnings in TypeDoc.
v8.4.22
- Fixed TypeScript support with
node16
(by Remco Haszing).
v8.4.21
- Fixed
Input#error
types (by Aleks Hudochenkov).
v8.4.20
- Fixed source map generation for childless at-rules like
@layer
.
v8.4.19
- Fixed whitespace preserving after AST transformations (by Romain Menke).
v8.4.18
- Fixed an error on
absolute: true
with emptysourceContent
(by Rene Haas).
v8.4.17
- Fixed
Node.before()
unexpected behavior (by Romain Menke). - Added TOC to docs (by Mikhail Dedov).
v8.4.16
- Fixed
Root
AST migration.
v8.4.15
- Fixed AST normalization after using custom parser with old PostCSS AST.
v8.4.14
- Print “old plugin API” warning only if plugin was used (by @zardoy).
v8.4.13
- Fixed
append()
error after using.parent
(by Jordan Pittman).
v8.4.12
- Fixed
package.funding
to have same value between all PostCSS packages.
v8.4.11
- Fixed
Declaration#raws.value
type.
v8.4.10
- Fixed
package.funding
URL format.
v8.4.9
- Fixed
package.funding
(by Álvaro Mondéjar).
v8.4.8
- Fixed end position in empty Custom Properties.
v8.4.7
- Fixed
Node#warn()
type (by Masafumi Koba). - Fixed comment removal in values after
,
.
v8.4.6
- Prevented comment removing when it change meaning of CSS.
- Fixed parsing space in last semicolon-less CSS Custom Properties.
- Fixed comment cleaning in CSS Custom Properties with space.
- Fixed throwing an error on
.root
access for plugin-less case.
v8.4.5
- Fixed
raws
types to make object extendable (by James Garbutt). - Moved from Yarn 1 to pnpm.
v8.4.4
- Fixed custom syntax without
source.offset
(by @romainmenke).
v8.4.3
- Fixed
CssSyntaxError
types (by @romainmenke).
v8.4.2
- Fixed
Node#source.offset
(by Ido Rosenthal). - Fixed docs (by Christian Oliff).
v8.4.1
- Fixed whitespace preserving after AST transformations (by Romain Menke).
v8.4.0
: 8.4 “President Camio”
PostCSS 8.4 brought ranges for warnings and errors, smaller node_modules
size, lazy parsing to avoid PostCSS does nothing
warning, and TypeScript fixes.
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.
Rages for Errors and Warnings
@adalinesimonian, the author of amazing Stylelint extension for VS Code, added ranges to errors and warnings.
result.warn(msg, { index }) // One character warning at index
result.warn(msg, { endIndex }) // Starts at node start, ends at endIndex
result.warn(msg, { index, endIndex }) // Starts at index, ends at endIndex
result.warn(msg, { start }) // Starts at start, ends at node end
result.warn(msg, { end }) // Starts at node start, ends at end
result.warn(msg, { start, end }) // Starts at start, ends at end
result.warn(msg, { word }) // Starts at word location, ends at word index + length
It will improve DX in the IDE extension.
Lazy Parsing
Previously, we found that many tools run PostCSS even if the developer didn’t pass any PostCSS plugins. Parsing is the most expensive step in CSS processing. It led to a waste of resources without any reason.
We tried to resolve the problem by adding a PostCSS does nothing
warning. But it didn’t force tool authors to be more careful with user’s resources.
If PostCSS sees that tool call it without passing plugins (or changing parser/stringifier), PostCSS will not parse CSS (until toll will call Result#root
). In 8.4, @bogdan0083 (with the help of @WilhelmYakunin) tries to solve the problem in another way. It allows us to save resources and remove the PostCSS does nothing
warning.
// No plugins, we do not parse CSS
let result = await postcss().process(css, { from })
result.css // Is the same string passed to process()
result.map // Special 1-to-1 source map
result.root // CSS will parsed only here
Install Size Reduction
With ≈60M weekly downloads, PostCSS has responsibility for the world’s resource spending.
Together with @7rulnik we reduced source-map-js
size. It is transitive dependency of PostCSS.
In 8.4, we moved to a fixed version of source-map-js
, which reduced the postcss
size in your node_modules
from ≈1 MB to 0.3 MB. With the huge popularity of PostCSS, it will free a lot of resources on our CIs.
uvu
Migration from Jest to @kimoofey refactored all tests from the popular Jest framework to small and fast uvu
.
It will not affect end-users. However, it reduced our node_modules
size by 33 MB and made tests twice faster (yarn install & yarn unit
: 24 → 13 seconds).
TypeScript Fixes
- Added
Processor
types. - Added
Stringifier
types (by @43081j). - Fixed types
Root
andDocument
in result values (by @43081j). - Fixed
Node#walkRules()
types (by @hudochenkov).
Other Changes
- Fixed docs (by @paulshryock).
v8.3.11
- Remove debugging code.
v8.3.10
- Fixed
Maximum call stack
issue of some source maps (by Yeting Li).
v8.3.9
- Replaced
nanocolors
topicocolors
. - Reduced package size.
v8.3.8
- Update
nanocolors
.
v8.3.7
- Replaced
colorette
tonanocolors
. - Added bug field to
package.json
(by Christian Oliff). - Improved docs (by Andrew Bruce and Paul Shryock).
Configuration
-
If you want to rebase/retry this MR, check this box
This MR has been generated by Renovate Bot. The local configuration can be found in the local Renovate Bot repository.