diff --git a/src/css/Stylesheet.ts b/src/css/Stylesheet.ts index d0e8612a93..81a2c841bf 100644 --- a/src/css/Stylesheet.ts +++ b/src/css/Stylesheet.ts @@ -30,15 +30,19 @@ class Rule { minify(code: MagicString, cascade: boolean) { let c = this.node.start; + let started = false; + this.selectors.forEach((selector, i) => { if (cascade || selector.used) { - const separator = i > 0 ? ',' : ''; + const separator = started ? ',' : ''; if ((selector.node.start - c) > separator.length) { code.overwrite(c, selector.node.start, separator); } if (!cascade) selector.minify(code); c = selector.node.end; + + started = true; } }); diff --git a/test/css/samples/unused-selector-leading/_config.js b/test/css/samples/unused-selector-leading/_config.js new file mode 100644 index 0000000000..a5ae65ffa2 --- /dev/null +++ b/test/css/samples/unused-selector-leading/_config.js @@ -0,0 +1,39 @@ +export default { + cascade: false, + + warnings: [ + { + filename: "SvelteComponent.html", + message: "Unused CSS selector", + loc: { + line: 4, + column: 1 + }, + pos: 34, + frame: ` + 2: + 3: \ No newline at end of file