vue 2.7.2 → 2.7.3

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.
package/dist/vue.esm.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vue.js v2.7.2
2
+ * Vue.js v2.7.3
3
3
  * (c) 2014-2022 Evan You
4
4
  * Released under the MIT License.
5
5
  */
@@ -334,7 +334,9 @@ var LIFECYCLE_HOOKS = [
334
334
  'activated',
335
335
  'deactivated',
336
336
  'errorCaptured',
337
- 'serverPrefetch'
337
+ 'serverPrefetch',
338
+ 'renderTracked',
339
+ 'renderTriggered'
338
340
  ];
339
341
 
340
342
  var config = {
@@ -889,7 +891,7 @@ function makeReactive(target, shallow) {
889
891
  warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
890
892
  }
891
893
  }
892
- var ob = observe(target, shallow);
894
+ var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
893
895
  if (process.env.NODE_ENV !== 'production' && !ob) {
894
896
  if (target == null || isPrimitive(target)) {
895
897
  warn$2("value cannot be made reactive: ".concat(String(target)));
@@ -951,7 +953,7 @@ function createRef(rawValue, shallow) {
951
953
  var ref = {};
952
954
  def(ref, RefFlag, true);
953
955
  def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
954
- ref.dep = defineReactive(ref, 'value', rawValue, null, shallow);
956
+ def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
955
957
  return ref;
956
958
  }
957
959
  function triggerRef(ref) {
@@ -4712,7 +4714,7 @@ var onServerPrefetch = createLifeCycle('serverPrefetch');
4712
4714
  var onRenderTracked = createLifeCycle('renderTracked');
4713
4715
  var onRenderTriggered = createLifeCycle('renderTriggered');
4714
4716
 
4715
- var version = '2.7.2';
4717
+ var version = '2.7.3';
4716
4718
  /**
4717
4719
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
4718
4720
  */
@@ -4730,6 +4732,13 @@ var shouldObserve = true;
4730
4732
  function toggleObserving(value) {
4731
4733
  shouldObserve = value;
4732
4734
  }
4735
+ // ssr mock dep
4736
+ var mockDep = {
4737
+ notify: noop,
4738
+ depend: noop,
4739
+ addSub: noop,
4740
+ removeSub: noop
4741
+ };
4733
4742
  /**
4734
4743
  * Observer class that is attached to each observed
4735
4744
  * object. Once attached, the observer converts the target
@@ -4737,78 +4746,63 @@ function toggleObserving(value) {
4737
4746
  * collect dependencies and dispatch updates.
4738
4747
  */
4739
4748
  var Observer = /** @class */ (function () {
4740
- function Observer(value, shallow) {
4749
+ function Observer(value, shallow, mock) {
4741
4750
  if (shallow === void 0) { shallow = false; }
4751
+ if (mock === void 0) { mock = false; }
4742
4752
  this.value = value;
4743
4753
  this.shallow = shallow;
4754
+ this.mock = mock;
4744
4755
  // this.value = value
4745
- this.dep = new Dep();
4756
+ this.dep = mock ? mockDep : new Dep();
4746
4757
  this.vmCount = 0;
4747
4758
  def(value, '__ob__', this);
4748
4759
  if (isArray(value)) {
4749
- if (hasProto) {
4750
- protoAugment(value, arrayMethods);
4751
- }
4752
- else {
4753
- copyAugment(value, arrayMethods, arrayKeys);
4760
+ if (!mock) {
4761
+ if (hasProto) {
4762
+ value.__proto__ = arrayMethods;
4763
+ /* eslint-enable no-proto */
4764
+ }
4765
+ else {
4766
+ for (var i = 0, l = arrayKeys.length; i < l; i++) {
4767
+ var key = arrayKeys[i];
4768
+ def(value, key, arrayMethods[key]);
4769
+ }
4770
+ }
4754
4771
  }
4755
4772
  if (!shallow) {
4756
4773
  this.observeArray(value);
4757
4774
  }
4758
4775
  }
4759
4776
  else {
4760
- this.walk(value, shallow);
4777
+ /**
4778
+ * Walk through all properties and convert them into
4779
+ * getter/setters. This method should only be called when
4780
+ * value type is Object.
4781
+ */
4782
+ var keys = Object.keys(value);
4783
+ for (var i = 0; i < keys.length; i++) {
4784
+ var key = keys[i];
4785
+ defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
4786
+ }
4761
4787
  }
4762
4788
  }
4763
- /**
4764
- * Walk through all properties and convert them into
4765
- * getter/setters. This method should only be called when
4766
- * value type is Object.
4767
- */
4768
- Observer.prototype.walk = function (obj, shallow) {
4769
- var keys = Object.keys(obj);
4770
- for (var i = 0; i < keys.length; i++) {
4771
- var key = keys[i];
4772
- defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
4773
- }
4774
- };
4775
4789
  /**
4776
4790
  * Observe a list of Array items.
4777
4791
  */
4778
- Observer.prototype.observeArray = function (items) {
4779
- for (var i = 0, l = items.length; i < l; i++) {
4780
- observe(items[i]);
4792
+ Observer.prototype.observeArray = function (value) {
4793
+ for (var i = 0, l = value.length; i < l; i++) {
4794
+ observe(value[i], false, this.mock);
4781
4795
  }
4782
4796
  };
4783
4797
  return Observer;
4784
4798
  }());
4785
4799
  // helpers
4786
- /**
4787
- * Augment a target Object or Array by intercepting
4788
- * the prototype chain using __proto__
4789
- */
4790
- function protoAugment(target, src) {
4791
- /* eslint-disable no-proto */
4792
- target.__proto__ = src;
4793
- /* eslint-enable no-proto */
4794
- }
4795
- /**
4796
- * Augment a target Object or Array by defining
4797
- * hidden properties.
4798
- */
4799
- /* istanbul ignore next */
4800
- function copyAugment(target, src, keys) {
4801
- for (var i = 0, l = keys.length; i < l; i++) {
4802
- var key = keys[i];
4803
- def(target, key, src[key]);
4804
- }
4805
- }
4806
4800
  /**
4807
4801
  * Attempt to create an observer instance for a value,
4808
4802
  * returns the new observer if successfully observed,
4809
4803
  * or the existing observer if the value already has one.
4810
4804
  */
4811
- function observe(value, shallow) {
4805
+ function observe(value, shallow, ssrMockReactivity) {
4812
4806
  if (!isObject(value) || isRef(value) || value instanceof VNode) {
4813
4807
  return;
4814
4808
  }
@@ -4817,18 +4811,18 @@ function observe(value, shallow) {
4817
4811
  ob = value.__ob__;
4818
4812
  }
4819
4813
  else if (shouldObserve &&
4820
- !isServerRendering() &&
4814
+ (ssrMockReactivity || !isServerRendering()) &&
4821
4815
  (isArray(value) || isPlainObject(value)) &&
4822
4816
  Object.isExtensible(value) &&
4823
- !value.__v_skip) {
4824
- ob = new Observer(value, shallow);
4817
+ !value.__v_skip /* ReactiveFlags.SKIP */) {
4818
+ ob = new Observer(value, shallow, ssrMockReactivity);
4825
4819
  }
4826
4820
  return ob;
4827
4821
  }
4828
4822
  /**
4829
4823
  * Define a reactive property on an Object.
4830
4824
  */
4831
- function defineReactive(obj, key, val, customSetter, shallow) {
4825
+ function defineReactive(obj, key, val, customSetter, shallow, mock) {
4832
4826
  var dep = new Dep();
4833
4827
  var property = Object.getOwnPropertyDescriptor(obj, key);
4834
4828
  if (property && property.configurable === false) {
@@ -4841,7 +4835,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
4841
4835
  (val === NO_INIITIAL_VALUE || arguments.length === 2)) {
4842
4836
  val = obj[key];
4843
4837
  }
4844
- var childOb = !shallow && observe(val);
4838
+ var childOb = !shallow && observe(val, false, mock);
4845
4839
  Object.defineProperty(obj, key, {
4846
4840
  enumerable: true,
4847
4841
  configurable: true,
@@ -4889,7 +4883,7 @@ function defineReactive(obj, key, val, customSetter, shallow) {
4889
4883
  else {
4890
4884
  val = newVal;
4891
4885
  }
4892
- childOb = !shallow && observe(newVal);
4886
+ childOb = !shallow && observe(newVal, false, mock);
4893
4887
  if (process.env.NODE_ENV !== 'production') {
4894
4888
  dep.notify({
4895
4889
  type: "set" /* TriggerOpTypes.SET */,
@@ -4914,16 +4908,20 @@ function set(target, key, val) {
4914
4908
  process.env.NODE_ENV !== 'production' && warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
4915
4909
  return;
4916
4910
  }
4911
+ var ob = target.__ob__;
4917
4912
  if (isArray(target) && isValidArrayIndex(key)) {
4918
4913
  target.length = Math.max(target.length, key);
4919
4914
  target.splice(key, 1, val);
4915
+ // when mocking for SSR, array methods are not hijacked
4916
+ if (!ob.shallow && ob.mock) {
4917
+ observe(val, false, true);
4918
+ }
4920
4919
  return val;
4921
4920
  }
4922
4921
  if (key in target && !(key in Object.prototype)) {
4923
4922
  target[key] = val;
4924
4923
  return val;
4925
4924
  }
4926
- var ob = target.__ob__;
4927
4925
  if (target._isVue || (ob && ob.vmCount)) {
4928
4926
  process.env.NODE_ENV !== 'production' &&
4929
4927
  warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' +
@@ -4934,7 +4932,7 @@ function set(target, key, val) {
4934
4932
  target[key] = val;
4935
4933
  return val;
4936
4934
  }
4937
- defineReactive(ob.value, key, val);
4935
+ defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
4938
4936
  if (process.env.NODE_ENV !== 'production') {
4939
4937
  ob.dep.notify({
4940
4938
  type: "add" /* TriggerOpTypes.ADD */,
package/dist/vue.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /*!
2
- * Vue.js v2.7.2
2
+ * Vue.js v2.7.3
3
3
  * (c) 2014-2022 Evan You
4
4
  * Released under the MIT License.
5
5
  */
@@ -340,7 +340,9 @@
340
340
  'activated',
341
341
  'deactivated',
342
342
  'errorCaptured',
343
- 'serverPrefetch'
343
+ 'serverPrefetch',
344
+ 'renderTracked',
345
+ 'renderTriggered'
344
346
  ];
345
347
 
346
348
  var config = {
@@ -892,7 +894,7 @@
892
894
  warn$2("Target is already a ".concat(existingOb.shallow ? "" : "non-", "shallow reactive object, and cannot be converted to ").concat(shallow ? "" : "non-", "shallow."));
893
895
  }
894
896
  }
895
- var ob = observe(target, shallow);
897
+ var ob = observe(target, shallow, isServerRendering() /* ssr mock reactivity */);
896
898
  if (!ob) {
897
899
  if (target == null || isPrimitive(target)) {
898
900
  warn$2("value cannot be made reactive: ".concat(String(target)));
@@ -954,7 +956,7 @@
954
956
  var ref = {};
955
957
  def(ref, RefFlag, true);
956
958
  def(ref, "__v_isShallow" /* ReactiveFlags.IS_SHALLOW */, true);
957
- ref.dep = defineReactive(ref, 'value', rawValue, null, shallow);
959
+ def(ref, 'dep', defineReactive(ref, 'value', rawValue, null, shallow, isServerRendering()));
958
960
  return ref;
959
961
  }
960
962
  function triggerRef(ref) {
@@ -4670,7 +4672,7 @@
4670
4672
  var onRenderTracked = createLifeCycle('renderTracked');
4671
4673
  var onRenderTriggered = createLifeCycle('renderTriggered');
4672
4674
 
4673
- var version = '2.7.2';
4675
+ var version = '2.7.3';
4674
4676
  /**
4675
4677
  * @internal type is manually declared in <root>/types/v3-define-component.d.ts
4676
4678
  */
@@ -4746,6 +4748,13 @@
4746
4748
  function toggleObserving(value) {
4747
4749
  shouldObserve = value;
4748
4750
  }
4751
+ // ssr mock dep
4752
+ var mockDep = {
4753
+ notify: noop,
4754
+ depend: noop,
4755
+ addSub: noop,
4756
+ removeSub: noop
4757
+ };
4749
4758
  /**
4750
4759
  * Observer class that is attached to each observed
4751
4760
  * object. Once attached, the observer converts the target
@@ -4753,78 +4762,63 @@
4753
4762
  * collect dependencies and dispatch updates.
4754
4763
  */
4755
4764
  var Observer = /** @class */ (function () {
4756
- function Observer(value, shallow) {
4765
+ function Observer(value, shallow, mock) {
4757
4766
  if (shallow === void 0) { shallow = false; }
4767
+ if (mock === void 0) { mock = false; }
4758
4768
  this.value = value;
4759
4769
  this.shallow = shallow;
4770
+ this.mock = mock;
4760
4771
  // this.value = value
4761
- this.dep = new Dep();
4772
+ this.dep = mock ? mockDep : new Dep();
4762
4773
  this.vmCount = 0;
4763
4774
  def(value, '__ob__', this);
4764
4775
  if (isArray(value)) {
4765
- if (hasProto) {
4766
- protoAugment(value, arrayMethods);
4767
- }
4768
- else {
4769
- copyAugment(value, arrayMethods, arrayKeys);
4776
+ if (!mock) {
4777
+ if (hasProto) {
4778
+ value.__proto__ = arrayMethods;
4779
+ /* eslint-enable no-proto */
4780
+ }
4781
+ else {
4782
+ for (var i = 0, l = arrayKeys.length; i < l; i++) {
4783
+ var key = arrayKeys[i];
4784
+ def(value, key, arrayMethods[key]);
4785
+ }
4786
+ }
4770
4787
  }
4771
4788
  if (!shallow) {
4772
4789
  this.observeArray(value);
4773
4790
  }
4774
4791
  }
4775
4792
  else {
4776
- this.walk(value, shallow);
4793
+ /**
4794
+ * Walk through all properties and convert them into
4795
+ * getter/setters. This method should only be called when
4796
+ * value type is Object.
4797
+ */
4798
+ var keys = Object.keys(value);
4799
+ for (var i = 0; i < keys.length; i++) {
4800
+ var key = keys[i];
4801
+ defineReactive(value, key, NO_INIITIAL_VALUE, undefined, shallow, mock);
4802
+ }
4777
4803
  }
4778
4804
  }
4779
- /**
4780
- * Walk through all properties and convert them into
4781
- * getter/setters. This method should only be called when
4782
- * value type is Object.
4783
- */
4784
- Observer.prototype.walk = function (obj, shallow) {
4785
- var keys = Object.keys(obj);
4786
- for (var i = 0; i < keys.length; i++) {
4787
- var key = keys[i];
4788
- defineReactive(obj, key, NO_INIITIAL_VALUE, undefined, shallow);
4789
- }
4790
- };
4791
4805
  /**
4792
4806
  * Observe a list of Array items.
4793
4807
  */
4794
- Observer.prototype.observeArray = function (items) {
4795
- for (var i = 0, l = items.length; i < l; i++) {
4796
- observe(items[i]);
4808
+ Observer.prototype.observeArray = function (value) {
4809
+ for (var i = 0, l = value.length; i < l; i++) {
4810
+ observe(value[i], false, this.mock);
4797
4811
  }
4798
4812
  };
4799
4813
  return Observer;
4800
4814
  }());
4801
4815
  // helpers
4802
- /**
4803
- * Augment a target Object or Array by intercepting
4804
- * the prototype chain using __proto__
4805
- */
4806
- function protoAugment(target, src) {
4807
- /* eslint-disable no-proto */
4808
- target.__proto__ = src;
4809
- /* eslint-enable no-proto */
4810
- }
4811
- /**
4812
- * Augment a target Object or Array by defining
4813
- * hidden properties.
4814
- */
4815
- /* istanbul ignore next */
4816
- function copyAugment(target, src, keys) {
4817
- for (var i = 0, l = keys.length; i < l; i++) {
4818
- var key = keys[i];
4819
- def(target, key, src[key]);
4820
- }
4821
- }
4822
4816
  /**
4823
4817
  * Attempt to create an observer instance for a value,
4824
4818
  * returns the new observer if successfully observed,
4825
4819
  * or the existing observer if the value already has one.
4826
4820
  */
4827
- function observe(value, shallow) {
4821
+ function observe(value, shallow, ssrMockReactivity) {
4828
4822
  if (!isObject(value) || isRef(value) || value instanceof VNode) {
4829
4823
  return;
4830
4824
  }
@@ -4833,18 +4827,18 @@
4833
4827
  ob = value.__ob__;
4834
4828
  }
4835
4829
  else if (shouldObserve &&
4836
- !isServerRendering() &&
4830
+ (ssrMockReactivity || !isServerRendering()) &&
4837
4831
  (isArray(value) || isPlainObject(value)) &&
4838
4832
  Object.isExtensible(value) &&
4839
- !value.__v_skip) {
4840
- ob = new Observer(value, shallow);
4833
+ !value.__v_skip /* ReactiveFlags.SKIP */) {
4834
+ ob = new Observer(value, shallow, ssrMockReactivity);
4841
4835
  }
4842
4836
  return ob;
4843
4837
  }
4844
4838
  /**
4845
4839
  * Define a reactive property on an Object.
4846
4840
  */
4847
- function defineReactive(obj, key, val, customSetter, shallow) {
4841
+ function defineReactive(obj, key, val, customSetter, shallow, mock) {
4848
4842
  var dep = new Dep();
4849
4843
  var property = Object.getOwnPropertyDescriptor(obj, key);
4850
4844
  if (property && property.configurable === false) {
@@ -4857,7 +4851,7 @@
4857
4851
  (val === NO_INIITIAL_VALUE || arguments.length === 2)) {
4858
4852
  val = obj[key];
4859
4853
  }
4860
- var childOb = !shallow && observe(val);
4854
+ var childOb = !shallow && observe(val, false, mock);
4861
4855
  Object.defineProperty(obj, key, {
4862
4856
  enumerable: true,
4863
4857
  configurable: true,
@@ -4902,7 +4896,7 @@
4902
4896
  else {
4903
4897
  val = newVal;
4904
4898
  }
4905
- childOb = !shallow && observe(newVal);
4899
+ childOb = !shallow && observe(newVal, false, mock);
4906
4900
  {
4907
4901
  dep.notify({
4908
4902
  type: "set" /* TriggerOpTypes.SET */,
@@ -4924,16 +4918,20 @@
4924
4918
  warn$2("Set operation on key \"".concat(key, "\" failed: target is readonly."));
4925
4919
  return;
4926
4920
  }
4921
+ var ob = target.__ob__;
4927
4922
  if (isArray(target) && isValidArrayIndex(key)) {
4928
4923
  target.length = Math.max(target.length, key);
4929
4924
  target.splice(key, 1, val);
4925
+ // when mocking for SSR, array methods are not hijacked
4926
+ if (!ob.shallow && ob.mock) {
4927
+ observe(val, false, true);
4928
+ }
4930
4929
  return val;
4931
4930
  }
4932
4931
  if (key in target && !(key in Object.prototype)) {
4933
4932
  target[key] = val;
4934
4933
  return val;
4935
4934
  }
4936
- var ob = target.__ob__;
4937
4935
  if (target._isVue || (ob && ob.vmCount)) {
4938
4936
  warn$2('Avoid adding reactive properties to a Vue instance or its root $data ' +
4939
4937
  'at runtime - declare it upfront in the data option.');
@@ -4943,7 +4941,7 @@
4943
4941
  target[key] = val;
4944
4942
  return val;
4945
4943
  }
4946
- defineReactive(ob.value, key, val);
4944
+ defineReactive(ob.value, key, val, undefined, ob.shallow, ob.mock);
4947
4945
  {
4948
4946
  ob.dep.notify({
4949
4947
  type: "add" /* TriggerOpTypes.ADD */,