Skip to content

Latest commit

 

History

History
550 lines (419 loc) · 55.7 KB

CHANGELOG.md

File metadata and controls

550 lines (419 loc) · 55.7 KB

5.0.0 (2024-07-25)

Bug Fixes

  • parser: class property definition needs to be separated (#276) (fc252f4), closes #233

Features

  • 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)

BREAKING CHANGES

  • parser: hashbang now works without "next" option.

4.5.0 (2024-06-06)

4.4.4 (2024-06-06)

Bug Fixes

  • parser: reject "import from 'foo'" (bee9e31), closes #258

4.4.3 (2024-05-23)

4.4.2 (2024-04-03)

4.4.1 (2024-03-31)

Bug Fixes

  • 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)

Features

  • parser: add onInsertedSemicolon option (557a893)

4.3.9 (2023-11-24)

4.3.8 (2023-11-01)

Bug Fixes

  • parser: assignment as a value for property definition (5f8f006)

4.3.7 (2023-05-12)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • parser: invalid generator setter should have correct error message (193b3ef), closes #228

4.3.2 (2022-10-01)

Bug Fixes

  • parser: ~ (0x7e) is valid stop for Identifier or Keyword (d702ebd), closes #226

4.3.1 (2022-09-11)

Bug Fixes

  • 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)

Bug Fixes

  • 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)

Features

  • 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)

Bug Fixes

  • 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)

Bug Fixes

  • parser: keep InGlobal flag in parenthesized (023ee0e)
  • parser: rejects "await 2**2" (9a75bf6), closes #187

Features

  • parser: support top-level await (7b2a5bd), closes #186

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

  • bypass type def of package.json (d267336), closes #155

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