@vue/compat 3.3.9 → 3.3.11

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.
@@ -12,8 +12,8 @@ const EMPTY_ARR = !!(process.env.NODE_ENV !== "production") ? Object.freeze([])
12
12
  const NOOP = () => {
13
13
  };
14
14
  const NO = () => false;
15
- const onRE = /^on[^a-z]/;
16
- const isOn = (key) => onRE.test(key);
15
+ const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
16
+ (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
17
17
  const isModelListener = (key) => key.startsWith("onUpdate:");
18
18
  const extend = Object.assign;
19
19
  const remove = (arr, el) => {
@@ -300,20 +300,29 @@ const replacer = (_key, val) => {
300
300
  return replacer(_key, val.value);
301
301
  } else if (isMap(val)) {
302
302
  return {
303
- [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
304
- entries[`${key} =>`] = val2;
305
- return entries;
306
- }, {})
303
+ [`Map(${val.size})`]: [...val.entries()].reduce(
304
+ (entries, [key, val2], i) => {
305
+ entries[stringifySymbol(key, i) + " =>"] = val2;
306
+ return entries;
307
+ },
308
+ {}
309
+ )
307
310
  };
308
311
  } else if (isSet(val)) {
309
312
  return {
310
- [`Set(${val.size})`]: [...val.values()]
313
+ [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
311
314
  };
315
+ } else if (isSymbol(val)) {
316
+ return stringifySymbol(val);
312
317
  } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
313
318
  return String(val);
314
319
  }
315
320
  return val;
316
321
  };
322
+ const stringifySymbol = (v, i = "") => {
323
+ var _a;
324
+ return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
325
+ };
317
326
 
318
327
  function warn$1(msg, ...args) {
319
328
  console.warn(`[Vue warn] ${msg}`, ...args);
@@ -741,8 +750,13 @@ class BaseReactiveHandler {
741
750
  return isReadonly2;
742
751
  } else if (key === "__v_isShallow") {
743
752
  return shallow;
744
- } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
745
- return target;
753
+ } else if (key === "__v_raw") {
754
+ if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
755
+ // this means the reciever is a user proxy of the reactive proxy
756
+ Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
757
+ return target;
758
+ }
759
+ return;
746
760
  }
747
761
  const targetIsArray = isArray(target);
748
762
  if (!isReadonly2) {
@@ -1763,13 +1777,16 @@ function queuePostFlushCb(cb) {
1763
1777
  }
1764
1778
  queueFlush();
1765
1779
  }
1766
- function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
1780
+ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
1767
1781
  if (!!(process.env.NODE_ENV !== "production")) {
1768
1782
  seen = seen || /* @__PURE__ */ new Map();
1769
1783
  }
1770
1784
  for (; i < queue.length; i++) {
1771
1785
  const cb = queue[i];
1772
1786
  if (cb && cb.pre) {
1787
+ if (instance && cb.id !== instance.uid) {
1788
+ continue;
1789
+ }
1773
1790
  if (!!(process.env.NODE_ENV !== "production") && checkRecursiveUpdates(seen, cb)) {
1774
1791
  continue;
1775
1792
  }
@@ -3389,7 +3406,12 @@ function createSuspenseBoundary(vnode, parentSuspense, parentComponent, containe
3389
3406
  if (delayEnter) {
3390
3407
  activeBranch.transition.afterLeave = () => {
3391
3408
  if (pendingId === suspense.pendingId) {
3392
- move(pendingBranch, container2, anchor2, 0);
3409
+ move(
3410
+ pendingBranch,
3411
+ container2,
3412
+ next(activeBranch),
3413
+ 0
3414
+ );
3393
3415
  queuePostFlushCb(effects);
3394
3416
  }
3395
3417
  };
@@ -6317,7 +6339,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6317
6339
  return vm;
6318
6340
  }
6319
6341
  }
6320
- Vue.version = `2.6.14-compat:${"3.3.9"}`;
6342
+ Vue.version = `2.6.14-compat:${"3.3.11"}`;
6321
6343
  Vue.config = singletonApp.config;
6322
6344
  Vue.use = (p, ...options) => {
6323
6345
  if (p && isFunction(p.install)) {
@@ -8992,7 +9014,7 @@ function baseCreateRenderer(options, createHydrationFns) {
8992
9014
  updateProps(instance, nextVNode.props, prevProps, optimized);
8993
9015
  updateSlots(instance, nextVNode.children, optimized);
8994
9016
  pauseTracking();
8995
- flushPreFlushCbs();
9017
+ flushPreFlushCbs(instance);
8996
9018
  resetTracking();
8997
9019
  };
8998
9020
  const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
@@ -10779,9 +10801,9 @@ function initCustomFormatter() {
10779
10801
  return;
10780
10802
  }
10781
10803
  const vueStyle = { style: "color:#3ba776" };
10782
- const numberStyle = { style: "color:#0b1bc9" };
10783
- const stringStyle = { style: "color:#b62e24" };
10784
- const keywordStyle = { style: "color:#9d288c" };
10804
+ const numberStyle = { style: "color:#1677ff" };
10805
+ const stringStyle = { style: "color:#f5222d" };
10806
+ const keywordStyle = { style: "color:#eb2f96" };
10785
10807
  const formatter = {
10786
10808
  header(obj) {
10787
10809
  if (!isObject(obj)) {
@@ -10975,7 +10997,7 @@ function isMemoSame(cached, memo) {
10975
10997
  return true;
10976
10998
  }
10977
10999
 
10978
- const version = "3.3.9";
11000
+ const version = "3.3.11";
10979
11001
  const _ssrUtils = {
10980
11002
  createComponentInstance,
10981
11003
  setupComponent,
@@ -11689,7 +11711,8 @@ function patchStopImmediatePropagation(e, value) {
11689
11711
  }
11690
11712
  }
11691
11713
 
11692
- const nativeOnRE = /^on[a-z]/;
11714
+ const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
11715
+ key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
11693
11716
  const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11694
11717
  if (key === "class") {
11695
11718
  patchClass(el, nextValue, isSVG);
@@ -11723,7 +11746,7 @@ function shouldSetAsProp(el, key, value, isSVG) {
11723
11746
  if (key === "innerHTML" || key === "textContent") {
11724
11747
  return true;
11725
11748
  }
11726
- if (key in el && nativeOnRE.test(key) && isFunction(value)) {
11749
+ if (key in el && isNativeOn(key) && isFunction(value)) {
11727
11750
  return true;
11728
11751
  }
11729
11752
  return false;
@@ -11740,7 +11763,13 @@ function shouldSetAsProp(el, key, value, isSVG) {
11740
11763
  if (key === "type" && el.tagName === "TEXTAREA") {
11741
11764
  return false;
11742
11765
  }
11743
- if (nativeOnRE.test(key) && isString(value)) {
11766
+ if (key === "width" || key === "height") {
11767
+ const tag = el.tagName;
11768
+ if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") {
11769
+ return false;
11770
+ }
11771
+ }
11772
+ if (isNativeOn(key) && isString(value)) {
11744
11773
  return false;
11745
11774
  }
11746
11775
  return key in el;
@@ -12464,14 +12493,14 @@ const modifierGuards = {
12464
12493
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
12465
12494
  };
12466
12495
  const withModifiers = (fn, modifiers) => {
12467
- return (event, ...args) => {
12496
+ return fn._withMods || (fn._withMods = (event, ...args) => {
12468
12497
  for (let i = 0; i < modifiers.length; i++) {
12469
12498
  const guard = modifierGuards[modifiers[i]];
12470
12499
  if (guard && guard(event, modifiers))
12471
12500
  return;
12472
12501
  }
12473
12502
  return fn(event, ...args);
12474
- };
12503
+ });
12475
12504
  };
12476
12505
  const keyNames = {
12477
12506
  esc: "escape",
@@ -12499,7 +12528,7 @@ const withKeys = (fn, modifiers) => {
12499
12528
  );
12500
12529
  }
12501
12530
  }
12502
- return (event) => {
12531
+ return fn._withKeys || (fn._withKeys = (event) => {
12503
12532
  if (!("key" in event)) {
12504
12533
  return;
12505
12534
  }
@@ -12527,7 +12556,7 @@ const withKeys = (fn, modifiers) => {
12527
12556
  }
12528
12557
  }
12529
12558
  }
12530
- };
12559
+ });
12531
12560
  };
12532
12561
 
12533
12562
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -16354,6 +16383,9 @@ function buildProps(node, context, props = node.props, isComponent, isDynamicCom
16354
16383
  if (isEventHandler && isReservedProp(name)) {
16355
16384
  hasVnodeHook = true;
16356
16385
  }
16386
+ if (isEventHandler && value.type === 14) {
16387
+ value = value.arguments[0];
16388
+ }
16357
16389
  if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
16358
16390
  return;
16359
16391
  }
@@ -15,8 +15,8 @@ var Vue = (function () {
15
15
  const NOOP = () => {
16
16
  };
17
17
  const NO = () => false;
18
- const onRE = /^on[^a-z]/;
19
- const isOn = (key) => onRE.test(key);
18
+ const isOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // uppercase letter
19
+ (key.charCodeAt(2) > 122 || key.charCodeAt(2) < 97);
20
20
  const isModelListener = (key) => key.startsWith("onUpdate:");
21
21
  const extend = Object.assign;
22
22
  const remove = (arr, el) => {
@@ -303,20 +303,29 @@ var Vue = (function () {
303
303
  return replacer(_key, val.value);
304
304
  } else if (isMap(val)) {
305
305
  return {
306
- [`Map(${val.size})`]: [...val.entries()].reduce((entries, [key, val2]) => {
307
- entries[`${key} =>`] = val2;
308
- return entries;
309
- }, {})
306
+ [`Map(${val.size})`]: [...val.entries()].reduce(
307
+ (entries, [key, val2], i) => {
308
+ entries[stringifySymbol(key, i) + " =>"] = val2;
309
+ return entries;
310
+ },
311
+ {}
312
+ )
310
313
  };
311
314
  } else if (isSet(val)) {
312
315
  return {
313
- [`Set(${val.size})`]: [...val.values()]
316
+ [`Set(${val.size})`]: [...val.values()].map((v) => stringifySymbol(v))
314
317
  };
318
+ } else if (isSymbol(val)) {
319
+ return stringifySymbol(val);
315
320
  } else if (isObject(val) && !isArray(val) && !isPlainObject(val)) {
316
321
  return String(val);
317
322
  }
318
323
  return val;
319
324
  };
325
+ const stringifySymbol = (v, i = "") => {
326
+ var _a;
327
+ return isSymbol(v) ? `Symbol(${(_a = v.description) != null ? _a : i})` : v;
328
+ };
320
329
 
321
330
  function warn$1(msg, ...args) {
322
331
  console.warn(`[Vue warn] ${msg}`, ...args);
@@ -740,8 +749,13 @@ var Vue = (function () {
740
749
  return isReadonly2;
741
750
  } else if (key === "__v_isShallow") {
742
751
  return shallow;
743
- } else if (key === "__v_raw" && receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target)) {
744
- return target;
752
+ } else if (key === "__v_raw") {
753
+ if (receiver === (isReadonly2 ? shallow ? shallowReadonlyMap : readonlyMap : shallow ? shallowReactiveMap : reactiveMap).get(target) || // receiver is not the reactive proxy, but has the same prototype
754
+ // this means the reciever is a user proxy of the reactive proxy
755
+ Object.getPrototypeOf(target) === Object.getPrototypeOf(receiver)) {
756
+ return target;
757
+ }
758
+ return;
745
759
  }
746
760
  const targetIsArray = isArray(target);
747
761
  if (!isReadonly2) {
@@ -1752,13 +1766,16 @@ var Vue = (function () {
1752
1766
  }
1753
1767
  queueFlush();
1754
1768
  }
1755
- function flushPreFlushCbs(seen, i = isFlushing ? flushIndex + 1 : 0) {
1769
+ function flushPreFlushCbs(instance, seen, i = isFlushing ? flushIndex + 1 : 0) {
1756
1770
  {
1757
1771
  seen = seen || /* @__PURE__ */ new Map();
1758
1772
  }
1759
1773
  for (; i < queue.length; i++) {
1760
1774
  const cb = queue[i];
1761
1775
  if (cb && cb.pre) {
1776
+ if (instance && cb.id !== instance.uid) {
1777
+ continue;
1778
+ }
1762
1779
  if (checkRecursiveUpdates(seen, cb)) {
1763
1780
  continue;
1764
1781
  }
@@ -3375,7 +3392,12 @@ If this is a native custom element, make sure to exclude it from component resol
3375
3392
  if (delayEnter) {
3376
3393
  activeBranch.transition.afterLeave = () => {
3377
3394
  if (pendingId === suspense.pendingId) {
3378
- move(pendingBranch, container2, anchor2, 0);
3395
+ move(
3396
+ pendingBranch,
3397
+ container2,
3398
+ next(activeBranch),
3399
+ 0
3400
+ );
3379
3401
  queuePostFlushCb(effects);
3380
3402
  }
3381
3403
  };
@@ -6272,7 +6294,7 @@ If this is a native custom element, make sure to exclude it from component resol
6272
6294
  return vm;
6273
6295
  }
6274
6296
  }
6275
- Vue.version = `2.6.14-compat:${"3.3.9"}`;
6297
+ Vue.version = `2.6.14-compat:${"3.3.11"}`;
6276
6298
  Vue.config = singletonApp.config;
6277
6299
  Vue.use = (p, ...options) => {
6278
6300
  if (p && isFunction(p.install)) {
@@ -8910,7 +8932,7 @@ If you want to remount the same app, move your app creation logic into a factory
8910
8932
  updateProps(instance, nextVNode.props, prevProps, optimized);
8911
8933
  updateSlots(instance, nextVNode.children, optimized);
8912
8934
  pauseTracking();
8913
- flushPreFlushCbs();
8935
+ flushPreFlushCbs(instance);
8914
8936
  resetTracking();
8915
8937
  };
8916
8938
  const patchChildren = (n1, n2, container, anchor, parentComponent, parentSuspense, isSVG, slotScopeIds, optimized = false) => {
@@ -10663,9 +10685,9 @@ Component that was made reactive: `,
10663
10685
  return;
10664
10686
  }
10665
10687
  const vueStyle = { style: "color:#3ba776" };
10666
- const numberStyle = { style: "color:#0b1bc9" };
10667
- const stringStyle = { style: "color:#b62e24" };
10668
- const keywordStyle = { style: "color:#9d288c" };
10688
+ const numberStyle = { style: "color:#1677ff" };
10689
+ const stringStyle = { style: "color:#f5222d" };
10690
+ const keywordStyle = { style: "color:#eb2f96" };
10669
10691
  const formatter = {
10670
10692
  header(obj) {
10671
10693
  if (!isObject(obj)) {
@@ -10859,7 +10881,7 @@ Component that was made reactive: `,
10859
10881
  return true;
10860
10882
  }
10861
10883
 
10862
- const version = "3.3.9";
10884
+ const version = "3.3.11";
10863
10885
  const ssrUtils = null;
10864
10886
  const resolveFilter = resolveFilter$1 ;
10865
10887
  const _compatUtils = {
@@ -11558,7 +11580,8 @@ Component that was made reactive: `,
11558
11580
  }
11559
11581
  }
11560
11582
 
11561
- const nativeOnRE = /^on[a-z]/;
11583
+ const isNativeOn = (key) => key.charCodeAt(0) === 111 && key.charCodeAt(1) === 110 && // lowercase letter
11584
+ key.charCodeAt(2) > 96 && key.charCodeAt(2) < 123;
11562
11585
  const patchProp = (el, key, prevValue, nextValue, isSVG = false, prevChildren, parentComponent, parentSuspense, unmountChildren) => {
11563
11586
  if (key === "class") {
11564
11587
  patchClass(el, nextValue, isSVG);
@@ -11592,7 +11615,7 @@ Component that was made reactive: `,
11592
11615
  if (key === "innerHTML" || key === "textContent") {
11593
11616
  return true;
11594
11617
  }
11595
- if (key in el && nativeOnRE.test(key) && isFunction(value)) {
11618
+ if (key in el && isNativeOn(key) && isFunction(value)) {
11596
11619
  return true;
11597
11620
  }
11598
11621
  return false;
@@ -11609,7 +11632,13 @@ Component that was made reactive: `,
11609
11632
  if (key === "type" && el.tagName === "TEXTAREA") {
11610
11633
  return false;
11611
11634
  }
11612
- if (nativeOnRE.test(key) && isString(value)) {
11635
+ if (key === "width" || key === "height") {
11636
+ const tag = el.tagName;
11637
+ if (tag === "IMG" || tag === "VIDEO" || tag === "CANVAS" || tag === "SOURCE") {
11638
+ return false;
11639
+ }
11640
+ }
11641
+ if (isNativeOn(key) && isString(value)) {
11613
11642
  return false;
11614
11643
  }
11615
11644
  return key in el;
@@ -12287,14 +12316,14 @@ Component that was made reactive: `,
12287
12316
  exact: (e, modifiers) => systemModifiers.some((m) => e[`${m}Key`] && !modifiers.includes(m))
12288
12317
  };
12289
12318
  const withModifiers = (fn, modifiers) => {
12290
- return (event, ...args) => {
12319
+ return fn._withMods || (fn._withMods = (event, ...args) => {
12291
12320
  for (let i = 0; i < modifiers.length; i++) {
12292
12321
  const guard = modifierGuards[modifiers[i]];
12293
12322
  if (guard && guard(event, modifiers))
12294
12323
  return;
12295
12324
  }
12296
12325
  return fn(event, ...args);
12297
- };
12326
+ });
12298
12327
  };
12299
12328
  const keyNames = {
12300
12329
  esc: "escape",
@@ -12322,7 +12351,7 @@ Component that was made reactive: `,
12322
12351
  );
12323
12352
  }
12324
12353
  }
12325
- return (event) => {
12354
+ return fn._withKeys || (fn._withKeys = (event) => {
12326
12355
  if (!("key" in event)) {
12327
12356
  return;
12328
12357
  }
@@ -12350,7 +12379,7 @@ Component that was made reactive: `,
12350
12379
  }
12351
12380
  }
12352
12381
  }
12353
- };
12382
+ });
12354
12383
  };
12355
12384
 
12356
12385
  const rendererOptions = /* @__PURE__ */ extend({ patchProp }, nodeOps);
@@ -16173,6 +16202,9 @@ Use a v-bind binding combined with a v-on listener that emits update:x event ins
16173
16202
  if (isEventHandler && isReservedProp(name)) {
16174
16203
  hasVnodeHook = true;
16175
16204
  }
16205
+ if (isEventHandler && value.type === 14) {
16206
+ value = value.arguments[0];
16207
+ }
16176
16208
  if (value.type === 20 || (value.type === 4 || value.type === 8) && getConstantType(value, context) > 0) {
16177
16209
  return;
16178
16210
  }