lukeed/tidyPublic

fix: keep JS pattern holes and defaults

oxc has no node for a hole in an array pattern or target, so a List
of children dropped them: const [, x] = m lost its hole. A List can
now read its ids from the arena, as bun's indirect lists do, with a
missing node for each hole. A shorthand default in an object
assignment target, which oxc keeps as a field, prints again. The
oracle goes from 9,043 to 9,075 files printed as Prettier prints them.
LELuke Edwards authored
463c277Patch
Parentec31872
7 files changed+100-48
StackedSplit
crates/tidy/src/js/ast/expr.rs+7 โˆ’5
crates/tidy/src/js/ast/list.rs+21 โˆ’13
crates/tidy/src/js/ast/mod.rs+43 โˆ’1
crates/tidy/src/js/ast/pat.rs+8 โˆ’22
crates/tidy/src/js/print/expressions.rs+18 โˆ’2
crates/tidy/src/js/readme.md+2 โˆ’2
crates/tidy/src/js/utils/assignment_like.rs+1 โˆ’3