diff --git a/.changeset/clever-maps-travel.md b/.changeset/clever-maps-travel.md new file mode 100644 index 0000000000..e0eb566bf9 --- /dev/null +++ b/.changeset/clever-maps-travel.md @@ -0,0 +1,5 @@ +--- +"svelte": patch +--- + +fix: allow comments after last selector in css diff --git a/packages/svelte/src/compiler/phases/1-parse/read/style.js b/packages/svelte/src/compiler/phases/1-parse/read/style.js index ebd3b1a715..fdc79f6bae 100644 --- a/packages/svelte/src/compiler/phases/1-parse/read/style.js +++ b/packages/svelte/src/compiler/phases/1-parse/read/style.js @@ -139,7 +139,7 @@ function read_selector_list(parser, inside_pseudo_class = false) { const end = parser.index; - parser.allow_whitespace(); + allow_comment_or_whitespace(parser); if (inside_pseudo_class ? parser.match(')') : parser.match('{')) { return { @@ -324,7 +324,7 @@ function read_selector(parser, inside_pseudo_class = false) { } const index = parser.index; - parser.allow_whitespace(); + allow_comment_or_whitespace(parser); if (parser.match(',') || (inside_pseudo_class ? parser.match(')') : parser.match('{'))) { // rewind, so we know whether to continue building the selector list diff --git a/packages/svelte/tests/css/samples/comments-after-last-selector/expected.css b/packages/svelte/tests/css/samples/comments-after-last-selector/expected.css new file mode 100644 index 0000000000..7f5a737001 --- /dev/null +++ b/packages/svelte/tests/css/samples/comments-after-last-selector/expected.css @@ -0,0 +1,6 @@ + + .foo.svelte-xyz, /* some comment */ + .bar.svelte-xyz /* some other comment */ + { + color: red; + } diff --git a/packages/svelte/tests/css/samples/comments-after-last-selector/input.svelte b/packages/svelte/tests/css/samples/comments-after-last-selector/input.svelte new file mode 100644 index 0000000000..bb12656f3d --- /dev/null +++ b/packages/svelte/tests/css/samples/comments-after-last-selector/input.svelte @@ -0,0 +1,10 @@ +