## [0.21.0] - 2024-07-18 -d7ab0b8semantic: [**BREAKING**] Simplify node creation (#4226) (lucab) ### Features -af4dc01ast: Align ts ast scope with typescript (#4253) (Dunqing) -83c2c62codegen: Add option for choosing quotes; remove slow `choose_quot` method (#4219) (Boshen) -5d17675mangler: Add debug mode (#4314) (Boshen) -e3e663bmangler: Initialize crate and integrate into minifier (#4197) (Boshen) -c818472minifier: Dce conditional expression `&&` or `||` (#4190) (Boshen) -8a190eboxc: Export `oxc_mangler` (Boshen) -20cdb1fsemantic: Align class scope with typescript (#4195) (Dunqing) -92ee774semantic: Add `ScopeFlags::CatchClause` for use in CatchClause (#4205) (Dunqing) -205c259sourcemap: Support SourceMapBuilder#token_chunks (#4220) (underfin) -7eb960dtransformer: Decode xml character entity `&#xhhhh` and `&#nnnn;` (#4235) (Boshen) ### Bug Fixes -bf3d8d3codegen: Print annotation comment inside parens for new and call expressions (#4290) (Boshen) -084ab76codegen: Use `ryu-js` for f64 to string (Boshen) -e167ef7codegen: Print parenthesis properly (#4245) (Boshen) -c65198fcodegen: Choose the right quote for jsx attribute string (#4236) (Boshen) -be82c28codegen: Print `JSXAttributeValue::StringLiteral` directly (#4231) (Boshen) -3df9e69mangler: No shorthand `BindingProperty`; handle var hoisting and export variables (#4319) (Boshen) -f144082minifier: RemoveDeadCode should visit nested expression (#4268) (underfin) -66b455aoxc_codegen: Avoid print same pure comments multiple time (#4230) (IWANABETHATGUY) -9a87e41parser: Avoid crashing on invalid const modifier (#4267) (lucab) -641a78bparser: Fix tests for number parsing (#4254) (overlookmotel) -9badac0semantic: Avoid var hosting insert the var variable to the `CatchClause` scope (#4337) (Dunqing) -95e15b6semantic: Incorrect resolve references for `ExportSpecifier` (#4320) (Dunqing) -c362bf7semantic: Incorrect resolve references for `TSInterfaceHeritage` (#4311) (Dunqing) -351ecf2semantic: Incorrect resolve references for `TSTypeQuery` (#4310) (Dunqing) -1108f2asemantic: Resolve references to the incorrect symbol (#4280) (Dunqing) -22d56bdsemantic: Do not resolve references after `FormalParameters` in TS type (#4241) (overlookmotel)-1c117ebAvoid print extra semicolon after accessor property (#4199) (IWANABETHATGUY) ### Performance -a8dc4f3parser: Speed up parsing numbers with `_` separators (#4259) (overlookmotel) -b94540dparser: Speed up parsing octal literals (#4258) (overlookmotel) -a7b328cparser: Faster parsing decimal numbers (#4257) (overlookmotel) -f9d3f2esemantic: Inline ast record functions (#4272) (overlookmotel) -8fad7dbsemantic: Reduce `AstNodeId` to `u32` (#4264) (overlookmotel) -23743dbsemantic: Do not record ast nodes for cfg if cfg disabled (#4263) (overlookmotel) -da69076semantic: Reduce overhead of cfg recording ast nodes (#4262) (overlookmotel) -cb15303semantic: Reduce memory copies (#4216) (overlookmotel) -ef4c1f4semantic: Reduce lookups (#4214) (overlookmotel) -f23e54fsemantic: Recycle unresolved references hash maps (#4213) (overlookmotel) -2602ce2semantic: Reuse existing map of unresolved refs (#4206) (lucab) ### Refactor -2c7bb9fast: Pass final `ScopeFlags` into `visit_function` (#4283) (overlookmotel) -3e099feast: Move `enter_scope` after `visit_binding_identifier` (#4246) (Dunqing) -aab7aaaast/visit: Fire node events as the outermost one. (#4203) (rzvxa) -d1c4be0codegen: Clean up annotation_comment (Boshen) -06197b8codegen: Separate tests (Boshen) -aa22073codegen: Improve print API (#4196) (Boshen) -c5731a5semantic: Remove defunct code setting ScopeFlags twice (#4286) (overlookmotel) -16698bcsemantic: Move function/class-specific code into specific visitors (#4278) (overlookmotel) -ee16668semantic: Rename function param (#4277) (overlookmotel) -25f0771semantic: Alter syntax of `control_flow!` macro (#4275) (overlookmotel) -639fd48semantic: Comment why extra CFG enabled check (#4274) (overlookmotel) -c418bf5semantic: Directly record `current_node_id` when adding a scope (#4265) (Dunqing) -ace4f1fsemantic: Update the order of `visit_function` and `Visit` fields in the builder to be consistent (#4248) (Dunqing) -8bfeabfsemantic: Simplify adding `SymbolFlags::Export` (#4249) (Dunqing) -dc2b3c4semantic: Add strict mode in scope flags for class definitions (#4156) (Dunqing) -81ed588semantic: Convert scope fields to IndexVecs (#4208) (lucab) -bbe5dedsemantic: Set `current_scope_id` to `scope_id` in `enter_scope` (#4193) (Dunqing) -7f1adddsemantic: Correct scope in CatchClause (#4192) (Dunqing) -fc0b17dsyntax: Turn the `AstNodeId::dummy` into a constant field. (#4308) (rzvxa) -a197e01transformer/typescript: Remove unnecessary code (#4321) (Dunqing) -1458d81visit: Add `#[inline]` to empty functions (#4330) (overlookmotel) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
23 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.21.0] - 2024-07-18
d7ab0b8semantic: [BREAKING] Simplify node creation (#4226) (lucab)
Features
af4dc01ast: Align ts ast scope with typescript (#4253) (Dunqing)20cdb1fsemantic: Align class scope with typescript (#4195) (Dunqing)92ee774semantic: AddScopeFlags::CatchClausefor use in CatchClause (#4205) (Dunqing)
Bug Fixes
9badac0semantic: Avoid var hosting insert the var variable to theCatchClausescope (#4337) (Dunqing)95e15b6semantic: Incorrect resolve references forExportSpecifier(#4320) (Dunqing)c362bf7semantic: Incorrect resolve references forTSInterfaceHeritage(#4311) (Dunqing)351ecf2semantic: Incorrect resolve references forTSTypeQuery(#4310) (Dunqing)1108f2asemantic: Resolve references to the incorrect symbol (#4280) (Dunqing)22d56bdsemantic: Do not resolve references afterFormalParametersin TS type (#4241) (overlookmotel)
Performance
f9d3f2esemantic: Inline ast record functions (#4272) (overlookmotel)23743dbsemantic: Do not record ast nodes for cfg if cfg disabled (#4263) (overlookmotel)da69076semantic: Reduce overhead of cfg recording ast nodes (#4262) (overlookmotel)cb15303semantic: Reduce memory copies (#4216) (overlookmotel)ef4c1f4semantic: Reduce lookups (#4214) (overlookmotel)f23e54fsemantic: Recycle unresolved references hash maps (#4213) (overlookmotel)2602ce2semantic: Reuse existing map of unresolved refs (#4206) (lucab)
Refactor
2c7bb9fast: Pass finalScopeFlagsintovisit_function(#4283) (overlookmotel)3e099feast: Moveenter_scopeaftervisit_binding_identifier(#4246) (Dunqing)aab7aaaast/visit: Fire node events as the outermost one. (#4203) (rzvxa)c5731a5semantic: Remove defunct code setting ScopeFlags twice (#4286) (overlookmotel)16698bcsemantic: Move function/class-specific code into specific visitors (#4278) (overlookmotel)ee16668semantic: Rename function param (#4277) (overlookmotel)25f0771semantic: Alter syntax ofcontrol_flow!macro (#4275) (overlookmotel)639fd48semantic: Comment why extra CFG enabled check (#4274) (overlookmotel)c418bf5semantic: Directly recordcurrent_node_idwhen adding a scope (#4265) (Dunqing)ace4f1fsemantic: Update the order ofvisit_functionandVisitfields in the builder to be consistent (#4248) (Dunqing)8bfeabfsemantic: Simplify addingSymbolFlags::Export(#4249) (Dunqing)dc2b3c4semantic: Add strict mode in scope flags for class definitions (#4156) (Dunqing)81ed588semantic: Convert scope fields to IndexVecs (#4208) (lucab)bbe5dedsemantic: Setcurrent_scope_idtoscope_idinenter_scope(#4193) (Dunqing)7f1adddsemantic: Correct scope in CatchClause (#4192) (Dunqing)fc0b17dsyntax: Turn theAstNodeId::dummyinto a constant field. (#4308) (rzvxa)
[0.20.0] - 2024-07-11
5731e39ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
Features
67fe75east, ast_codegen: Pass thescope_idto theenter_scopeevent. (#4168) (rzvxa)
Performance
2203143semantic: Store unresolved refs in a stack (#4162) (lucab)fca9706semantic: Faster search for leading comments (#4140) (Boshen)
Refactor
03ad1e3semantic: Tweak comment argument type (#4157) (lucab)
[0.18.0] - 2024-07-09
Features
2f53bdfsemantic: Check for abstract ClassElements in non-abstract classes (#4127) (DonIsaac)c4ee9f8semantic: Check for abstract initializations and implementations (#4125) (Don Isaac)
[0.17.2] - 2024-07-08
Features
e386b62semantic: Check for invalid type import assignments (#4097) (DonIsaac)
Bug Fixes
0f02608semantic: BindTSImportEqualsDeclarations (#4100) (Don Isaac)
Performance
9114c8esemantic: Keep a single map of unresolved references (#4107) (Luca Bruno)
[0.17.0] - 2024-07-05
-
1df6ac0ast: [BREAKING] Renamevisit_enum_memebertovisit_ts_enum_member. (#4000) (rzvxa) -
4a0eaa0ast: [BREAKING] Renamevisit_enumtovisit_ts_enum_declaration. (#3998) (rzvxa) -
c98d8aaast: [BREAKING] Renamevisit_arrow_expressiontovisit_arrow_function_expression. (#3995) (rzvxa)
Refactor
[0.16.3] - 2024-07-02
Bug Fixes
d995f94semantic: Resolve reference incorrectly when a parameter references a parameter that hasn't been defined yet (#4004) (Dunqing)
[0.16.2] - 2024-06-30
Performance
b234dddsemantic: Only check for jsdoc if jsdoc building is enabled (Boshen)1eac3d2semantic: UseAtom<'a>forReferences (#3972) (Don Isaac)
[0.16.1] - 2024-06-29
Features
f64ad4bsemantic: Make jsdoc building optional (turned off by default) (#3955) (Boshen)
Refactor
2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)15ec254semantic: Remove the unusedSemantic::build2function (Boshen)
[0.16.0] - 2024-06-26
-
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa) -
ae09a97ast: [BREAKING] RemoveModifiersfrom ts nodes (#3846) (Boshen) -
1af5ed3ast: [BREAKING] ReplaceModifierswithdeclareandconstonEnumDeclaration(#3845) (Boshen) -
0673677ast: [BREAKING] ReplaceModifierswithdeclareonFunction(#3844) (Boshen) -
ee6ec4east: [BREAKING] ReplaceModifierswithdeclareandabstractonClass(#3841) (Boshen) -
9b38119ast: [BREAKING] ReplaceModifierswithdeclareonVariableDeclaration(#3839) (Boshen) -
4456034ast: [BREAKING] AddIdentifierReferencetoExportSpecifier(#3820) (Boshen)
Features
d5f6aebsemantic: Check for illegal symbol modifiers (#3838) (Don Isaac)
Bug Fixes
8c9fc63semantic: Apply strict mode scope flag for strict mode TS Modules (#3861) (overlookmotel)99a40cesemantic:export default fooshould haveExportLocalName::Default(NameSpan)entry (#3823) (Boshen)17ad8f7transformer: Create new scopes for new blocks in TS transform (#3908) (overlookmotel)
Performance
10d1de5semantic: Remove uneccessary allocation in builder (#3867) (DonIsaac)-4f7ff7eDo not pass&Atomto functions (#3818) (overlookmotel)
Refactor
187f078parser: Improve parsing ofparse_function_or_constructor_type(#3892) (Boshen)-d6437feClean up some usages ofwith_labels(#3854) (Boshen)
[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)