diff --git a/src/css/Stylesheet.ts b/src/css/Stylesheet.ts index 81a2c841bf..03c711044f 100644 --- a/src/css/Stylesheet.ts +++ b/src/css/Stylesheet.ts @@ -135,10 +135,15 @@ class Declaration { minify(code: MagicString) { const c = this.node.start + this.node.property.length; - const first = this.node.value.children[0]; + const first = this.node.value.children ? + this.node.value.children[0] : + this.node.value; - if (first.start - c > 1) { - code.overwrite(c, first.start, ':'); + let start = first.start; + while (/\s/.test(code.original[start])) start += 1; + + if (start - c > 1) { + code.overwrite(c, start, ':'); } } } diff --git a/test/css/samples/css-vars/expected.css b/test/css/samples/css-vars/expected.css new file mode 100644 index 0000000000..f843bc4eb2 --- /dev/null +++ b/test/css/samples/css-vars/expected.css @@ -0,0 +1 @@ +div[svelte-xyz],[svelte-xyz] div{--test:10} \ No newline at end of file diff --git a/test/css/samples/css-vars/input.html b/test/css/samples/css-vars/input.html new file mode 100644 index 0000000000..dafa7d09e4 --- /dev/null +++ b/test/css/samples/css-vars/input.html @@ -0,0 +1,7 @@ +
+ + \ No newline at end of file