Skip to content

Commit acde78b

Browse files
committed
Add semicolon after declarations if preserving nesting
Fixes parcel-bundler#512
1 parent d6e1295 commit acde78b

File tree

2 files changed

+25
-1
lines changed

2 files changed

+25
-1
lines changed

src/lib.rs

Lines changed: 24 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -22173,6 +22173,30 @@ mod tests {
2217322173
exclude: Features::Nesting,
2217422174
},
2217522175
);
22176+
22177+
let mut stylesheet = StyleSheet::parse(
22178+
r#"
22179+
.foo {
22180+
color: blue;
22181+
.bar {
22182+
color: red;
22183+
}
22184+
}
22185+
"#,
22186+
ParserOptions {
22187+
flags: ParserFlags::NESTING,
22188+
..ParserOptions::default()
22189+
},
22190+
)
22191+
.unwrap();
22192+
stylesheet.minify(MinifyOptions::default()).unwrap();
22193+
let res = stylesheet
22194+
.to_css(PrinterOptions {
22195+
minify: true,
22196+
..PrinterOptions::default()
22197+
})
22198+
.unwrap();
22199+
assert_eq!(res.code, ".foo{color:#00f;& .bar{color:red}}");
2217622200
}
2217722201

2217822202
#[test]

src/rules/style.rs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -261,7 +261,7 @@ impl<'a, 'i, T: ToCss> StyleRule<'i, T> {
261261

262262
dest.newline()?;
263263
decl.to_css(dest, $important)?;
264-
if i != len - 1 || !dest.minify {
264+
if i != len - 1 || !dest.minify || (supports_nesting && !self.rules.0.is_empty()) {
265265
dest.write_char(';')?;
266266
}
267267

0 commit comments

Comments
 (0)