meriyah 6.1.2 → 6.1.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/CHANGELOG.md CHANGED
@@ -1,3 +1,16 @@
1
+ ## [6.1.3](https://github.com/meriyah/meriyah/compare/v6.1.2...v6.1.3) (2025-06-24)
2
+
3
+
4
+ ### Bug Fixes
5
+
6
+ * **parser:** fix line/column where string literal contains `U+2028` or `U+2029` followed by `\` ([#478](https://github.com/meriyah/meriyah/issues/478)) ([1f054a1](https://github.com/meriyah/meriyah/commit/1f054a1cbc18ca593edc73d1787880134e36aa11))
7
+ * **parser:** fix line/column where string literal contains U+2028 or U+2029 ([#477](https://github.com/meriyah/meriyah/issues/477)) ([6117d2f](https://github.com/meriyah/meriyah/commit/6117d2f424bf2f627ff2cf5fe6f65519f4dac072))
8
+ * **parser:** fix location of `SequenceExpression` as `ForStatement.init` ([#476](https://github.com/meriyah/meriyah/issues/476)) ([b79282b](https://github.com/meriyah/meriyah/commit/b79282b5e833440ef3433b612b856e4b1fec1bd5))
9
+ * **parser:** fix location of object method which is a generator ([#474](https://github.com/meriyah/meriyah/issues/474)) ([c11f9dd](https://github.com/meriyah/meriyah/commit/c11f9dd880571f97daea27d2f580e8d9e952d023))
10
+ * **parser:** fix range of static class property named `accessor`, `get`, `set`, and `async` ([#471](https://github.com/meriyah/meriyah/issues/471)) ([27f224c](https://github.com/meriyah/meriyah/commit/27f224c54748e82f4139a2d29f0278b32bc5b9e1))
11
+
12
+
13
+
1
14
  ## [6.1.2](https://github.com/meriyah/meriyah/compare/v6.1.1...v6.1.2) (2025-06-21)
2
15
 
3
16
 
package/dist/meriyah.cjs CHANGED
@@ -986,6 +986,10 @@ function scanString(parser, context, quote) {
986
986
  }
987
987
  marker = parser.index + 1;
988
988
  }
989
+ else if (char === 8232 || char === 8233) {
990
+ parser.column = -1;
991
+ parser.line++;
992
+ }
989
993
  if (parser.index >= parser.end)
990
994
  report(parser, 16);
991
995
  char = advanceChar(parser);
@@ -5083,7 +5087,7 @@ function parseExpressionOrLabelledStatement(parser, context, scope, privateScope
5083
5087
  }
5084
5088
  return parseExpressionStatement(parser, context, expr, tokenStart);
5085
5089
  }
5086
- function parseBlock(parser, context, scope, privateScope, labels, start, type = 'BlockStatement') {
5090
+ function parseBlock(parser, context, scope, privateScope, labels, start = parser.tokenStart, type = 'BlockStatement') {
5087
5091
  const body = [];
5088
5092
  consume(parser, context | 8192, 2162700);
5089
5093
  while (parser.getToken() !== 1074790415) {
@@ -5368,7 +5372,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
5368
5372
  const start = parser.tokenStart;
5369
5373
  nextToken(parser, context | 8192);
5370
5374
  const firstScope = scope ? addChildScope(scope, 32) : void 0;
5371
- const block = parseBlock(parser, context, firstScope, privateScope, { $: labels }, parser.tokenStart);
5375
+ const block = parseBlock(parser, context, firstScope, privateScope, { $: labels });
5372
5376
  const { tokenStart } = parser;
5373
5377
  const handler = consumeOpt(parser, context | 8192, 20557)
5374
5378
  ? parseCatchBlock(parser, context, scope, privateScope, labels, tokenStart)
@@ -5377,7 +5381,7 @@ function parseTryStatement(parser, context, scope, privateScope, labels) {
5377
5381
  if (parser.getToken() === 20566) {
5378
5382
  nextToken(parser, context | 8192);
5379
5383
  const finalizerScope = firstScope ? addChildScope(scope, 4) : void 0;
5380
- const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels }, parser.tokenStart);
5384
+ const block = parseBlock(parser, context, finalizerScope, privateScope, { $: labels });
5381
5385
  finalizer = block;
5382
5386
  }
5383
5387
  if (!handler && !finalizer) {
@@ -5409,7 +5413,7 @@ function parseCatchBlock(parser, context, scope, privateScope, labels, start) {
5409
5413
  }
5410
5414
  if (scope)
5411
5415
  additionalScope = addChildScope(scope, 64);
5412
- const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels }, parser.tokenStart);
5416
+ const body = parseBlock(parser, context, additionalScope, privateScope, { $: labels });
5413
5417
  return parser.finishNode({
5414
5418
  type: 'CatchClause',
5415
5419
  param,
@@ -5665,7 +5669,7 @@ function parseForStatement(parser, context, scope, privateScope, labels) {
5665
5669
  init = parseAssignmentExpression(parser, context | 33554432, privateScope, 0, 0, tokenStart, init);
5666
5670
  }
5667
5671
  if (parser.getToken() === 18)
5668
- init = parseSequenceExpression(parser, context, privateScope, 0, parser.tokenStart, init);
5672
+ init = parseSequenceExpression(parser, context, privateScope, 0, tokenStart, init);
5669
5673
  consume(parser, context | 8192, 1074790417);
5670
5674
  if (parser.getToken() !== 1074790417)
5671
5675
  test = parseExpressions(parser, context, privateScope, 0, 1, parser.tokenStart);
@@ -6419,7 +6423,7 @@ function parseMemberOrUpdateExpression(parser, context, privateScope, expr, inGr
6419
6423
  tag: expr,
6420
6424
  quasi: parser.getToken() === 67174408
6421
6425
  ? parseTemplate(parser, context | 16384, privateScope)
6422
- : parseTemplateLiteral(parser, context, parser.tokenStart),
6426
+ : parseTemplateLiteral(parser, context),
6423
6427
  }, start);
6424
6428
  }
6425
6429
  expr = parseMemberOrUpdateExpression(parser, context, privateScope, expr, 0, 1, start);
@@ -6588,7 +6592,7 @@ function parsePrimaryExpression(parser, context, privateScope, kind, inNew, canA
6588
6592
  case 86109:
6589
6593
  return parseSuperExpression(parser, context);
6590
6594
  case 67174409:
6591
- return parseTemplateLiteral(parser, context, start);
6595
+ return parseTemplateLiteral(parser, context);
6592
6596
  case 67174408:
6593
6597
  return parseTemplate(parser, context, privateScope);
6594
6598
  case 86107:
@@ -6758,7 +6762,7 @@ function parseBigIntLiteral(parser, context) {
6758
6762
  }
6759
6763
  return parser.finishNode(node, tokenStart);
6760
6764
  }
6761
- function parseTemplateLiteral(parser, context, start) {
6765
+ function parseTemplateLiteral(parser, context) {
6762
6766
  parser.assignable = 2;
6763
6767
  const { tokenValue, tokenRaw, tokenStart } = parser;
6764
6768
  consume(parser, context, 67174409);
@@ -6767,7 +6771,7 @@ function parseTemplateLiteral(parser, context, start) {
6767
6771
  type: 'TemplateLiteral',
6768
6772
  expressions: [],
6769
6773
  quasis,
6770
- }, start);
6774
+ }, tokenStart);
6771
6775
  }
6772
6776
  function parseTemplate(parser, context, privateScope) {
6773
6777
  context = (context | 33554432) ^ 33554432;
@@ -7856,7 +7860,7 @@ function parseObjectLiteralOrPattern(parser, context, scope, privateScope, skipI
7856
7860
  destructible |= 16;
7857
7861
  key = parseLiteral(parser, context);
7858
7862
  state |= 1;
7859
- value = parseMethodDefinition(parser, context, privateScope, state, inGroup, tokenStart);
7863
+ value = parseMethodDefinition(parser, context, privateScope, state, inGroup, parser.tokenStart);
7860
7864
  }
7861
7865
  else if (parser.getToken() === 69271571) {
7862
7866
  destructible |= 16;
@@ -8347,7 +8351,7 @@ function parseMemberExpressionNoCall(parser, context, privateScope, expr, inGrou
8347
8351
  tag: expr,
8348
8352
  quasi: parser.getToken() === 67174408
8349
8353
  ? parseTemplate(parser, context | 16384, privateScope)
8350
- : parseTemplateLiteral(parser, context | 16384, parser.tokenStart),
8354
+ : parseTemplateLiteral(parser, context | 16384),
8351
8355
  }, start), 0, start);
8352
8356
  }
8353
8357
  }
@@ -8646,12 +8650,13 @@ function parseDecorators(parser, context, privateScope) {
8646
8650
  const list = [];
8647
8651
  if (context & 1) {
8648
8652
  while (parser.getToken() === 132) {
8649
- list.push(parseDecoratorList(parser, context, privateScope, parser.tokenStart));
8653
+ list.push(parseDecoratorList(parser, context, privateScope));
8650
8654
  }
8651
8655
  }
8652
8656
  return list;
8653
8657
  }
8654
- function parseDecoratorList(parser, context, privateScope, start) {
8658
+ function parseDecoratorList(parser, context, privateScope) {
8659
+ const start = parser.tokenStart;
8655
8660
  nextToken(parser, context | 8192);
8656
8661
  let expression = parsePrimaryExpression(parser, context, privateScope, 2, 0, 1, 0, 1, start);
8657
8662
  expression = parseMemberOrUpdateExpression(parser, context, privateScope, expression, 0, 0, parser.tokenStart);
@@ -8699,7 +8704,6 @@ function parseClassBody(parser, context, inheritedContext, scope, parentScope, k
8699
8704
  function parseClassElementList(parser, context, scope, privateScope, inheritedContext, type, decorators, isStatic, inGroup, start) {
8700
8705
  let kind = isStatic ? 32 : 0;
8701
8706
  let key = null;
8702
- const { tokenStart } = parser;
8703
8707
  const token = parser.getToken();
8704
8708
  if (token & (143360 | 36864) || token === -2147483528) {
8705
8709
  key = parseIdentifier(parser, context);
@@ -8715,7 +8719,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8715
8719
  case 209005:
8716
8720
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8717
8721
  if ((parser.getToken() & 1073741824) === 1073741824) {
8718
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8722
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8719
8723
  }
8720
8724
  kind |= 16 | (optionalBit(parser, context, 8391476) ? 8 : 0);
8721
8725
  }
@@ -8723,7 +8727,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8723
8727
  case 209008:
8724
8728
  if (parser.getToken() !== 67174411) {
8725
8729
  if ((parser.getToken() & 1073741824) === 1073741824) {
8726
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8730
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8727
8731
  }
8728
8732
  kind |= 256;
8729
8733
  }
@@ -8731,7 +8735,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8731
8735
  case 209009:
8732
8736
  if (parser.getToken() !== 67174411) {
8733
8737
  if ((parser.getToken() & 1073741824) === 1073741824) {
8734
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8738
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8735
8739
  }
8736
8740
  kind |= 512;
8737
8741
  }
@@ -8739,7 +8743,7 @@ function parseClassElementList(parser, context, scope, privateScope, inheritedCo
8739
8743
  case 12402:
8740
8744
  if (parser.getToken() !== 67174411 && (parser.flags & 1) === 0) {
8741
8745
  if ((parser.getToken() & 1073741824) === 1073741824) {
8742
- return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, tokenStart);
8746
+ return parsePropertyDefinition(parser, context, privateScope, key, kind, decorators, start);
8743
8747
  }
8744
8748
  if (context & 1)
8745
8749
  kind |= 1024;
@@ -9247,7 +9251,7 @@ function parseJSXIdentifier(parser, context) {
9247
9251
  }, start);
9248
9252
  }
9249
9253
 
9250
- var version$1 = "6.1.2";
9254
+ var version$1 = "6.1.3";
9251
9255
 
9252
9256
  const version = version$1;
9253
9257
  function parseScript(source, options) {