diff --git a/CHANGELOG.md b/CHANGELOG.md index 69e6f6a7f15..206812c0b44 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -1,5 +1,22 @@ # Changelog +## Unreleased + +* Add support for some new CSS rules ([#2115](https://github.com/evanw/esbuild/issues/2115)) + + This release adds support for [`@font-palette-values`](https://drafts.csswg.org/css-fonts-4/#font-palette-values): + + ```css + /* Original code */ + @font-palette-values Foo { base-palette: 1; } + + /* Old output (with --minify) */ + @font-palette-values Foo{base-palette: 1;} + + /* New output (with --minify) */ + @font-palette-values Foo{base-palette:1} + ``` + ## 0.14.27 * Avoid generating an enumerable `default` import for CommonJS files in Babel mode ([#2097](https://github.com/evanw/esbuild/issues/2097)) diff --git a/internal/css_parser/css_parser.go b/internal/css_parser/css_parser.go index 2b5fff3c079..2d8869cbd70 100644 --- a/internal/css_parser/css_parser.go +++ b/internal/css_parser/css_parser.go @@ -681,6 +681,9 @@ var specialAtRules = map[string]atRuleKind{ // Reference: https://drafts.csswg.org/css-nesting-1/ "nest": atRuleDeclarations, + + // Reference: https://drafts.csswg.org/css-fonts-4/#font-palette-values + "font-palette-values": atRuleDeclarations, } type atRuleValidity uint8 diff --git a/internal/css_parser/css_parser_test.go b/internal/css_parser/css_parser_test.go index 9b9016b321b..323e5d3467b 100644 --- a/internal/css_parser/css_parser_test.go +++ b/internal/css_parser/css_parser_test.go @@ -849,6 +849,23 @@ func TestAtRule(t *testing.T) { content: "rb"; } } +`) + + // https://drafts.csswg.org/css-fonts-4/#font-palette-values + expectPrinted(t, ` + @font-palette-values Augusta { + font-family: Handover Sans; + base-palette: 3; + override-colors: 1 rgb(43, 12, 9), 2 #000, 3 var(--highlight) + } + `, `@font-palette-values Augusta { + font-family: Handover Sans; + base-palette: 3; + override-colors: + 1 rgb(43, 12, 9), + 2 #000, + 3 var(--highlight); +} `) }