diff --git a/crates/oxc_prettier/src/format/object.rs b/crates/oxc_prettier/src/format/object.rs index 0c24f3cea..84bbd5246 100644 --- a/crates/oxc_prettier/src/format/object.rs +++ b/crates/oxc_prettier/src/format/object.rs @@ -100,7 +100,9 @@ pub(super) fn print_object_properties<'a>( } indent_parts })); - parts.push(if_break!(p, ",", "", None)); + if p.should_print_es5_comma() { + parts.push(if_break!(p, ",", "", None)); + } parts.push(if p.options.bracket_spacing { line!() } else { softline!() }); parts.push(ss!("}")); diff --git a/crates/oxc_prettier/src/lib.rs b/crates/oxc_prettier/src/lib.rs index f5fb29361..9dcbf9777 100644 --- a/crates/oxc_prettier/src/lib.rs +++ b/crates/oxc_prettier/src/lib.rs @@ -121,7 +121,7 @@ impl<'a> Prettier<'a> { unsafe { std::mem::transmute(t) } } - fn should_print_es5_comma(&self) -> bool { + pub fn should_print_es5_comma(&self) -> bool { self.should_print_comma_impl(false) } diff --git a/tasks/prettier_conformance/prettier.snap.md b/tasks/prettier_conformance/prettier.snap.md index 6cfb59efa..20dfa6cac 100644 --- a/tasks/prettier_conformance/prettier.snap.md +++ b/tasks/prettier_conformance/prettier.snap.md @@ -1,4 +1,4 @@ -Compatibility: 193/580 (33.28%) +Compatibility: 194/580 (33.45%) # Failed @@ -550,7 +550,6 @@ Compatibility: 193/580 (33.28%) * trailing-comma/es5.js * trailing-comma/function-calls.js * trailing-comma/jsx.js -* trailing-comma/object.js * trailing-comma/trailing_whitespace.js ### try