@vue/compiler-dom 3.4.0-alpha.2 → 3.4.0-alpha.4

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.
@@ -10,8 +10,8 @@ var VueCompilerDOM = (function (exports) {
10
10
  const NOOP = () => {
11
11
  };
12
12
  const NO = () => false;
13
- const onRE = /^on[^a-z]/;
14
- const isOn = (key) => onRE.test(key);
13
+ const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
14
+ (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
15
15
  const extend = Object.assign;
16
16
  const isArray = Array.isArray;
17
17
  const isString = (val) => typeof val === "string";
@@ -215,6 +215,90 @@ var VueCompilerDOM = (function (exports) {
215
215
  });
216
216
  }
217
217
 
218
+ const Namespaces = {
219
+ "HTML": 0,
220
+ "0": "HTML",
221
+ "SVG": 1,
222
+ "1": "SVG",
223
+ "MATH_ML": 2,
224
+ "2": "MATH_ML"
225
+ };
226
+ const NodeTypes = {
227
+ "ROOT": 0,
228
+ "0": "ROOT",
229
+ "ELEMENT": 1,
230
+ "1": "ELEMENT",
231
+ "TEXT": 2,
232
+ "2": "TEXT",
233
+ "COMMENT": 3,
234
+ "3": "COMMENT",
235
+ "SIMPLE_EXPRESSION": 4,
236
+ "4": "SIMPLE_EXPRESSION",
237
+ "INTERPOLATION": 5,
238
+ "5": "INTERPOLATION",
239
+ "ATTRIBUTE": 6,
240
+ "6": "ATTRIBUTE",
241
+ "DIRECTIVE": 7,
242
+ "7": "DIRECTIVE",
243
+ "COMPOUND_EXPRESSION": 8,
244
+ "8": "COMPOUND_EXPRESSION",
245
+ "IF": 9,
246
+ "9": "IF",
247
+ "IF_BRANCH": 10,
248
+ "10": "IF_BRANCH",
249
+ "FOR": 11,
250
+ "11": "FOR",
251
+ "TEXT_CALL": 12,
252
+ "12": "TEXT_CALL",
253
+ "VNODE_CALL": 13,
254
+ "13": "VNODE_CALL",
255
+ "JS_CALL_EXPRESSION": 14,
256
+ "14": "JS_CALL_EXPRESSION",
257
+ "JS_OBJECT_EXPRESSION": 15,
258
+ "15": "JS_OBJECT_EXPRESSION",
259
+ "JS_PROPERTY": 16,
260
+ "16": "JS_PROPERTY",
261
+ "JS_ARRAY_EXPRESSION": 17,
262
+ "17": "JS_ARRAY_EXPRESSION",
263
+ "JS_FUNCTION_EXPRESSION": 18,
264
+ "18": "JS_FUNCTION_EXPRESSION",
265
+ "JS_CONDITIONAL_EXPRESSION": 19,
266
+ "19": "JS_CONDITIONAL_EXPRESSION",
267
+ "JS_CACHE_EXPRESSION": 20,
268
+ "20": "JS_CACHE_EXPRESSION",
269
+ "JS_BLOCK_STATEMENT": 21,
270
+ "21": "JS_BLOCK_STATEMENT",
271
+ "JS_TEMPLATE_LITERAL": 22,
272
+ "22": "JS_TEMPLATE_LITERAL",
273
+ "JS_IF_STATEMENT": 23,
274
+ "23": "JS_IF_STATEMENT",
275
+ "JS_ASSIGNMENT_EXPRESSION": 24,
276
+ "24": "JS_ASSIGNMENT_EXPRESSION",
277
+ "JS_SEQUENCE_EXPRESSION": 25,
278
+ "25": "JS_SEQUENCE_EXPRESSION",
279
+ "JS_RETURN_STATEMENT": 26,
280
+ "26": "JS_RETURN_STATEMENT"
281
+ };
282
+ const ElementTypes = {
283
+ "ELEMENT": 0,
284
+ "0": "ELEMENT",
285
+ "COMPONENT": 1,
286
+ "1": "COMPONENT",
287
+ "SLOT": 2,
288
+ "2": "SLOT",
289
+ "TEMPLATE": 3,
290
+ "3": "TEMPLATE"
291
+ };
292
+ const ConstantTypes = {
293
+ "NOT_CONSTANT": 0,
294
+ "0": "NOT_CONSTANT",
295
+ "CAN_SKIP_PATCH": 1,
296
+ "1": "CAN_SKIP_PATCH",
297
+ "CAN_HOIST": 2,
298
+ "2": "CAN_HOIST",
299
+ "CAN_STRINGIFY": 3,
300
+ "3": "CAN_STRINGIFY"
301
+ };
218
302
  const locStub = {
219
303
  start: { line: 1, column: 1, offset: 0 },
220
304
  end: { line: 1, column: 1, offset: 0 },
@@ -469,7 +553,9 @@ var VueCompilerDOM = (function (exports) {
469
553
  this.inRCDATA = false;
470
554
  /** For disabling RCDATA tags handling */
471
555
  this.inXML = false;
472
- /** Reocrd newline positions for fast line / column calculation */
556
+ /** For disabling interpolation parsing in v-pre */
557
+ this.inVPre = false;
558
+ /** Record newline positions for fast line / column calculation */
473
559
  this.newlines = [];
474
560
  this.mode = 0;
475
561
  this.delimiterOpen = defaultDelimitersOpen;
@@ -488,6 +574,7 @@ var VueCompilerDOM = (function (exports) {
488
574
  this.sectionStart = 0;
489
575
  this.index = 0;
490
576
  this.baseState = 1;
577
+ this.inRCDATA = false;
491
578
  this.currentSequence = void 0;
492
579
  this.newlines.length = 0;
493
580
  this.delimiterOpen = defaultDelimitersOpen;
@@ -526,7 +613,7 @@ var VueCompilerDOM = (function (exports) {
526
613
  }
527
614
  this.state = 5;
528
615
  this.sectionStart = this.index;
529
- } else if (c === this.delimiterOpen[0]) {
616
+ } else if (!this.inVPre && c === this.delimiterOpen[0]) {
530
617
  this.state = 2;
531
618
  this.delimiterIndex = 0;
532
619
  this.stateInterpolationOpen(c);
@@ -1208,6 +1295,16 @@ var VueCompilerDOM = (function (exports) {
1208
1295
  }
1209
1296
  }
1210
1297
 
1298
+ const CompilerDeprecationTypes = {
1299
+ "COMPILER_IS_ON_ELEMENT": "COMPILER_IS_ON_ELEMENT",
1300
+ "COMPILER_V_BIND_SYNC": "COMPILER_V_BIND_SYNC",
1301
+ "COMPILER_V_BIND_OBJECT_ORDER": "COMPILER_V_BIND_OBJECT_ORDER",
1302
+ "COMPILER_V_ON_NATIVE": "COMPILER_V_ON_NATIVE",
1303
+ "COMPILER_V_IF_V_FOR_PRECEDENCE": "COMPILER_V_IF_V_FOR_PRECEDENCE",
1304
+ "COMPILER_NATIVE_TEMPLATE": "COMPILER_NATIVE_TEMPLATE",
1305
+ "COMPILER_INLINE_TEMPLATE": "COMPILER_INLINE_TEMPLATE",
1306
+ "COMPILER_FILTERS": "COMPILER_FILTER"
1307
+ };
1211
1308
  const deprecationData = {
1212
1309
  ["COMPILER_IS_ON_ELEMENT"]: {
1213
1310
  message: `Platform-native elements with "is" prop will no longer be treated as components in Vue 3 unless the "is" value is explicitly prefixed with "vue:".`,
@@ -1289,6 +1386,114 @@ var VueCompilerDOM = (function (exports) {
1289
1386
  error.loc = loc;
1290
1387
  return error;
1291
1388
  }
1389
+ const ErrorCodes = {
1390
+ "ABRUPT_CLOSING_OF_EMPTY_COMMENT": 0,
1391
+ "0": "ABRUPT_CLOSING_OF_EMPTY_COMMENT",
1392
+ "CDATA_IN_HTML_CONTENT": 1,
1393
+ "1": "CDATA_IN_HTML_CONTENT",
1394
+ "DUPLICATE_ATTRIBUTE": 2,
1395
+ "2": "DUPLICATE_ATTRIBUTE",
1396
+ "END_TAG_WITH_ATTRIBUTES": 3,
1397
+ "3": "END_TAG_WITH_ATTRIBUTES",
1398
+ "END_TAG_WITH_TRAILING_SOLIDUS": 4,
1399
+ "4": "END_TAG_WITH_TRAILING_SOLIDUS",
1400
+ "EOF_BEFORE_TAG_NAME": 5,
1401
+ "5": "EOF_BEFORE_TAG_NAME",
1402
+ "EOF_IN_CDATA": 6,
1403
+ "6": "EOF_IN_CDATA",
1404
+ "EOF_IN_COMMENT": 7,
1405
+ "7": "EOF_IN_COMMENT",
1406
+ "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT": 8,
1407
+ "8": "EOF_IN_SCRIPT_HTML_COMMENT_LIKE_TEXT",
1408
+ "EOF_IN_TAG": 9,
1409
+ "9": "EOF_IN_TAG",
1410
+ "INCORRECTLY_CLOSED_COMMENT": 10,
1411
+ "10": "INCORRECTLY_CLOSED_COMMENT",
1412
+ "INCORRECTLY_OPENED_COMMENT": 11,
1413
+ "11": "INCORRECTLY_OPENED_COMMENT",
1414
+ "INVALID_FIRST_CHARACTER_OF_TAG_NAME": 12,
1415
+ "12": "INVALID_FIRST_CHARACTER_OF_TAG_NAME",
1416
+ "MISSING_ATTRIBUTE_VALUE": 13,
1417
+ "13": "MISSING_ATTRIBUTE_VALUE",
1418
+ "MISSING_END_TAG_NAME": 14,
1419
+ "14": "MISSING_END_TAG_NAME",
1420
+ "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES": 15,
1421
+ "15": "MISSING_WHITESPACE_BETWEEN_ATTRIBUTES",
1422
+ "NESTED_COMMENT": 16,
1423
+ "16": "NESTED_COMMENT",
1424
+ "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME": 17,
1425
+ "17": "UNEXPECTED_CHARACTER_IN_ATTRIBUTE_NAME",
1426
+ "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE": 18,
1427
+ "18": "UNEXPECTED_CHARACTER_IN_UNQUOTED_ATTRIBUTE_VALUE",
1428
+ "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME": 19,
1429
+ "19": "UNEXPECTED_EQUALS_SIGN_BEFORE_ATTRIBUTE_NAME",
1430
+ "UNEXPECTED_NULL_CHARACTER": 20,
1431
+ "20": "UNEXPECTED_NULL_CHARACTER",
1432
+ "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME": 21,
1433
+ "21": "UNEXPECTED_QUESTION_MARK_INSTEAD_OF_TAG_NAME",
1434
+ "UNEXPECTED_SOLIDUS_IN_TAG": 22,
1435
+ "22": "UNEXPECTED_SOLIDUS_IN_TAG",
1436
+ "X_INVALID_END_TAG": 23,
1437
+ "23": "X_INVALID_END_TAG",
1438
+ "X_MISSING_END_TAG": 24,
1439
+ "24": "X_MISSING_END_TAG",
1440
+ "X_MISSING_INTERPOLATION_END": 25,
1441
+ "25": "X_MISSING_INTERPOLATION_END",
1442
+ "X_MISSING_DIRECTIVE_NAME": 26,
1443
+ "26": "X_MISSING_DIRECTIVE_NAME",
1444
+ "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END": 27,
1445
+ "27": "X_MISSING_DYNAMIC_DIRECTIVE_ARGUMENT_END",
1446
+ "X_V_IF_NO_EXPRESSION": 28,
1447
+ "28": "X_V_IF_NO_EXPRESSION",
1448
+ "X_V_IF_SAME_KEY": 29,
1449
+ "29": "X_V_IF_SAME_KEY",
1450
+ "X_V_ELSE_NO_ADJACENT_IF": 30,
1451
+ "30": "X_V_ELSE_NO_ADJACENT_IF",
1452
+ "X_V_FOR_NO_EXPRESSION": 31,
1453
+ "31": "X_V_FOR_NO_EXPRESSION",
1454
+ "X_V_FOR_MALFORMED_EXPRESSION": 32,
1455
+ "32": "X_V_FOR_MALFORMED_EXPRESSION",
1456
+ "X_V_FOR_TEMPLATE_KEY_PLACEMENT": 33,
1457
+ "33": "X_V_FOR_TEMPLATE_KEY_PLACEMENT",
1458
+ "X_V_BIND_NO_EXPRESSION": 34,
1459
+ "34": "X_V_BIND_NO_EXPRESSION",
1460
+ "X_V_ON_NO_EXPRESSION": 35,
1461
+ "35": "X_V_ON_NO_EXPRESSION",
1462
+ "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET": 36,
1463
+ "36": "X_V_SLOT_UNEXPECTED_DIRECTIVE_ON_SLOT_OUTLET",
1464
+ "X_V_SLOT_MIXED_SLOT_USAGE": 37,
1465
+ "37": "X_V_SLOT_MIXED_SLOT_USAGE",
1466
+ "X_V_SLOT_DUPLICATE_SLOT_NAMES": 38,
1467
+ "38": "X_V_SLOT_DUPLICATE_SLOT_NAMES",
1468
+ "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN": 39,
1469
+ "39": "X_V_SLOT_EXTRANEOUS_DEFAULT_SLOT_CHILDREN",
1470
+ "X_V_SLOT_MISPLACED": 40,
1471
+ "40": "X_V_SLOT_MISPLACED",
1472
+ "X_V_MODEL_NO_EXPRESSION": 41,
1473
+ "41": "X_V_MODEL_NO_EXPRESSION",
1474
+ "X_V_MODEL_MALFORMED_EXPRESSION": 42,
1475
+ "42": "X_V_MODEL_MALFORMED_EXPRESSION",
1476
+ "X_V_MODEL_ON_SCOPE_VARIABLE": 43,
1477
+ "43": "X_V_MODEL_ON_SCOPE_VARIABLE",
1478
+ "X_V_MODEL_ON_PROPS": 44,
1479
+ "44": "X_V_MODEL_ON_PROPS",
1480
+ "X_INVALID_EXPRESSION": 45,
1481
+ "45": "X_INVALID_EXPRESSION",
1482
+ "X_KEEP_ALIVE_INVALID_CHILDREN": 46,
1483
+ "46": "X_KEEP_ALIVE_INVALID_CHILDREN",
1484
+ "X_VNODE_HOOKS": 47,
1485
+ "47": "X_VNODE_HOOKS",
1486
+ "X_PREFIX_ID_NOT_SUPPORTED": 48,
1487
+ "48": "X_PREFIX_ID_NOT_SUPPORTED",
1488
+ "X_MODULE_MODE_NOT_SUPPORTED": 49,
1489
+ "49": "X_MODULE_MODE_NOT_SUPPORTED",
1490
+ "X_CACHE_HANDLER_NOT_SUPPORTED": 50,
1491
+ "50": "X_CACHE_HANDLER_NOT_SUPPORTED",
1492
+ "X_SCOPE_ID_NOT_SUPPORTED": 51,
1493
+ "51": "X_SCOPE_ID_NOT_SUPPORTED",
1494
+ "__EXTEND_POINT__": 52,
1495
+ "52": "__EXTEND_POINT__"
1496
+ };
1292
1497
  const errorMessages = {
1293
1498
  // parse errors
1294
1499
  [0]: "Illegal comment.",
@@ -1341,16 +1546,14 @@ var VueCompilerDOM = (function (exports) {
1341
1546
  Use a v-bind binding combined with a v-on listener that emits update:x event instead.`,
1342
1547
  [45]: `Error parsing JavaScript expression: `,
1343
1548
  [46]: `<KeepAlive> expects exactly one child component.`,
1549
+ [47]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,
1344
1550
  // generic errors
1345
- [47]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1346
- [48]: `ES module mode is not supported in this build of compiler.`,
1347
- [49]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1348
- [50]: `"scopeId" option is only supported in module mode.`,
1349
- // deprecations
1350
- [51]: `@vnode-* hooks in templates are deprecated. Use the vue: prefix instead. For example, @vnode-mounted should be changed to @vue:mounted. @vnode-* hooks support will be removed in 3.4.`,
1351
- [52]: `v-is="component-name" has been deprecated. Use is="vue:component-name" instead. v-is support will be removed in 3.4.`,
1551
+ [48]: `"prefixIdentifiers" option is not supported in this build of compiler.`,
1552
+ [49]: `ES module mode is not supported in this build of compiler.`,
1553
+ [50]: `"cacheHandlers" option is only supported when the "prefixIdentifiers" option is enabled.`,
1554
+ [51]: `"scopeId" option is only supported in module mode.`,
1352
1555
  // just to fulfill types
1353
- [53]: ``
1556
+ [52]: ``
1354
1557
  };
1355
1558
 
1356
1559
  const isStaticExp = (p) => p.type === 4 && p.isStatic;
@@ -1658,7 +1861,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1658
1861
  isCustomElement: NO,
1659
1862
  onError: defaultOnError,
1660
1863
  onWarn: defaultOnWarn,
1661
- comments: true
1864
+ comments: true,
1865
+ prefixIdentifiers: false
1662
1866
  };
1663
1867
  let currentOptions = defaultParserOptions;
1664
1868
  let currentRoot = null;
@@ -1700,7 +1904,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1700
1904
  }
1701
1905
  addNode({
1702
1906
  type: 5,
1703
- content: createSimpleExpression(exp, false, getLoc(innerStart, innerEnd)),
1907
+ content: createExp(exp, false, getLoc(innerStart, innerEnd)),
1704
1908
  loc: getLoc(start, end)
1705
1909
  });
1706
1910
  },
@@ -1793,7 +1997,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1793
1997
  loc: getLoc(start)
1794
1998
  };
1795
1999
  if (name === "pre") {
1796
- inVPre = true;
2000
+ inVPre = tokenizer.inVPre = true;
1797
2001
  currentVPreBoundary = currentOpenTag;
1798
2002
  const props = currentOpenTag.props;
1799
2003
  for (let i = 0; i < props.length; i++) {
@@ -1805,13 +2009,15 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1805
2009
  }
1806
2010
  },
1807
2011
  ondirarg(start, end) {
2012
+ if (start === end)
2013
+ return;
1808
2014
  const arg = getSlice(start, end);
1809
2015
  if (inVPre) {
1810
2016
  currentProp.name += arg;
1811
2017
  setLocEnd(currentProp.nameLoc, end);
1812
2018
  } else {
1813
2019
  const isStatic = arg[0] !== `[`;
1814
- currentProp.arg = createSimpleExpression(
2020
+ currentProp.arg = createExp(
1815
2021
  isStatic ? arg : arg.slice(1, -1),
1816
2022
  isStatic,
1817
2023
  getLoc(start, end),
@@ -1884,10 +2090,13 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1884
2090
  tokenizer.enterRCDATA(toCharCodes(`</template`), 0);
1885
2091
  }
1886
2092
  } else {
1887
- currentProp.exp = createSimpleExpression(
2093
+ let expParseMode = 0 /* Normal */;
2094
+ currentProp.exp = createExp(
1888
2095
  currentAttrValue,
1889
2096
  false,
1890
- getLoc(currentAttrStartIndex, currentAttrEndIndex)
2097
+ getLoc(currentAttrStartIndex, currentAttrEndIndex),
2098
+ 0,
2099
+ expParseMode
1891
2100
  );
1892
2101
  if (currentProp.name === "for") {
1893
2102
  currentProp.forParseResult = parseForExpression(currentProp.exp);
@@ -1990,10 +2199,16 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
1990
2199
  if (!inMatch)
1991
2200
  return;
1992
2201
  const [, LHS, RHS] = inMatch;
1993
- const createAliasExpression = (content, offset) => {
2202
+ const createAliasExpression = (content, offset, asParam = false) => {
1994
2203
  const start = loc.start.offset + offset;
1995
2204
  const end = start + content.length;
1996
- return createSimpleExpression(content, false, getLoc(start, end));
2205
+ return createExp(
2206
+ content,
2207
+ false,
2208
+ getLoc(start, end),
2209
+ 0,
2210
+ asParam ? 1 /* Params */ : 0 /* Normal */
2211
+ );
1997
2212
  };
1998
2213
  const result = {
1999
2214
  source: createAliasExpression(RHS.trim(), exp.indexOf(RHS, LHS.length)),
@@ -2011,7 +2226,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2011
2226
  let keyOffset;
2012
2227
  if (keyContent) {
2013
2228
  keyOffset = exp.indexOf(keyContent, trimmedOffset + valueContent.length);
2014
- result.key = createAliasExpression(keyContent, keyOffset);
2229
+ result.key = createAliasExpression(keyContent, keyOffset, true);
2015
2230
  }
2016
2231
  if (iteratorMatch[2]) {
2017
2232
  const indexContent = iteratorMatch[2].trim();
@@ -2021,13 +2236,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2021
2236
  exp.indexOf(
2022
2237
  indexContent,
2023
2238
  result.key ? keyOffset + keyContent.length : trimmedOffset + valueContent.length
2024
- )
2239
+ ),
2240
+ true
2025
2241
  );
2026
2242
  }
2027
2243
  }
2028
2244
  }
2029
2245
  if (valueContent) {
2030
- result.value = createAliasExpression(valueContent, trimmedOffset);
2246
+ result.value = createAliasExpression(valueContent, trimmedOffset, true);
2031
2247
  }
2032
2248
  return result;
2033
2249
  }
@@ -2105,7 +2321,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2105
2321
  inPre--;
2106
2322
  }
2107
2323
  if (currentVPreBoundary === el) {
2108
- inVPre = false;
2324
+ inVPre = tokenizer.inVPre = false;
2109
2325
  currentVPreBoundary = null;
2110
2326
  }
2111
2327
  if (tokenizer.inXML && (stack[0] ? stack[0].ns : currentOptions.ns) === 0) {
@@ -2340,8 +2556,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2340
2556
  }
2341
2557
  return attr;
2342
2558
  }
2343
- function emitError(code, index) {
2344
- currentOptions.onError(createCompilerError(code, getLoc(index, index)));
2559
+ function createExp(content, isStatic = false, loc, constType = 0, parseMode = 0 /* Normal */) {
2560
+ const exp = createSimpleExpression(content, isStatic, loc, constType);
2561
+ return exp;
2562
+ }
2563
+ function emitError(code, index, message) {
2564
+ currentOptions.onError(
2565
+ createCompilerError(code, getLoc(index, index), void 0, message)
2566
+ );
2345
2567
  }
2346
2568
  function reset() {
2347
2569
  tokenizer.reset();
@@ -2372,6 +2594,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
2372
2594
  }
2373
2595
  }
2374
2596
  tokenizer.mode = currentOptions.parseMode === "html" ? 1 : currentOptions.parseMode === "sfc" ? 2 : 0;
2597
+ tokenizer.inXML = currentOptions.ns === 1 || currentOptions.ns === 2;
2375
2598
  const delimiters = options == null ? void 0 : options.delimiters;
2376
2599
  if (delimiters) {
2377
2600
  tokenizer.delimiterOpen = toCharCodes(delimiters[0]);
@@ -4557,6 +4780,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
4557
4780
  if (isEventHandler && isReservedProp(name)) {
4558
4781
  hasVnodeHook = true;
4559
4782
  }
4783
+ if (isEventHandler && value.type === 14) {
4784
+ value = value.arguments[0];
4785
+ }
4560
4786
  if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
4561
4787
  return;
4562
4788
  }
@@ -5009,9 +5235,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5009
5235
  if (arg.isStatic) {
5010
5236
  let rawName = arg.content;
5011
5237
  if (rawName.startsWith("vnode")) {
5012
- context.onWarn(
5013
- createCompilerError(51, arg.loc)
5014
- );
5238
+ context.onError(createCompilerError(47, arg.loc));
5015
5239
  }
5016
5240
  if (rawName.startsWith("vue:")) {
5017
5241
  rawName = `vnode-${rawName.slice(4)}`;
@@ -5492,17 +5716,17 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5492
5716
  const isModuleMode = options.mode === "module";
5493
5717
  {
5494
5718
  if (options.prefixIdentifiers === true) {
5495
- onError(createCompilerError(47));
5496
- } else if (isModuleMode) {
5497
5719
  onError(createCompilerError(48));
5720
+ } else if (isModuleMode) {
5721
+ onError(createCompilerError(49));
5498
5722
  }
5499
5723
  }
5500
5724
  const prefixIdentifiers = false;
5501
5725
  if (options.cacheHandlers) {
5502
- onError(createCompilerError(49));
5726
+ onError(createCompilerError(50));
5503
5727
  }
5504
5728
  if (options.scopeId && !isModuleMode) {
5505
- onError(createCompilerError(50));
5729
+ onError(createCompilerError(51));
5506
5730
  }
5507
5731
  const ast = isString(source) ? baseParse(source, options) : source;
5508
5732
  const [nodeTransforms, directiveTransforms] = getBaseTransformPreset();
@@ -5531,6 +5755,19 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5531
5755
  );
5532
5756
  }
5533
5757
 
5758
+ const BindingTypes = {
5759
+ "DATA": "data",
5760
+ "PROPS": "props",
5761
+ "PROPS_ALIASED": "props-aliased",
5762
+ "SETUP_LET": "setup-let",
5763
+ "SETUP_CONST": "setup-const",
5764
+ "SETUP_REACTIVE_CONST": "setup-reactive-const",
5765
+ "SETUP_MAYBE_REF": "setup-maybe-ref",
5766
+ "SETUP_REF": "setup-ref",
5767
+ "OPTIONS": "options",
5768
+ "LITERAL_CONST": "literal-const"
5769
+ };
5770
+
5534
5771
  const noopDirectiveTransform = () => ({ props: [] });
5535
5772
 
5536
5773
  const V_MODEL_RADIO = Symbol(`vModelRadio` );
@@ -5649,6 +5886,32 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
5649
5886
  DOMErrorMessages
5650
5887
  );
5651
5888
  }
5889
+ const DOMErrorCodes = {
5890
+ "X_V_HTML_NO_EXPRESSION": 53,
5891
+ "53": "X_V_HTML_NO_EXPRESSION",
5892
+ "X_V_HTML_WITH_CHILDREN": 54,
5893
+ "54": "X_V_HTML_WITH_CHILDREN",
5894
+ "X_V_TEXT_NO_EXPRESSION": 55,
5895
+ "55": "X_V_TEXT_NO_EXPRESSION",
5896
+ "X_V_TEXT_WITH_CHILDREN": 56,
5897
+ "56": "X_V_TEXT_WITH_CHILDREN",
5898
+ "X_V_MODEL_ON_INVALID_ELEMENT": 57,
5899
+ "57": "X_V_MODEL_ON_INVALID_ELEMENT",
5900
+ "X_V_MODEL_ARG_ON_ELEMENT": 58,
5901
+ "58": "X_V_MODEL_ARG_ON_ELEMENT",
5902
+ "X_V_MODEL_ON_FILE_INPUT_ELEMENT": 59,
5903
+ "59": "X_V_MODEL_ON_FILE_INPUT_ELEMENT",
5904
+ "X_V_MODEL_UNNECESSARY_VALUE": 60,
5905
+ "60": "X_V_MODEL_UNNECESSARY_VALUE",
5906
+ "X_V_SHOW_NO_EXPRESSION": 61,
5907
+ "61": "X_V_SHOW_NO_EXPRESSION",
5908
+ "X_TRANSITION_INVALID_CHILDREN": 62,
5909
+ "62": "X_TRANSITION_INVALID_CHILDREN",
5910
+ "X_IGNORED_SIDE_EFFECT_TAG": 63,
5911
+ "63": "X_IGNORED_SIDE_EFFECT_TAG",
5912
+ "__EXTEND_POINT__": 64,
5913
+ "64": "__EXTEND_POINT__"
5914
+ };
5652
5915
  const DOMErrorMessages = {
5653
5916
  [53]: `v-html is missing expression.`,
5654
5917
  [54]: `v-html will override element children.`,
@@ -6004,6 +6267,7 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
6004
6267
  }
6005
6268
 
6006
6269
  exports.BASE_TRANSITION = BASE_TRANSITION;
6270
+ exports.BindingTypes = BindingTypes;
6007
6271
  exports.CAMELIZE = CAMELIZE;
6008
6272
  exports.CAPITALIZE = CAPITALIZE;
6009
6273
  exports.CREATE_BLOCK = CREATE_BLOCK;
@@ -6014,9 +6278,14 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
6014
6278
  exports.CREATE_STATIC = CREATE_STATIC;
6015
6279
  exports.CREATE_TEXT = CREATE_TEXT;
6016
6280
  exports.CREATE_VNODE = CREATE_VNODE;
6281
+ exports.CompilerDeprecationTypes = CompilerDeprecationTypes;
6282
+ exports.ConstantTypes = ConstantTypes;
6017
6283
  exports.DOMDirectiveTransforms = DOMDirectiveTransforms;
6284
+ exports.DOMErrorCodes = DOMErrorCodes;
6018
6285
  exports.DOMErrorMessages = DOMErrorMessages;
6019
6286
  exports.DOMNodeTransforms = DOMNodeTransforms;
6287
+ exports.ElementTypes = ElementTypes;
6288
+ exports.ErrorCodes = ErrorCodes;
6020
6289
  exports.FRAGMENT = FRAGMENT;
6021
6290
  exports.GUARD_REACTIVE_PROPS = GUARD_REACTIVE_PROPS;
6022
6291
  exports.IS_MEMO_SAME = IS_MEMO_SAME;
@@ -6026,6 +6295,8 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
6026
6295
  exports.NORMALIZE_CLASS = NORMALIZE_CLASS;
6027
6296
  exports.NORMALIZE_PROPS = NORMALIZE_PROPS;
6028
6297
  exports.NORMALIZE_STYLE = NORMALIZE_STYLE;
6298
+ exports.Namespaces = Namespaces;
6299
+ exports.NodeTypes = NodeTypes;
6029
6300
  exports.OPEN_BLOCK = OPEN_BLOCK;
6030
6301
  exports.POP_SCOPE_ID = POP_SCOPE_ID;
6031
6302
  exports.PUSH_SCOPE_ID = PUSH_SCOPE_ID;