vue 2.7.13 → 2.7.15

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.
Files changed (42) hide show
  1. package/dist/vue.common.dev.js +219 -200
  2. package/dist/vue.common.prod.js +5 -5
  3. package/dist/vue.esm.browser.js +219 -200
  4. package/dist/vue.esm.browser.min.js +5 -5
  5. package/dist/vue.esm.js +223 -203
  6. package/dist/vue.js +223 -203
  7. package/dist/vue.min.js +5 -5
  8. package/dist/vue.runtime.common.dev.js +113 -92
  9. package/dist/vue.runtime.common.prod.js +5 -5
  10. package/dist/vue.runtime.esm.js +114 -92
  11. package/dist/vue.runtime.js +114 -92
  12. package/dist/vue.runtime.min.js +5 -5
  13. package/package.json +7 -7
  14. package/packages/compiler-sfc/dist/compiler-sfc.js +43 -28
  15. package/packages/compiler-sfc/node_modules/.bin/lessc +4 -4
  16. package/packages/compiler-sfc/node_modules/.bin/parser +4 -4
  17. package/packages/compiler-sfc/node_modules/.bin/sass +4 -4
  18. package/packages/compiler-sfc/node_modules/.bin/stylus +4 -4
  19. package/packages/compiler-sfc/package.json +1 -1
  20. package/packages/compiler-sfc/src/compileScript.ts +13 -8
  21. package/packages/compiler-sfc/test/__snapshots__/compileScript.spec.ts.snap +41 -9
  22. package/packages/compiler-sfc/test/__snapshots__/cssVars.spec.ts.snap +1 -1
  23. package/packages/compiler-sfc/test/compileScript.spec.ts +45 -1
  24. package/src/compiler/codegen/index.ts +1 -1
  25. package/src/compiler/parser/html-parser.ts +1 -1
  26. package/src/compiler/parser/index.ts +1 -1
  27. package/src/core/instance/lifecycle.ts +8 -2
  28. package/src/core/observer/index.ts +3 -5
  29. package/src/core/util/options.ts +19 -3
  30. package/src/core/vdom/patch.ts +5 -2
  31. package/src/platforms/web/util/element.ts +1 -1
  32. package/src/shared/util.ts +1 -3
  33. package/src/types/utils.ts +1 -1
  34. package/src/v3/apiAsyncComponent.ts +1 -1
  35. package/src/v3/reactivity/reactive.ts +4 -6
  36. package/src/v3/reactivity/readonly.ts +11 -5
  37. package/types/common.d.ts +1 -1
  38. package/types/jsx.d.ts +3 -1
  39. package/types/options.d.ts +1 -1
  40. package/types/v3-setup-helpers.d.ts +5 -1
  41. package/types/vnode.d.ts +2 -1
  42. package/dist/compiler-sfc.js +0 -14
package/dist/vue.js CHANGED
@@ -1,6 +1,6 @@
1
1
  /*!
2
- * Vue.js v2.7.13
3
- * (c) 2014-2022 Evan You
2
+ * Vue.js v2.7.15
3
+ * (c) 2014-2023 Evan You
4
4
  * Released under the MIT License.
5
5
  */
6
6
  (function (global, factory) {
@@ -246,9 +246,7 @@
246
246
  */
247
247
  function genStaticKeys$1(modules) {
248
248
  return modules
249
- .reduce(function (keys, m) {
250
- return keys.concat(m.staticKeys || []);
251
- }, [])
249
+ .reduce(function (keys, m) { return keys.concat(m.staticKeys || []); }, [])
252
250
  .join(',');
253
251
  }
254
252
  /**
@@ -881,79 +879,8 @@
881
879
  });
882
880
  });
883
881
 
884
- var rawMap = new WeakMap();
885
- function reactive(target) {
886
- makeReactive(target, false);
887
- return target;
888
- }
889
- /**
890
- * Return a shallowly-reactive copy of the original object, where only the root
891
- * level properties are reactive. It also does not auto-unwrap refs (even at the
892
- * root level).
893
- */
894
- function shallowReactive(target) {
895
- makeReactive(target, true);
896
- def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
897
- return target;
898
- }
899
- function makeReactive(target, shallow) {
900
- // if trying to observe a readonly proxy, return the readonly version.
901
- if (!isReadonly(target)) {
902
- {
903
- if (isArray(target)) {
904
- warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
905
- }
906
- var existingOb = target && target.__ob__;
907
- if (existingOb && existingOb.shallow !== shallow) {
908
- warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
909
- }
910
- }
911
- var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
912
- if (!ob) {
913
- if (target == null || isPrimitive(target)) {
914
- warn$2("value cannot be made reactive: ".concat(String(target)));
915
- }
916
- if (isCollectionType(target)) {
917
- warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
918
- }
919
- }
920
- }
921
- }
922
- function isReactive(value) {
923
- if (isReadonly(value)) {
924
- return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
925
- }
926
- return !!(value && value.__ob__);
927
- }
928
- function isShallow(value) {
929
- return !!(value && value.__v_isShallow);
930
- }
931
- function isReadonly(value) {
932
- return !!(value && value.__v_isReadonly);
933
- }
934
- function isProxy(value) {
935
- return isReactive(value) || isReadonly(value);
936
- }
937
- function toRaw(observed) {
938
- var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
939
- return raw ? toRaw(raw) : observed;
940
- }
941
- function markRaw(value) {
942
- if (isObject(value)) {
943
- rawMap.set(value, true);
944
- }
945
- return value;
946
- }
947
- /**
948
- * @internal
949
- */
950
- function isCollectionType(value) {
951
- var type = toRawType(value);
952
- return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
953
- }
954
-
955
882
  var arrayKeys = Object.getOwnPropertyNames(arrayMethods);
956
- var NO_INIITIAL_VALUE = {};
883
+ var NO_INITIAL_VALUE = {};
957
884
  /**
958
885
  * In some cases we may want to disable observation inside a component's
959
886
  * update computation.
@@ -1012,7 +939,7 @@
1012
939
  var keys = Object.keys(value);
1013
940
  for (var i = 0; i < keys.length; i++) {
1014
941
  var key = keys[i];
1015
- defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
942
+ defineReactive(value, key, NO_INITIAL_VALUE, undefined, shallow, mock);
1016
943
  }
1017
944
  }
1018
945
  }
@@ -1041,7 +968,6 @@
1041
968
  (isArray(value) || isPlainObject(value)) &&
1042
969
  Object.isExtensible(value) &&
1043
970
  !value.__v_skip /* ReactiveFlags.SKIP */ &&
1044
- !rawMap.has(value) &&
1045
971
  !isRef(value) &&
1046
972
  !(value instanceof VNode)) {
1047
973
  return new Observer(value, shallow, ssrMockReactivity);
@@ -1060,7 +986,7 @@
1060
986
  var getter = property && property.get;
1061
987
  var setter = property && property.set;
1062
988
  if ((!getter || setter) &&
1063
- (val === NO_INIITIAL_VALUE || arguments.length === 2)) {
989
+ (val === NO_INITIAL_VALUE || arguments.length === 2)) {
1064
990
  val = obj[key];
1065
991
  }
1066
992
  var childOb = !shallow && observe(val, false, mock);
@@ -1214,6 +1140,77 @@
1214
1140
  }
1215
1141
  }
1216
1142
 
1143
+ function reactive(target) {
1144
+ makeReactive(target, false);
1145
+ return target;
1146
+ }
1147
+ /**
1148
+ * Return a shallowly-reactive copy of the original object, where only the root
1149
+ * level properties are reactive. It also does not auto-unwrap refs (even at the
1150
+ * root level).
1151
+ */
1152
+ function shallowReactive(target) {
1153
+ makeReactive(target, true);
1154
+ def(target, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
1155
+ return target;
1156
+ }
1157
+ function makeReactive(target, shallow) {
1158
+ // if trying to observe a readonly proxy, return the readonly version.
1159
+ if (!isReadonly(target)) {
1160
+ {
1161
+ if (isArray(target)) {
1162
+ warn$2("Avoid using Array as root value for ".concat(shallow ? "shallowReactive()" : "reactive()", " as it cannot be tracked in watch() or watchEffect(). Use ").concat(shallow ? "shallowRef()" : "ref()", " instead. This is a Vue-2-only limitation."));
1163
+ }
1164
+ var existingOb = target && target.__ob__;
1165
+ if (existingOb && existingOb.shallow !== shallow) {
1166
+ warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
1167
+ }
1168
+ }
1169
+ var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
1170
+ if (!ob) {
1171
+ if (target == null || isPrimitive(target)) {
1172
+ warn$2("value cannot be made reactive: ".concat(String(target)));
1173
+ }
1174
+ if (isCollectionType(target)) {
1175
+ warn$2("Vue 2 does not support reactive collection types such as Map or Set.");
1176
+ }
1177
+ }
1178
+ }
1179
+ }
1180
+ function isReactive(value) {
1181
+ if (isReadonly(value)) {
1182
+ return isReactive(value["__v_raw" /* ReactiveFlags.RAW */]);
1183
+ }
1184
+ return !!(value && value.__ob__);
1185
+ }
1186
+ function isShallow(value) {
1187
+ return !!(value && value.__v_isShallow);
1188
+ }
1189
+ function isReadonly(value) {
1190
+ return !!(value && value.__v_isReadonly);
1191
+ }
1192
+ function isProxy(value) {
1193
+ return isReactive(value) || isReadonly(value);
1194
+ }
1195
+ function toRaw(observed) {
1196
+ var raw = observed && observed["__v_raw" /* ReactiveFlags.RAW */];
1197
+ return raw ? toRaw(raw) : observed;
1198
+ }
1199
+ function markRaw(value) {
1200
+ // non-extensible objects won't be observed anyway
1201
+ if (Object.isExtensible(value)) {
1202
+ def(value, "__v_skip" /* ReactiveFlags.SKIP */, true);
1203
+ }
1204
+ return value;
1205
+ }
1206
+ /**
1207
+ * @internal
1208
+ */
1209
+ function isCollectionType(value) {
1210
+ var type = toRawType(value);
1211
+ return (type === 'Map' || type === 'WeakMap' || type === 'Set' || type === 'WeakSet');
1212
+ }
1213
+
1217
1214
  /**
1218
1215
  * @internal
1219
1216
  */
@@ -1349,8 +1346,8 @@
1349
1346
  return ref;
1350
1347
  }
1351
1348
 
1352
- var rawToReadonlyMap = new WeakMap();
1353
- var rawToShallowReadonlyMap = new WeakMap();
1349
+ var rawToReadonlyFlag = "__v_rawToReadonly";
1350
+ var rawToShallowReadonlyFlag = "__v_rawToShallowReadonly";
1354
1351
  function readonly(target) {
1355
1352
  return createReadonly(target, false);
1356
1353
  }
@@ -1369,18 +1366,21 @@
1369
1366
  }
1370
1367
  return target;
1371
1368
  }
1369
+ if (!Object.isExtensible(target)) {
1370
+ warn$2("Vue 2 does not support creating readonly proxy for non-extensible object.");
1371
+ }
1372
1372
  // already a readonly object
1373
1373
  if (isReadonly(target)) {
1374
1374
  return target;
1375
1375
  }
1376
1376
  // already has a readonly proxy
1377
- var map = shallow ? rawToShallowReadonlyMap : rawToReadonlyMap;
1378
- var existingProxy = map.get(target);
1377
+ var existingFlag = shallow ? rawToShallowReadonlyFlag : rawToReadonlyFlag;
1378
+ var existingProxy = target[existingFlag];
1379
1379
  if (existingProxy) {
1380
1380
  return existingProxy;
1381
1381
  }
1382
1382
  var proxy = Object.create(Object.getPrototypeOf(target));
1383
- map.set(target, proxy);
1383
+ def(target, existingFlag, proxy);
1384
1384
  def(proxy, "__v_isReadonly" /* ReactiveFlags.IS_READONLY */, true);
1385
1385
  def(proxy, "__v_raw" /* ReactiveFlags.RAW */, target);
1386
1386
  if (isRef(target)) {
@@ -2791,6 +2791,112 @@
2791
2791
  };
2792
2792
  }
2793
2793
 
2794
+ var activeEffectScope;
2795
+ var EffectScope = /** @class */ (function () {
2796
+ function EffectScope(detached) {
2797
+ if (detached === void 0) { detached = false; }
2798
+ this.detached = detached;
2799
+ /**
2800
+ * @internal
2801
+ */
2802
+ this.active = true;
2803
+ /**
2804
+ * @internal
2805
+ */
2806
+ this.effects = [];
2807
+ /**
2808
+ * @internal
2809
+ */
2810
+ this.cleanups = [];
2811
+ this.parent = activeEffectScope;
2812
+ if (!detached && activeEffectScope) {
2813
+ this.index =
2814
+ (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
2815
+ }
2816
+ }
2817
+ EffectScope.prototype.run = function (fn) {
2818
+ if (this.active) {
2819
+ var currentEffectScope = activeEffectScope;
2820
+ try {
2821
+ activeEffectScope = this;
2822
+ return fn();
2823
+ }
2824
+ finally {
2825
+ activeEffectScope = currentEffectScope;
2826
+ }
2827
+ }
2828
+ else {
2829
+ warn$2("cannot run an inactive effect scope.");
2830
+ }
2831
+ };
2832
+ /**
2833
+ * This should only be called on non-detached scopes
2834
+ * @internal
2835
+ */
2836
+ EffectScope.prototype.on = function () {
2837
+ activeEffectScope = this;
2838
+ };
2839
+ /**
2840
+ * This should only be called on non-detached scopes
2841
+ * @internal
2842
+ */
2843
+ EffectScope.prototype.off = function () {
2844
+ activeEffectScope = this.parent;
2845
+ };
2846
+ EffectScope.prototype.stop = function (fromParent) {
2847
+ if (this.active) {
2848
+ var i = void 0, l = void 0;
2849
+ for (i = 0, l = this.effects.length; i < l; i++) {
2850
+ this.effects[i].teardown();
2851
+ }
2852
+ for (i = 0, l = this.cleanups.length; i < l; i++) {
2853
+ this.cleanups[i]();
2854
+ }
2855
+ if (this.scopes) {
2856
+ for (i = 0, l = this.scopes.length; i < l; i++) {
2857
+ this.scopes[i].stop(true);
2858
+ }
2859
+ }
2860
+ // nested scope, dereference from parent to avoid memory leaks
2861
+ if (!this.detached && this.parent && !fromParent) {
2862
+ // optimized O(1) removal
2863
+ var last = this.parent.scopes.pop();
2864
+ if (last && last !== this) {
2865
+ this.parent.scopes[this.index] = last;
2866
+ last.index = this.index;
2867
+ }
2868
+ }
2869
+ this.parent = undefined;
2870
+ this.active = false;
2871
+ }
2872
+ };
2873
+ return EffectScope;
2874
+ }());
2875
+ function effectScope(detached) {
2876
+ return new EffectScope(detached);
2877
+ }
2878
+ /**
2879
+ * @internal
2880
+ */
2881
+ function recordEffectScope(effect, scope) {
2882
+ if (scope === void 0) { scope = activeEffectScope; }
2883
+ if (scope && scope.active) {
2884
+ scope.effects.push(effect);
2885
+ }
2886
+ }
2887
+ function getCurrentScope() {
2888
+ return activeEffectScope;
2889
+ }
2890
+ function onScopeDispose(fn) {
2891
+ if (activeEffectScope) {
2892
+ activeEffectScope.cleanups.push(fn);
2893
+ }
2894
+ else {
2895
+ warn$2("onScopeDispose() is called when there is no active effect scope" +
2896
+ " to be associated with.");
2897
+ }
2898
+ }
2899
+
2794
2900
  var activeInstance = null;
2795
2901
  var isUpdatingChildComponent = false;
2796
2902
  function setActiveInstance(vm) {
@@ -3093,7 +3199,8 @@
3093
3199
  if (setContext === void 0) { setContext = true; }
3094
3200
  // #7573 disable dep collection when invoking lifecycle hooks
3095
3201
  pushTarget();
3096
- var prev = currentInstance;
3202
+ var prevInst = currentInstance;
3203
+ var prevScope = getCurrentScope();
3097
3204
  setContext && setCurrentInstance(vm);
3098
3205
  var handlers = vm.$options[hook];
3099
3206
  var info = "".concat(hook, " hook");
@@ -3105,7 +3212,10 @@
3105
3212
  if (vm._hasHookEvent) {
3106
3213
  vm.$emit('hook:' + hook);
3107
3214
  }
3108
- setContext && setCurrentInstance(prev);
3215
+ if (setContext) {
3216
+ setCurrentInstance(prevInst);
3217
+ prevScope && prevScope.on();
3218
+ }
3109
3219
  popTarget();
3110
3220
  }
3111
3221
 
@@ -3491,112 +3601,6 @@
3491
3601
  };
3492
3602
  }
3493
3603
 
3494
- var activeEffectScope;
3495
- var EffectScope = /** @class */ (function () {
3496
- function EffectScope(detached) {
3497
- if (detached === void 0) { detached = false; }
3498
- this.detached = detached;
3499
- /**
3500
- * @internal
3501
- */
3502
- this.active = true;
3503
- /**
3504
- * @internal
3505
- */
3506
- this.effects = [];
3507
- /**
3508
- * @internal
3509
- */
3510
- this.cleanups = [];
3511
- this.parent = activeEffectScope;
3512
- if (!detached && activeEffectScope) {
3513
- this.index =
3514
- (activeEffectScope.scopes || (activeEffectScope.scopes = [])).push(this) - 1;
3515
- }
3516
- }
3517
- EffectScope.prototype.run = function (fn) {
3518
- if (this.active) {
3519
- var currentEffectScope = activeEffectScope;
3520
- try {
3521
- activeEffectScope = this;
3522
- return fn();
3523
- }
3524
- finally {
3525
- activeEffectScope = currentEffectScope;
3526
- }
3527
- }
3528
- else {
3529
- warn$2("cannot run an inactive effect scope.");
3530
- }
3531
- };
3532
- /**
3533
- * This should only be called on non-detached scopes
3534
- * @internal
3535
- */
3536
- EffectScope.prototype.on = function () {
3537
- activeEffectScope = this;
3538
- };
3539
- /**
3540
- * This should only be called on non-detached scopes
3541
- * @internal
3542
- */
3543
- EffectScope.prototype.off = function () {
3544
- activeEffectScope = this.parent;
3545
- };
3546
- EffectScope.prototype.stop = function (fromParent) {
3547
- if (this.active) {
3548
- var i = void 0, l = void 0;
3549
- for (i = 0, l = this.effects.length; i < l; i++) {
3550
- this.effects[i].teardown();
3551
- }
3552
- for (i = 0, l = this.cleanups.length; i < l; i++) {
3553
- this.cleanups[i]();
3554
- }
3555
- if (this.scopes) {
3556
- for (i = 0, l = this.scopes.length; i < l; i++) {
3557
- this.scopes[i].stop(true);
3558
- }
3559
- }
3560
- // nested scope, dereference from parent to avoid memory leaks
3561
- if (!this.detached && this.parent && !fromParent) {
3562
- // optimized O(1) removal
3563
- var last = this.parent.scopes.pop();
3564
- if (last && last !== this) {
3565
- this.parent.scopes[this.index] = last;
3566
- last.index = this.index;
3567
- }
3568
- }
3569
- this.parent = undefined;
3570
- this.active = false;
3571
- }
3572
- };
3573
- return EffectScope;
3574
- }());
3575
- function effectScope(detached) {
3576
- return new EffectScope(detached);
3577
- }
3578
- /**
3579
- * @internal
3580
- */
3581
- function recordEffectScope(effect, scope) {
3582
- if (scope === void 0) { scope = activeEffectScope; }
3583
- if (scope && scope.active) {
3584
- scope.effects.push(effect);
3585
- }
3586
- }
3587
- function getCurrentScope() {
3588
- return activeEffectScope;
3589
- }
3590
- function onScopeDispose(fn) {
3591
- if (activeEffectScope) {
3592
- activeEffectScope.cleanups.push(fn);
3593
- }
3594
- else {
3595
- warn$2("onScopeDispose() is called when there is no active effect scope" +
3596
- " to be associated with.");
3597
- }
3598
- }
3599
-
3600
3604
  function provide(key, value) {
3601
3605
  if (!currentInstance) {
3602
3606
  {
@@ -3891,7 +3895,7 @@
3891
3895
  suspensible = _b === void 0 ? false : _b, // in Vue 3 default is true
3892
3896
  userOnError = source.onError;
3893
3897
  if (suspensible) {
3894
- warn$2("The suspensiblbe option for async components is not supported in Vue2. It is ignored.");
3898
+ warn$2("The suspensible option for async components is not supported in Vue2. It is ignored.");
3895
3899
  }
3896
3900
  var pendingRequest = null;
3897
3901
  var retries = 0;
@@ -3994,7 +3998,7 @@
3994
3998
  /**
3995
3999
  * Note: also update dist/vue.runtime.mjs when adding new exports to this file.
3996
4000
  */
3997
- var version = '2.7.13';
4001
+ var version = '2.7.15';
3998
4002
  /**
3999
4003
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
4000
4004
  */
@@ -5196,7 +5200,8 @@
5196
5200
  /**
5197
5201
  * Helper that recursively merges two data objects together.
5198
5202
  */
5199
- function mergeData(to, from) {
5203
+ function mergeData(to, from, recursive) {
5204
+ if (recursive === void 0) { recursive = true; }
5200
5205
  if (!from)
5201
5206
  return to;
5202
5207
  var key, toVal, fromVal;
@@ -5210,7 +5215,7 @@
5210
5215
  continue;
5211
5216
  toVal = to[key];
5212
5217
  fromVal = from[key];
5213
- if (!hasOwn(to, key)) {
5218
+ if (!recursive || !hasOwn(to, key)) {
5214
5219
  set(to, key, fromVal);
5215
5220
  }
5216
5221
  else if (toVal !== fromVal &&
@@ -5370,7 +5375,19 @@
5370
5375
  extend(ret, childVal);
5371
5376
  return ret;
5372
5377
  };
5373
- strats.provide = mergeDataOrFn;
5378
+ strats.provide = function (parentVal, childVal) {
5379
+ if (!parentVal)
5380
+ return childVal;
5381
+ return function () {
5382
+ var ret = Object.create(null);
5383
+ mergeData(ret, isFunction(parentVal) ? parentVal.call(this) : parentVal);
5384
+ if (childVal) {
5385
+ mergeData(ret, isFunction(childVal) ? childVal.call(this) : childVal, false // non-recursive
5386
+ );
5387
+ }
5388
+ return ret;
5389
+ };
5390
+ };
5374
5391
  /**
5375
5392
  * Default strategy.
5376
5393
  */
@@ -6251,7 +6268,7 @@
6251
6268
  }
6252
6269
  var el = document.createElement(tag);
6253
6270
  if (tag.indexOf('-') > -1) {
6254
- // http://stackoverflow.com/a/28210364/1070244
6271
+ // https://stackoverflow.com/a/28210364/1070244
6255
6272
  return (unknownElementCache[tag] =
6256
6273
  el.constructor === window.HTMLUnknownElement ||
6257
6274
  el.constructor === window.HTMLElement);
@@ -7126,8 +7143,11 @@
7126
7143
  var insert_1 = ancestor.data.hook.insert;
7127
7144
  if (insert_1.merged) {
7128
7145
  // start at index 1 to avoid re-invoking component mounted hook
7129
- for (var i_10 = 1; i_10 < insert_1.fns.length; i_10++) {
7130
- insert_1.fns[i_10]();
7146
+ // clone insert hooks to avoid being mutated during iteration.
7147
+ // e.g. for customed directives under transition group.
7148
+ var cloned = insert_1.fns.slice(1);
7149
+ for (var i_10 = 0; i_10 < cloned.length; i_10++) {
7150
+ cloned[i_10]();
7131
7151
  }
7132
7152
  }
7133
7153
  }
@@ -9516,7 +9536,7 @@
9516
9536
  return "continue";
9517
9537
  }
9518
9538
  }
9519
- // http://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
9539
+ // https://en.wikipedia.org/wiki/Conditional_comment#Downlevel-revealed_conditional_comment
9520
9540
  if (conditionalComment.test(html)) {
9521
9541
  var conditionalEnd = html.indexOf(']>');
9522
9542
  if (conditionalEnd >= 0) {
@@ -11124,7 +11144,7 @@
11124
11144
  !el.key) {
11125
11145
  state.warn("<".concat(el.tag, " v-for=\"").concat(alias, " in ").concat(exp, "\">: component lists rendered with ") +
11126
11146
  "v-for should have explicit keys. " +
11127
- "See https://vuejs.org/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11147
+ "See https://v2.vuejs.org/v2/guide/list.html#key for more info.", el.rawAttrsMap['v-for'], true /* tip */);
11128
11148
  }
11129
11149
  el.forProcessed = true; // avoid recursion
11130
11150
  return ("".concat(altHelper || '_l', "((").concat(exp, "),") +