mirror of
https://github.com/danbulant/oxc
synced 2026-05-24 12:21:58 +00:00
## [0.15.0] - 2024-06-18 -0537d29cfg: [**BREAKING**] Move control flow to its own crate. (#3728) (rzvxa) -5c38a0fcodegen: [**BREAKING**] New code gen API (#3740) (Boshen) -4bce59dsemantic/cfg: [**BREAKING**] Re-export `petgraph` as `control_flow::graph`. (#3722) (rzvxa) -534242acodegen: [**BREAKING**] Remove `CodegenOptions::enable_typescript` (#3674) (Boshen) -0578eceast: [**BREAKING**] Remove `ExportDefaultDeclarationKind::TSEnumDeclaration` (#3666) (Dunqing) ### Features -5a99d30codegen: Improve codegen formatting (#3735) (Boshen) -bf9b38acodegen: Improve codegen formatting (#3731) (Boshen) -4a004e2codegen: Print TSImport remaining fields (#3695) (Dunqing) -a56cb1bcodegen: Print accessibility for MethodDefinition (#3690) (Dunqing) -38a75e5coverage: Improve codegen (#3729) (Boshen) -750a534coverage: Transformer idempotency test (#3691) (Boshen) -ee627c3isolated-declarations: Create unique name for `_default` (#3730) (Dunqing) -81e9526isolated-declarations: Inferring set accessor parameter type from get accessor return type (#3725) (Dunqing) -77d5533isolated-declarations: Report errors that are consistent with typescript. (#3720) (Dunqing) -8f5655dlinter: Add eslint/no-useless-constructor (#3594) (Don Isaac) -046ff3flinter/eslint: Add `no_unreachable` rule. (#3238) (rzvxa) -0b8098anapi: Isolated-declaration (#3718) (Boshen) -527bfc8npm/oxc-transform: Setup npm/oxc-transform and publish (Boshen) -d65c652parser: Display jsx mismatch error, e.g. `<Foo></Bar>` (#3696) (Boshen) -9c31ed9semantic/cfg: Propagate unreachable edges through subgraphs. (#3648) (rzvxa) -d9c5b33semantic/cfg: Add `Condition` instruction. (#3567) (Ali Rezvani) -f2dfd66semantic/cfg: Add iteration instructions. (#3566) (rzvxa) -910193etransformer-dts: Report error for super class (#3711) (Dunqing) -413d7betransformer-dts: Transform enum support (#3710) (Dunqing) -35c382etransformer-dts: Remove type annotation from private field (#3689) (Dunqing) -0e6d3cetransformer-dts: Report error for async function and generator (#3688) (Dunqing) -b22b59atransformer-dts: Transform namespace support (#3683) (Dunqing) -4f2db46transformer-dts: `--isolatedDeclarations` dts transform (#3664) (Dunqing) ### Bug Fixes -2158268ast: Incorrect visit order in function (#3681) (Dunqing) -da1e2d0codegen: Improve typescript codegen (#3708) (Boshen) -f1b793fisolated-declarations: Function overloads reaching unreachable (#3739) (Dunqing) -0fbecdcisolated-declarations: Should be added to references, not bindings (#3726) (Dunqing) -8f64d99minifier: Respect `join_vars: false` option (#3724) (mysteryven) -70fc69bsemantic: Add Eq to CtxFlags (#3651) (Yuji Sugiura) -7a58fecsemantic/cfg: Issue in unlabeled `Ctx`s. (#3678) (rzvxa) -abd6ac8semantic/cfg: Discrete finalization path after `NewFunction`s. (#3671) (rzvxa) -e148a32semantic/cfg: Correct unreachability propagation in try-finally. (#3667) (Ali Rezvani) -59666e0transformer: Do not rename accessible identifier references (#3623) (Dunqing) -90743e2traverse: Change visit order for `Function` (#3685) (overlookmotel) ### Performance -2717a1asemantic/cfg: Lower the visits in `neighbors_filtered_by_edge_weight`. (#3676) (rzvxa) ### Refactor -fa7a6bacodegen: Add `gen` method to ast nodes (#3687) (Boshen) -09b92b6codegen: Move `gen_ts` into `gen` to make searching things easier (#3680) (Boshen) -3c59735isolated-declarations: Remove `TransformDtsCtx` (#3719) (Boshen) -815260eisolated-declarations: Decouple codegen (#3715) (Boshen) -7ec44f8semantic: Rename `cfg` macro to `control_flow`. (#3742) (rzvxa) -d8ad321semantic: Make control flow generation optional. (#3737) (rzvxa) -a94a72dsemantic: Expose 1 checker function instead of 2 (#3694) (Boshen) -bd8d115semantic/cfg: Remove unused types. (#3677) (rzvxa) -f702fb9semantic/cfg: Cleanup control flow and it's builder. (#3650) (rzvxa) -4f16664transformer_dts: Create a `Program` for codegen (#3679) (Boshen) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
16 KiB
16 KiB
Changelog
All notable changes to this package will be documented in this file.
The format is based on Keep a Changelog, and this project does not adhere to Semantic Versioning until v1.0.0.
[0.15.0] - 2024-06-18
Features
d65c652parser: Display jsx mismatch error, e.g.<Foo></Bar>(#3696) (Boshen)
Bug Fixes
da1e2d0codegen: Improve typescript codegen (#3708) (Boshen)
[0.13.2] - 2024-06-03
Bug Fixes
350cd91parser: Should parser error when function declaration has no name (#3461) (Dunqing)cf41513parser: Parse const extends in arrow functions correctly (#3450) (Dunqing)6078a6dparser: Fix lexer error while parsing parenthesized arrow expressions (#3400) (Boshen)
[0.13.1] - 2024-05-22
Performance
27030b9lexer: Use bitshifting when parsing known integers (#3296) (Don Isaac)508dae6lexer: Dedupe numeric separator check (#3283) (Don Isaac)fdb31c3parser: More efficient number parsing (#3342) (overlookmotel)46cb5f9parser: UseFxHashSetfornot_parenthesized_arrow(#3344) (Boshen)
Refactor
6b3d019paresr: Move some structs to js module (#3341) (Boshen)89a1f97parser: Improve expression parsing (#3352) (Boshen)e818fbaparser: Improveparse_simple_arrow_function_expression(#3349) (Boshen)1e802c7parser: Clean upParserState(#3345) (Boshen)0742081parser: Improve is_parenthesized_arrow_function_expression (#3343) (Boshen)9ced605parser: Start porting arrow function parsing from tsc (#3340) (Boshen)
[0.13.0] - 2024-05-14
Features
eefb66fast: Add type to AccessorProperty to support TSAbractAccessorProperty (#3256) (Dunqing)
Bug Fixes
c4ccf9fparser: ParseDecoratorCallExpressionwhenArgumentscontainsMemberExpression(#3265) (Boshen)0ba7778parser: Correctly parse cls.fn = x (#3208) (Dunqing)
Performance
7338364lexer: Improve comment building performance by using a vec instead of btreemap (#3186) (Boshen)
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)0185eb2ast: Remove duplicateTSNamedTupleMemberrepresentation (#3101) (overlookmotel)942b2baast: Add array elementElisiontype (#3074) (overlookmotel)312f74bdiagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)b27a905parser: SimplifyContextpassing (#3266) (Boshen)2064ae9parser,diagnostic: One diagnostic struct to eliminate monomorphization of generic types (#3214) (Boshen)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)-1b4ebb3Run fmt (Boshen)
[0.12.5] - 2024-04-22
Features
92d709bast: AddCatchParameternode (#3049) (Boshen)
Bug Fixes
d44301cparser: Fix comment typos (#3036) (overlookmotel)
Performance
6c82961ast: Box typescript enum variants. (#3065) (Ali Rezvani)48e2088ast: Box enum variants (#3058) (overlookmotel)383b449ast: BoxImportDeclarationSpecifierenum variants (#3061) (overlookmotel)2804e7dast: Reduce indirection in AST types (#3051) (overlookmotel)
[0.12.3] - 2024-04-11
Refactor
5974819ast: Clean up the ts type visit methods (Boshen)
[0.11.0] - 2024-03-30
Bug Fixes
b76b02dparser: Add support for empty module declaration (#2834) (Ali Rezvani)798a1fdparser: Fix failed to parseJSXChildafterJSXEmptyExpression(#2726) (Boshen)
Performance
e793063parser: Faster lexing JSX identifiers (#2557) (overlookmotel)
Refactor
fc38783ast: Add walk_mut functions (#2776) (Ali Rezvani)198eea0ast: Add walk functions to Visit trait. (#2791) (Ali Rezvani)
[0.10.0] - 2024-03-14
-
c3477deast: [BREAKING] Rename BigintLiteral to BigIntLiteral (#2659) (Arnaud Barré) -
7768123parser: [BREAKING] Drop TSImportEqualsDeclaration.is_export (#2654) (Arnaud Barré)
Features
697b6b7Merge featuresserdeandwasmtoserialize(#2716) (Boshen)-265b2fbMiette v7 (#2465) (Boshen)
Bug Fixes
6c6adb4ast: Parse rest parameter with the correct optional and type annotation syntax (#2686) (Boshen)2a235d3ast: Parsewith_clausein re-export declaration (#2634) (magic-akari)86ee074parser: Remove all duplicated comments in trivia builder (#2689) (Boshen)cda9c93parser: Improve lexing of jsx identifier to fix duplicated comments after jsx name (#2687) (Boshen)b378e7eparser: Fix span for JSXEmptyExpression with comment (#2673) (Arnaud Barré)8226031parser: Fix span start for return type in function type (#2660) (Arnaud Barré)b453a07parser: Parse named rest element in type tuple (#2655) (Arnaud Barré)
Refactor
0f86333ast: RefactorTriviasAPI - have less noise around it (#2692) (Boshen)240ff19parser: Improve parsing ofBindingPatternin TypeScript (#2624) (Boshen)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
f66059east: [BREAKING] Align TSImportType with ESTree (#2578) (Arnaud Barré)
Features
20c7bf7ast: AddAssignmentTargetRest(#2601) (Boshen)3efbbb2ast: Add "abstract" type toMethodDefinitionandPropertyDefinition(#2536) (Boshen)9479865napi/parser: ExposepreserveParansoption (#2582) (Boshen)e2d2ce3parser: Parse decorators properly (#2603) (Boshen)
Bug Fixes
637cd1dast: Support TSIndexSignature.readonly (#2579) (Arnaud Barré)258b9b1ast: Support FormalParameter.override (#2577) (Arnaud Barré)78f30bcast: Change TSMappedType.type_annotation from TSTypeAnnotation to TSType (#2571) (Arnaud Barré)97aa9cfparser: Fix span end for TSEmptyBodyFunctionExpression (#2606) (Arnaud Barré)9cc960eparser: Fix duplicated comments during parser rewind (#2600) (Boshen)24d46bcparser: Fix span start for TSModuleDeclaration (#2593) (Arnaud Barré)ac520d0parser: Fix span start for TSExportAssignment (#2594) (Arnaud Barré)d9cc429parser: Parse empty method declaration as TSEmptyBodyFunctionExpression (#2574) (Arnaud Barré)32028ebparser: TSConditionalType span start (#2570) (Arnaud Barré)6700810parser: Set span end for TSEnumDeclaration (#2573) (Arnaud Barré)8a81851parser: Don't parse null as a literal type (#2572) (Arnaud Barré)
Performance
bf42158parser: Inlineend_spanandparse_identifier_kindwhich are on the hot path (#2612) (Boshen)78f8c2cparser: Lex JSXText with memchr (#2558) (overlookmotel)5a13714parser: Faster lexing template strings (#2541) (overlookmotel)24ded3cparser: Lex JSX strings withmemchr(#2528) (overlookmotel)
Refactor
dd31c64parser:byte_searchmacro evaluate to matched byte (#2555) (overlookmotel)c579620parser: Small efficiencies inbyte_searchmacro usage (#2554) (overlookmotel)18cff6aparser: Remove start params forbyte_searchmacro arms (#2553) (overlookmotel)34ecdd5parser: Simplifybyte_searchmacro (#2552) (overlookmotel)ddccaa1parser: Remove unsafe code in lexer (#2549) (overlookmotel)9d7ea6bparser: Single function for all string slicing (#2540) (overlookmotel)0ddfc85parser: Remove unsafe code (#2527) (overlookmotel)
[0.8.0] - 2024-02-26
Features
6b3b260Codegen: Improve codegen (#2460) (Andrew McClenaghan)70295a5ast: Update arrow_expression to arrow_function_expression (#2496) (Dunqing)7a796c4ast: AddTSModuleDeclaration.kind(#2487) (Boshen)60db720parser: Parse import attributes in TSImportType (#2436) (Dunqing)ef336cbparser: Recover fromasync x [newline] => x(#2375) (Boshen)197fa16semantic: Add check for duplicate class elements in checker (#2455) (Dunqing)
Bug Fixes
5212f7bparser: Fix missing end span fromTSTypeAliasDeclaration(#2485) (Boshen)73e116eparser: Incorrect parsing of class accessor property name (#2386) (Dunqing)
Performance
996a9d2parser:byte_searchmacro always unroll main loop (#2439) (overlookmotel)383f5b3parser: Consume multi-line comments faster (#2377) (overlookmotel)c4fa738parser: Consume single-line comments faster (#2374) (overlookmotel)0be8397parser: Optimize lexing strings (#2366) (overlookmotel)
Refactor
9087f71ast: S/TSThisKeyword/TSThisType to align with estree (Boshen)d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)3cbe786ast: Update TSImportType parameter to argument (#2429) (Dunqing)a78303dparser:continue_ifinbyte_searchmacro not unsafe (#2440) (overlookmotel)a5a3c69parser: Correct comment (#2441) (overlookmotel)cc2ddbeparser: Catch all illegal UTF-8 bytes (#2415) (overlookmotel)b29719dparser: Add methods toSource+SourcePosition(#2373) (overlookmotel)79ae9a9parser: Extendbyte_searchmacro (#2372) (overlookmotel)-a2c173dRemovepanic!from examples (#2454) (Boshen)
[0.7.0] - 2024-02-09
Features
a3570d4semantic: Report parameter related errors for setter/getter (#2316) (Dunqing)
Bug Fixes
2f6cf73parser: Remove erroneous debug assertion (#2356) (overlookmotel)
Performance
c0d1d6bparser: Lex strings as bytes (#2357) (overlookmotel)8376f15parser: Eat whitespace after line break (#2353) (overlookmotel)d3a59f2parser: Lex identifiers as bytes not chars (#2352) (overlookmotel)
Refactor
1822cfeast: Fix BigInt memory leak by removing it (#2293) (Boshen)6910e4fparser: Macro for ASCII identifier byte handlers (#2351) (overlookmotel)6f597b1parser: All pointer manipulation throughSourcePosition(#2350) (overlookmotel)185b3dbparser: Fix outdated comment (#2344) (overlookmotel)f347016parser: MakeSource::set_positionsafe (#2341) (overlookmotel)0bdecb5parser: Wrapper type for parser (#2339) (overlookmotel)cdef41dparser: Lexer replaceCharswithSource(#2288) (overlookmotel)9811c3aparser: Name byte handler functions (#2301) (overlookmotel)
[0.6.0] - 2024-02-03
Features
2578bb3ast: Remove generator property from ArrowFunction (#2260) (Dunqing)165f948ast: Remove expression property from Function (#2247) (Dunqing)36c718etasks: Benchmarks for lexer (#2101) (overlookmotel)
Bug Fixes
ea8cc98ast: AcessorProperty is missing decorators (#2176) (Dunqing)2beacd3lexer: Correct the span for irregular whitespaces (#2245) (Boshen)e123be0parser: Correct MAX_LEN for 32-bit systems (#2204) (overlookmotel)2f5afffparser: Fix crash on TSTemplateLiteralType in function return position (#2089) (Boshen)712e99cparser: Restore regex flag parsing (#2007) (overlookmotel)
Performance
81e33a3parser: Faster offset calculation (#2215) (overlookmotel)20679d1parser: PadTokento 16 bytes (#2211) (overlookmotel)66a7a68parser: Lexer byte handlers consume ASCII chars faster (#2046) (overlookmotel)60a927dparser: Lexer match byte not char (#2025) (overlookmotel)1886a5bparser: ReduceTokensize from 16 to 12 bytes (#2010) (Boshen)
Refactor
766ca63ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)622a2c3lexer: Don't uselexer.current.charsdirectly (#2237) (overlookmotel)d0d7082parser: Consume chars when parsing surrogate pair escape (#2243) (overlookmotel)5279e89parser: Byte handler for illegal bytes (#2229) (overlookmotel)3d79d77parser: Split lexer into multiple files (#2228) (overlookmotel)51ac392parser: MarkByteHandlers unsafe (#2212) (overlookmotel)872d751parser: Re-order match branches (#2209) (overlookmotel)71898ffparser: Move source length check into lexer (#2206) (overlookmotel)bc7ea0bparser: Makeis_identifiermethods consistent (overlookmotel)3f2b48fparser: Remove useless string builder from jsx text lexer (#2096) (Boshen)0e32618parser: Combine token kinds for skipped tokens (#2072) (overlookmotel)8d5f5b8parser: Macro for ASCII byte handlers (#2066) (overlookmotel)408acb9parser: Lexer handle unicode without branch (#2039) (overlookmotel)b4d76f0parser: Remove noop code (#2028) (overlookmotel)6996948parser: Remove extraneous code from regex parsing (#2008) (overlookmotel)
[0.5.0] - 2024-01-12
Features
c1cfd17linter: No-irregular-whitespace rule (#1835) (Deivid Almeida)
Bug Fixes
b50c5ecparser: Unexpected ts type annotation in get/set (#1942) (Dunqing)eb2966cparser: Fix incorrectly identified directives (#1885) (overlookmotel)c3090c2parser: Terminate parsing if an EmptyParenthesizedExpression error occurs (#1874) (Dunqing)62bc8c5parser: Error on source larger than 4 GiB (#1860) (overlookmotel)2b4d1bfparser: Await in jsx expression (Boshen)19e77b0parser: False postive for "Missing initializer in const declaration" in declare + namespace (#1724) (Boshen)
Refactor
a2858edast: IntroduceThisParameter(#1728) (magic-akari)aa91fdeparser: Only allocate for escaped template strings (#2005) (Boshen)38f86b0parser: Remove string builder from number parsing (#2002) (Boshen)c731685parser: Reduce work parsing regexps (#1999) (overlookmotel)4706765parser: ReduceTokensize from 32 to 16 bytes (#1962) (Boshen)6e0bd52parser: Remove TokenValue::Number from Token (#1945) (Boshen)08438e0parser: Remove TokenValue::RegExp fromToken(#1926) (Boshen)7eb2573parser: Parse BigInt lazily (#1924) (Boshen)5b2696bparser: Reportthisparameter error (#1788) (magic-akari)
[0.4.0] - 2023-12-08
Features
9ff0ffcast: Implement new proposal-import-attributes (#1476) (magic-akari)07b0109parser: Addpreserve_parensoption (default: true) (#1474) (Boshen)1554f7cparsr: Parselet.a = 1with error recovery (#1587) (Boshen)567c6edprettier: Print directives (#1497) (Boshen)0218ae8prettier: Print leading comments with newlines (#1434) (Boshen)
Bug Fixes
a7e0706parser: Correctimport_kindofTSImportEqualsDeclaration(#1449) (magic-akari)4453529parser: Fix type import (#1291) (magic-akari)9c0aafcparser: Disallow ReservedWord in NamedExports (#1230) (magic-akari)8afb81aparser: ASI of async class member (#1214) (magic-akari)
Refactor
9842be4parser: Remove duplicated code (Boshen)1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
854b55acodegen: Json strings proposal (#1039) (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)5b1e1e5parser: TypeScript 5.2 (#811) (Cameron)af1a76btransformer: Implement some of needs_explicit_esm for typescript (#1047) (Boshen)
Bug Fixes
6295f9cast: Jsx attribute value and text child should be jsx string (#1089) (Boshen)a455c81linter: Revert changes to JSX attribute strings (#1101) (Boshen)-266253cTs parsing error (#940) (IWANABETHATGUY)
Refactor
4787220ast: Clean up some methods (Boshen)70189f9ast: Change the arguments order for somenewfunctions (Boshen)db5417fclippy: Allow clippy::too_many_lines (Boshen)
[0.2.0] - 2023-09-14
Features
e7c2313ast: AddSymbolIdandReferenceId(#755) (Yunfei He)
Bug Fixes
7c8e6abparser: Parse [+In] in object binding initializer (#874) (Boshen)2f48bdfparser,semantic: Make semantic ownTrivias(#711) (Boshen)
Performance
f447cf3lexer: Only check the first lower case formatch_keyword(#913) (Boshen)7962e81lexer: Remove an extra branch fromidentifier_name_handler(#912) (Boshen)d25355clexer: Reduce an extra branch from peek (#841) (Boshen)a272c1flexer: Reduce checks on ident -> keyword (#783) (Boshen)c8a215elexer: Jump table (#779) (Boshen)babbc47parser: Lazily build trivia map instead of build in-place (#903) (Boshen)1793397parser: Remove an extra branch fromparse_member_expression_rhshot path (#896) (Boshen)