@vue/compiler-core 3.6.0-alpha.7 → 3.6.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.6.0-alpha.7
2
+ * @vue/compiler-core v3.6.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -8,86 +8,86 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var shared = require('@vue/shared');
11
- var decode_js = require('entities/lib/decode.js');
11
+ var decode = require('entities/decode');
12
12
  var parser = require('@babel/parser');
13
13
  var estreeWalker = require('estree-walker');
14
14
  var sourceMapJs = require('source-map-js');
15
15
 
16
- const FRAGMENT = Symbol(`Fragment` );
17
- const TELEPORT = Symbol(`Teleport` );
18
- const SUSPENSE = Symbol(`Suspense` );
19
- const KEEP_ALIVE = Symbol(`KeepAlive` );
20
- const BASE_TRANSITION = Symbol(
16
+ const FRAGMENT = /* @__PURE__ */ Symbol(`Fragment` );
17
+ const TELEPORT = /* @__PURE__ */ Symbol(`Teleport` );
18
+ const SUSPENSE = /* @__PURE__ */ Symbol(`Suspense` );
19
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(`KeepAlive` );
20
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
21
21
  `BaseTransition`
22
22
  );
23
- const OPEN_BLOCK = Symbol(`openBlock` );
24
- const CREATE_BLOCK = Symbol(`createBlock` );
25
- const CREATE_ELEMENT_BLOCK = Symbol(
23
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(`openBlock` );
24
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(`createBlock` );
25
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
26
26
  `createElementBlock`
27
27
  );
28
- const CREATE_VNODE = Symbol(`createVNode` );
29
- const CREATE_ELEMENT_VNODE = Symbol(
28
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(`createVNode` );
29
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
30
30
  `createElementVNode`
31
31
  );
32
- const CREATE_COMMENT = Symbol(
32
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
33
33
  `createCommentVNode`
34
34
  );
35
- const CREATE_TEXT = Symbol(
35
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
36
36
  `createTextVNode`
37
37
  );
38
- const CREATE_STATIC = Symbol(
38
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
39
39
  `createStaticVNode`
40
40
  );
41
- const RESOLVE_COMPONENT = Symbol(
41
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
42
42
  `resolveComponent`
43
43
  );
44
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
44
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
45
45
  `resolveDynamicComponent`
46
46
  );
47
- const RESOLVE_DIRECTIVE = Symbol(
47
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
48
48
  `resolveDirective`
49
49
  );
50
- const RESOLVE_FILTER = Symbol(
50
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
51
51
  `resolveFilter`
52
52
  );
53
- const WITH_DIRECTIVES = Symbol(
53
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
54
54
  `withDirectives`
55
55
  );
56
- const RENDER_LIST = Symbol(`renderList` );
57
- const RENDER_SLOT = Symbol(`renderSlot` );
58
- const CREATE_SLOTS = Symbol(`createSlots` );
59
- const TO_DISPLAY_STRING = Symbol(
56
+ const RENDER_LIST = /* @__PURE__ */ Symbol(`renderList` );
57
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(`renderSlot` );
58
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(`createSlots` );
59
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
60
60
  `toDisplayString`
61
61
  );
62
- const MERGE_PROPS = Symbol(`mergeProps` );
63
- const NORMALIZE_CLASS = Symbol(
62
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(`mergeProps` );
63
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
64
64
  `normalizeClass`
65
65
  );
66
- const NORMALIZE_STYLE = Symbol(
66
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
67
67
  `normalizeStyle`
68
68
  );
69
- const NORMALIZE_PROPS = Symbol(
69
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
70
70
  `normalizeProps`
71
71
  );
72
- const GUARD_REACTIVE_PROPS = Symbol(
72
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
73
73
  `guardReactiveProps`
74
74
  );
75
- const TO_HANDLERS = Symbol(`toHandlers` );
76
- const CAMELIZE = Symbol(`camelize` );
77
- const CAPITALIZE = Symbol(`capitalize` );
78
- const TO_HANDLER_KEY = Symbol(
75
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(`toHandlers` );
76
+ const CAMELIZE = /* @__PURE__ */ Symbol(`camelize` );
77
+ const CAPITALIZE = /* @__PURE__ */ Symbol(`capitalize` );
78
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
79
79
  `toHandlerKey`
80
80
  );
81
- const SET_BLOCK_TRACKING = Symbol(
81
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
82
82
  `setBlockTracking`
83
83
  );
84
- const PUSH_SCOPE_ID = Symbol(`pushScopeId` );
85
- const POP_SCOPE_ID = Symbol(`popScopeId` );
86
- const WITH_CTX = Symbol(`withCtx` );
87
- const UNREF = Symbol(`unref` );
88
- const IS_REF = Symbol(`isRef` );
89
- const WITH_MEMO = Symbol(`withMemo` );
90
- const IS_MEMO_SAME = Symbol(`isMemoSame` );
84
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(`pushScopeId` );
85
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(`popScopeId` );
86
+ const WITH_CTX = /* @__PURE__ */ Symbol(`withCtx` );
87
+ const UNREF = /* @__PURE__ */ Symbol(`unref` );
88
+ const IS_REF = /* @__PURE__ */ Symbol(`isRef` );
89
+ const WITH_MEMO = /* @__PURE__ */ Symbol(`withMemo` );
90
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(`isMemoSame` );
91
91
  const helperNameMap = {
92
92
  [FRAGMENT]: `Fragment`,
93
93
  [TELEPORT]: `Teleport`,
@@ -478,8 +478,8 @@ class Tokenizer {
478
478
  this.currentSequence = void 0;
479
479
  this.sequenceIndex = 0;
480
480
  {
481
- this.entityDecoder = new decode_js.EntityDecoder(
482
- decode_js.htmlDecodeTree,
481
+ this.entityDecoder = new decode.EntityDecoder(
482
+ decode.htmlDecodeTree,
483
483
  (cp, consumed) => this.emitCodePoint(cp, consumed)
484
484
  );
485
485
  }
@@ -509,14 +509,28 @@ class Tokenizer {
509
509
  getPos(index) {
510
510
  let line = 1;
511
511
  let column = index + 1;
512
- for (let i = this.newlines.length - 1; i >= 0; i--) {
513
- const newlineIndex = this.newlines[i];
514
- if (index > newlineIndex) {
515
- line = i + 2;
516
- column = index - newlineIndex;
517
- break;
512
+ const length = this.newlines.length;
513
+ let j = -1;
514
+ if (length > 100) {
515
+ let l = -1;
516
+ let r = length;
517
+ while (l + 1 < r) {
518
+ const m = l + r >>> 1;
519
+ this.newlines[m] < index ? l = m : r = m;
520
+ }
521
+ j = l;
522
+ } else {
523
+ for (let i = length - 1; i >= 0; i--) {
524
+ if (index > this.newlines[i]) {
525
+ j = i;
526
+ break;
527
+ }
518
528
  }
519
529
  }
530
+ if (j >= 0) {
531
+ line = j + 2;
532
+ column = index - this.newlines[j];
533
+ }
520
534
  return {
521
535
  column,
522
536
  line,
@@ -1029,7 +1043,7 @@ class Tokenizer {
1029
1043
  this.state = 33;
1030
1044
  this.entityStart = this.index;
1031
1045
  this.entityDecoder.startEntity(
1032
- this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute
1046
+ this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute
1033
1047
  );
1034
1048
  }
1035
1049
  }
@@ -1248,7 +1262,7 @@ class Tokenizer {
1248
1262
  this.sectionStart = this.entityStart + consumed;
1249
1263
  this.index = this.sectionStart - 1;
1250
1264
  this.cbs.onattribentity(
1251
- decode_js.fromCodePoint(cp),
1265
+ decode.fromCodePoint(cp),
1252
1266
  this.entityStart,
1253
1267
  this.sectionStart
1254
1268
  );
@@ -1259,7 +1273,7 @@ class Tokenizer {
1259
1273
  this.sectionStart = this.entityStart + consumed;
1260
1274
  this.index = this.sectionStart - 1;
1261
1275
  this.cbs.ontextentity(
1262
- decode_js.fromCodePoint(cp),
1276
+ decode.fromCodePoint(cp),
1263
1277
  this.entityStart,
1264
1278
  this.sectionStart
1265
1279
  );
@@ -1449,24 +1463,26 @@ const ErrorCodes = {
1449
1463
  "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
1450
1464
  "X_V_MODEL_ON_PROPS": 44,
1451
1465
  "44": "X_V_MODEL_ON_PROPS",
1452
- "X_INVALID_EXPRESSION": 45,
1453
- "45": "X_INVALID_EXPRESSION",
1454
- "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
1455
- "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
1456
- "X_PREFIX_ID_NOT_SUPPORTED": 47,
1457
- "47": "X_PREFIX_ID_NOT_SUPPORTED",
1458
- "X_MODULE_MODE_NOT_SUPPORTED": 48,
1459
- "48": "X_MODULE_MODE_NOT_SUPPORTED",
1460
- "X_CACHE_HANDLER_NOT_SUPPORTED": 49,
1461
- "49": "X_CACHE_HANDLER_NOT_SUPPORTED",
1462
- "X_SCOPE_ID_NOT_SUPPORTED": 50,
1463
- "50": "X_SCOPE_ID_NOT_SUPPORTED",
1464
- "X_VNODE_HOOKS": 51,
1465
- "51": "X_VNODE_HOOKS",
1466
- "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52,
1467
- "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1468
- "__EXTEND_POINT__": 53,
1469
- "53": "__EXTEND_POINT__"
1466
+ "X_V_MODEL_ON_CONST": 45,
1467
+ "45": "X_V_MODEL_ON_CONST",
1468
+ "X_INVALID_EXPRESSION": 46,
1469
+ "46": "X_INVALID_EXPRESSION",
1470
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 47,
1471
+ "47": "X_KEEP_ALIVE_INVALID_CHILDREN",
1472
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
1473
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
1474
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
1475
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
1476
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
1477
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
1478
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
1479
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
1480
+ "X_VNODE_HOOKS": 52,
1481
+ "52": "X_VNODE_HOOKS",
1482
+ "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53,
1483
+ "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1484
+ "__EXTEND_POINT__": 54,
1485
+ "54": "__EXTEND_POINT__"
1470
1486
  };
1471
1487
  const errorMessages = {
1472
1488
  // parse errors
@@ -1507,7 +1523,7 @@ const errorMessages = {
1507
1523
  [32]: `v-for has invalid expression.`,
1508
1524
  [33]: `<template v-for> key should be placed on the <template> tag.`,
1509
1525
  [34]: `v-bind is missing expression.`,
1510
- [52]: `v-bind with same-name shorthand only allows static argument.`,
1526
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
1511
1527
  [35]: `v-on is missing expression.`,
1512
1528
  [36]: `Unexpected custom directive on <slot> outlet.`,
1513
1529
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -1519,16 +1535,17 @@ const errorMessages = {
1519
1535
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
1520
1536
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
1521
1537
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
1522
- [45]: `Error parsing JavaScript expression: `,
1523
- [46]: `<KeepAlive> expects exactly one child component.`,
1524
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1538
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
1539
+ [46]: `Error parsing JavaScript expression: `,
1540
+ [47]: `<KeepAlive> expects exactly one child component.`,
1541
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1525
1542
  // generic errors
1526
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1527
- [48]: `ES module mode is not supported in this build of compiler.`,
1528
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1529
- [50]: `"scopeId" option is only supported in module mode.`,
1543
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1544
+ [49]: `ES module mode is not supported in this build of compiler.`,
1545
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1546
+ [51]: `"scopeId" option is only supported in module mode.`,
1530
1547
  // just to fulfill types
1531
- [53]: ``
1548
+ [54]: ``
1532
1549
  };
1533
1550
 
1534
1551
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
@@ -1545,8 +1562,7 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
1545
1562
  if (includeAll || isRefed && !isLocal) {
1546
1563
  onIdentifier(node, parent, parentStack, isRefed, isLocal);
1547
1564
  }
1548
- } else if (node.type === "ObjectProperty" && // eslint-disable-next-line no-restricted-syntax
1549
- (parent == null ? void 0 : parent.type) === "ObjectPattern") {
1565
+ } else if (node.type === "ObjectProperty" && (parent == null ? void 0 : parent.type) === "ObjectPattern") {
1550
1566
  node.inPattern = true;
1551
1567
  } else if (isFunctionType(node)) {
1552
1568
  if (node.scopeIds) {
@@ -2307,7 +2323,7 @@ function getMemoedVNodeCall(node) {
2307
2323
  }
2308
2324
  }
2309
2325
  function filterNonCommentChildren(node) {
2310
- return node.children.filter((n) => n.type !== 3);
2326
+ return node.children.filter((n) => !isCommentOrWhitespace(n));
2311
2327
  }
2312
2328
  function hasSingleChild(node) {
2313
2329
  return filterNonCommentChildren(node).length === 1;
@@ -2393,7 +2409,7 @@ const tokenizer = new Tokenizer(stack, {
2393
2409
  let exp = getSlice(innerStart, innerEnd);
2394
2410
  if (exp.includes("&")) {
2395
2411
  {
2396
- exp = decode_js.decodeHTML(exp);
2412
+ exp = decode.decodeHTML(exp);
2397
2413
  }
2398
2414
  }
2399
2415
  addNode({
@@ -3054,7 +3070,7 @@ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0
3054
3070
  }
3055
3071
  } catch (e) {
3056
3072
  exp.ast = false;
3057
- emitError(45, loc.start.offset, e.message);
3073
+ emitError(46, loc.start.offset, e.message);
3058
3074
  }
3059
3075
  }
3060
3076
  return exp;
@@ -4641,7 +4657,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
4641
4657
  } catch (e) {
4642
4658
  context.onError(
4643
4659
  createCompilerError(
4644
- 45,
4660
+ 46,
4645
4661
  node.loc,
4646
4662
  void 0,
4647
4663
  e.message
@@ -5525,7 +5541,7 @@ const transformElement = (node, context) => {
5525
5541
  patchFlag |= 1024;
5526
5542
  if (node.children.length > 1) {
5527
5543
  context.onError(
5528
- createCompilerError(46, {
5544
+ createCompilerError(47, {
5529
5545
  start: node.children[0].loc.start,
5530
5546
  end: node.children[node.children.length - 1].loc.end,
5531
5547
  source: ""
@@ -6188,7 +6204,7 @@ const transformOn = (dir, node, context, augmentor) => {
6188
6204
  if (arg.isStatic) {
6189
6205
  let rawName = arg.content;
6190
6206
  if (rawName.startsWith("vnode")) {
6191
- context.onError(createCompilerError(51, arg.loc));
6207
+ context.onError(createCompilerError(52, arg.loc));
6192
6208
  }
6193
6209
  if (rawName.startsWith("vue:")) {
6194
6210
  rawName = `vnode-${rawName.slice(4)}`;
@@ -6450,6 +6466,10 @@ const transformModel = (dir, node, context) => {
6450
6466
  context.onError(createCompilerError(44, exp.loc));
6451
6467
  return createTransformProps();
6452
6468
  }
6469
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
6470
+ context.onError(createCompilerError(45, exp.loc));
6471
+ return createTransformProps();
6472
+ }
6453
6473
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6454
6474
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6455
6475
  context.onError(
@@ -6703,7 +6723,7 @@ const transformVBindShorthand = (node, context) => {
6703
6723
  if (arg.type !== 4 || !arg.isStatic) {
6704
6724
  context.onError(
6705
6725
  createCompilerError(
6706
- 52,
6726
+ 53,
6707
6727
  arg.loc
6708
6728
  )
6709
6729
  );
@@ -6751,10 +6771,10 @@ function baseCompile(source, options = {}) {
6751
6771
  const isModuleMode = options.mode === "module";
6752
6772
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
6753
6773
  if (!prefixIdentifiers && options.cacheHandlers) {
6754
- onError(createCompilerError(49));
6774
+ onError(createCompilerError(50));
6755
6775
  }
6756
6776
  if (options.scopeId && !isModuleMode) {
6757
- onError(createCompilerError(50));
6777
+ onError(createCompilerError(51));
6758
6778
  }
6759
6779
  const resolvedOptions = shared.extend({}, options, {
6760
6780
  prefixIdentifiers
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-core v3.6.0-alpha.7
2
+ * @vue/compiler-core v3.6.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -8,86 +8,86 @@
8
8
  Object.defineProperty(exports, '__esModule', { value: true });
9
9
 
10
10
  var shared = require('@vue/shared');
11
- var decode_js = require('entities/lib/decode.js');
11
+ var decode = require('entities/decode');
12
12
  var parser = require('@babel/parser');
13
13
  var estreeWalker = require('estree-walker');
14
14
  var sourceMapJs = require('source-map-js');
15
15
 
16
- const FRAGMENT = Symbol(``);
17
- const TELEPORT = Symbol(``);
18
- const SUSPENSE = Symbol(``);
19
- const KEEP_ALIVE = Symbol(``);
20
- const BASE_TRANSITION = Symbol(
16
+ const FRAGMENT = /* @__PURE__ */ Symbol(``);
17
+ const TELEPORT = /* @__PURE__ */ Symbol(``);
18
+ const SUSPENSE = /* @__PURE__ */ Symbol(``);
19
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(``);
20
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
21
21
  ``
22
22
  );
23
- const OPEN_BLOCK = Symbol(``);
24
- const CREATE_BLOCK = Symbol(``);
25
- const CREATE_ELEMENT_BLOCK = Symbol(
23
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(``);
24
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(``);
25
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
26
26
  ``
27
27
  );
28
- const CREATE_VNODE = Symbol(``);
29
- const CREATE_ELEMENT_VNODE = Symbol(
28
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(``);
29
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
30
30
  ``
31
31
  );
32
- const CREATE_COMMENT = Symbol(
32
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
33
33
  ``
34
34
  );
35
- const CREATE_TEXT = Symbol(
35
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
36
36
  ``
37
37
  );
38
- const CREATE_STATIC = Symbol(
38
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
39
39
  ``
40
40
  );
41
- const RESOLVE_COMPONENT = Symbol(
41
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
42
42
  ``
43
43
  );
44
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
44
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
45
45
  ``
46
46
  );
47
- const RESOLVE_DIRECTIVE = Symbol(
47
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
48
48
  ``
49
49
  );
50
- const RESOLVE_FILTER = Symbol(
50
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
51
51
  ``
52
52
  );
53
- const WITH_DIRECTIVES = Symbol(
53
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
54
54
  ``
55
55
  );
56
- const RENDER_LIST = Symbol(``);
57
- const RENDER_SLOT = Symbol(``);
58
- const CREATE_SLOTS = Symbol(``);
59
- const TO_DISPLAY_STRING = Symbol(
56
+ const RENDER_LIST = /* @__PURE__ */ Symbol(``);
57
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(``);
58
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(``);
59
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
60
60
  ``
61
61
  );
62
- const MERGE_PROPS = Symbol(``);
63
- const NORMALIZE_CLASS = Symbol(
62
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(``);
63
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
64
64
  ``
65
65
  );
66
- const NORMALIZE_STYLE = Symbol(
66
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
67
67
  ``
68
68
  );
69
- const NORMALIZE_PROPS = Symbol(
69
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
70
70
  ``
71
71
  );
72
- const GUARD_REACTIVE_PROPS = Symbol(
72
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
73
73
  ``
74
74
  );
75
- const TO_HANDLERS = Symbol(``);
76
- const CAMELIZE = Symbol(``);
77
- const CAPITALIZE = Symbol(``);
78
- const TO_HANDLER_KEY = Symbol(
75
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(``);
76
+ const CAMELIZE = /* @__PURE__ */ Symbol(``);
77
+ const CAPITALIZE = /* @__PURE__ */ Symbol(``);
78
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
79
79
  ``
80
80
  );
81
- const SET_BLOCK_TRACKING = Symbol(
81
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
82
82
  ``
83
83
  );
84
- const PUSH_SCOPE_ID = Symbol(``);
85
- const POP_SCOPE_ID = Symbol(``);
86
- const WITH_CTX = Symbol(``);
87
- const UNREF = Symbol(``);
88
- const IS_REF = Symbol(``);
89
- const WITH_MEMO = Symbol(``);
90
- const IS_MEMO_SAME = Symbol(``);
84
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(``);
85
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(``);
86
+ const WITH_CTX = /* @__PURE__ */ Symbol(``);
87
+ const UNREF = /* @__PURE__ */ Symbol(``);
88
+ const IS_REF = /* @__PURE__ */ Symbol(``);
89
+ const WITH_MEMO = /* @__PURE__ */ Symbol(``);
90
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(``);
91
91
  const helperNameMap = {
92
92
  [FRAGMENT]: `Fragment`,
93
93
  [TELEPORT]: `Teleport`,
@@ -478,8 +478,8 @@ class Tokenizer {
478
478
  this.currentSequence = void 0;
479
479
  this.sequenceIndex = 0;
480
480
  {
481
- this.entityDecoder = new decode_js.EntityDecoder(
482
- decode_js.htmlDecodeTree,
481
+ this.entityDecoder = new decode.EntityDecoder(
482
+ decode.htmlDecodeTree,
483
483
  (cp, consumed) => this.emitCodePoint(cp, consumed)
484
484
  );
485
485
  }
@@ -509,14 +509,28 @@ class Tokenizer {
509
509
  getPos(index) {
510
510
  let line = 1;
511
511
  let column = index + 1;
512
- for (let i = this.newlines.length - 1; i >= 0; i--) {
513
- const newlineIndex = this.newlines[i];
514
- if (index > newlineIndex) {
515
- line = i + 2;
516
- column = index - newlineIndex;
517
- break;
512
+ const length = this.newlines.length;
513
+ let j = -1;
514
+ if (length > 100) {
515
+ let l = -1;
516
+ let r = length;
517
+ while (l + 1 < r) {
518
+ const m = l + r >>> 1;
519
+ this.newlines[m] < index ? l = m : r = m;
520
+ }
521
+ j = l;
522
+ } else {
523
+ for (let i = length - 1; i >= 0; i--) {
524
+ if (index > this.newlines[i]) {
525
+ j = i;
526
+ break;
527
+ }
518
528
  }
519
529
  }
530
+ if (j >= 0) {
531
+ line = j + 2;
532
+ column = index - this.newlines[j];
533
+ }
520
534
  return {
521
535
  column,
522
536
  line,
@@ -1029,7 +1043,7 @@ class Tokenizer {
1029
1043
  this.state = 33;
1030
1044
  this.entityStart = this.index;
1031
1045
  this.entityDecoder.startEntity(
1032
- this.baseState === 1 || this.baseState === 32 ? decode_js.DecodingMode.Legacy : decode_js.DecodingMode.Attribute
1046
+ this.baseState === 1 || this.baseState === 32 ? decode.DecodingMode.Legacy : decode.DecodingMode.Attribute
1033
1047
  );
1034
1048
  }
1035
1049
  }
@@ -1248,7 +1262,7 @@ class Tokenizer {
1248
1262
  this.sectionStart = this.entityStart + consumed;
1249
1263
  this.index = this.sectionStart - 1;
1250
1264
  this.cbs.onattribentity(
1251
- decode_js.fromCodePoint(cp),
1265
+ decode.fromCodePoint(cp),
1252
1266
  this.entityStart,
1253
1267
  this.sectionStart
1254
1268
  );
@@ -1259,7 +1273,7 @@ class Tokenizer {
1259
1273
  this.sectionStart = this.entityStart + consumed;
1260
1274
  this.index = this.sectionStart - 1;
1261
1275
  this.cbs.ontextentity(
1262
- decode_js.fromCodePoint(cp),
1276
+ decode.fromCodePoint(cp),
1263
1277
  this.entityStart,
1264
1278
  this.sectionStart
1265
1279
  );
@@ -1445,24 +1459,26 @@ const ErrorCodes = {
1445
1459
  "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
1446
1460
  "X_V_MODEL_ON_PROPS": 44,
1447
1461
  "44": "X_V_MODEL_ON_PROPS",
1448
- "X_INVALID_EXPRESSION": 45,
1449
- "45": "X_INVALID_EXPRESSION",
1450
- "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
1451
- "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
1452
- "X_PREFIX_ID_NOT_SUPPORTED": 47,
1453
- "47": "X_PREFIX_ID_NOT_SUPPORTED",
1454
- "X_MODULE_MODE_NOT_SUPPORTED": 48,
1455
- "48": "X_MODULE_MODE_NOT_SUPPORTED",
1456
- "X_CACHE_HANDLER_NOT_SUPPORTED": 49,
1457
- "49": "X_CACHE_HANDLER_NOT_SUPPORTED",
1458
- "X_SCOPE_ID_NOT_SUPPORTED": 50,
1459
- "50": "X_SCOPE_ID_NOT_SUPPORTED",
1460
- "X_VNODE_HOOKS": 51,
1461
- "51": "X_VNODE_HOOKS",
1462
- "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52,
1463
- "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1464
- "__EXTEND_POINT__": 53,
1465
- "53": "__EXTEND_POINT__"
1462
+ "X_V_MODEL_ON_CONST": 45,
1463
+ "45": "X_V_MODEL_ON_CONST",
1464
+ "X_INVALID_EXPRESSION": 46,
1465
+ "46": "X_INVALID_EXPRESSION",
1466
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 47,
1467
+ "47": "X_KEEP_ALIVE_INVALID_CHILDREN",
1468
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
1469
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
1470
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
1471
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
1472
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
1473
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
1474
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
1475
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
1476
+ "X_VNODE_HOOKS": 52,
1477
+ "52": "X_VNODE_HOOKS",
1478
+ "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53,
1479
+ "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1480
+ "__EXTEND_POINT__": 54,
1481
+ "54": "__EXTEND_POINT__"
1466
1482
  };
1467
1483
  const errorMessages = {
1468
1484
  // parse errors
@@ -1503,7 +1519,7 @@ const errorMessages = {
1503
1519
  [32]: `v-for has invalid expression.`,
1504
1520
  [33]: `<template v-for> key should be placed on the <template> tag.`,
1505
1521
  [34]: `v-bind is missing expression.`,
1506
- [52]: `v-bind with same-name shorthand only allows static argument.`,
1522
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
1507
1523
  [35]: `v-on is missing expression.`,
1508
1524
  [36]: `Unexpected custom directive on <slot> outlet.`,
1509
1525
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -1515,16 +1531,17 @@ const errorMessages = {
1515
1531
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
1516
1532
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
1517
1533
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
1518
- [45]: `Error parsing JavaScript expression: `,
1519
- [46]: `<KeepAlive> expects exactly one child component.`,
1520
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1534
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
1535
+ [46]: `Error parsing JavaScript expression: `,
1536
+ [47]: `<KeepAlive> expects exactly one child component.`,
1537
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1521
1538
  // generic errors
1522
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1523
- [48]: `ES module mode is not supported in this build of compiler.`,
1524
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1525
- [50]: `"scopeId" option is only supported in module mode.`,
1539
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1540
+ [49]: `ES module mode is not supported in this build of compiler.`,
1541
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1542
+ [51]: `"scopeId" option is only supported in module mode.`,
1526
1543
  // just to fulfill types
1527
- [53]: ``
1544
+ [54]: ``
1528
1545
  };
1529
1546
 
1530
1547
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
@@ -1541,8 +1558,7 @@ function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [
1541
1558
  if (includeAll || isRefed && !isLocal) {
1542
1559
  onIdentifier(node, parent, parentStack, isRefed, isLocal);
1543
1560
  }
1544
- } else if (node.type === "ObjectProperty" && // eslint-disable-next-line no-restricted-syntax
1545
- (parent == null ? void 0 : parent.type) === "ObjectPattern") {
1561
+ } else if (node.type === "ObjectProperty" && (parent == null ? void 0 : parent.type) === "ObjectPattern") {
1546
1562
  node.inPattern = true;
1547
1563
  } else if (isFunctionType(node)) {
1548
1564
  if (node.scopeIds) {
@@ -2303,7 +2319,7 @@ function getMemoedVNodeCall(node) {
2303
2319
  }
2304
2320
  }
2305
2321
  function filterNonCommentChildren(node) {
2306
- return node.children.filter((n) => n.type !== 3);
2322
+ return node.children.filter((n) => !isCommentOrWhitespace(n));
2307
2323
  }
2308
2324
  function hasSingleChild(node) {
2309
2325
  return filterNonCommentChildren(node).length === 1;
@@ -2389,7 +2405,7 @@ const tokenizer = new Tokenizer(stack, {
2389
2405
  let exp = getSlice(innerStart, innerEnd);
2390
2406
  if (exp.includes("&")) {
2391
2407
  {
2392
- exp = decode_js.decodeHTML(exp);
2408
+ exp = decode.decodeHTML(exp);
2393
2409
  }
2394
2410
  }
2395
2411
  addNode({
@@ -3020,7 +3036,7 @@ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0
3020
3036
  }
3021
3037
  } catch (e) {
3022
3038
  exp.ast = false;
3023
- emitError(45, loc.start.offset, e.message);
3039
+ emitError(46, loc.start.offset, e.message);
3024
3040
  }
3025
3041
  }
3026
3042
  return exp;
@@ -4565,7 +4581,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
4565
4581
  } catch (e) {
4566
4582
  context.onError(
4567
4583
  createCompilerError(
4568
- 45,
4584
+ 46,
4569
4585
  node.loc,
4570
4586
  void 0,
4571
4587
  e.message
@@ -6330,6 +6346,10 @@ const transformModel = (dir, node, context) => {
6330
6346
  context.onError(createCompilerError(44, exp.loc));
6331
6347
  return createTransformProps();
6332
6348
  }
6349
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
6350
+ context.onError(createCompilerError(45, exp.loc));
6351
+ return createTransformProps();
6352
+ }
6333
6353
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6334
6354
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6335
6355
  context.onError(
@@ -6578,7 +6598,7 @@ const transformVBindShorthand = (node, context) => {
6578
6598
  if (arg.type !== 4 || !arg.isStatic) {
6579
6599
  context.onError(
6580
6600
  createCompilerError(
6581
- 52,
6601
+ 53,
6582
6602
  arg.loc
6583
6603
  )
6584
6604
  );
@@ -6626,10 +6646,10 @@ function baseCompile(source, options = {}) {
6626
6646
  const isModuleMode = options.mode === "module";
6627
6647
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
6628
6648
  if (!prefixIdentifiers && options.cacheHandlers) {
6629
- onError(createCompilerError(49));
6649
+ onError(createCompilerError(50));
6630
6650
  }
6631
6651
  if (options.scopeId && !isModuleMode) {
6632
- onError(createCompilerError(50));
6652
+ onError(createCompilerError(51));
6633
6653
  }
6634
6654
  const resolvedOptions = shared.extend({}, options, {
6635
6655
  prefixIdentifiers
@@ -613,15 +613,16 @@ export declare enum ErrorCodes {
613
613
  X_V_MODEL_MALFORMED_EXPRESSION = 42,
614
614
  X_V_MODEL_ON_SCOPE_VARIABLE = 43,
615
615
  X_V_MODEL_ON_PROPS = 44,
616
- X_INVALID_EXPRESSION = 45,
617
- X_KEEP_ALIVE_INVALID_CHILDREN = 46,
618
- X_PREFIX_ID_NOT_SUPPORTED = 47,
619
- X_MODULE_MODE_NOT_SUPPORTED = 48,
620
- X_CACHE_HANDLER_NOT_SUPPORTED = 49,
621
- X_SCOPE_ID_NOT_SUPPORTED = 50,
622
- X_VNODE_HOOKS = 51,
623
- X_V_BIND_INVALID_SAME_NAME_ARGUMENT = 52,
624
- __EXTEND_POINT__ = 53
616
+ X_V_MODEL_ON_CONST = 45,
617
+ X_INVALID_EXPRESSION = 46,
618
+ X_KEEP_ALIVE_INVALID_CHILDREN = 47,
619
+ X_PREFIX_ID_NOT_SUPPORTED = 48,
620
+ X_MODULE_MODE_NOT_SUPPORTED = 49,
621
+ X_CACHE_HANDLER_NOT_SUPPORTED = 50,
622
+ X_SCOPE_ID_NOT_SUPPORTED = 51,
623
+ X_VNODE_HOOKS = 52,
624
+ X_V_BIND_INVALID_SAME_NAME_ARGUMENT = 53,
625
+ __EXTEND_POINT__ = 54
625
626
  }
626
627
  export declare const errorMessages: Record<ErrorCodes, string>;
627
628
 
@@ -1,86 +1,86 @@
1
1
  /**
2
- * @vue/compiler-core v3.6.0-alpha.7
2
+ * @vue/compiler-core v3.6.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
6
6
  import { isString, NOOP, isObject, extend, NO, isSymbol, PatchFlagNames, isArray, EMPTY_OBJ, capitalize, camelize, makeMap, slotFlagsText, isOn, isBuiltInDirective, isReservedProp, toHandlerKey, getModifierPropName } from '@vue/shared';
7
7
  export { generateCodeFrame } from '@vue/shared';
8
8
 
9
- const FRAGMENT = Symbol(!!(process.env.NODE_ENV !== "production") ? `Fragment` : ``);
10
- const TELEPORT = Symbol(!!(process.env.NODE_ENV !== "production") ? `Teleport` : ``);
11
- const SUSPENSE = Symbol(!!(process.env.NODE_ENV !== "production") ? `Suspense` : ``);
12
- const KEEP_ALIVE = Symbol(!!(process.env.NODE_ENV !== "production") ? `KeepAlive` : ``);
13
- const BASE_TRANSITION = Symbol(
9
+ const FRAGMENT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `Fragment` : ``);
10
+ const TELEPORT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `Teleport` : ``);
11
+ const SUSPENSE = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `Suspense` : ``);
12
+ const KEEP_ALIVE = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `KeepAlive` : ``);
13
+ const BASE_TRANSITION = /* @__PURE__ */ Symbol(
14
14
  !!(process.env.NODE_ENV !== "production") ? `BaseTransition` : ``
15
15
  );
16
- const OPEN_BLOCK = Symbol(!!(process.env.NODE_ENV !== "production") ? `openBlock` : ``);
17
- const CREATE_BLOCK = Symbol(!!(process.env.NODE_ENV !== "production") ? `createBlock` : ``);
18
- const CREATE_ELEMENT_BLOCK = Symbol(
16
+ const OPEN_BLOCK = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `openBlock` : ``);
17
+ const CREATE_BLOCK = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `createBlock` : ``);
18
+ const CREATE_ELEMENT_BLOCK = /* @__PURE__ */ Symbol(
19
19
  !!(process.env.NODE_ENV !== "production") ? `createElementBlock` : ``
20
20
  );
21
- const CREATE_VNODE = Symbol(!!(process.env.NODE_ENV !== "production") ? `createVNode` : ``);
22
- const CREATE_ELEMENT_VNODE = Symbol(
21
+ const CREATE_VNODE = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `createVNode` : ``);
22
+ const CREATE_ELEMENT_VNODE = /* @__PURE__ */ Symbol(
23
23
  !!(process.env.NODE_ENV !== "production") ? `createElementVNode` : ``
24
24
  );
25
- const CREATE_COMMENT = Symbol(
25
+ const CREATE_COMMENT = /* @__PURE__ */ Symbol(
26
26
  !!(process.env.NODE_ENV !== "production") ? `createCommentVNode` : ``
27
27
  );
28
- const CREATE_TEXT = Symbol(
28
+ const CREATE_TEXT = /* @__PURE__ */ Symbol(
29
29
  !!(process.env.NODE_ENV !== "production") ? `createTextVNode` : ``
30
30
  );
31
- const CREATE_STATIC = Symbol(
31
+ const CREATE_STATIC = /* @__PURE__ */ Symbol(
32
32
  !!(process.env.NODE_ENV !== "production") ? `createStaticVNode` : ``
33
33
  );
34
- const RESOLVE_COMPONENT = Symbol(
34
+ const RESOLVE_COMPONENT = /* @__PURE__ */ Symbol(
35
35
  !!(process.env.NODE_ENV !== "production") ? `resolveComponent` : ``
36
36
  );
37
- const RESOLVE_DYNAMIC_COMPONENT = Symbol(
37
+ const RESOLVE_DYNAMIC_COMPONENT = /* @__PURE__ */ Symbol(
38
38
  !!(process.env.NODE_ENV !== "production") ? `resolveDynamicComponent` : ``
39
39
  );
40
- const RESOLVE_DIRECTIVE = Symbol(
40
+ const RESOLVE_DIRECTIVE = /* @__PURE__ */ Symbol(
41
41
  !!(process.env.NODE_ENV !== "production") ? `resolveDirective` : ``
42
42
  );
43
- const RESOLVE_FILTER = Symbol(
43
+ const RESOLVE_FILTER = /* @__PURE__ */ Symbol(
44
44
  !!(process.env.NODE_ENV !== "production") ? `resolveFilter` : ``
45
45
  );
46
- const WITH_DIRECTIVES = Symbol(
46
+ const WITH_DIRECTIVES = /* @__PURE__ */ Symbol(
47
47
  !!(process.env.NODE_ENV !== "production") ? `withDirectives` : ``
48
48
  );
49
- const RENDER_LIST = Symbol(!!(process.env.NODE_ENV !== "production") ? `renderList` : ``);
50
- const RENDER_SLOT = Symbol(!!(process.env.NODE_ENV !== "production") ? `renderSlot` : ``);
51
- const CREATE_SLOTS = Symbol(!!(process.env.NODE_ENV !== "production") ? `createSlots` : ``);
52
- const TO_DISPLAY_STRING = Symbol(
49
+ const RENDER_LIST = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `renderList` : ``);
50
+ const RENDER_SLOT = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `renderSlot` : ``);
51
+ const CREATE_SLOTS = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `createSlots` : ``);
52
+ const TO_DISPLAY_STRING = /* @__PURE__ */ Symbol(
53
53
  !!(process.env.NODE_ENV !== "production") ? `toDisplayString` : ``
54
54
  );
55
- const MERGE_PROPS = Symbol(!!(process.env.NODE_ENV !== "production") ? `mergeProps` : ``);
56
- const NORMALIZE_CLASS = Symbol(
55
+ const MERGE_PROPS = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `mergeProps` : ``);
56
+ const NORMALIZE_CLASS = /* @__PURE__ */ Symbol(
57
57
  !!(process.env.NODE_ENV !== "production") ? `normalizeClass` : ``
58
58
  );
59
- const NORMALIZE_STYLE = Symbol(
59
+ const NORMALIZE_STYLE = /* @__PURE__ */ Symbol(
60
60
  !!(process.env.NODE_ENV !== "production") ? `normalizeStyle` : ``
61
61
  );
62
- const NORMALIZE_PROPS = Symbol(
62
+ const NORMALIZE_PROPS = /* @__PURE__ */ Symbol(
63
63
  !!(process.env.NODE_ENV !== "production") ? `normalizeProps` : ``
64
64
  );
65
- const GUARD_REACTIVE_PROPS = Symbol(
65
+ const GUARD_REACTIVE_PROPS = /* @__PURE__ */ Symbol(
66
66
  !!(process.env.NODE_ENV !== "production") ? `guardReactiveProps` : ``
67
67
  );
68
- const TO_HANDLERS = Symbol(!!(process.env.NODE_ENV !== "production") ? `toHandlers` : ``);
69
- const CAMELIZE = Symbol(!!(process.env.NODE_ENV !== "production") ? `camelize` : ``);
70
- const CAPITALIZE = Symbol(!!(process.env.NODE_ENV !== "production") ? `capitalize` : ``);
71
- const TO_HANDLER_KEY = Symbol(
68
+ const TO_HANDLERS = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `toHandlers` : ``);
69
+ const CAMELIZE = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `camelize` : ``);
70
+ const CAPITALIZE = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `capitalize` : ``);
71
+ const TO_HANDLER_KEY = /* @__PURE__ */ Symbol(
72
72
  !!(process.env.NODE_ENV !== "production") ? `toHandlerKey` : ``
73
73
  );
74
- const SET_BLOCK_TRACKING = Symbol(
74
+ const SET_BLOCK_TRACKING = /* @__PURE__ */ Symbol(
75
75
  !!(process.env.NODE_ENV !== "production") ? `setBlockTracking` : ``
76
76
  );
77
- const PUSH_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== "production") ? `pushScopeId` : ``);
78
- const POP_SCOPE_ID = Symbol(!!(process.env.NODE_ENV !== "production") ? `popScopeId` : ``);
79
- const WITH_CTX = Symbol(!!(process.env.NODE_ENV !== "production") ? `withCtx` : ``);
80
- const UNREF = Symbol(!!(process.env.NODE_ENV !== "production") ? `unref` : ``);
81
- const IS_REF = Symbol(!!(process.env.NODE_ENV !== "production") ? `isRef` : ``);
82
- const WITH_MEMO = Symbol(!!(process.env.NODE_ENV !== "production") ? `withMemo` : ``);
83
- const IS_MEMO_SAME = Symbol(!!(process.env.NODE_ENV !== "production") ? `isMemoSame` : ``);
77
+ const PUSH_SCOPE_ID = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `pushScopeId` : ``);
78
+ const POP_SCOPE_ID = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `popScopeId` : ``);
79
+ const WITH_CTX = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `withCtx` : ``);
80
+ const UNREF = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `unref` : ``);
81
+ const IS_REF = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `isRef` : ``);
82
+ const WITH_MEMO = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `withMemo` : ``);
83
+ const IS_MEMO_SAME = /* @__PURE__ */ Symbol(!!(process.env.NODE_ENV !== "production") ? `isMemoSame` : ``);
84
84
  const helperNameMap = {
85
85
  [FRAGMENT]: `Fragment`,
86
86
  [TELEPORT]: `Teleport`,
@@ -496,14 +496,28 @@ class Tokenizer {
496
496
  getPos(index) {
497
497
  let line = 1;
498
498
  let column = index + 1;
499
- for (let i = this.newlines.length - 1; i >= 0; i--) {
500
- const newlineIndex = this.newlines[i];
501
- if (index > newlineIndex) {
502
- line = i + 2;
503
- column = index - newlineIndex;
504
- break;
499
+ const length = this.newlines.length;
500
+ let j = -1;
501
+ if (length > 100) {
502
+ let l = -1;
503
+ let r = length;
504
+ while (l + 1 < r) {
505
+ const m = l + r >>> 1;
506
+ this.newlines[m] < index ? l = m : r = m;
507
+ }
508
+ j = l;
509
+ } else {
510
+ for (let i = length - 1; i >= 0; i--) {
511
+ if (index > this.newlines[i]) {
512
+ j = i;
513
+ break;
514
+ }
505
515
  }
506
516
  }
517
+ if (j >= 0) {
518
+ line = j + 2;
519
+ column = index - this.newlines[j];
520
+ }
507
521
  return {
508
522
  column,
509
523
  line,
@@ -1380,24 +1394,26 @@ const ErrorCodes = {
1380
1394
  "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
1381
1395
  "X_V_MODEL_ON_PROPS": 44,
1382
1396
  "44": "X_V_MODEL_ON_PROPS",
1383
- "X_INVALID_EXPRESSION": 45,
1384
- "45": "X_INVALID_EXPRESSION",
1385
- "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
1386
- "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
1387
- "X_PREFIX_ID_NOT_SUPPORTED": 47,
1388
- "47": "X_PREFIX_ID_NOT_SUPPORTED",
1389
- "X_MODULE_MODE_NOT_SUPPORTED": 48,
1390
- "48": "X_MODULE_MODE_NOT_SUPPORTED",
1391
- "X_CACHE_HANDLER_NOT_SUPPORTED": 49,
1392
- "49": "X_CACHE_HANDLER_NOT_SUPPORTED",
1393
- "X_SCOPE_ID_NOT_SUPPORTED": 50,
1394
- "50": "X_SCOPE_ID_NOT_SUPPORTED",
1395
- "X_VNODE_HOOKS": 51,
1396
- "51": "X_VNODE_HOOKS",
1397
- "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 52,
1398
- "52": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1399
- "__EXTEND_POINT__": 53,
1400
- "53": "__EXTEND_POINT__"
1397
+ "X_V_MODEL_ON_CONST": 45,
1398
+ "45": "X_V_MODEL_ON_CONST",
1399
+ "X_INVALID_EXPRESSION": 46,
1400
+ "46": "X_INVALID_EXPRESSION",
1401
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 47,
1402
+ "47": "X_KEEP_ALIVE_INVALID_CHILDREN",
1403
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
1404
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
1405
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
1406
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
1407
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
1408
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
1409
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
1410
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
1411
+ "X_VNODE_HOOKS": 52,
1412
+ "52": "X_VNODE_HOOKS",
1413
+ "X_V_BIND_INVALID_SAME_NAME_ARGUMENT": 53,
1414
+ "53": "X_V_BIND_INVALID_SAME_NAME_ARGUMENT",
1415
+ "__EXTEND_POINT__": 54,
1416
+ "54": "__EXTEND_POINT__"
1401
1417
  };
1402
1418
  const errorMessages = {
1403
1419
  // parse errors
@@ -1438,7 +1454,7 @@ const errorMessages = {
1438
1454
  [32]: `v-for has invalid expression.`,
1439
1455
  [33]: `<template v-for> key should be placed on the <template> tag.`,
1440
1456
  [34]: `v-bind is missing expression.`,
1441
- [52]: `v-bind with same-name shorthand only allows static argument.`,
1457
+ [53]: `v-bind with same-name shorthand only allows static argument.`,
1442
1458
  [35]: `v-on is missing expression.`,
1443
1459
  [36]: `Unexpected custom directive on <slot> outlet.`,
1444
1460
  [37]: `Mixed v-slot usage on both the component and nested <template>. When there are multiple named slots, all slots should use <template> syntax to avoid scope ambiguity.`,
@@ -1450,16 +1466,17 @@ const errorMessages = {
1450
1466
  [43]: `v-model cannot be used on v-for or v-slot scope variables because they are not writable.`,
1451
1467
  [44]: `v-model cannot be used on a prop, because local prop bindings are not writable.
1452
1468
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
1453
- [45]: `Error parsing JavaScript expression: `,
1454
- [46]: `<KeepAlive> expects exactly one child component.`,
1455
- [51]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1469
+ [45]: `v-model cannot be used on a const binding because it is not writable.`,
1470
+ [46]: `Error parsing JavaScript expression: `,
1471
+ [47]: `<KeepAlive> expects exactly one child component.`,
1472
+ [52]: `@vnode-* hooks in templates are no longer supported. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support has been removed in 3.4.`,
1456
1473
  // generic errors
1457
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1458
- [48]: `ES module mode is not supported in this build of compiler.`,
1459
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1460
- [50]: `"scopeId" option is only supported in module mode.`,
1474
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1475
+ [49]: `ES module mode is not supported in this build of compiler.`,
1476
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1477
+ [51]: `"scopeId" option is only supported in module mode.`,
1461
1478
  // just to fulfill types
1462
- [53]: ``
1479
+ [54]: ``
1463
1480
  };
1464
1481
 
1465
1482
  function walkIdentifiers(root, onIdentifier, includeAll = false, parentStack = [], knownIds = /* @__PURE__ */ Object.create(null)) {
@@ -1968,7 +1985,7 @@ function getMemoedVNodeCall(node) {
1968
1985
  }
1969
1986
  }
1970
1987
  function filterNonCommentChildren(node) {
1971
- return node.children.filter((n) => n.type !== 3);
1988
+ return node.children.filter((n) => !isCommentOrWhitespace(n));
1972
1989
  }
1973
1990
  function hasSingleChild(node) {
1974
1991
  return filterNonCommentChildren(node).length === 1;
@@ -3955,7 +3972,7 @@ function validateBrowserExpression(node, context, asParams = false, asRawStateme
3955
3972
  }
3956
3973
  context.onError(
3957
3974
  createCompilerError(
3958
- 45,
3975
+ 46,
3959
3976
  node.loc,
3960
3977
  void 0,
3961
3978
  message
@@ -4750,7 +4767,7 @@ const transformElement = (node, context) => {
4750
4767
  patchFlag |= 1024;
4751
4768
  if (!!(process.env.NODE_ENV !== "production") && node.children.length > 1) {
4752
4769
  context.onError(
4753
- createCompilerError(46, {
4770
+ createCompilerError(47, {
4754
4771
  start: node.children[0].loc.start,
4755
4772
  end: node.children[node.children.length - 1].loc.end,
4756
4773
  source: ""
@@ -5337,7 +5354,7 @@ const transformOn = (dir, node, context, augmentor) => {
5337
5354
  if (arg.isStatic) {
5338
5355
  let rawName = arg.content;
5339
5356
  if (!!(process.env.NODE_ENV !== "production") && rawName.startsWith("vnode")) {
5340
- context.onError(createCompilerError(51, arg.loc));
5357
+ context.onError(createCompilerError(52, arg.loc));
5341
5358
  }
5342
5359
  if (rawName.startsWith("vue:")) {
5343
5360
  rawName = `vnode-${rawName.slice(4)}`;
@@ -5570,6 +5587,10 @@ const transformModel = (dir, node, context) => {
5570
5587
  context.onError(createCompilerError(44, exp.loc));
5571
5588
  return createTransformProps();
5572
5589
  }
5590
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
5591
+ context.onError(createCompilerError(45, exp.loc));
5592
+ return createTransformProps();
5593
+ }
5573
5594
  if (!expString.trim() || !isMemberExpression(exp) && true) {
5574
5595
  context.onError(
5575
5596
  createCompilerError(42, exp.loc)
@@ -5798,7 +5819,7 @@ const transformVBindShorthand = (node, context) => {
5798
5819
  if (arg.type !== 4 || !arg.isStatic) {
5799
5820
  context.onError(
5800
5821
  createCompilerError(
5801
- 52,
5822
+ 53,
5802
5823
  arg.loc
5803
5824
  )
5804
5825
  );
@@ -5842,17 +5863,17 @@ function baseCompile(source, options = {}) {
5842
5863
  const isModuleMode = options.mode === "module";
5843
5864
  {
5844
5865
  if (options.prefixIdentifiers === true) {
5845
- onError(createCompilerError(47));
5846
- } else if (isModuleMode) {
5847
5866
  onError(createCompilerError(48));
5867
+ } else if (isModuleMode) {
5868
+ onError(createCompilerError(49));
5848
5869
  }
5849
5870
  }
5850
5871
  const prefixIdentifiers = false;
5851
5872
  if (options.cacheHandlers) {
5852
- onError(createCompilerError(49));
5873
+ onError(createCompilerError(50));
5853
5874
  }
5854
5875
  if (options.scopeId && !isModuleMode) {
5855
- onError(createCompilerError(50));
5876
+ onError(createCompilerError(51));
5856
5877
  }
5857
5878
  const resolvedOptions = extend({}, options, {
5858
5879
  prefixIdentifiers
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@vue/compiler-core",
3
- "version": "3.6.0-alpha.7",
3
+ "version": "3.6.0-beta.2",
4
4
  "description": "@vue/compiler-core",
5
5
  "main": "index.js",
6
6
  "module": "dist/compiler-core.esm-bundler.js",
@@ -47,10 +47,10 @@
47
47
  "homepage": "https://github.com/vuejs/core/tree/main/packages/compiler-core#readme",
48
48
  "dependencies": {
49
49
  "@babel/parser": "^7.28.5",
50
- "entities": "^4.5.0",
50
+ "entities": "^7.0.0",
51
51
  "estree-walker": "^2.0.2",
52
52
  "source-map-js": "^1.2.1",
53
- "@vue/shared": "3.6.0-alpha.7"
53
+ "@vue/shared": "3.6.0-beta.2"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@babel/types": "^7.28.5"