-
-
Notifications
You must be signed in to change notification settings - Fork 540
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
refactor(ast/estree): define TS types for extra fields on converters #9118
refactor(ast/estree): define TS types for extra fields on converters #9118
Conversation
How to use the Graphite Merge QueueAdd either label to this PR to merge it via the merge queue:
You must have a Graphite account in order to use the merge queue. Sign up using this link. An organization admin has enabled the Graphite Merge Queue in this repository. Please do not merge from GitHub as this will restart CI on PRs being processed by the merge queue. This stack of pull requests is managed by Graphite. Learn more about stacking. |
CodSpeed Performance ReportMerging #9118 will not alter performanceComparing Summary
|
95055cf
to
79fa584
Compare
f5566a6
to
62f4179
Compare
Merge activity
|
…9118) Refactor. Remove `#[estree(add_ts = "...")]` and achieve the same function by making the ESTree converter types into "meta types" (introduced in #9116). The converter types have their TS type specified with `#[estree(ts_type = "...")]`. This reduces repetition, and avoids TS type definitions getting out of sync with the actual ESTree AST shape. It also prepares the way for being able to specify field order in the ESTree AST.
62f4179
to
4a2d775
Compare
…9118) Refactor. Remove `#[estree(add_ts = "...")]` and achieve the same function by making the ESTree converter types into "meta types" (introduced in #9116). The converter types have their TS type specified with `#[estree(ts_type = "...")]`. This reduces repetition, and avoids TS type definitions getting out of sync with the actual ESTree AST shape. It also prepares the way for being able to specify field order in the ESTree AST.
4a2d775
to
08b2d80
Compare
## [0.51.0] - 2025-02-15 - 21a9476 ast: [**BREAKING**] Remove `TSLiteral::RegExpLiteral` (#9056) (Dunqing) - 9091387 ast: [**BREAKING**] Remove `TSType::TSQualifiedName` (#9051) (Dunqing) ### Features - f74d462 ast_tools: Introduce meta types (#9117) (overlookmotel) - 36c8640 ecmascript: Support more string concatenation (#9121) (sapphi-red) - 6936b08 ecmascript: Fold `typeof` with ValueType information (#9086) (sapphi-red) - b25b84b minifier: Substitute redundant assignment target bindings (#9096) (camchenry) - 125d610 minifier: Fold String::charAt / String::charCodeAt more precisely (#9082) (sapphi-red) - 237ffba minifier: Fold bitwise binary expressions with negative BigInts (#9081) (sapphi-red) - 24830e6 minifier: Fold `a + 'a' + 1` to `a + 'a1'` (#9080) (sapphi-red) - b5eb6e5 minifier: Improve `remove_unused_expression` (#9071) (Boshen) - fef82ff transformer/helper-loader: Replace `@babel/runtime` with `@oxc-project/runtime` (#9059) (Dunqing) ### Bug Fixes - 38f81af ast/estree: Order fields same as Acorn (#9128) (overlookmotel) - 67f8932 ast/estree: `CatchParameter` do not include `type` and `Span` twice (#9125) (overlookmotel) - 1b02fe0 ast/estree: `FormalParameter` do not include `Span` twice (#9124) (overlookmotel) - d3b5fb0 ast/estree: Fix TS type for `AssignmentTargetPropertyIdentifier` (#9092) (overlookmotel) - d8d80a9 ast/estree: Fix TS types for `BigIntLiteral` and `RegExpLiteral` (#9091) (overlookmotel) - d9684af codegen: Fix missing StringLiteral sourcemap (#9064) (hi-ogawa) - eb7cd62 ecmascript: To_number for shadowed undefined (#9106) (sapphi-red) - 8cbdf00 ecmascript: To_boolean for shadowed undefined (#9105) (sapphi-red) - 17c745c ecmascript: To_string for object with toString (#9104) (sapphi-red) - cfc71f9 ecmascript: To_string for shadowed undefined (#9103) (sapphi-red) - 2ab2a8f ecmascript: Handle shadowed global variables in `ValueType` (#9085) (sapphi-red) - bc64c9d lexer: Fix decoding lone `\r` in template literals (#9066) (overlookmotel) - 2fd1589 minifier: Compress computed string literals in method/property definitions (#9126) (camchenry) - 0937a55 napi/parser: Utf16 span for errors (#9112) (hi-ogawa) - 15f23f1 napi/parser: Utf16 span for module record (#9093) (hi-ogawa) - 9edfb1d napi/parser: Fix unicode comment panic (#9084) (hi-ogawa) - 5f15605 npm/runtime: Incorrect file paths in `exports` (#9069) (Dunqing) - b8278d8 parser: Parse `let _: null` as `TSNullKeyword` (#9133) (Boshen) ### Performance - af59945 napi/parser: Do not convert comment spans twice (#9087) (overlookmotel) ### Documentation - 896d770 ast: Add missing docs and fix broken code for assignment targets (#9095) (camchenry) ### Refactor - 08b2d80 ast/estree: Define TS types for extra fields on converters (#9118) (overlookmotel) - 6c5a435 ast/estree: Define types for `#[estree(add_fields)]` converters (#9116) (overlookmotel) - 8bd6eef ecmascript: Merge constant evaluation logics (#9120) (sapphi-red) - b164072 ecmascript: Extract to_numeric (#9111) (sapphi-red) - fc53cdd ecmascript: Generalize ToPrimitive (#9109) (sapphi-red) - d951390 ecmascript: Use value_type in to_primitive (#9108) (sapphi-red) - 8f79012 ecmascript: Pass IsGlobalReference to DetermineValueType instead of extending it (#9107) (sapphi-red) - db1744c ecmascript: Remove "constant_evaluation" / "side_effects" features (#9114) (sapphi-red) - 329de94 ecmascript: Extract ToPrimitive (#9102) (sapphi-red) - d670ec7 ecmascript: Pass IsGlobalReference to MayHaveSideEffects instead of extending it (#9101) (sapphi-red) - f4e2d4e ecmascript: Allow IsGlobalReference to return None (#9100) (sapphi-red) - 29be94d minifier: Inline more minification methods (#9088) (Boshen) - 80f719e minifier: Clean up minimize_statements.rs (#9076) (Boshen) - d5edde0 minifier: Minimize `if (!foo) foo = bar;` -> `foo ||= bar` in the same AST pass (#9075) (Boshen) ### Styling - 23f53c0 syntax: Name trait method param without underscore (#9119) (overlookmotel) ### Testing - eaff3d9 napi/parser: Split tests for `convertSpanUtf16` (#9113) (hi-ogawa) Co-authored-by: Boshen <1430279+Boshen@users.noreply.github.com>
Refactor. Remove
#[estree(add_ts = "...")]
and achieve the same function by making the ESTree converter types into "meta types" (introduced in #9116). The converter types have their TS type specified with#[estree(ts_type = "...")]
.This reduces repetition, and avoids TS type definitions getting out of sync with the actual ESTree AST shape. It also prepares the way for being able to specify field order in the ESTree AST.