lukeed/tidyPublic

fix: keep JS keyword modifiers

oxc has no nodes for export, declare, static and the other keyword
modifiers, which bun's printer writes from the modifier list, so they
were dropped. modifiers() now returns bun's list: decorators and
keywords in source order, each with its span, found by reading the
words before the declaration that oxc's flags say are there. On the
first 400 files of each bench corpus, JavaScript goes from 218 to 398
files printed as Prettier prints them, and TypeScript from 98 to 390.
LELuke Edwards authored
ec56495Patch
Parentd05bb60
4 files changed+169-63
StackedSplit
crates/tidy/src/js/ast/decl.rs+162 โˆ’54
crates/tidy/src/js/ast/node.rs+0 โˆ’2
crates/tidy/src/js/ast/stmt.rs+5 โˆ’5
crates/tidy/src/js/jsdoc/param_order.rs+2 โˆ’2