Skip to content

Releases: meriyah/meriyah

v6.0.1

16 Sep 23:26
@3cp 3cp
Compare
Choose a tag to compare

Bug Fixes

  • scanner: proper EOF error for unterminated template (cde6b2f)

v6.0.0

16 Sep 04:50
@3cp 3cp
Compare
Choose a tag to compare

Bug Fixes

  • lexer: identifier starts with unicode-escape needs ID_Start check (e1d5534)
  • lexer: in non-strict mode, future reserved keyword can be used as identifier (5764ad7)
  • lexer: no line break is allowed in regex literal (773208b)
  • lexer: private identifier can start with escaped unicode (85a39e7)
  • lexer: unicode escaped "let" can not be let keyword (406d72c)
  • parser: "arguments" is not allowed in class property initializer or static block (c9857c6)
  • parser: "use strict" directive could be after invalid string (527ea97), closes #149
  • parser: a newline may not precede the * token in a yield expression (e0eeb89)
  • parser: add missing import-attributes support in ExportNamedDeclaration (f7864a6), closes #289
  • parser: async function should not skip duplication error (94d41ae), closes #291
  • parser: catch block without catch-binding should have lexical scope (db7b3ae)
  • parser: class is implicit strict mode, but decorator before class is not (97f4927)
  • parser: class static block disallows "await" as identifier (4c7f2c3)
  • parser: class static block disllows "yield" as idenfifier (1cb0d65)
  • parser: class static block has no return statement (f2b73ee)
  • parser: dot property name can be escaped reserved or future reserved (eedce98)
  • parser: escaped reserved keyword can be used as class element name (b8e4b3c)
  • parser: fix an edge case of invalid escape in tagged template (118fdae)
  • parser: fix annexB behaviour (webcompat) of catch param (359dcbe)
  • parser: fix destruct pattern check (1e5e394)
  • parser: fix duplicated function params check (d0aeda6)
  • parser: fix duplicated proto check in async() and async() => {} (66ad497)
  • parser: fix early error on escaped oct and \8 \9 (33b68df)
  • parser: fix import.meta check, await check and await in static block (b269996)
  • parser: fix jsx parsing on '< / >' (ad71155), closes #185
  • parser: fix jsx with comments in tag (a2e4767), closes #185
  • parser: fix onToken callback for template and jsx (407a2ca), closes #215 #216
  • parser: fix scoped analysis for export binding and name (22509b7)
  • parser: fix simple params list and strict reserved check on func (635a41b), closes #295 #296
  • parser: fix unicode identifier value and check (36a5ef6)
  • parser: generator function should not skip duplication error (d3c953b)
  • parser: in strict mode, escaped future reserved can be used as identifier but not destructible (762f8c1)
  • parser: iteration/switch cannot across class static block boundry (c832eb6)
  • parser: new.target is allowed in class static block (2cec2a9)
  • parser: object literal ({a b}) is invalid (c069662), closes #73
  • parser: oct escape and \8 \9 are not allowed in template string if not tagged (e12d75d)
  • parser: only class static non-private property cannot be named 'prototype' (03ef7bc)
  • parser: partially fix duplicated proto check in parenthesis (e998b9c)
  • parser: private identifier should work in optional chaining (f22f7ad)
  • paser: fix strict mode check for arrow function (4ca184a)
  • paser: private identifier cannot be accessed on super (15d679d)
  • scanner: fix value for huge BigInt (a09b497)

chore

  • drop support of Nodejs < 18 (829835e)
  • reduce dist files to esm, cjs, and umd (962af5f)

Features

  • lexer: support regexp v flag (unicodeSets) (1d9a1ee)
  • parser: expose start/end/range/loc:{start,end} to ParseError (27691df), closes #156
  • parser: implement lexical analysis of private identifiers (66217a1), closes #322
  • parser: support arbitrary module namespace names (e43e93c), closes #200 #214
  • parser: support class auto-accessor through next option (b0d1621), closes #327
  • remove option "directives" (5d941e6)
  • support unicode 16 (0514c83)

BREAKING CHANGES

  • remove option "directives" as directives is in
    ECMA spec, and ESTree spec. No point to make it an optional feature.
  • parser: ParseError is changed from index,loc:{line,column}
    to start,end,range:[start,end],loc:{start:{line,column},end:{line,column}}
    just like what we have on AST node when options ranges and loc is
    turned on.
  • drop support of Nodejs < 18
  • only distribute following files:
    dist/meriyah.cjs
    dist/meriyah.mjs
    dist/meriyah.min.mjs
    dist/meriyah.umd.js
    dist/meriyah.umd.min.js
    All transpiled with target: "ES2021"

v5.0.0

25 Jul 09:30
@3cp 3cp
Compare
Choose a tag to compare

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.

v4.3.3

12 Nov 22:27
@3cp 3cp
Compare
Choose a tag to compare

Bug Fixes

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

v4.3.2

12 Nov 22:26
@3cp 3cp
Compare
Choose a tag to compare

What's Changed

  • fix(parser): ~ (0x7e) is a valid stop for Identifier or Keyword by @3cp in #227

Full Changelog: v4.3.1...v4.3.2

v4.3.1

12 Nov 22:26
@3cp 3cp
Compare
Choose a tag to compare

What's Changed

  • Fix escaped async keyword and escaped dot property by @3cp in #225

Full Changelog: v4.3.0...v4.3.1

v4.3.0

02 Aug 12:27
@3cp 3cp
Compare
Choose a tag to compare

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)

v4.2.1

02 Aug 12:26
@3cp 3cp
Compare
Choose a tag to compare

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

v4.2.0

02 Aug 12:26
@3cp 3cp
Compare
Choose a tag to compare

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

v4.1.2

20 Feb 01:09
@3cp 3cp
Compare
Choose a tag to compare
4.1.2