4.1.5 (2021-03-05)
Bug Fixes
- parser: fix missing rejection on function name (3327326), closes #182
4.1.4 (2021-02-28)
4.1.3 (2021-02-28)
4.1.2 (2021-02-10)
4.1.1 (2021-02-09)
Bug Fixes
4.1.0 (2021-02-07)
Bug Fixes
- 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
Features
- add support of logical assignment ||=, &&=, and ??= (2a5f12e), closes #168
4.0.0 (2021-01-14)
Bug Fixes
- estree: rename FieldDefinition -> PropertyDefinition, PrivateName -> PrivateIdentifier (2a588e5), closes #134
- parser: fixed 'async' as 'IsExpressionStart' (5b7a592)
- parser: fixed issue with 'yield expr' (5cd7c1d)
chore
- update deps, add previous missing breaking change note (286863e)
BREAKING CHANGES
- updated estree node names: FieldDefinition -> PropertyDefinition, PrivateName -> PrivateIdentifier
3.1.6 (2020-11-07)
Bug Fixes
3.1.5 (2020-11-05)
Bug Fixes
- fix wrong CommentType type definition (641b6ee)
3.1.4 (2020-11-05)
Bug Fixes
- fix wrong typescript def file location (1ffac6e), closes #153
3.1.3 (2020-11-04)
Bug Fixes
- fix wrong ParenthesizedExpression location (db468c2), closes #152
3.1.2 (2020-10-30)
Bug Fixes
- lexer: fix line continuation with \r\n (1423e81), closes #146
3.1.1 (2020-10-29)
Bug Fixes
- 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)
Bug Fixes
- 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)
Features
- support loc flag for onComment and onToken (287b77c), closes #95
Performance Improvements
- lexer: improved lexer perf (bc5e647)
3.0.5 (2020-10-25)
Bug Fixes
- move optional-chaining out of next (7504c64), closes #117
3.0.4 (2020-10-25)
Bug Fixes
- 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)
Bug Fixes
- 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)
Bug Fixes
- 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)
Bug Fixes
- 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)
Bug Fixes
- estree: fix the estree interface for BigIntLiteral, cleanup RegExpLiteral (100c9ad)
- lexer: store correct bigint token value (964e678), closes #93
BREAKING CHANGES
- lexer: upgraded ts target from es2018 to es2020, dropped nodejs v6 and v8 support
2.1.1 (2020-07-24)
Bug Fixes
- 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
Features
- 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)
Bug Fixes
- 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)
Features
- 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)
Reverts