## [0.22.0] - 2024-07-23 - 85a7cea semantic: [**BREAKING**] Remove name from `reference` (#4329) (Dunqing) - f68b659 ast: [**BREAKING**] Reorder fields of `ArrowFunctionExpression` (#4364) (Dunqing) ### Features - d345b84 ast: Add `#[ast]` attribute to non-visited AST types. (#4309) (rzvxa) - 3c0c709 linter: Add typescript-eslint/no-extraneous-class (#4357) (Jaden Rodriguez) - 68efcd4 linter/react-perf: Handle new objects and arrays in prop assignment patterns (#4396) (DonIsaac) - 0deb027 minfier: Dce `if (xxx) else if (false) { REMOVE }` (#4407) (Boshen) - e33ec18 minifier: Compress `typeof foo == "undefined"` into `typeof foo > "u"` (#4412) (Boshen)- 6068e6b Add error codes to OxcDiagnostic (#4334) (DonIsaac) ### Bug Fixes - aece1df ast: Visit `Program`s `hashbang` field first (#4368) (overlookmotel) - 44a10c4 codegen: Object shorthand with parens `({x: (x)})` -> `({ x })` (#4391) (Boshen) - 3d88f20 codegen: Print shorthand for all `{ x }` variants (#4374) (Boshen) - e624dff codegen,mangler: Do not print shorthand for `ObjectProperty` (#4350) (Boshen) - ac08de8 linter/react_perf: Allow new objects, array, fns, etc in top scope (#4395) (DonIsaac) - 267f7c4 minifier: Skip `Object.defineProperty(exports, ...)` for `cjs-module-lexer` (#4409) (Boshen) - bc8d4e5 semantic: Correct comment (#4410) (overlookmotel) - 6ffce86 semantic: Align `visit_arrow_function_expression` field visit order with ast (#4366) (Dunqing) - 4cd5df0 sourcemap: Avoid negative line if token_chunks has same prev_dst_line (#4348) (underfin) - f8565ae transformer/typescript: Unexpectedly removed class binding from ExportNamedDeclaration (#4351) (Dunqing)- ea33f94 Impl PartialEq<str> for CompactStr (#4352) (DonIsaac) ### Performance - 1b51511 semantic: Use `Atom` instead of `CompactStr` for `UnresolvedReferencesStack` (#4401) (Dunqing) - 40f9356 semantic: Calculate number of nodes, scopes, symbols, references before visiting AST (#4367) (Dunqing) - da13d93 semantic: Remove bounds checks on unresolved references stack (#4390) (overlookmotel) - e70c67b semantic: Remove a branch from `add_scope` (#4384) (overlookmotel) - 402006f semantic: Simplify logic in `enter_scope` + `leave_scope` (#4383) (overlookmotel) - 7469e01 semantic: Remove branch from `Nodes::add_node` (#4361) (overlookmotel) - 7eb2864 traverse: Speed up finding UID binding name (#4356) (overlookmotel)- a207923 Replace some CompactStr usages with Cows (#4377) (DonIsaac) ### Refactor - 504daed allocator: Rename fn params for `Box::new_in` (#4431) (overlookmotel) - d213773 ast: Replace serde rename "lowercase" with "camelCase" (#4376) (overlookmotel) - abfccbd ast: Reduce `#[cfg_attr]` boilerplate in AST type defs (#4375) (overlookmotel) - 5f1c7ec ast: Rename the `visited_node` marker to `ast`. (#4289) (rzvxa) - 58f6ec2 ast: Enter node before scope (#4347) (Dunqing) - 59aea73 ast: Scope is created only if CatchClause has param (#4346) (Dunqing) - 7a3e925 ast_codegen: Better visit marker parsing. (#4371) (rzvxa) - 0e1ea90 isolated-declarations: Remove useless code from scope (#4420) (Dunqing) - 7a75e0f linter: Use diagnostic codes in lint rules (#4349) (DonIsaac) - a2eabe1 parser: Use error codes for ts diagnostics (#4335) (DonIsaac) - 5d77b36 semantic: `visit_program` visit `hashbang` field (#4370) (overlookmotel) - f7b9ada semantic: `Program` visitor leave scope before node (#4369) (overlookmotel) - 729b288 semantic: Shorten code (#4358) (overlookmotel) - 21d0eee semantic: Use error codes for ts diagnostics (#4336) (DonIsaac) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
85a7cea
f68b659
d345b84
3c0c709
68efcd4
0deb027
e33ec18
6068e6b
aece1df
44a10c4
3d88f20
e624dff
ac08de8
267f7c4
bc8d4e5
6ffce86
4cd5df0
f8565ae
ea33f94
1b51511
40f9356
da13d93
e70c67b
402006f
7469e01
7eb2864
a207923
504daed
d213773
abfccbd
5f1c7ec
58f6ec2
59aea73
7a3e925
0e1ea90
7a75e0f
a2eabe1
5d77b36
f7b9ada
729b288
21d0eee