## [0.20.0] - 2024-07-11 -5731e39ast: [**BREAKING**] Store span details inside comment struct (#4132) (Luca Bruno) ### Features -67fe75east, ast_codegen: Pass the `scope_id` to the `enter_scope` event. (#4168) (rzvxa) -54cd04aminifier: Implement dce with var hoisting (#4160) (Boshen) -44a894aminifier: Implement return statement dce (#4155) (Boshen) -725571anapi/transformer: Add `jsx` option to force parsing with jsx (#4133) (Boshen) ### Bug Fixes -48947a2ast: Put `decorators` before everything else. (#4143) (rzvxa) -7a059abcfg: Double resolution of labeled statements. (#4177) (rzvxa) -4a656c3lexer: Incorrect lexing of large hex/octal/binary literals (#4072) (DonIsaac) -28eeee0parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen) ### Performance -ddfa343diagnostic: Use `Cow<'static, str>` over `String` (#4175) (DonIsaac) -2203143semantic: Store unresolved refs in a stack (#4162) (lucab) -fca9706semantic: Faster search for leading comments (#4140) (Boshen) ### Documentation -bdcc298ast: Update the note regarding the `ast_codegen` markers. (#4149) (rzvxa) ### Refactor -03ad1e3semantic: Tweak comment argument type (#4157) (lucab) Co-authored-by: Boshen <Boshen@users.noreply.github.com>
19 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.20.0] - 2024-07-11
5731e39ast: [BREAKING] Store span details inside comment struct (#4132) (Luca Bruno)
Bug Fixes
48947a2ast: Putdecoratorsbefore everything else. (#4143) (rzvxa)4a656c3lexer: Incorrect lexing of large hex/octal/binary literals (#4072) (DonIsaac)28eeee0parser: Fix asi error diagnostic pointing at invalid text causing crash (#4163) (Boshen)
Refactor
[0.19.0] - 2024-07-09
b936162ast/ast_builder: [BREAKING] Shorter allocator utility method names. (#4122) (rzvxa)
Refactor
[0.18.0] - 2024-07-09
d347aedast: [BREAKING] Generateast_builder.rs. (#3890) (rzvxa)
Features
3a0f2aaparser: Check for illegal modifiers in modules and namespaces (#4126) (DonIsaac)
[0.17.1] - 2024-07-06
Performance
7fe2a2fparser: Do not copy comments (#4067) (overlookmotel)
[0.17.0] - 2024-07-05
e32b4bcast: [BREAKING] Store trivia comments in a sorted slice (#4045) (Luca Bruno)
Refactor
243c9f3parser: Use function instead of trait to parse list with rest element (#4028) (Boshen)1dacb1fparser: Use function instead of trait to parse delimited lists (#4014) (Boshen)
[0.16.3] - 2024-07-02
Refactor
d0eac46parser: Use function instead of trait to parse normal lists (#4003) (Boshen)
[0.16.2] - 2024-06-30
Features
dc6d45east,codegen: AddTSParenthesizedTypeand print type parentheses correctly (#3979) (Boshen)63f36daparser: Parse modifiers withparse_modifiers(take 2) (#3977) (DonIsaac)
[0.16.1] - 2024-06-29
Features
7b38bdeparser: Parse modifiers withparse_modifiers(#3948) (DonIsaac)
Refactor
2705df9linter: Improve diagnostic labeling (#3960) (DonIsaac)
[0.16.0] - 2024-06-26
-
6796891ast: [BREAKING] Rename all instances ofBigintLiteraltoBigIntLiteral. (#3898) (rzvxa) -
1f85f1aast: [BREAKING] Revert addingspanfield to theBindingPatterntype. (#3899) (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) -
cfcef24ast: [BREAKING] Adddirectivesfield toTSModuleBlock(#3830) (Boshen) -
4456034ast: [BREAKING] AddIdentifierReferencetoExportSpecifier(#3820) (Boshen)
Features
5847e16ast,parser: Addintrinsickeyword (#3767) (Boshen)dd540c8minifier: Add skeleton for ReplaceGlobalDefines ast pass (#3803) (Boshen)
Bug Fixes
275349aparser: Parse function type parameter nameaccessor(#3926) (Boshen)ef82c78parser: Trailing comma is not allowed in ParenthesizedExpression (#3885) (Dunqing)13754cbparser: Change diagnostic to "modifier cannot be used here" (#3853) (Boshen)
Performance
4bf405dparser: Add a few more inline hints to cursor functions (#3894) (Boshen)-4f7ff7eDo not pass&Atomto functions (#3818) (overlookmotel)
Refactor
363d3d5ast: Add span field to theBindingPatterntype. (#3855) (rzvxa)a471e62parser: Clean uptry_parse(#3925) (Boshen)3db2553parser: Improve parsing of TypeScript type arguments (#3923) (Boshen)4cf3c76parser: Improve parsing of TypeScript types (#3903) (Boshen)187f078parser: Improve parsing ofparse_function_or_constructor_type(#3892) (Boshen)97d59fcparser: Move code around for parsingModifiers(#3849) (Boshen)-d6437feClean up some usages ofwith_labels(#3854) (Boshen)
[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)