5.0.0 (2024-07-25)
- parser: class public/private fields are in ecma spec now (#278) (332b738)
- parser: move hashbang out of "next" option (e2f28fc)
- parser: support import attributes (#280) (77d3fdc)
- parser: hashbang now works without "next" option.
4.5.0 (2024-06-06)
4.4.4 (2024-06-06)
4.4.3 (2024-05-23)
4.4.2 (2024-04-03)
4.4.1 (2024-03-31)
- parser: fix
import.meta
in sequence (15ea395) - parser: fix async assignment in comma expression (9652602)
- parser: fix async assignment in sequence (223936e)
4.4.0 (2024-03-05)
- parser: add onInsertedSemicolon option (557a893)
4.3.9 (2023-11-24)
4.3.8 (2023-11-01)
- parser: assignment as a value for property definition (5f8f006)
4.3.7 (2023-05-12)
- parser: nested class with constructor should not fail (c0856b9)
4.3.6 (2023-05-10)
4.3.5 (2023-03-13)
4.3.4 (2023-02-18)
- parser: "static" can be used as an identifier in ClassElement (663937a), closes #231
- parser: fix loc info for JSXSpreadChild (4a99416), closes #235
4.3.3 (2022-11-12)
4.3.2 (2022-10-01)
4.3.1 (2022-09-11)
- async is not reserved word, and some fix on reserved words (427233e), closes #221
- dot property should allow escaped keyword in strict mode (efaa535), closes #224
4.3.0 (2022-08-02)
- parser: Support for class static initialization block without next flag (a3b10f0)
- parser: support top level for-await in module context (69761bf), closes #214
- use null as regex value in environment missing flag "d" support (b174ae6)
- lexer: support new RegExp Indices flag "d" (#217) (b98e3bd), closes #214
- parser: Add support for class static initialization block (1510e36)
4.2.1 (2022-03-31)
- lexer: fix wrong error when using regex flag s together with m or y (d757c6b), closes #202
- parser: allow regular expression in JSXExpressionContainer (a5fcb80), closes #204
- parser: allow top level await in expressions (37c6361), closes #212
- parser: fix wrong starting loc for any non-trival expression in return statement (7063af5), closes #207
- parser: super call should be allowed in private method (6de707a), closes #203
4.2.0 (2021-07-11)
- parser: keep InGlobal flag in parenthesized (023ee0e)
- parser: rejects "await 2**2" (9a75bf6), closes #187
4.1.5 (2021-03-05)
4.1.4 (2021-02-28)
4.1.3 (2021-02-28)
4.1.2 (2021-02-10)
4.1.1 (2021-02-09)
4.1.0 (2021-02-07)
- jsx: decode html entities for JSXText value (f8121f0), closes #133
- parser: fix wrong loc for BinaryExpression (ab1ab37), closes #169
- parser: fix wrong loc for TemplateLiteral (a893c16), closes #167
4.0.0 (2021-01-14)
- estree: rename FieldDefinition -> PropertyDefinition, PrivateName -> PrivateIdentifier (2a588e5), closes #134
- parser: fixed 'async' as 'IsExpressionStart' (5b7a592)
- parser: fixed issue with 'yield expr' (5cd7c1d)
- update deps, add previous missing breaking change note (286863e)
- updated estree node names: FieldDefinition -> PropertyDefinition, PrivateName -> PrivateIdentifier
3.1.6 (2020-11-07)
3.1.5 (2020-11-05)
- fix wrong CommentType type definition (641b6ee)
3.1.4 (2020-11-05)
3.1.3 (2020-11-04)
3.1.2 (2020-10-30)
3.1.1 (2020-10-29)
- lexer: \8 \9 are acceptable in web compatibility mode (26a19a8), closes #137
- bigint is a number literal (2ad1a27), closes #136
- fix ending loc of empty comment (d62d0b8), closes #126
- fix infinite loop on broken class body (22eb9f8), closes #143
- fix range of ExportDeclaration/ClassDeclaration/ClassExpression after decorators (81b07fb), closes #124
- fix wrongly captured directive with two literal expression statements (9504b6a), closes #130
- jsx: fix JSXIdentifier literal value range and loc (076e454), closes #127
- jsx: fix missing raw for JSXAttribute.value (bbd8b8a), closes #128
- jsx: fix wrong range and loc on JSXEmptyExpression (11765ce), closes #125
- jsx: JSXText node should have raw (5ea7bda), closes #129
3.1.0 (2020-10-27)
- fix loc on hashbang comment (f139dce)
- fix range on HTMLClose comment on first line (c445b90)
- fix wrong loc in template expressions (aa0e992), closes #123
- properly support loc on HTMLClose comment (f72dd4f)
- lexer: improved lexer perf (bc5e647)
3.0.5 (2020-10-25)
3.0.4 (2020-10-25)
- follow latest decorator proposal (e27b9d6), closes #105
- ForInOfLoopInitializer only applies in strict mode (5f6f0d8), closes #116
- support decorator before and after "export" keyword (f3898ff)
3.0.3 (2020-10-16)
- add missing optional flag on CallExpression (903c7f5), closes #110
- auto insert semicolon for do-while statement (faa96bb), closes #102
- bigint property should exclude the ending 'n' (e7ed3df), closes #111
- export version directly from package.json (46a7d69), closes #107
- fix [] and () inside the ChainExpression (fa72f93)
- fix finally block start, follow other parsers on comment start and end (fe00a67), closes #104
- fix missing static for computed class property (bd00159), closes #106
- fix TemplateElement range and loc (2a3632c)
- fix wrong cooked value in TemplateElement, fix wrong loc and range in various template nodes (ff71744), closes #109 #108
3.0.2 (2020-10-06)
- parser: directive is only for statement consisting entirely of a string literal (8186dc1), closes #99
- parser: follow latest estree spec on ExportAllDeclaration (7a7fc76), closes #97
- fix wrong ChainExpression wrapper (a33771c), closes #98
3.0.1 (2020-10-06)
- parser: directive is only for statement consisting entirely of a string literal (8186dc1), closes #99
- parser: follow latest estree spec on ExportAllDeclaration (7a7fc76), closes #97
- fix wrong ChainExpression wrapper (a33771c), closes #98
3.0.0 (2020-09-21)
2.1.2 (2020-09-21)
- estree: fix the estree interface for BigIntLiteral, cleanup RegExpLiteral (100c9ad)
- lexer: store correct bigint token value (964e678), closes #93
- lexer: upgraded ts target from es2018 to es2020, dropped nodejs v6 and v8 support
2.1.1 (2020-07-24)
- lexer: fix missed new line char in jsx parser (f8be7de), closes #90
- parser: fix endless loop on broken jsx (9ee78ac), closes #91
- rename CoalesceExpression (2256168)
- lexer: fix regexp char class \u{hhhh} which requires the u flag (1fdffb6), closes #79
- parser: fixes #70 (2ded017)
- scan: token start should skip leading white spaces and comments (64eea11), closes #81
- all: added Unicode v.13 support (550f86f)
- parser: add .range: [start, end] to improve compatibility with ESTree tools (f60ae26)
- parser: support latest ESTree spec on optional chaining (055eb1c)
1.9.6 (2020-01-19)
- all: fixed issue with TS bundle 'const enum'. Values out of order and tokens got wrong values (4ed317c)
- all: Improved ESTree compat (4192641)
- all: used logical names to avoid confusions (6f25b7b)
- chore: improved line and coloumn tracking - #46 (dc2f3be)
- lexer: dedupe some code (bc86b42)
- lexer: fixed a optional chaining token bug introduced earlier (79e8fa3)
- lexer: fixed CRLF issues - #46 (43bc755)
- lexer: fixed incorrect error messages (1934295)
- lexer: fixed issue with PS and LS between tokens (3dd08b3)
- lexer: fixed issue with raw in numeric scanning (db21faf)
- lexer: fixed JSX issue break bundled build only and in the REPL (32f347f)
- lexer: fixed JSX issue in lexer. Caused only the bundled build to break on JSX parsing. (0bc45af)
- lexer: fixed loc tracking for jsx and optimized jsx scanning (708a1a6)
- lexer: fixed potensial issue with BOM (b380d62)
- lexer: fixed WS skipping issue (bf27362)
- lexer: fixed ZWJ issue in identifierPart validation (3708214)
- lexer: improved identifier scanning (bb65cd7)
- lexer: improved identifier scanning performance (29c1d3d)
- lexer: improved identifier scanning performance (15131d4)
- lexer: improved line counting (c29be84)
- lexer: improved punctuator scanning (ddef09f)
- lexer: improved scanner performance (c637ee5)
- lexer: improved single line comment scanning (9370535)
- lexer: improved template literal scanning (68175f6)
- lexer: improved template scanning (a2af86f)
- lexer: improved unicode escape scanning (61c471b)
- lexer: minor optimization tweaks (20a118c)
- lexer: optimized number scanning (0a09e9e)
- lexer: optimized WS skipping and comment scanning (9f85539)
- lexer: performance tweaks (01557c8)
- lexer: performance tweaks (109fdbb)
- lexer: simplified a few things in the lexer (8415be7)
- lexer: simplified SMP scanning (58f4a30)
- lexer: tweaked ident scanning (a205210)
- lexer: tweaked number scanning (e2d78cc)
- lexer: tweaked numeric separators implementation (4cfcb28)
- lexer: use direct lookup and avoid bitmasks for idStart & idContinue (901bfb0)
- parser: fixed useless context definition, since its value is never read (7eec823)
- parser: swapped names on bitmasks for destruct and assign (f3eb024)
- parser: added 'onComment' types (3ce01f3)
- parser: Adds error loc object to be Acorn compat. fixes #43 . (a474cd7)
- parser: adjusted loc and ranges for JSX AST nodes (7073fdd)
- parser: avoid 'push' in module parsing (performance) (e99a8a8)
- parser: avoid reinterpretation to pattern if not needed (671dc57)
- parser: avoid setting 'PropertyKind' if a field definition (9498c55)
- parser: changed name on options to be Acorn compat (43b0029)
- parser: Context based escape keyword validation (17d4649)
- parser: dedupe class field parsing (4c61090)
- parser: dedupe even more logic for perf reasons (6af320c)
- parser: dedupe some code (21e4449)
- parser: dedupe some code (ca79f80)
- parser: dedupe some code (c41a671)
- parser: dedupe some code (0a53f77)
- parser: dedupe some code (91e0233)
- parser: dedupe some code (42f1afa)
- parser: dedupe some code (16c95b1)
- parser: dedupe some code (82d9407)
- parser: dedupe some code (3c1409a)
- parser: dedupe some code (5265848)
- parser: dedupe some code (51fcd14)
- parser: dedupe some code (0858e3b)
- parser: dedupe some code and improved performance (b972e90)
- parser: dedupe some logic (de7d970)
- parser: dedupe some logic for perf reasons (fd7f2d8)
- parser: Dedupe some logic to reduce branching (a69476c)
- parser: export Options & ESTree TS types (9e8ff6c)
- parser: Fix a bunch of edge cases (96126e4)
- parser: Fix a bunch of edge cases (edfe03c)
- parser: fixed proto edge cases (91cdefd)
- parser: Fixed "ecma262 PR 1174" implementation (0bd2a60)
- parser: fixed #37 (6c28caf)
- parser: fixed a bunch of edge cases (14160c5)
- parser: fixed a bunch of edge cases (1a100ba)
- parser: fixed a bunch of edge cases (fe941bc)
- parser: fixed a bunch of edge cases (2fd9c4e)
- parser: Fixed a bunch of edge cases (d7e08fe)
- parser: Fixed a bunch of edge cases (9854a83)
- parser: fixed a couple of edge cases (f4de592)
- parser: fixed a few edge cases (0a425ba)
- parser: fixed a few edgy cases (43130ac)
- parser: fixed a few edgy cases for escape keywords (5165c2e)
- parser: fixed a few non-throwing edge cases (c9e08cd)
- parser: fixed a few non-throwing edge cases (8977bd8)
- parser: fixed a slip up (e9f5950)
- parser: fixed a slip-up (7aab914)
- parser: fixed an issue where async as ident wasn't assignable (48b67c3)
- parser: fixed AST output for optional chaining (18d6735)
- parser: fixed async arrow edge cases (65e6c20)
- parser: fixed async await edge cases (7ffdea3)
- parser: fixed bunch of class field edge cases (48077ab)
- parser: fixed bunch of class field edge cases (75c881a)
- parser: fixed bunch of edge cases (f18f5b4)
- parser: fixed class field edge cases (de0d0b5)
- parser: fixed computed property names - added missing "parseMemberOrUpdateExpression" (01add5d)
- parser: fixed confusing error message (a6e0e71)
- parser: fixed const enum values and extended API tests to guard against TS issues (c69ac52)
- parser: fixed directive prologue edge cases (9092515)
- parser: fixed duplicate call to 2parseMemberOrUpdateExpression" (501b76c)
- parser: fixed edge cases (b7cc2f8)
- parser: fixed edge cases (6397c0f)
- parser: fixed edge cases and corrected a few tests (c2c56da)
- parser: fixed edge cases and test coverage (e1da2d2)
- parser: fixed edgy cases (a4434ef)
- parser: fixed escape keyword edgy cases (6c48765)
- parser: fixed escape keywords (de9c43b)
- parser: fixed eval and arguments validations (1a927be)
- parser: Fixed for-statement edge case (544a7e7)
- parser: fixed for-statement ranges (68481ee)
- parser: fixed import call and added 'ImportExpression' AST node (f735377)
- parser: fixed import call implementation (cb09a9c)
- parser: Fixed incorrect capitalized option (917a0f1)
- parser: fixed incorrect error locations (6d894e5)
- parser: fixed issue with OctalEscapeSequence discovered by fuzzer (5d62f79)
- parser: fixed issue with a directive preceding an 'use strict' directive containing an OctalEscapeSequence (84bd498)
- parser: fixed issue with module code not in strict mode in a few cases (c6d24b6)
- parser: fixed issue with private field didn't pass the 'kind' state (bd6ec68)
- parser: Fixed issue with single line comment extraction. Exposed parser obj instead of comment end value (a9a8958)
- parser: fixed issue with template & sequence expr (627cf3b)
- parser: fixed JSX non failing cases (e5bc9de)
- parser: fixed lexical edge case (98c6ee7)
- parser: fixed lgtm warnings (558ba1f)
- parser: fixed lgtm warnings (e14cb97)
- parser: fixed lgtm warnings (0d20e52)
- parser: fixed LGTM warnings (7746e25)
- parser: fixed LGTM warnings (d58536e)
- parser: fixed LGTM warnings (c3efc64)
- parser: Fixed LGTM warnings (7d36ae3)
- parser: fixed negative bitmask values (972a6f0)
- parser: Fixed non-failing cases (2e3ff8d)
- parser: Fixed object lit edge cases (1c0c2e8)
- parser: fixed possible conflicts (b72ffe2)
- parser: fixed possible performance regression (80c75de)
- parser: fixed template expression edge cases (281ad30)
- parser: fixed Test262 test suite edge cases (c9545fe)
- parser: fixed unused func params (12ba7e6)
- parser: fixed wrong line count in single line comment (c35b6d0)
- parser: Fixes #25 (c2b96cb)
- parser: fixes #31 (7576780)
- parser: fixes #38 (9834975)
- parser: Fixes #5 (7805610)
- parser: fixes #58 (bbfc5c2)
- parser: fixes assignment edge cases (b2cf29f)
- parser: fixes do while edge cases (024e459)
- parser: fixes loc tracking for optional chaining (e875e14)
- parser: fixes yield edge cases (54d5669)
- parser: implemented optional chaining (cc334f3)
- parser: Improved a bunch of yield edge cases (e58ea2b)
- parser: improved comment extraction (1f1daf9)
- parser: improved error reporting for duplicate bindings (0483d25)
- parser: improved module code parsing (9ecef95)
- parser: improved nullish coalescing performance (83cbdd5)
- parser: improved optional chaing implementation (c8532d9)
- parser: improved optional chaining implementation (90c139c)
- parser: improved optional chaining implementation (2766dd9)
- parser: improved performance - create less lexical scopes (8485cbb)
- parser: improved performance for edgy cases (c8a3677)
- parser: improved performance for import default (e814e36)
- parser: JSX attributes must only be assigned a non-empty 'expression' (712d8e6)
- parser: make nested async arrow assignable (83c8db0)
- parser: minor refactoring & performance tweaks (39dc0e7)
- parser: minor tweaks (6a14bab)
- parser: minor tweaks (35ead44)
- parser: minor tweaks (7080dee)
- parser: moved enums to common.ts for improved readability (09683b4)
- parser: moved func flags to 'common.ts' (21e771d)
- parser: now unsets 'SimpleParameterList' masks correctly (f48b486)
- parser: optimization tweaks (9e983a8)
- parser: optimization tweaks (49b78e3)
- parser: optimized class field parsing (2c1bf99)
- parser: pass 'inClass' as function argument (5129b0a)
- parser: performance improvements (39f0a80)
- parser: performance improvements (5bd745a)
- parser: performance improvements (89c4006), closes #21
- parser: performance improvements (7f2c32f)
- parser: performance improvements (62c2d6f)
- parser: permanently fixed yield edge cases (6166b2b)
- parser: prevented a possible var name conflict (fc310db)
- parser: reduced branching and simplified for parenthesized arrow head & async arrow (25a5bff)
- parser: refactored and simplified location tracking (0899ad3)
- parser: Refactoring SyntaxError messages (66098ea)
- parser: removed reduntant empty binding validations (cf98ab5)
- parser: removed some unused code and simplified a few things (4ffe12d)
- parser: removed some useless code (597eaf2)
- parser: removed unnecessary func args (6c44bb7)
- parser: removed unused code (f423485)
- parser: removed unused code (db4231b)
- parser: removed unused code and improved test coverage (7b4b56f)
- parser: rename 'OptionalChain' AST node to 'OptionalExpression'. (a184f67)
- parser: renamed deFacto opt to "specDeviation" (d2e7e08)
- parser: simplified arrow parsing (db388db)
- parser: simplified assignment expr parsing (ce89217)
- parser: simplified async arrow parsing (fb046c7), closes #22
- parser: simplified DestructuringAssignmentTarget validation (6f04c41)
- parser: simplified DestructuringAssignmentTarget validation (1ce5eb0)
- parser: simplified some logic (7978118)
- parser: Skips one validation - Token.IsLogical will not "exist" unless "next" option enabled (6941da7)
- parser: small corrections to line offset (99406ac)
- parser: start with empty label set (90d2d78)
- parser: test import call both for module and script code (66fe1b0)
- parser: throws on
super()
used in class field (b659e5b) - parser: tweaked and optimized JSX lexer code (a701555)
- parser: tweaked await and yield parsing (2bfe889)
- parser: tweaked bit masks (2b623cd)
- parser: tweaked bit masks (1cb0718)
- parser: tweaked bit masks and improved performance (a1f41a5)
- parser: tweaked performance (4b7a9b5)
- parser: tweaked ranges implementation (e443537)
- parser: tweaked some code (6acf9ad)
- parser: tweaked the label tracking (77702c8)
- parser: update group.ts (cc915cc)
- parser: Use 'const' instead of 'let' (f1bc71f)
- parser: WIP: fixed and optimized await edge cases (7f006fc)
- parser: WIP! await & yield edge cases (13ce4e6)
- parser: WIP! fixes bunch of yield edge case (46b7cba)
- scanner: dedupe some scanner code and tweaked bit masks (1e9d1b1)
- all: added benchmark (8a525b3)
- all: Emit errors in standard format for compilers (7f83f6a)
- lexer: added lexer souce code (ade6e8f)
- lexer: implement numeric literal scanning (8ba7461)
- parser: enable line/column location information to each node (75c43c7)
- parser: 'export' '*' 'as' IdentifierName 'from' ModuleSpecifier ';' (01db03c)
- parser: added 'sourceFile' option (0c62a08)
- parser: added label tracking (930f825)
- parser: added new option to allow edge cases that deviate from the spec (30d8c23)
- parser: added option to enable non-standard parenthesized expression node (82d423d)
- parser: added parser code (866b546)
- parser: Distinguish Identifier from IdentifierPattern (68da76b)
- parser: Implemented Class Public Instance Fields (WIP) (c08d907)
- parser: implemented dynamic import (stage 3) (64a54a8)
- parser: implemented import.meta as well (e838c8e)
- parser: implemented support for v8 Intrinsic (5e41577)
- parser: implements nullish coalescing (stage 3) (f38480d)
- parser: implements ranges (73ede30)
- parser: support latest TC39 specs (82cb1f4)
- parser: WIP: Enable JSX parsing (9dd80d4)
- parser: WIP! Implements optional chaining (09425fc)