meriyah

A 100% compliant, self-hosted javascript parser - https://meriyah.github.io/meriyah

ISC License

Downloads
488.7K
Stars
1K
Committers
24
meriyah - v6.0.0

Published by 3cp about 1 month ago

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"
meriyah - v5.0.0

Published by 3cp 3 months ago

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.
meriyah - v4.3.3 Latest Release

Published by 3cp almost 2 years ago

Bug Fixes

  • parser: invalid generator setter should have correct error message (193b3ef), closes #228
meriyah - v4.3.2

Published by 3cp almost 2 years ago

What's Changed

Full Changelog: https://github.com/meriyah/meriyah/compare/v4.3.1...v4.3.2

meriyah - v4.3.1

Published by 3cp almost 2 years ago

What's Changed

Full Changelog: https://github.com/meriyah/meriyah/compare/v4.3.0...v4.3.1

meriyah -

Published by 3cp about 2 years ago

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

Published by 3cp about 2 years ago

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
meriyah - v4.2.0

Published by 3cp about 2 years ago

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
meriyah - v4.1.0

Published by 3cp over 3 years ago

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
meriyah - v4.1.1

Published by 3cp over 3 years ago

Bug Fixes

meriyah - v4.1.2

Published by 3cp over 3 years ago

meriyah -

Published by 3cp almost 4 years ago

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
meriyah -

Published by 3cp almost 4 years ago

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
meriyah -

Published by 3cp about 4 years ago

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
meriyah - v2.1.1

Published by KFlash about 4 years ago

  • Support for latest ECMAScript and ESTree changes
  • Fixed line ending and missing char in JSX parser
  • Minor bug fixes
meriyah -

Published by aladdin-add almost 5 years ago

  • chore: 1.9.5 8304cac
  • build: add es5(umd) output(fixes #63) (#65) 38c59c4
  • Merge pull request #61 from peeyush31/unique_key e2d169f
  • spread operator linter 5bab692
  • Create unique key and value for Object pattern b00c29a
  • Merge pull request #59 from meriyah/dependabot/npm_and_yarn/bench/angular-1.7.9 d235233
  • chore(deps-dev): bump angular from 1.7.8 to 1.7.9 in /bench 3201226
  • fix(parser): fixes #58 bbfc5c2
  • fix(parser): avoid 'push' in module parsing (performance) e99a8a8
  • test(parser): fixed module export tests 3619374
  • fix(parser): improved module code parsing 9ecef95
  • feat(parser): 'export' '*' 'as' IdentifierName 'from' ModuleSpecifier ';' 01db03c
  • Merge pull request #56 from GuyLewin/master 491271e
  • Convert vscode project to start mocha without params 15316e8
  • Allow fast testing of specific files 26c5f29
  • Merge pull request #54 from GuyLewin/master e52d894
  • Improve multiline comment perf 2c003d4
  • Merge pull request #53 from GuyLewin/master 78b1f62
  • Perf improvement + refactor from duplicate call cd18895
  • Convert HTML open comment to advanceChar calls b726a9c
  • chore(all): v. 1.8.6 d66e7cb
  • Fix html comments baf0e5d
  • Merge pull request #52 from GuyLewin/master 1276499
  • Fix onComment and onToken UTs to catch failures 5fe78b5
  • Fix duplicate switch cases 10753c1
  • Compare LF and CRLF location parsing test 076ede0
  • Fix \n\n mistaken for \r\n 2a637af
  • correct line count in test 046bc53
  • dont inc line num twice, call oncomment e072c62
  • Fix converTokenType doc 012adcb
  • Merge pull request #51 from GuyLewin/master 1f9db29
  • Fix allowes to allows typo 0b405e9
  • Fix failing lint 3166c02
  • create ontoken tests 1115550
  • fix onComment test desciption 27bf73c
  • ontoken ignores EOF and func accepts string 15187f6
  • Bump version to 1.8.3 in package-lock.json dea7041
  • Add mocha to ts compilation types for vscode 83252f4
  • Add onToken support based on Cherow dc489eb
  • fix(parser): fixed wrong line count in single line comment c35b6d0
  • Merge pull request #50 from meriyah/revert-49-dev@master/comments-breaking-location e7b5a16
  • Revert "Fix tracking of parser location regardless of line-ending format" b393515
  • Merge pull request #49 from lawrence-dol/dev@master/comments-breaking-location db836ae
  • Combine Token.LineFeed & Token.CarriageReturn into Token.LineBreak. 951cdc8
  • Clarify line-break sequence check with a function. d3395fc
  • Add type back in. 72bcc55
  • Use constant instead of value. 6ca555b
  • Use == instead of ===. a51e7ab
  • Remove commented code. 9607abd
  • Fix tracking of parser location regardless of line-ending format (CR, CRLF, LF, or LFCR). 8f53e19
  • fix(lexer): fixed CRLF issues - #46 43bc755
  • chore(all): updated dependencies e42b676
  • fix(chore): improved line and coloumn tracking - #46 dc2f3be
  • tests(parser): improved test coverage 3aa38a1
  • chore(all): updated dependencies 319b14c
  • fix(parser): fixed a couple of edge cases f4de592
  • Merge pull request #45 from mureinik/node-builds 3fa0eca
  • Support Node 6 d3adc0c
  • Run tests for Node 10 and 12 7ca231d
  • fix(parser): Adds error loc object to be Acorn compat. fixes #43 . a474cd7
  • fix(lexer): simplified SMP scanning 58f4a30
  • fix(lexer): performance tweaks 01557c8
  • fix(lexer): improved template scanning a2af86f
  • fix(parser): simplified assignment expr parsing ce89217
  • Merge pull request #41 from meriyah/dependabot/npm_and_yarn/eslint-utils-1.4.2 a48e9b2
  • chore(deps): bump eslint-utils from 1.3.1 to 1.4.2 a8484d8
  • docs(all): updated README.MD a1f2780
  • docs(all): updated README.MD 271eb1c
  • docs(all): updated README.MD 436397d
  • fix(parser): fixes #38 9834975
  • fix(lexer): improved unicode escape scanning 61c471b
  • fix(lexer): fixed incorrect error messages 1934295
  • fix(lexer): use direct lookup and avoid bitmasks for idStart & idContinue 901bfb0
  • fix(lexer): improved punctuator scanning ddef09f
  • fix(lexer): improved single line comment scanning 9370535
  • tests(lexer): added ctlf tests ecfc415
  • fix(lexer): improved line counting c29be84
  • fix(parser): fixed #37 6c28caf
  • fix(parser): minor tweaks 6a14bab
  • fix(parser): Use 'const' instead of 'let' f1bc71f
  • fix(parser): fixed escape keyword edgy cases 6c48765
  • fix(parser): fixed a few edge cases 0a425ba
  • fix(parser): fixed edgy cases a4434ef
  • fix(parser): fixed a few edgy cases 43130ac
  • fix(parser): improved optional chaining implementation 90c139c
  • chore(all): fixes #34 a1dc375
  • Merge branch 'master' of https://github.com/meriyah/meriyah 9d86fc7
  • chore(all): updated README.MD ba06123
  • test(parser): added a bunch of "edge case" tests 80e0e70
  • fix(parser): performance improvements 39f0a80
  • fix(parser): fixed a slip up e9f5950
  • fix(parser): simplified DestructuringAssignmentTarget validation 6f04c41
  • fix(parser): fixed a bunch of edge cases 14160c5
  • fix(parser): avoid reinterpretation to pattern if not needed 671dc57
  • chore(all): update dependencies 3c4b5f7
  • fix(parser): fixed LGTM warnings 7746e25
  • Merge pull request #32 from meriyah/escaped_keywords 5ab88db
  • fix(parser): fixed escape keywords de9c43b
  • fix(parser): fixed confusing error message a6e0e71
  • fix(parser): fixed a few edgy cases for escape keywords 5165c2e
  • fix(parser): Context based escape keyword validation 17d4649
  • fix(parser): fixes #31 7576780
  • fix(parser): simplified arrow parsing db388db
  • refactor(parser): minor refactoring b1c387f
  • fix(parser): tweaked await and yield parsing 2bfe889
  • fix(parser): fixed const enum values and extended API tests to guard against TS issues c69ac52
  • fix(all): fixed issue with TS bundle 'const enum'. Values out of order and tokens got wrong values 4ed317c
  • fix(parser): fixed negative bitmask values 972a6f0
  • fix(parser): rename 'OptionalChain' AST node to 'OptionalExpression'. a184f67
  • fix(parser): improved performance for edgy cases c8a3677

https://github.com/meriyah/meriyah/compare/v.1.6.0...v1.9.6

meriyah - v.1.6.0

Published by KFlash about 5 years ago

meriyah - v.1.5.2

Published by KFlash about 5 years ago

meriyah - v.1.5.0

Published by KFlash about 5 years ago

meriyah - v.1.4.7

Published by KFlash about 5 years ago

Package Rankings
Top 1.46% on Npmjs.org
Related Projects