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>
17 KiB
17 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
-
0537d29cfg: [BREAKING] Move control flow to its own crate. (#3728) (rzvxa) -
4bce59dsemantic/cfg: [BREAKING] Re-exportpetgraphascontrol_flow::graph. (#3722) (rzvxa) -
0578eceast: [BREAKING] RemoveExportDefaultDeclarationKind::TSEnumDeclaration(#3666) (Dunqing)
Features
046ff3flinter/eslint: Addno_unreachablerule. (#3238) (rzvxa)9c31ed9semantic/cfg: Propagate unreachable edges through subgraphs. (#3648) (rzvxa)d9c5b33semantic/cfg: AddConditioninstruction. (#3567) (Ali Rezvani)f2dfd66semantic/cfg: Add iteration instructions. (#3566) (rzvxa)
Bug Fixes
70fc69bsemantic: Add Eq to CtxFlags (#3651) (Yuji Sugiura)7a58fecsemantic/cfg: Issue in unlabeledCtxs. (#3678) (rzvxa)abd6ac8semantic/cfg: Discrete finalization path afterNewFunctions. (#3671) (rzvxa)e148a32semantic/cfg: Correct unreachability propagation in try-finally. (#3667) (Ali Rezvani)
Performance
2717a1asemantic/cfg: Lower the visits inneighbors_filtered_by_edge_weight. (#3676) (rzvxa)
Refactor
7ec44f8semantic: Renamecfgmacro tocontrol_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)
[0.14.0] - 2024-06-12
Refactor
84304b4linter: Add actx.module_record()method (#3637) (Boshen)7d61832semantic: PassRcby value (#3586) (overlookmotel)5793ff1transformer: Replace&’a TriviaswithRc<Trivias>(#3580) (Dunqing)60cbdectraverse:generate_uid_in_root_scopemethod (#3611) (overlookmotel)
[0.13.4] - 2024-06-07
Bug Fixes
c00598btransformer: JSX setreference_idon refs to imports (#3524) (overlookmotel)
Refactor
6978269transformer/typescript: Replace reference collector with symbols references (#3533) (Dunqing)
[0.13.3] - 2024-06-04
Refactor
7bbd3datraverse:generate_uidreturnSymbolId(#3520) (overlookmotel)
[0.13.2] - 2024-06-03
Features
3a5f088linter/jsdoc: Implement require-returns rule (#3218) (Yuji Sugiura)bcdc658transformer: AddTraverseCtx::generate_uid(#3394) (overlookmotel)
Bug Fixes
5e06298linter: Memorize visited block id inneighbors_filtered_by_edge_weight(#3407) (mysteryven)6f71541semantic: Set program scope_id for TS definition files (#3496) (overlookmotel)d4371e8transformer: Use UIDs in TS namespace transforms (#3395) (overlookmotel)
Refactor
55bbde2ast: Move scope fromTSModuleBlocktoTSModuleDeclaration(#3488) (overlookmotel)9c58231semantic: Use a simpler way to resolve reference for ReferenceFlag::Type (#3430) (Dunqing)-de75fb2Compile less test binaries to speed up CI (#3414) (Boshen)
[0.13.1] - 2024-05-22
Refactor
6f3b1c8semantic: Semantic populatescope_idfields in AST (#3303) (overlookmotel)78e6326semantic/cfg: Alias petgraph'sNodeIndexasBasicBlockId. (#3380) (rzvxa)
[0.13.0] - 2024-05-14
Features
44b16eflinter/eslint: Implement max-classes-per-file (#3241) (Jelle van der Waa)5866086linter/jsdoc: Implement no-defaults rule (#3098) (Yuji Sugiura)1f135celinter/react: Add therules_of_hooksrule. (#3071) (rzvxa)c3d8a85semantic: Report that enum member must have initializer (#3113) (Dunqing)2dd96dfsemantic: Report namespace related errors (#3093) (Dunqing)
Bug Fixes
5e36e0dsemantic: Addcfgnodes forConditionalExpressions. (#3127) (Ali Rezvani)c91d261semantic: Connecttestexpression offorstatements to the cfg. (#3122) (Ali Rezvani)dcb2528semantic: Revert test code pushed to the main by accident. (#3085) (Ali Rezvani)8d17ab3semantic: Allowroot_nodeto be empty for empty trees. (#3084) (Ali Rezvani)
Refactor
7e1fe36ast: Squash nested enums (#3115) (overlookmotel)dbde5b3diagnostics: Remove export ofmiette(Boshen)312f74bdiagnostics: S/OxcDiagnostic::new/OxcDiagnostic::error (Boshen)c5588c9semantic: Clean up redeclaration diagnostic (Boshen)09f34fcsemantic: Unify diagnostic in checker (Boshen)a8af5desyntax: Move number related functions to number module (#3130) (Boshen)-893af23Clean up more diagnostics usages (Boshen)-d8173e1Remove all usages ofInto<Error>(Boshen)
[0.12.5] - 2024-04-22
Features
92d709bast: AddCatchParameternode (#3049) (Boshen)57ad6c4semantic: Add root node to theAstNodesstructure. (#3032) (Ali Rezvani)
Bug Fixes
84c43c8semantic: Correctly resolve identifiers inside catch parameter initializers (#3050) (Boshen)1f7033esemantic: Correctly resolve identifiers inside parameter initializers (#3046) (Boshen)
[0.12.4] - 2024-04-19
Features
40af2b1semantic/jsdoc: Handle optional type syntax for type name part (#2960) (Yuji Sugiura)
Bug Fixes
2c325efsemantic/jsdoc: Skip parsing@inside of backticks (#3017) (Yuji Sugiura)
[0.12.3] - 2024-04-11
Refactor
0a77d62semantic/jsdoc: Rework JSDoc struct for better Span handling (#2917) (Yuji Sugiura)
[0.12.2] - 2024-04-08
Features
aa63b64linter: Implement jsdoc/check-access (#2642) (Yuji Sugiura)
Bug Fixes
1ea24easemantic: Symbols inside functions and classes incorrectly flagged as exported (#2896) (Don Isaac)
[0.12.1] - 2024-04-03
Bug Fixes
d3eb1c3semantic: Flag function expressions withSymbolFlags::Function(#2891) (Don Isaac)
[0.11.0] - 2024-03-30
Features
712b3d2semantic: Distinguish type imports in ModuleRecord (#2785) (Dunqing)df744b2semantic/jsdoc: AddSpanfor JSDoc, JSDocTag (#2815) (Yuji Sugiura)
Bug Fixes
df62828linter/import: Ignore export declaration in no-duplicates (#2863) (Dunqing)947a9f0semantic: Missing SymbolFlags::Export when identifier used in ExportDefaultDeclaration (#2837) (Dunqing)b28b617semantic: Incorrect ExportEntry span for ExportAllDeclaration in ModuleRecord (#2793) (Dunqing)b6e493bsemantic: ModuleRecord's indirect_export_entires missing reexported imports (#2792) (Dunqing)
Refactor
1b5e544semantic: Distinguish whether requested_modules is type imports/exports (#2848) (Dunqing)4a42c5fsemantic/jsdoc: JSDocTag parser rework (#2765) (Yuji Sugiura)
[0.10.0] - 2024-03-14
Features
57ce737semantic: Move redeclare varaibles to symbol table (#2614) (Dunqing)4f9dd98span: RemoveFrom<String>andFrom<Cow>API because they create memory leak (#2628) (Boshen)-697b6b7Merge featuresserdeandwasmtoserialize(#2716) (Boshen)
Bug Fixes
b00d4b8semantic/jsdoc: Support multibyte chars (#2694) (Yuji Sugiura)2609e90semantic/jsdoc: Fix up builder (#2623) (Yuji Sugiura)
Refactor
0f86333ast: RefactorTriviasAPI - have less noise around it (#2692) (Boshen)cba1e2fast: ImportTsifyto shorten code (#2665) (overlookmotel)6b5723cast: Shorten manual TS defs (#2638) (overlookmotel)-cbc2f5fRemove unused dependencies (#2718) (Boshen)-3c1e0dbReducecfg_attrboilerplate withSerAttrsderive (#2669) (overlookmotel)-d76ee6b"wasm" feature enable "serde" feature (#2639) (overlookmotel)-8001b2fMakeCompactStrimmutable (#2620) (overlookmotel)-0646bf3RenameCompactStringtoCompactStr(#2619) (overlookmotel)
[0.9.0] - 2024-03-05
Features
d41dcc3linter: Remove all commonjs logic for import plugin (#2537) (Boshen)f760108transformer: Call build module record (#2529) (Dunqing)
Bug Fixes
37de80dsemantic: Jsx reference with an incorrect node id (#2546) (Dunqing)1519b90semantic: Incorrect scope for switch statement (#2513) (Dunqing)
Refactor
1391e4asemantic/jsdoc: Misc fixes for JSDoc related things (#2531) (Yuji Sugiura)-c56b6cbReplace InlinableString with CompactString forAtom(#2517) (Boshen)
[0.8.0] - 2024-02-26
Features
f5aadc7linter: Handle cjs `module.exports = {} as default export (#2493) (Boshen)f64c7e0linter: Handle cjsmodule.exports.foo = barandexports.foo = bar(#2492) (Boshen)d0a9c46linter: Handle top-levelrequirefor import plugin (#2491) (Boshen)197fa16semantic: Add check for duplicate class elements in checker (#2455) (Dunqing)950298dsemantic: Add static property, ElementKind::Getter, ElementKind::Setter in ClassTable (#2445) (Dunqing)
Bug Fixes
fba66dclinter: Improve import/no-named-as-default (#2494) (Boshen)4c2e2bdsemantic: Add export symbol flag to identifiers in export declarations (#2508) (Dunqing)04f4621semantic: Should return nearest JSDoc (#2490) (Yuji Sugiura)bc22ae5semantic: Refactor jsdoc finding (#2437) (Yuji Sugiura)5bd2ce6semantic: Incorrect reference flag for MemberExpression assign (#2433) (Dunqing)
Performance
8110288semantic: Reduce visit parent nodes in resolve_reference_usages (#2419) (Dunqing)
Refactor
d08abc6ast: S/NumberLiteral/NumericLiteral to align with estree (Boshen)e6b391aast: S/ArrowExpression/ArrowFunctionExpression to align estree (Boshen)7c2d868semantic: Delete the redundant code in binder (#2423) (Dunqing)c6767fasemantic: Reduce allocation in resolve_references_for_current_scope (#2414) (Dunqing)28ba28fsemantic: Check directive by current_scope_id (#2411) (Dunqing)-a2c173dRemovepanic!from examples (#2454) (Boshen)
[0.7.0] - 2024-02-09
Features
d571839ast: Enter AstKind::ExportDefaultDeclaration, AstKind::ExportNamedDeclaration and AstKind::ExportAllDeclaration (#2317) (Dunqing)40e9541semantic: Add export binding for ExportDefaultDeclarations in module record (#2329) (Dunqing)a3570d4semantic: Report parameter related errors for setter/getter (#2316) (Dunqing)9ca13d0semantic: Report type parameter list cannot be empty (#2315) (Dunqing)f53c54csemantic: Report unexpected type annotation in ArrayPattern (#2309) (Dunqing)f3035f1semantic: Apply ImportSpecifier's binder and remove ModuleDeclaration's binder (#2307) (Dunqing)6002560span: Fix memory leak by implementing inlineable string for oxc_allocator (#2294) (Boshen)
Bug Fixes
540b2a0semantic: Remove unnecessary SymbolFlags::Import (#2311) (Dunqing)cb17a83semantic: Remove ignore cases (#2300) (Dunqing)
[0.6.0] - 2024-02-03
Features
f673e41ast: Remove serde skip for symbol_id and reference_id (#2220) (Dunqing)cd5026cast: TypeScript definition for wasm target (#2158) (Nicholas Roberts)721a869linter: Improve no_redeclare rule implementation (#2084) (Dunqing)2768195oxc_semantic: Improve sample visualization (#2251) (Tzvi Melamed)28daf83semantic: Report no class name error (#2273) (Boshen)da2ffdfsemantic: Check parameters property (#2264) (Dunqing)d71175esemantic: Check optional parameters (#2263) (Dunqing)8d99a15semantic: Report error on optional variable declaration in TypeScript (#2261) (Boshen)e561457semantic: Track cfg index per ast node (#2210) (Tzvi Melamed)8898377semantic: Cfg prototype (#2019) (Boshen)ead4e8dtransformer/typescript: Remove import if only have type reference (#2001) (Dunqing)
Bug Fixes
989ab88codegen: PrintDirectiveoriginal string (#2157) (underfin)f4674f3oxc_semantic: Handle short-circuiting operators in CFG (#2252) (Tzvi Melamed)73ccf8aoxc_semantic: Proper traversal of try statements (#2250) (Tzvi Melamed)972be83semantic: Fix incorrect semantic example (#2198) (Dunqing)122abd5semantic: Replace ClassStatickBlockAwait with ClassStaticBlockAwait (#2179) (Dunqing)24ac957semantic: Incorrect reference flag (#2057) (Dunqing)
Refactor
766ca63ast: Rename RestElement to BindingRestElement (#2116) (Dunqing)2924258semantic: Adding binder for ImportSpecifier replaces the ModuleDeclaration's binder (#2230) (Dunqing)c62495dsemantic: Get function by scope_id in set_function_node_flag (#2208) (Dunqing)f59e87fsemantic: Checking label in ContinueStatement based on LabelBuilder (#2202) (Dunqing)56adfb1semantic: Use LabelBuilder instead of UnusedLabeled (#2184) (Dunqing)fc1592bsemantic: Remove all #[dead_code[ from tester (Boshen)8bccdabsemantic: Add binder for FormalParameters and RestElement, replacing the binder for FormalParameters (#2114) (Dunqing)8e43eefsemantic: Improve declare symbol logic in FormalParameters (#2088) (Dunqing)-87b9978Move all miette usages tooxc_diagnostics(Boshen)
[0.5.0] - 2024-01-12
Features
f45a3cclinter: Support eslint/no-unused-private-class-members rule (#1820) (Dunqing)f1b433bplayground: Visualize symbol (#1886) (Dunqing)45a7985playground: Visualize scope (#1882) (Dunqing)3b4fe0esemantic: Allow reserved keyword defined in ts module block (#1907) (Dunqing)b0569bcsemantic: Add current_scope_flags function in SemanticBuilder (#1906) (Dunqing)b9bdf36semantic: Improve check super implementation, reduce access nodes (#1827) (Dunqing)f7b7f0asemantic: Support get node id by scope id (#1826) (Dunqing)ca04312semantic: Add ClassTable (#1793) (Dunqing)edc6fa4semantic: Add SymbolFlags::Function for FunctionDeclaration (#1713) (Dunqing)78b427btransform: Support es2015 new target (#1967) (underfin)
Bug Fixes
9c9d882semantic: Remove duplicate errors in ModuleDeclaration::ImportDeclaration (#1846) (Dunqing)
Performance
0080638linter/react: Find class node by symbols in get_parent_es6_component (#1657) (Dunqing)dae5f62semantic: Check duplicate parameters in Binder of FormalParameters (#1840) (Dunqing)a743d06semantic: Just need to find the AstKind::FormalParameter in is_in_formal_parameters (#1852) (Dunqing)0e0f258semantic: Reduce calls to span() (#1851) (Dunqing)
Refactor
6c5b22fsemantic: Improve ClassTable implmention and merge properties and methods to elements (#1902) (Dunqing)bfd5cd9semantic: Improve check function declaration implementation (#1854) (Dunqing)497a0b8semantic: Renameadd_node_idtoadd_current_node_id_to_current_scope(#1847) (Dunqing)d63c50asemantic: Improve check private identifier implementation (#1794) (Dunqing)da67fe1semantic: Remove unused methods fromAstNode(Boshen)
[0.4.0] - 2023-12-08
Features
446ba16ast: Add to_string function to VariableDelcartionKind (#1303) (Dunqing)0115314ast/semantic: Parse jsdoc onPropertyDefinition(#1517) (Shannon Rothe)5f31662prettier: Add the basics of comment printing (#1313) (Boshen)c6ad660semantic: Support scope descendents starting from a certain scope. (#1629) (Miles Johnson)
Refactor
be043c3ast: VariableDeclarationKind::to_string -> as_str (#1321) (Boshen)1a576f6rust: Move to workspace lint table (#1444) (Boshen)
[0.3.0] - 2023-11-06
Features
2453954linter: Add no-redeclare rule. (#683) (cin)ef8aaa7minifier: Re-enable mangler (#972) (Boshen)55b2f03minifier: Partially re-enable minifier (#963) (Boshen)a442fadsemantic: Bind function expression name (#1049) (Boshen)1661385semantic: Check non-simple lhs expression of assignment expression (#994) (Boshen)af1a76btransformer: Implement some of needs_explicit_esm for typescript (#1047) (Boshen)dfee853transformer: Add utils to make logical_assignment_operators pass (#1017) (Boshen)678db1dtransformer: ES2020 Nullish Coalescing Operator (#1004) (Boshen)0f72066transformer: Finish 2016 exponentiation operator (#996) (Boshen)203cf37transformer/react: Read comment pragma @jsxRuntime classic / automatic (#1133) (Boshen)
Bug Fixes
0f02d37semantic: Make ExportDeclaration span accurate (#928) (Wenzhe Wang)
Refactor
903854dast: Fix the lifetime annotations around Vist and VisitMut (#973) (Boshen)69150d8transformer: Move Semantic into Transformer (#1130) (Boshen)
Testing
b4b39b8semantic: Add scoping test cases (#954) (Don Isaac)
[0.2.0] - 2023-09-14
Features
e7c2313ast: AddSymbolIdandReferenceId(#755) (Yunfei He)4e5f63alinter: Implement re-exports (#877) (Boshen)ee54575linter: Add runner for import-plugin (#858) (Boshen)c5ff534semantic: Addnode_idtoReference(#689) (Makoto Tateno)75d928asyntax: Add loaded_modules to ModuleRecord (Boshen)
Bug Fixes
2f48bdfparser,semantic: Make semantic ownTrivias(#711) (Boshen)815db57semantic: Symbol of identifier of top level function declaration should be in the root scope (#843) (Yunfei He)d3accc1semantic: Nested references (#661) (Don Isaac)
Performance
babbc47parser: Lazily build trivia map instead of build in-place (#903) (Boshen)
Testing
38fb4c2semantic: Test harness (#679) (Don Isaac)