@vue/compiler-core 3.6.0-alpha.6 → 3.6.0-beta.1

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.6
2
+ * @vue/compiler-core v3.6.0-beta.1
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)) {
@@ -2307,7 +2324,7 @@ function getMemoedVNodeCall(node) {
2307
2324
  }
2308
2325
  }
2309
2326
  function filterNonCommentChildren(node) {
2310
- return node.children.filter((n) => n.type !== 3);
2327
+ return node.children.filter((n) => !isCommentOrWhitespace(n));
2311
2328
  }
2312
2329
  function hasSingleChild(node) {
2313
2330
  return filterNonCommentChildren(node).length === 1;
@@ -2393,7 +2410,7 @@ const tokenizer = new Tokenizer(stack, {
2393
2410
  let exp = getSlice(innerStart, innerEnd);
2394
2411
  if (exp.includes("&")) {
2395
2412
  {
2396
- exp = decode_js.decodeHTML(exp);
2413
+ exp = decode.decodeHTML(exp);
2397
2414
  }
2398
2415
  }
2399
2416
  addNode({
@@ -3054,7 +3071,7 @@ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0
3054
3071
  }
3055
3072
  } catch (e) {
3056
3073
  exp.ast = false;
3057
- emitError(45, loc.start.offset, e.message);
3074
+ emitError(46, loc.start.offset, e.message);
3058
3075
  }
3059
3076
  }
3060
3077
  return exp;
@@ -4641,7 +4658,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
4641
4658
  } catch (e) {
4642
4659
  context.onError(
4643
4660
  createCompilerError(
4644
- 45,
4661
+ 46,
4645
4662
  node.loc,
4646
4663
  void 0,
4647
4664
  e.message
@@ -5525,7 +5542,7 @@ const transformElement = (node, context) => {
5525
5542
  patchFlag |= 1024;
5526
5543
  if (node.children.length > 1) {
5527
5544
  context.onError(
5528
- createCompilerError(46, {
5545
+ createCompilerError(47, {
5529
5546
  start: node.children[0].loc.start,
5530
5547
  end: node.children[node.children.length - 1].loc.end,
5531
5548
  source: ""
@@ -6188,7 +6205,7 @@ const transformOn = (dir, node, context, augmentor) => {
6188
6205
  if (arg.isStatic) {
6189
6206
  let rawName = arg.content;
6190
6207
  if (rawName.startsWith("vnode")) {
6191
- context.onError(createCompilerError(51, arg.loc));
6208
+ context.onError(createCompilerError(52, arg.loc));
6192
6209
  }
6193
6210
  if (rawName.startsWith("vue:")) {
6194
6211
  rawName = `vnode-${rawName.slice(4)}`;
@@ -6450,6 +6467,10 @@ const transformModel = (dir, node, context) => {
6450
6467
  context.onError(createCompilerError(44, exp.loc));
6451
6468
  return createTransformProps();
6452
6469
  }
6470
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
6471
+ context.onError(createCompilerError(45, exp.loc));
6472
+ return createTransformProps();
6473
+ }
6453
6474
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6454
6475
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6455
6476
  context.onError(
@@ -6703,7 +6724,7 @@ const transformVBindShorthand = (node, context) => {
6703
6724
  if (arg.type !== 4 || !arg.isStatic) {
6704
6725
  context.onError(
6705
6726
  createCompilerError(
6706
- 52,
6727
+ 53,
6707
6728
  arg.loc
6708
6729
  )
6709
6730
  );
@@ -6751,10 +6772,10 @@ function baseCompile(source, options = {}) {
6751
6772
  const isModuleMode = options.mode === "module";
6752
6773
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
6753
6774
  if (!prefixIdentifiers && options.cacheHandlers) {
6754
- onError(createCompilerError(49));
6775
+ onError(createCompilerError(50));
6755
6776
  }
6756
6777
  if (options.scopeId && !isModuleMode) {
6757
- onError(createCompilerError(50));
6778
+ onError(createCompilerError(51));
6758
6779
  }
6759
6780
  const resolvedOptions = shared.extend({}, options, {
6760
6781
  prefixIdentifiers
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compiler-core v3.6.0-alpha.6
2
+ * @vue/compiler-core v3.6.0-beta.1
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)) {
@@ -2303,7 +2320,7 @@ function getMemoedVNodeCall(node) {
2303
2320
  }
2304
2321
  }
2305
2322
  function filterNonCommentChildren(node) {
2306
- return node.children.filter((n) => n.type !== 3);
2323
+ return node.children.filter((n) => !isCommentOrWhitespace(n));
2307
2324
  }
2308
2325
  function hasSingleChild(node) {
2309
2326
  return filterNonCommentChildren(node).length === 1;
@@ -2389,7 +2406,7 @@ const tokenizer = new Tokenizer(stack, {
2389
2406
  let exp = getSlice(innerStart, innerEnd);
2390
2407
  if (exp.includes("&")) {
2391
2408
  {
2392
- exp = decode_js.decodeHTML(exp);
2409
+ exp = decode.decodeHTML(exp);
2393
2410
  }
2394
2411
  }
2395
2412
  addNode({
@@ -3020,7 +3037,7 @@ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0
3020
3037
  }
3021
3038
  } catch (e) {
3022
3039
  exp.ast = false;
3023
- emitError(45, loc.start.offset, e.message);
3040
+ emitError(46, loc.start.offset, e.message);
3024
3041
  }
3025
3042
  }
3026
3043
  return exp;
@@ -4565,7 +4582,7 @@ function processExpression(node, context, asParams = false, asRawStatements = fa
4565
4582
  } catch (e) {
4566
4583
  context.onError(
4567
4584
  createCompilerError(
4568
- 45,
4585
+ 46,
4569
4586
  node.loc,
4570
4587
  void 0,
4571
4588
  e.message
@@ -6330,6 +6347,10 @@ const transformModel = (dir, node, context) => {
6330
6347
  context.onError(createCompilerError(44, exp.loc));
6331
6348
  return createTransformProps();
6332
6349
  }
6350
+ if (bindingType === "literal-const" || bindingType === "setup-const") {
6351
+ context.onError(createCompilerError(45, exp.loc));
6352
+ return createTransformProps();
6353
+ }
6333
6354
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
6334
6355
  if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
6335
6356
  context.onError(
@@ -6578,7 +6599,7 @@ const transformVBindShorthand = (node, context) => {
6578
6599
  if (arg.type !== 4 || !arg.isStatic) {
6579
6600
  context.onError(
6580
6601
  createCompilerError(
6581
- 52,
6602
+ 53,
6582
6603
  arg.loc
6583
6604
  )
6584
6605
  );
@@ -6626,10 +6647,10 @@ function baseCompile(source, options = {}) {
6626
6647
  const isModuleMode = options.mode === "module";
6627
6648
  const prefixIdentifiers = options.prefixIdentifiers === true || isModuleMode;
6628
6649
  if (!prefixIdentifiers && options.cacheHandlers) {
6629
- onError(createCompilerError(49));
6650
+ onError(createCompilerError(50));
6630
6651
  }
6631
6652
  if (options.scopeId && !isModuleMode) {
6632
- onError(createCompilerError(50));
6653
+ onError(createCompilerError(51));
6633
6654
  }
6634
6655
  const resolvedOptions = shared.extend({}, options, {
6635
6656
  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.6
2
+ * @vue/compiler-core v3.6.0-beta.1
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.6",
3
+ "version": "3.6.0-beta.1",
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.6"
53
+ "@vue/shared": "3.6.0-beta.1"
54
54
  },
55
55
  "devDependencies": {
56
56
  "@babel/types": "^7.28.5"