@vue/compiler-core 3.5.0-alpha.5 → 3.5.0-beta.2

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.
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-core v3.5.0-alpha.5
2
+ * @vue/compiler-core v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -17,36 +17,70 @@ const FRAGMENT = Symbol(`Fragment` );
17
17
  const TELEPORT = Symbol(`Teleport` );
18
18
  const SUSPENSE = Symbol(`Suspense` );
19
19
  const KEEP_ALIVE = Symbol(`KeepAlive` );
20
- const BASE_TRANSITION = Symbol(`BaseTransition` );
20
+ const BASE_TRANSITION = Symbol(
21
+ `BaseTransition`
22
+ );
21
23
  const OPEN_BLOCK = Symbol(`openBlock` );
22
24
  const CREATE_BLOCK = Symbol(`createBlock` );
23
- const CREATE_ELEMENT_BLOCK = Symbol(`createElementBlock` );
25
+ const CREATE_ELEMENT_BLOCK = Symbol(
26
+ `createElementBlock`
27
+ );
24
28
  const CREATE_VNODE = Symbol(`createVNode` );
25
- const CREATE_ELEMENT_VNODE = Symbol(`createElementVNode` );
26
- const CREATE_COMMENT = Symbol(`createCommentVNode` );
27
- const CREATE_TEXT = Symbol(`createTextVNode` );
28
- const CREATE_STATIC = Symbol(`createStaticVNode` );
29
- const RESOLVE_COMPONENT = Symbol(`resolveComponent` );
29
+ const CREATE_ELEMENT_VNODE = Symbol(
30
+ `createElementVNode`
31
+ );
32
+ const CREATE_COMMENT = Symbol(
33
+ `createCommentVNode`
34
+ );
35
+ const CREATE_TEXT = Symbol(
36
+ `createTextVNode`
37
+ );
38
+ const CREATE_STATIC = Symbol(
39
+ `createStaticVNode`
40
+ );
41
+ const RESOLVE_COMPONENT = Symbol(
42
+ `resolveComponent`
43
+ );
30
44
  const RESOLVE_DYNAMIC_COMPONENT = Symbol(
31
45
  `resolveDynamicComponent`
32
46
  );
33
- const RESOLVE_DIRECTIVE = Symbol(`resolveDirective` );
34
- const RESOLVE_FILTER = Symbol(`resolveFilter` );
35
- const WITH_DIRECTIVES = Symbol(`withDirectives` );
47
+ const RESOLVE_DIRECTIVE = Symbol(
48
+ `resolveDirective`
49
+ );
50
+ const RESOLVE_FILTER = Symbol(
51
+ `resolveFilter`
52
+ );
53
+ const WITH_DIRECTIVES = Symbol(
54
+ `withDirectives`
55
+ );
36
56
  const RENDER_LIST = Symbol(`renderList` );
37
57
  const RENDER_SLOT = Symbol(`renderSlot` );
38
58
  const CREATE_SLOTS = Symbol(`createSlots` );
39
- const TO_DISPLAY_STRING = Symbol(`toDisplayString` );
59
+ const TO_DISPLAY_STRING = Symbol(
60
+ `toDisplayString`
61
+ );
40
62
  const MERGE_PROPS = Symbol(`mergeProps` );
41
- const NORMALIZE_CLASS = Symbol(`normalizeClass` );
42
- const NORMALIZE_STYLE = Symbol(`normalizeStyle` );
43
- const NORMALIZE_PROPS = Symbol(`normalizeProps` );
44
- const GUARD_REACTIVE_PROPS = Symbol(`guardReactiveProps` );
63
+ const NORMALIZE_CLASS = Symbol(
64
+ `normalizeClass`
65
+ );
66
+ const NORMALIZE_STYLE = Symbol(
67
+ `normalizeStyle`
68
+ );
69
+ const NORMALIZE_PROPS = Symbol(
70
+ `normalizeProps`
71
+ );
72
+ const GUARD_REACTIVE_PROPS = Symbol(
73
+ `guardReactiveProps`
74
+ );
45
75
  const TO_HANDLERS = Symbol(`toHandlers` );
46
76
  const CAMELIZE = Symbol(`camelize` );
47
77
  const CAPITALIZE = Symbol(`capitalize` );
48
- const TO_HANDLER_KEY = Symbol(`toHandlerKey` );
49
- const SET_BLOCK_TRACKING = Symbol(`setBlockTracking` );
78
+ const TO_HANDLER_KEY = Symbol(
79
+ `toHandlerKey`
80
+ );
81
+ const SET_BLOCK_TRACKING = Symbol(
82
+ `setBlockTracking`
83
+ );
50
84
  const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
51
85
  const POP_SCOPE_ID = Symbol(`popScopeId` );
52
86
  const WITH_CTX = Symbol(`withCtx` );
@@ -1539,6 +1573,16 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
1539
1573
  (id) => markScopeIdentifier(node, id, knownIds)
1540
1574
  );
1541
1575
  }
1576
+ } else if (node.type === "CatchClause" && node.param) {
1577
+ for (const id of extractIdentifiers(node.param)) {
1578
+ markScopeIdentifier(node, id, knownIds);
1579
+ }
1580
+ } else if (isForStatement(node)) {
1581
+ walkForStatement(
1582
+ node,
1583
+ false,
1584
+ (id) => markScopeIdentifier(node, id, knownIds)
1585
+ );
1542
1586
  }
1543
1587
  },
1544
1588
  leave(node, parent) {
@@ -1619,14 +1663,20 @@ function walkBlockDeclarations(block, onIdent) {
1619
1663
  } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
1620
1664
  if (stmt.declare || !stmt.id) continue;
1621
1665
  onIdent(stmt.id);
1622
- } else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") {
1623
- const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1624
- if (variable && variable.type === "VariableDeclaration") {
1625
- for (const decl of variable.declarations) {
1626
- for (const id of extractIdentifiers(decl.id)) {
1627
- onIdent(id);
1628
- }
1629
- }
1666
+ } else if (isForStatement(stmt)) {
1667
+ walkForStatement(stmt, true, onIdent);
1668
+ }
1669
+ }
1670
+ }
1671
+ function isForStatement(stmt) {
1672
+ return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement";
1673
+ }
1674
+ function walkForStatement(stmt, isVar, onIdent) {
1675
+ const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1676
+ if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) {
1677
+ for (const decl of variable.declarations) {
1678
+ for (const id of extractIdentifiers(decl.id)) {
1679
+ onIdent(id);
1630
1680
  }
1631
1681
  }
1632
1682
  }
@@ -1812,8 +1862,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
1812
1862
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
1813
1863
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
1814
1864
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
1815
- const isMemberExpressionBrowser = (path) => {
1816
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
1865
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
1866
+ const isMemberExpressionBrowser = (exp) => {
1867
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
1817
1868
  let state = 0 /* inMemberExp */;
1818
1869
  let stateStack = [];
1819
1870
  let currentOpenBracketCount = 0;
@@ -1874,10 +1925,10 @@ const isMemberExpressionBrowser = (path) => {
1874
1925
  }
1875
1926
  return !currentOpenBracketCount && !currentOpenParensCount;
1876
1927
  };
1877
- const isMemberExpressionNode = (path, context) => {
1928
+ const isMemberExpressionNode = (exp, context) => {
1878
1929
  try {
1879
- let ret = parser.parseExpression(path, {
1880
- plugins: context.expressionPlugins
1930
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
1931
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
1881
1932
  });
1882
1933
  ret = unwrapTSNode(ret);
1883
1934
  return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined";
@@ -1886,6 +1937,26 @@ const isMemberExpressionNode = (path, context) => {
1886
1937
  }
1887
1938
  };
1888
1939
  const isMemberExpression = isMemberExpressionNode;
1940
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
1941
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
1942
+ const isFnExpressionNode = (exp, context) => {
1943
+ try {
1944
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
1945
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
1946
+ });
1947
+ if (ret.type === "Program") {
1948
+ ret = ret.body[0];
1949
+ if (ret.type === "ExpressionStatement") {
1950
+ ret = ret.expression;
1951
+ }
1952
+ }
1953
+ ret = unwrapTSNode(ret);
1954
+ return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression";
1955
+ } catch (e) {
1956
+ return false;
1957
+ }
1958
+ };
1959
+ const isFnExpression = isFnExpressionNode;
1889
1960
  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
1890
1961
  return advancePositionWithMutation(
1891
1962
  {
@@ -5407,7 +5478,7 @@ function resolveComponentType(node, context, ssr = false) {
5407
5478
  } else {
5408
5479
  exp = isProp.exp;
5409
5480
  if (!exp) {
5410
- exp = createSimpleExpression(`is`, false, isProp.loc);
5481
+ exp = createSimpleExpression(`is`, false, isProp.arg.loc);
5411
5482
  {
5412
5483
  exp = isProp.exp = processExpression(exp, context);
5413
5484
  }
@@ -5987,7 +6058,6 @@ function processSlotOutlet(node, context) {
5987
6058
  };
5988
6059
  }
5989
6060
 
5990
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
5991
6061
  const transformOn = (dir, node, context, augmentor) => {
5992
6062
  const { loc, modifiers, arg } = dir;
5993
6063
  if (!dir.exp && !modifiers.length) {
@@ -6031,8 +6101,8 @@ const transformOn = (dir, node, context, augmentor) => {
6031
6101
  }
6032
6102
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
6033
6103
  if (exp) {
6034
- const isMemberExp = isMemberExpression(exp.content, context);
6035
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
6104
+ const isMemberExp = isMemberExpression(exp, context);
6105
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp, context));
6036
6106
  const hasMultipleStatements = exp.content.includes(`;`);
6037
6107
  if (context.prefixIdentifiers) {
6038
6108
  isInlineStatement && context.addIdentifiers(`$event`);
@@ -6202,7 +6272,7 @@ const transformModel = (dir, node, context) => {
6202
6272
  return createTransformProps();
6203
6273
  }
6204
6274
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6205
- if (!expString.trim() || !isMemberExpression(expString, context) && !maybeRef) {
6275
+ if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6206
6276
  context.onError(
6207
6277
  createCompilerError(42, exp.loc)
6208
6278
  );
@@ -6613,6 +6683,9 @@ exports.hasScopeRef = hasScopeRef;
6613
6683
  exports.helperNameMap = helperNameMap;
6614
6684
  exports.injectProp = injectProp;
6615
6685
  exports.isCoreComponent = isCoreComponent;
6686
+ exports.isFnExpression = isFnExpression;
6687
+ exports.isFnExpressionBrowser = isFnExpressionBrowser;
6688
+ exports.isFnExpressionNode = isFnExpressionNode;
6616
6689
  exports.isFunctionType = isFunctionType;
6617
6690
  exports.isInDestructureAssignment = isInDestructureAssignment;
6618
6691
  exports.isInNewExpression = isInNewExpression;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-core v3.5.0-alpha.5
2
+ * @vue/compiler-core v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -17,36 +17,70 @@ const FRAGMENT = Symbol(``);
17
17
  const TELEPORT = Symbol(``);
18
18
  const SUSPENSE = Symbol(``);
19
19
  const KEEP_ALIVE = Symbol(``);
20
- const BASE_TRANSITION = Symbol(``);
20
+ const BASE_TRANSITION = Symbol(
21
+ ``
22
+ );
21
23
  const OPEN_BLOCK = Symbol(``);
22
24
  const CREATE_BLOCK = Symbol(``);
23
- const CREATE_ELEMENT_BLOCK = Symbol(``);
25
+ const CREATE_ELEMENT_BLOCK = Symbol(
26
+ ``
27
+ );
24
28
  const CREATE_VNODE = Symbol(``);
25
- const CREATE_ELEMENT_VNODE = Symbol(``);
26
- const CREATE_COMMENT = Symbol(``);
27
- const CREATE_TEXT = Symbol(``);
28
- const CREATE_STATIC = Symbol(``);
29
- const RESOLVE_COMPONENT = Symbol(``);
29
+ const CREATE_ELEMENT_VNODE = Symbol(
30
+ ``
31
+ );
32
+ const CREATE_COMMENT = Symbol(
33
+ ``
34
+ );
35
+ const CREATE_TEXT = Symbol(
36
+ ``
37
+ );
38
+ const CREATE_STATIC = Symbol(
39
+ ``
40
+ );
41
+ const RESOLVE_COMPONENT = Symbol(
42
+ ``
43
+ );
30
44
  const RESOLVE_DYNAMIC_COMPONENT = Symbol(
31
45
  ``
32
46
  );
33
- const RESOLVE_DIRECTIVE = Symbol(``);
34
- const RESOLVE_FILTER = Symbol(``);
35
- const WITH_DIRECTIVES = Symbol(``);
47
+ const RESOLVE_DIRECTIVE = Symbol(
48
+ ``
49
+ );
50
+ const RESOLVE_FILTER = Symbol(
51
+ ``
52
+ );
53
+ const WITH_DIRECTIVES = Symbol(
54
+ ``
55
+ );
36
56
  const RENDER_LIST = Symbol(``);
37
57
  const RENDER_SLOT = Symbol(``);
38
58
  const CREATE_SLOTS = Symbol(``);
39
- const TO_DISPLAY_STRING = Symbol(``);
59
+ const TO_DISPLAY_STRING = Symbol(
60
+ ``
61
+ );
40
62
  const MERGE_PROPS = Symbol(``);
41
- const NORMALIZE_CLASS = Symbol(``);
42
- const NORMALIZE_STYLE = Symbol(``);
43
- const NORMALIZE_PROPS = Symbol(``);
44
- const GUARD_REACTIVE_PROPS = Symbol(``);
63
+ const NORMALIZE_CLASS = Symbol(
64
+ ``
65
+ );
66
+ const NORMALIZE_STYLE = Symbol(
67
+ ``
68
+ );
69
+ const NORMALIZE_PROPS = Symbol(
70
+ ``
71
+ );
72
+ const GUARD_REACTIVE_PROPS = Symbol(
73
+ ``
74
+ );
45
75
  const TO_HANDLERS = Symbol(``);
46
76
  const CAMELIZE = Symbol(``);
47
77
  const CAPITALIZE = Symbol(``);
48
- const TO_HANDLER_KEY = Symbol(``);
49
- const SET_BLOCK_TRACKING = Symbol(``);
78
+ const TO_HANDLER_KEY = Symbol(
79
+ ``
80
+ );
81
+ const SET_BLOCK_TRACKING = Symbol(
82
+ ``
83
+ );
50
84
  const PUSH_SCOPE_ID = Symbol(``);
51
85
  const POP_SCOPE_ID = Symbol(``);
52
86
  const WITH_CTX = Symbol(``);
@@ -1535,6 +1569,16 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
1535
1569
  (id) => markScopeIdentifier(node, id, knownIds)
1536
1570
  );
1537
1571
  }
1572
+ } else if (node.type === "CatchClause" && node.param) {
1573
+ for (const id of extractIdentifiers(node.param)) {
1574
+ markScopeIdentifier(node, id, knownIds);
1575
+ }
1576
+ } else if (isForStatement(node)) {
1577
+ walkForStatement(
1578
+ node,
1579
+ false,
1580
+ (id) => markScopeIdentifier(node, id, knownIds)
1581
+ );
1538
1582
  }
1539
1583
  },
1540
1584
  leave(node, parent) {
@@ -1615,14 +1659,20 @@ function walkBlockDeclarations(block, onIdent) {
1615
1659
  } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
1616
1660
  if (stmt.declare || !stmt.id) continue;
1617
1661
  onIdent(stmt.id);
1618
- } else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") {
1619
- const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1620
- if (variable && variable.type === "VariableDeclaration") {
1621
- for (const decl of variable.declarations) {
1622
- for (const id of extractIdentifiers(decl.id)) {
1623
- onIdent(id);
1624
- }
1625
- }
1662
+ } else if (isForStatement(stmt)) {
1663
+ walkForStatement(stmt, true, onIdent);
1664
+ }
1665
+ }
1666
+ }
1667
+ function isForStatement(stmt) {
1668
+ return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement";
1669
+ }
1670
+ function walkForStatement(stmt, isVar, onIdent) {
1671
+ const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1672
+ if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) {
1673
+ for (const decl of variable.declarations) {
1674
+ for (const id of extractIdentifiers(decl.id)) {
1675
+ onIdent(id);
1626
1676
  }
1627
1677
  }
1628
1678
  }
@@ -1808,8 +1858,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
1808
1858
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
1809
1859
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
1810
1860
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
1811
- const isMemberExpressionBrowser = (path) => {
1812
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
1861
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
1862
+ const isMemberExpressionBrowser = (exp) => {
1863
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
1813
1864
  let state = 0 /* inMemberExp */;
1814
1865
  let stateStack = [];
1815
1866
  let currentOpenBracketCount = 0;
@@ -1870,10 +1921,10 @@ const isMemberExpressionBrowser = (path) => {
1870
1921
  }
1871
1922
  return !currentOpenBracketCount && !currentOpenParensCount;
1872
1923
  };
1873
- const isMemberExpressionNode = (path, context) => {
1924
+ const isMemberExpressionNode = (exp, context) => {
1874
1925
  try {
1875
- let ret = parser.parseExpression(path, {
1876
- plugins: context.expressionPlugins
1926
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
1927
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
1877
1928
  });
1878
1929
  ret = unwrapTSNode(ret);
1879
1930
  return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined";
@@ -1882,6 +1933,26 @@ const isMemberExpressionNode = (path, context) => {
1882
1933
  }
1883
1934
  };
1884
1935
  const isMemberExpression = isMemberExpressionNode;
1936
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
1937
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
1938
+ const isFnExpressionNode = (exp, context) => {
1939
+ try {
1940
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
1941
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
1942
+ });
1943
+ if (ret.type === "Program") {
1944
+ ret = ret.body[0];
1945
+ if (ret.type === "ExpressionStatement") {
1946
+ ret = ret.expression;
1947
+ }
1948
+ }
1949
+ ret = unwrapTSNode(ret);
1950
+ return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression";
1951
+ } catch (e) {
1952
+ return false;
1953
+ }
1954
+ };
1955
+ const isFnExpression = isFnExpressionNode;
1885
1956
  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
1886
1957
  return advancePositionWithMutation(
1887
1958
  {
@@ -5312,7 +5383,7 @@ function resolveComponentType(node, context, ssr = false) {
5312
5383
  } else {
5313
5384
  exp = isProp.exp;
5314
5385
  if (!exp) {
5315
- exp = createSimpleExpression(`is`, false, isProp.loc);
5386
+ exp = createSimpleExpression(`is`, false, isProp.arg.loc);
5316
5387
  {
5317
5388
  exp = isProp.exp = processExpression(exp, context);
5318
5389
  }
@@ -5871,7 +5942,6 @@ function processSlotOutlet(node, context) {
5871
5942
  };
5872
5943
  }
5873
5944
 
5874
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
5875
5945
  const transformOn = (dir, node, context, augmentor) => {
5876
5946
  const { loc, modifiers, arg } = dir;
5877
5947
  if (!dir.exp && !modifiers.length) {
@@ -5912,8 +5982,8 @@ const transformOn = (dir, node, context, augmentor) => {
5912
5982
  }
5913
5983
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
5914
5984
  if (exp) {
5915
- const isMemberExp = isMemberExpression(exp.content, context);
5916
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
5985
+ const isMemberExp = isMemberExpression(exp, context);
5986
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp, context));
5917
5987
  const hasMultipleStatements = exp.content.includes(`;`);
5918
5988
  if (context.prefixIdentifiers) {
5919
5989
  isInlineStatement && context.addIdentifiers(`$event`);
@@ -6083,7 +6153,7 @@ const transformModel = (dir, node, context) => {
6083
6153
  return createTransformProps();
6084
6154
  }
6085
6155
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6086
- if (!expString.trim() || !isMemberExpression(expString, context) && !maybeRef) {
6156
+ if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6087
6157
  context.onError(
6088
6158
  createCompilerError(42, exp.loc)
6089
6159
  );
@@ -6489,6 +6559,9 @@ exports.hasScopeRef = hasScopeRef;
6489
6559
  exports.helperNameMap = helperNameMap;
6490
6560
  exports.injectProp = injectProp;
6491
6561
  exports.isCoreComponent = isCoreComponent;
6562
+ exports.isFnExpression = isFnExpression;
6563
+ exports.isFnExpressionBrowser = isFnExpressionBrowser;
6564
+ exports.isFnExpressionNode = isFnExpressionNode;
6492
6565
  exports.isFunctionType = isFunctionType;
6493
6566
  exports.isInDestructureAssignment = isInDestructureAssignment;
6494
6567
  exports.isInNewExpression = isInNewExpression;
@@ -132,7 +132,7 @@ export declare function createStructuralDirectiveTransform(name: string | RegExp
132
132
  export declare const transformElement: NodeTransform;
133
133
  export declare function resolveComponentType(node: ComponentNode, context: TransformContext, ssr?: boolean): string | symbol | CallExpression;
134
134
  export type PropsExpression = ObjectExpression | CallExpression | ExpressionNode;
135
- export declare function buildProps(node: ElementNode, context: TransformContext, props: (DirectiveNode | AttributeNode)[] | undefined, isComponent: boolean, isDynamicComponent: boolean, ssr?: boolean): {
135
+ export declare function buildProps(node: ElementNode, context: TransformContext, props: ElementNode['props'] | undefined, isComponent: boolean, isDynamicComponent: boolean, ssr?: boolean): {
136
136
  props: PropsExpression | undefined;
137
137
  directives: DirectiveNode[];
138
138
  patchFlag: number;
@@ -1011,9 +1011,12 @@ export declare const isSimpleIdentifier: (name: string) => boolean;
1011
1011
  * inside square brackets), but it's ok since these are only used on template
1012
1012
  * expressions and false positives are invalid expressions in the first place.
1013
1013
  */
1014
- export declare const isMemberExpressionBrowser: (path: string) => boolean;
1015
- export declare const isMemberExpressionNode: (path: string, context: TransformContext) => boolean;
1016
- export declare const isMemberExpression: (path: string, context: TransformContext) => boolean;
1014
+ export declare const isMemberExpressionBrowser: (exp: ExpressionNode) => boolean;
1015
+ export declare const isMemberExpressionNode: (exp: ExpressionNode, context: TransformContext) => boolean;
1016
+ export declare const isMemberExpression: (exp: ExpressionNode, context: TransformContext) => boolean;
1017
+ export declare const isFnExpressionBrowser: (exp: ExpressionNode) => boolean;
1018
+ export declare const isFnExpressionNode: (exp: ExpressionNode, context: TransformContext) => boolean;
1019
+ export declare const isFnExpression: (exp: ExpressionNode, context: TransformContext) => boolean;
1017
1020
  export declare function advancePositionWithClone(pos: Position, source: string, numberOfCharacters?: number): Position;
1018
1021
  export declare function advancePositionWithMutation(pos: Position, source: string, numberOfCharacters?: number): Position;
1019
1022
  export declare function assert(condition: boolean, msg?: string): void;
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-core v3.5.0-alpha.5
2
+ * @vue/compiler-core v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -10,36 +10,70 @@ const FRAGMENT = Symbol(!!(process.env.NODE_ENV !== "production") ? `Fragment` :
10
10
  const TELEPORT = Symbol(!!(process.env.NODE_ENV !== "production") ? `Teleport` : ``);
11
11
  const SUSPENSE = Symbol(!!(process.env.NODE_ENV !== "production") ? `Suspense` : ``);
12
12
  const KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== "production") ? `KeepAlive` : ``);
13
- const BASE_TRANSITION = Symbol(!!(process.env.NODE_ENV !== "production") ? `BaseTransition` : ``);
13
+ const BASE_TRANSITION = Symbol(
14
+ !!(process.env.NODE_ENV !== "production") ? `BaseTransition` : ``
15
+ );
14
16
  const OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== "production") ? `openBlock` : ``);
15
17
  const CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== "production") ? `createBlock` : ``);
16
- const CREATE_ELEMENT_BLOCK = Symbol(!!(process.env.NODE_ENV !== "production") ? `createElementBlock` : ``);
18
+ const CREATE_ELEMENT_BLOCK = Symbol(
19
+ !!(process.env.NODE_ENV !== "production") ? `createElementBlock` : ``
20
+ );
17
21
  const CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== "production") ? `createVNode` : ``);
18
- const CREATE_ELEMENT_VNODE = Symbol(!!(process.env.NODE_ENV !== "production") ? `createElementVNode` : ``);
19
- const CREATE_COMMENT = Symbol(!!(process.env.NODE_ENV !== "production") ? `createCommentVNode` : ``);
20
- const CREATE_TEXT = Symbol(!!(process.env.NODE_ENV !== "production") ? `createTextVNode` : ``);
21
- const CREATE_STATIC = Symbol(!!(process.env.NODE_ENV !== "production") ? `createStaticVNode` : ``);
22
- const RESOLVE_COMPONENT = Symbol(!!(process.env.NODE_ENV !== "production") ? `resolveComponent` : ``);
22
+ const CREATE_ELEMENT_VNODE = Symbol(
23
+ !!(process.env.NODE_ENV !== "production") ? `createElementVNode` : ``
24
+ );
25
+ const CREATE_COMMENT = Symbol(
26
+ !!(process.env.NODE_ENV !== "production") ? `createCommentVNode` : ``
27
+ );
28
+ const CREATE_TEXT = Symbol(
29
+ !!(process.env.NODE_ENV !== "production") ? `createTextVNode` : ``
30
+ );
31
+ const CREATE_STATIC = Symbol(
32
+ !!(process.env.NODE_ENV !== "production") ? `createStaticVNode` : ``
33
+ );
34
+ const RESOLVE_COMPONENT = Symbol(
35
+ !!(process.env.NODE_ENV !== "production") ? `resolveComponent` : ``
36
+ );
23
37
  const RESOLVE_DYNAMIC_COMPONENT = Symbol(
24
38
  !!(process.env.NODE_ENV !== "production") ? `resolveDynamicComponent` : ``
25
39
  );
26
- const RESOLVE_DIRECTIVE = Symbol(!!(process.env.NODE_ENV !== "production") ? `resolveDirective` : ``);
27
- const RESOLVE_FILTER = Symbol(!!(process.env.NODE_ENV !== "production") ? `resolveFilter` : ``);
28
- const WITH_DIRECTIVES = Symbol(!!(process.env.NODE_ENV !== "production") ? `withDirectives` : ``);
40
+ const RESOLVE_DIRECTIVE = Symbol(
41
+ !!(process.env.NODE_ENV !== "production") ? `resolveDirective` : ``
42
+ );
43
+ const RESOLVE_FILTER = Symbol(
44
+ !!(process.env.NODE_ENV !== "production") ? `resolveFilter` : ``
45
+ );
46
+ const WITH_DIRECTIVES = Symbol(
47
+ !!(process.env.NODE_ENV !== "production") ? `withDirectives` : ``
48
+ );
29
49
  const RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== "production") ? `renderList` : ``);
30
50
  const RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== "production") ? `renderSlot` : ``);
31
51
  const CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== "production") ? `createSlots` : ``);
32
- const TO_DISPLAY_STRING = Symbol(!!(process.env.NODE_ENV !== "production") ? `toDisplayString` : ``);
52
+ const TO_DISPLAY_STRING = Symbol(
53
+ !!(process.env.NODE_ENV !== "production") ? `toDisplayString` : ``
54
+ );
33
55
  const MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== "production") ? `mergeProps` : ``);
34
- const NORMALIZE_CLASS = Symbol(!!(process.env.NODE_ENV !== "production") ? `normalizeClass` : ``);
35
- const NORMALIZE_STYLE = Symbol(!!(process.env.NODE_ENV !== "production") ? `normalizeStyle` : ``);
36
- const NORMALIZE_PROPS = Symbol(!!(process.env.NODE_ENV !== "production") ? `normalizeProps` : ``);
37
- const GUARD_REACTIVE_PROPS = Symbol(!!(process.env.NODE_ENV !== "production") ? `guardReactiveProps` : ``);
56
+ const NORMALIZE_CLASS = Symbol(
57
+ !!(process.env.NODE_ENV !== "production") ? `normalizeClass` : ``
58
+ );
59
+ const NORMALIZE_STYLE = Symbol(
60
+ !!(process.env.NODE_ENV !== "production") ? `normalizeStyle` : ``
61
+ );
62
+ const NORMALIZE_PROPS = Symbol(
63
+ !!(process.env.NODE_ENV !== "production") ? `normalizeProps` : ``
64
+ );
65
+ const GUARD_REACTIVE_PROPS = Symbol(
66
+ !!(process.env.NODE_ENV !== "production") ? `guardReactiveProps` : ``
67
+ );
38
68
  const TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== "production") ? `toHandlers` : ``);
39
69
  const CAMELIZE = Symbol(!!(process.env.NODE_ENV !== "production") ? `camelize` : ``);
40
70
  const CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== "production") ? `capitalize` : ``);
41
- const TO_HANDLER_KEY = Symbol(!!(process.env.NODE_ENV !== "production") ? `toHandlerKey` : ``);
42
- const SET_BLOCK_TRACKING = Symbol(!!(process.env.NODE_ENV !== "production") ? `setBlockTracking` : ``);
71
+ const TO_HANDLER_KEY = Symbol(
72
+ !!(process.env.NODE_ENV !== "production") ? `toHandlerKey` : ``
73
+ );
74
+ const SET_BLOCK_TRACKING = Symbol(
75
+ !!(process.env.NODE_ENV !== "production") ? `setBlockTracking` : ``
76
+ );
43
77
  const PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== "production") ? `pushScopeId` : ``);
44
78
  const POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== "production") ? `popScopeId` : ``);
45
79
  const WITH_CTX = Symbol(!!(process.env.NODE_ENV !== "production") ? `withCtx` : ``);
@@ -1490,14 +1524,20 @@ function walkBlockDeclarations(block, onIdent) {
1490
1524
  } else if (stmt.type === "FunctionDeclaration" || stmt.type === "ClassDeclaration") {
1491
1525
  if (stmt.declare || !stmt.id) continue;
1492
1526
  onIdent(stmt.id);
1493
- } else if (stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement") {
1494
- const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1495
- if (variable && variable.type === "VariableDeclaration") {
1496
- for (const decl of variable.declarations) {
1497
- for (const id of extractIdentifiers(decl.id)) {
1498
- onIdent(id);
1499
- }
1500
- }
1527
+ } else if (isForStatement(stmt)) {
1528
+ walkForStatement(stmt, true, onIdent);
1529
+ }
1530
+ }
1531
+ }
1532
+ function isForStatement(stmt) {
1533
+ return stmt.type === "ForOfStatement" || stmt.type === "ForInStatement" || stmt.type === "ForStatement";
1534
+ }
1535
+ function walkForStatement(stmt, isVar, onIdent) {
1536
+ const variable = stmt.type === "ForStatement" ? stmt.init : stmt.left;
1537
+ if (variable && variable.type === "VariableDeclaration" && (variable.kind === "var" ? isVar : !isVar)) {
1538
+ for (const decl of variable.declarations) {
1539
+ for (const id of extractIdentifiers(decl.id)) {
1540
+ onIdent(id);
1501
1541
  }
1502
1542
  }
1503
1543
  }
@@ -1584,8 +1624,9 @@ const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
1584
1624
  const validFirstIdentCharRE = /[A-Za-z_$\xA0-\uFFFF]/;
1585
1625
  const validIdentCharRE = /[\.\?\w$\xA0-\uFFFF]/;
1586
1626
  const whitespaceRE = /\s+[.[]\s*|\s*[.[]\s+/g;
1587
- const isMemberExpressionBrowser = (path) => {
1588
- path = path.trim().replace(whitespaceRE, (s) => s.trim());
1627
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
1628
+ const isMemberExpressionBrowser = (exp) => {
1629
+ const path = getExpSource(exp).trim().replace(whitespaceRE, (s) => s.trim());
1589
1630
  let state = 0 /* inMemberExp */;
1590
1631
  let stateStack = [];
1591
1632
  let currentOpenBracketCount = 0;
@@ -1648,6 +1689,10 @@ const isMemberExpressionBrowser = (path) => {
1648
1689
  };
1649
1690
  const isMemberExpressionNode = NOOP ;
1650
1691
  const isMemberExpression = isMemberExpressionBrowser ;
1692
+ const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
1693
+ const isFnExpressionBrowser = (exp) => fnExpRE.test(getExpSource(exp));
1694
+ const isFnExpressionNode = NOOP ;
1695
+ const isFnExpression = isFnExpressionBrowser ;
1651
1696
  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
1652
1697
  return advancePositionWithMutation(
1653
1698
  {
@@ -4735,7 +4780,7 @@ function resolveComponentType(node, context, ssr = false) {
4735
4780
  } else {
4736
4781
  exp = isProp.exp;
4737
4782
  if (!exp) {
4738
- exp = createSimpleExpression(`is`, false, isProp.loc);
4783
+ exp = createSimpleExpression(`is`, false, isProp.arg.loc);
4739
4784
  }
4740
4785
  }
4741
4786
  if (exp) {
@@ -5239,7 +5284,6 @@ function processSlotOutlet(node, context) {
5239
5284
  };
5240
5285
  }
5241
5286
 
5242
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
5243
5287
  const transformOn = (dir, node, context, augmentor) => {
5244
5288
  const { loc, modifiers, arg } = dir;
5245
5289
  if (!dir.exp && !modifiers.length) {
@@ -5283,8 +5327,8 @@ const transformOn = (dir, node, context, augmentor) => {
5283
5327
  }
5284
5328
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
5285
5329
  if (exp) {
5286
- const isMemberExp = isMemberExpression(exp.content);
5287
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
5330
+ const isMemberExp = isMemberExpression(exp);
5331
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp));
5288
5332
  const hasMultipleStatements = exp.content.includes(`;`);
5289
5333
  if (!!(process.env.NODE_ENV !== "production") && true) {
5290
5334
  validateBrowserExpression(
@@ -5432,7 +5476,7 @@ const transformModel = (dir, node, context) => {
5432
5476
  return createTransformProps();
5433
5477
  }
5434
5478
  const maybeRef = false;
5435
- if (!expString.trim() || !isMemberExpression(expString) && !maybeRef) {
5479
+ if (!expString.trim() || !isMemberExpression(exp) && !maybeRef) {
5436
5480
  context.onError(
5437
5481
  createCompilerError(42, exp.loc)
5438
5482
  );
@@ -5720,4 +5764,4 @@ const BindingTypes = {
5720
5764
 
5721
5765
  const noopDirectiveTransform = () => ({ props: [] });
5722
5766
 
5723
- export { BASE_TRANSITION, BindingTypes, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, CompilerDeprecationTypes, ConstantTypes, ElementTypes, ErrorCodes, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, Namespaces, NodeTypes, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, errorMessages, extractIdentifiers, findDir, findProp, forAliasRE, generate, getBaseTransformPreset, getConstantType, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isCoreComponent, isFunctionType, isInDestructureAssignment, isInNewExpression, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, unwrapTSNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };
5767
+ export { BASE_TRANSITION, BindingTypes, CAMELIZE, CAPITALIZE, CREATE_BLOCK, CREATE_COMMENT, CREATE_ELEMENT_BLOCK, CREATE_ELEMENT_VNODE, CREATE_SLOTS, CREATE_STATIC, CREATE_TEXT, CREATE_VNODE, CompilerDeprecationTypes, ConstantTypes, ElementTypes, ErrorCodes, FRAGMENT, GUARD_REACTIVE_PROPS, IS_MEMO_SAME, IS_REF, KEEP_ALIVE, MERGE_PROPS, NORMALIZE_CLASS, NORMALIZE_PROPS, NORMALIZE_STYLE, Namespaces, NodeTypes, OPEN_BLOCK, POP_SCOPE_ID, PUSH_SCOPE_ID, RENDER_LIST, RENDER_SLOT, RESOLVE_COMPONENT, RESOLVE_DIRECTIVE, RESOLVE_DYNAMIC_COMPONENT, RESOLVE_FILTER, SET_BLOCK_TRACKING, SUSPENSE, TELEPORT, TO_DISPLAY_STRING, TO_HANDLERS, TO_HANDLER_KEY, TS_NODE_TYPES, UNREF, WITH_CTX, WITH_DIRECTIVES, WITH_MEMO, advancePositionWithClone, advancePositionWithMutation, assert, baseCompile, baseParse, buildDirectiveArgs, buildProps, buildSlots, checkCompatEnabled, convertToBlock, createArrayExpression, createAssignmentExpression, createBlockStatement, createCacheExpression, createCallExpression, createCompilerError, createCompoundExpression, createConditionalExpression, createForLoopParams, createFunctionExpression, createIfStatement, createInterpolation, createObjectExpression, createObjectProperty, createReturnStatement, createRoot, createSequenceExpression, createSimpleExpression, createStructuralDirectiveTransform, createTemplateLiteral, createTransformContext, createVNodeCall, errorMessages, extractIdentifiers, findDir, findProp, forAliasRE, generate, getBaseTransformPreset, getConstantType, getMemoedVNodeCall, getVNodeBlockHelper, getVNodeHelper, hasDynamicKeyVBind, hasScopeRef, helperNameMap, injectProp, isCoreComponent, isFnExpression, isFnExpressionBrowser, isFnExpressionNode, isFunctionType, isInDestructureAssignment, isInNewExpression, isMemberExpression, isMemberExpressionBrowser, isMemberExpressionNode, isReferencedIdentifier, isSimpleIdentifier, isSlotOutlet, isStaticArgOf, isStaticExp, isStaticProperty, isStaticPropertyKey, isTemplateNode, isText$1 as isText, isVSlot, locStub, noopDirectiveTransform, processExpression, processFor, processIf, processSlotOutlet, registerRuntimeHelpers, resolveComponentType, stringifyExpression, toValidAssetId, trackSlotScopes, trackVForSlotScopes, transform, transformBind, transformElement, transformExpression, transformModel, transformOn, traverseNode, unwrapTSNode, walkBlockDeclarations, walkFunctionParams, walkIdentifiers, warnDeprecation };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/compiler-core",
3
- "version": "3.5.0-alpha.5",
3
+ "version": "3.5.0-beta.2",
4
4
  "description": "@vue/compiler-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/compiler-core.esm-bundler.js",
@@ -46,13 +46,13 @@
46
46
  },
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
48
48
  "dependencies": {
49
- "@babel/parser": "^7.24.7",
49
+ "@babel/parser": "^7.25.3",
50
50
  "entities": "^4.5.0",
51
51
  "estree-walker": "^2.0.2",
52
52
  "source-map-js": "^1.2.0",
53
- "@vue/shared": "3.5.0-alpha.5"
53
+ "@vue/shared": "3.5.0-beta.2"
54
54
  },
55
55
  "devDependencies": {
56
- "@babel/types": "^7.24.7"
56
+ "@babel/types": "^7.25.2"
57
57
  }
58
58
  }