@vue/compat 3.5.0-beta.1 → 3.5.0-beta.2

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.cjs.js CHANGED
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.0-beta.1
2
+ * @vue/compat v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -7,7 +7,7 @@
7
7
 
8
8
  var parser = require('@babel/parser');
9
9
  var estreeWalker = require('estree-walker');
10
- var decode_js = require('entities/dist/decode.js');
10
+ var decode_js = require('entities/lib/decode.js');
11
11
  var sourceMapJs = require('source-map-js');
12
12
 
13
13
  /*! #__NO_SIDE_EFFECTS__ */
@@ -583,11 +583,11 @@ class ReactiveEffect {
583
583
  }
584
584
  }
585
585
  pause() {
586
- this.flags |= 128;
586
+ this.flags |= 64;
587
587
  }
588
588
  resume() {
589
- if (this.flags & 128) {
590
- this.flags &= ~128;
589
+ if (this.flags & 64) {
590
+ this.flags &= ~64;
591
591
  if (pausedQueueEffects.has(this)) {
592
592
  pausedQueueEffects.delete(this);
593
593
  this.trigger();
@@ -601,9 +601,6 @@ class ReactiveEffect {
601
601
  if (this.flags & 2 && !(this.flags & 32)) {
602
602
  return;
603
603
  }
604
- if (this.flags & 64) {
605
- return this.trigger();
606
- }
607
604
  if (!(this.flags & 8)) {
608
605
  this.flags |= 8;
609
606
  this.nextEffect = batchedEffect;
@@ -647,7 +644,7 @@ class ReactiveEffect {
647
644
  }
648
645
  }
649
646
  trigger() {
650
- if (this.flags & 128) {
647
+ if (this.flags & 64) {
651
648
  pausedQueueEffects.add(this);
652
649
  } else if (this.scheduler) {
653
650
  this.scheduler();
@@ -677,6 +674,7 @@ function endBatch() {
677
674
  batchDepth--;
678
675
  return;
679
676
  }
677
+ batchDepth--;
680
678
  let error;
681
679
  while (batchedEffect) {
682
680
  let e = batchedEffect;
@@ -695,7 +693,6 @@ function endBatch() {
695
693
  e = next;
696
694
  }
697
695
  }
698
- batchDepth--;
699
696
  if (error) throw error;
700
697
  }
701
698
  function prepareDeps(sub) {
@@ -1098,26 +1095,26 @@ const arrayInstrumentations = {
1098
1095
  });
1099
1096
  },
1100
1097
  every(fn, thisArg) {
1101
- return apply(this, "every", fn, thisArg);
1098
+ return apply(this, "every", fn, thisArg, void 0, arguments);
1102
1099
  },
1103
1100
  filter(fn, thisArg) {
1104
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive));
1101
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
1105
1102
  },
1106
1103
  find(fn, thisArg) {
1107
- return apply(this, "find", fn, thisArg, toReactive);
1104
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
1108
1105
  },
1109
1106
  findIndex(fn, thisArg) {
1110
- return apply(this, "findIndex", fn, thisArg);
1107
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
1111
1108
  },
1112
1109
  findLast(fn, thisArg) {
1113
- return apply(this, "findLast", fn, thisArg, toReactive);
1110
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
1114
1111
  },
1115
1112
  findLastIndex(fn, thisArg) {
1116
- return apply(this, "findLastIndex", fn, thisArg);
1113
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
1117
1114
  },
1118
1115
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
1119
1116
  forEach(fn, thisArg) {
1120
- return apply(this, "forEach", fn, thisArg);
1117
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
1121
1118
  },
1122
1119
  includes(...args) {
1123
1120
  return searchProxy(this, "includes", args);
@@ -1133,7 +1130,7 @@ const arrayInstrumentations = {
1133
1130
  return searchProxy(this, "lastIndexOf", args);
1134
1131
  },
1135
1132
  map(fn, thisArg) {
1136
- return apply(this, "map", fn, thisArg);
1133
+ return apply(this, "map", fn, thisArg, void 0, arguments);
1137
1134
  },
1138
1135
  pop() {
1139
1136
  return noTracking(this, "pop");
@@ -1152,7 +1149,7 @@ const arrayInstrumentations = {
1152
1149
  },
1153
1150
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
1154
1151
  some(fn, thisArg) {
1155
- return apply(this, "some", fn, thisArg);
1152
+ return apply(this, "some", fn, thisArg, void 0, arguments);
1156
1153
  },
1157
1154
  splice(...args) {
1158
1155
  return noTracking(this, "splice", args);
@@ -1188,8 +1185,13 @@ function iterator(self, method, wrapValue) {
1188
1185
  }
1189
1186
  return iter;
1190
1187
  }
1191
- function apply(self, method, fn, thisArg, wrappedRetFn) {
1188
+ const arrayProto = Array.prototype;
1189
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1192
1190
  const arr = shallowReadArray(self);
1191
+ let methodFn;
1192
+ if ((methodFn = arr[method]) !== arrayProto[method]) {
1193
+ return methodFn.apply(arr, args);
1194
+ }
1193
1195
  let needsWrap = false;
1194
1196
  let wrappedFn = fn;
1195
1197
  if (arr !== self) {
@@ -1204,7 +1206,7 @@ function apply(self, method, fn, thisArg, wrappedRetFn) {
1204
1206
  };
1205
1207
  }
1206
1208
  }
1207
- const result = arr[method](wrappedFn, thisArg);
1209
+ const result = methodFn.call(arr, wrappedFn, thisArg);
1208
1210
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
1209
1211
  }
1210
1212
  function reduce(self, method, fn, args) {
@@ -4140,6 +4142,7 @@ const logMismatchError = () => {
4140
4142
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
4141
4143
  const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
4142
4144
  const getContainerType = (container) => {
4145
+ if (container.nodeType !== 1) return void 0;
4143
4146
  if (isSVGContainer(container)) return "svg";
4144
4147
  if (isMathMLContainer(container)) return "mathml";
4145
4148
  return void 0;
@@ -5068,7 +5071,7 @@ const KeepAliveImpl = {
5068
5071
  function pruneCache(filter) {
5069
5072
  cache.forEach((vnode, key) => {
5070
5073
  const name = getComponentName(vnode.type);
5071
- if (name && (!filter || !filter(name))) {
5074
+ if (name && !filter(name)) {
5072
5075
  pruneCacheEntry(key);
5073
5076
  }
5074
5077
  });
@@ -5190,6 +5193,7 @@ function matches(pattern, name) {
5190
5193
  } else if (isString(pattern)) {
5191
5194
  return pattern.split(",").includes(name);
5192
5195
  } else if (isRegExp(pattern)) {
5196
+ pattern.lastIndex = 0;
5193
5197
  return pattern.test(name);
5194
5198
  }
5195
5199
  return false;
@@ -6874,7 +6878,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
6874
6878
  return vm;
6875
6879
  }
6876
6880
  }
6877
- Vue.version = `2.6.14-compat:${"3.5.0-beta.1"}`;
6881
+ Vue.version = `2.6.14-compat:${"3.5.0-beta.2"}`;
6878
6882
  Vue.config = singletonApp.config;
6879
6883
  Vue.use = (plugin, ...options) => {
6880
6884
  if (plugin && isFunction(plugin.install)) {
@@ -9826,7 +9830,6 @@ function doWatch(source, cb, {
9826
9830
  const effect = new ReactiveEffect(getter);
9827
9831
  let scheduler;
9828
9832
  if (flush === "sync") {
9829
- effect.flags |= 64;
9830
9833
  scheduler = job;
9831
9834
  } else if (flush === "post") {
9832
9835
  scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
@@ -12178,7 +12181,7 @@ function isMemoSame(cached, memo) {
12178
12181
  return true;
12179
12182
  }
12180
12183
 
12181
- const version = "3.5.0-beta.1";
12184
+ const version = "3.5.0-beta.2";
12182
12185
  const warn = warn$1 ;
12183
12186
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
12184
12187
  const devtools = devtools$1 ;
@@ -13069,7 +13072,6 @@ class VueElement extends BaseClass {
13069
13072
  this._ob = null;
13070
13073
  if (this.shadowRoot && _createApp !== createApp) {
13071
13074
  this._root = this.shadowRoot;
13072
- this._mount(_def);
13073
13075
  } else {
13074
13076
  if (this.shadowRoot) {
13075
13077
  warn(
@@ -13082,9 +13084,9 @@ class VueElement extends BaseClass {
13082
13084
  } else {
13083
13085
  this._root = this;
13084
13086
  }
13085
- if (!this._def.__asyncLoader) {
13086
- this._resolveProps(this._def);
13087
- }
13087
+ }
13088
+ if (!this._def.__asyncLoader) {
13089
+ this._resolveProps(this._def);
13088
13090
  }
13089
13091
  }
13090
13092
  connectedCallback() {
@@ -13284,6 +13286,7 @@ class VueElement extends BaseClass {
13284
13286
  vnode.ce = (instance) => {
13285
13287
  this._instance = instance;
13286
13288
  instance.ce = this;
13289
+ instance.isCE = true;
13287
13290
  {
13288
13291
  instance.ceReload = (newStyles) => {
13289
13292
  if (this._styles) {
@@ -15880,10 +15883,11 @@ function isCoreComponent(tag) {
15880
15883
  }
15881
15884
  const nonIdentifierRE = /^\d|[^\$\w\xA0-\uFFFF]/;
15882
15885
  const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
15883
- const isMemberExpressionNode = (path, context) => {
15886
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
15887
+ const isMemberExpressionNode = (exp, context) => {
15884
15888
  try {
15885
- let ret = parser.parseExpression(path, {
15886
- plugins: context.expressionPlugins
15889
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
15890
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
15887
15891
  });
15888
15892
  ret = unwrapTSNode(ret);
15889
15893
  return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined";
@@ -15892,6 +15896,24 @@ const isMemberExpressionNode = (path, context) => {
15892
15896
  }
15893
15897
  };
15894
15898
  const isMemberExpression = isMemberExpressionNode;
15899
+ const isFnExpressionNode = (exp, context) => {
15900
+ try {
15901
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
15902
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
15903
+ });
15904
+ if (ret.type === "Program") {
15905
+ ret = ret.body[0];
15906
+ if (ret.type === "ExpressionStatement") {
15907
+ ret = ret.expression;
15908
+ }
15909
+ }
15910
+ ret = unwrapTSNode(ret);
15911
+ return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression";
15912
+ } catch (e) {
15913
+ return false;
15914
+ }
15915
+ };
15916
+ const isFnExpression = isFnExpressionNode;
15895
15917
  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
15896
15918
  return advancePositionWithMutation(
15897
15919
  {
@@ -19993,7 +20015,6 @@ function processSlotOutlet(node, context) {
19993
20015
  };
19994
20016
  }
19995
20017
 
19996
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
19997
20018
  const transformOn$1 = (dir, node, context, augmentor) => {
19998
20019
  const { loc, modifiers, arg } = dir;
19999
20020
  if (!dir.exp && !modifiers.length) {
@@ -20037,8 +20058,8 @@ const transformOn$1 = (dir, node, context, augmentor) => {
20037
20058
  }
20038
20059
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
20039
20060
  if (exp) {
20040
- const isMemberExp = isMemberExpression(exp.content, context);
20041
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
20061
+ const isMemberExp = isMemberExpression(exp, context);
20062
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp, context));
20042
20063
  const hasMultipleStatements = exp.content.includes(`;`);
20043
20064
  if (context.prefixIdentifiers) {
20044
20065
  isInlineStatement && context.addIdentifiers(`$event`);
@@ -20208,7 +20229,7 @@ const transformModel$1 = (dir, node, context) => {
20208
20229
  return createTransformProps();
20209
20230
  }
20210
20231
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
20211
- if (!expString.trim() || !isMemberExpression(expString, context) && !maybeRef) {
20232
+ if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
20212
20233
  context.onError(
20213
20234
  createCompilerError(42, exp.loc)
20214
20235
  );
@@ -1,5 +1,5 @@
1
1
  /**
2
- * @vue/compat v3.5.0-beta.1
2
+ * @vue/compat v3.5.0-beta.2
3
3
  * (c) 2018-present Yuxi (Evan) You and Vue contributors
4
4
  * @license MIT
5
5
  **/
@@ -7,7 +7,7 @@
7
7
 
8
8
  var parser = require('@babel/parser');
9
9
  var estreeWalker = require('estree-walker');
10
- var decode_js = require('entities/dist/decode.js');
10
+ var decode_js = require('entities/lib/decode.js');
11
11
  var sourceMapJs = require('source-map-js');
12
12
 
13
13
  /*! #__NO_SIDE_EFFECTS__ */
@@ -501,11 +501,11 @@ class ReactiveEffect {
501
501
  }
502
502
  }
503
503
  pause() {
504
- this.flags |= 128;
504
+ this.flags |= 64;
505
505
  }
506
506
  resume() {
507
- if (this.flags & 128) {
508
- this.flags &= ~128;
507
+ if (this.flags & 64) {
508
+ this.flags &= ~64;
509
509
  if (pausedQueueEffects.has(this)) {
510
510
  pausedQueueEffects.delete(this);
511
511
  this.trigger();
@@ -519,9 +519,6 @@ class ReactiveEffect {
519
519
  if (this.flags & 2 && !(this.flags & 32)) {
520
520
  return;
521
521
  }
522
- if (this.flags & 64) {
523
- return this.trigger();
524
- }
525
522
  if (!(this.flags & 8)) {
526
523
  this.flags |= 8;
527
524
  this.nextEffect = batchedEffect;
@@ -560,7 +557,7 @@ class ReactiveEffect {
560
557
  }
561
558
  }
562
559
  trigger() {
563
- if (this.flags & 128) {
560
+ if (this.flags & 64) {
564
561
  pausedQueueEffects.add(this);
565
562
  } else if (this.scheduler) {
566
563
  this.scheduler();
@@ -590,6 +587,7 @@ function endBatch() {
590
587
  batchDepth--;
591
588
  return;
592
589
  }
590
+ batchDepth--;
593
591
  let error;
594
592
  while (batchedEffect) {
595
593
  let e = batchedEffect;
@@ -608,7 +606,6 @@ function endBatch() {
608
606
  e = next;
609
607
  }
610
608
  }
611
- batchDepth--;
612
609
  if (error) throw error;
613
610
  }
614
611
  function prepareDeps(sub) {
@@ -971,26 +968,26 @@ const arrayInstrumentations = {
971
968
  });
972
969
  },
973
970
  every(fn, thisArg) {
974
- return apply(this, "every", fn, thisArg);
971
+ return apply(this, "every", fn, thisArg, void 0, arguments);
975
972
  },
976
973
  filter(fn, thisArg) {
977
- return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive));
974
+ return apply(this, "filter", fn, thisArg, (v) => v.map(toReactive), arguments);
978
975
  },
979
976
  find(fn, thisArg) {
980
- return apply(this, "find", fn, thisArg, toReactive);
977
+ return apply(this, "find", fn, thisArg, toReactive, arguments);
981
978
  },
982
979
  findIndex(fn, thisArg) {
983
- return apply(this, "findIndex", fn, thisArg);
980
+ return apply(this, "findIndex", fn, thisArg, void 0, arguments);
984
981
  },
985
982
  findLast(fn, thisArg) {
986
- return apply(this, "findLast", fn, thisArg, toReactive);
983
+ return apply(this, "findLast", fn, thisArg, toReactive, arguments);
987
984
  },
988
985
  findLastIndex(fn, thisArg) {
989
- return apply(this, "findLastIndex", fn, thisArg);
986
+ return apply(this, "findLastIndex", fn, thisArg, void 0, arguments);
990
987
  },
991
988
  // flat, flatMap could benefit from ARRAY_ITERATE but are not straight-forward to implement
992
989
  forEach(fn, thisArg) {
993
- return apply(this, "forEach", fn, thisArg);
990
+ return apply(this, "forEach", fn, thisArg, void 0, arguments);
994
991
  },
995
992
  includes(...args) {
996
993
  return searchProxy(this, "includes", args);
@@ -1006,7 +1003,7 @@ const arrayInstrumentations = {
1006
1003
  return searchProxy(this, "lastIndexOf", args);
1007
1004
  },
1008
1005
  map(fn, thisArg) {
1009
- return apply(this, "map", fn, thisArg);
1006
+ return apply(this, "map", fn, thisArg, void 0, arguments);
1010
1007
  },
1011
1008
  pop() {
1012
1009
  return noTracking(this, "pop");
@@ -1025,7 +1022,7 @@ const arrayInstrumentations = {
1025
1022
  },
1026
1023
  // slice could use ARRAY_ITERATE but also seems to beg for range tracking
1027
1024
  some(fn, thisArg) {
1028
- return apply(this, "some", fn, thisArg);
1025
+ return apply(this, "some", fn, thisArg, void 0, arguments);
1029
1026
  },
1030
1027
  splice(...args) {
1031
1028
  return noTracking(this, "splice", args);
@@ -1061,8 +1058,13 @@ function iterator(self, method, wrapValue) {
1061
1058
  }
1062
1059
  return iter;
1063
1060
  }
1064
- function apply(self, method, fn, thisArg, wrappedRetFn) {
1061
+ const arrayProto = Array.prototype;
1062
+ function apply(self, method, fn, thisArg, wrappedRetFn, args) {
1065
1063
  const arr = shallowReadArray(self);
1064
+ let methodFn;
1065
+ if ((methodFn = arr[method]) !== arrayProto[method]) {
1066
+ return methodFn.apply(arr, args);
1067
+ }
1066
1068
  let needsWrap = false;
1067
1069
  let wrappedFn = fn;
1068
1070
  if (arr !== self) {
@@ -1077,7 +1079,7 @@ function apply(self, method, fn, thisArg, wrappedRetFn) {
1077
1079
  };
1078
1080
  }
1079
1081
  }
1080
- const result = arr[method](wrappedFn, thisArg);
1082
+ const result = methodFn.call(arr, wrappedFn, thisArg);
1081
1083
  return needsWrap && wrappedRetFn ? wrappedRetFn(result) : result;
1082
1084
  }
1083
1085
  function reduce(self, method, fn, args) {
@@ -3229,6 +3231,7 @@ const logMismatchError = () => {
3229
3231
  const isSVGContainer = (container) => container.namespaceURI.includes("svg") && container.tagName !== "foreignObject";
3230
3232
  const isMathMLContainer = (container) => container.namespaceURI.includes("MathML");
3231
3233
  const getContainerType = (container) => {
3234
+ if (container.nodeType !== 1) return void 0;
3232
3235
  if (isSVGContainer(container)) return "svg";
3233
3236
  if (isMathMLContainer(container)) return "mathml";
3234
3237
  return void 0;
@@ -3975,7 +3978,7 @@ const KeepAliveImpl = {
3975
3978
  function pruneCache(filter) {
3976
3979
  cache.forEach((vnode, key) => {
3977
3980
  const name = getComponentName(vnode.type);
3978
- if (name && (!filter || !filter(name))) {
3981
+ if (name && !filter(name)) {
3979
3982
  pruneCacheEntry(key);
3980
3983
  }
3981
3984
  });
@@ -4094,6 +4097,7 @@ function matches(pattern, name) {
4094
4097
  } else if (isString(pattern)) {
4095
4098
  return pattern.split(",").includes(name);
4096
4099
  } else if (isRegExp(pattern)) {
4100
+ pattern.lastIndex = 0;
4097
4101
  return pattern.test(name);
4098
4102
  }
4099
4103
  return false;
@@ -5502,7 +5506,7 @@ function createCompatVue$1(createApp, createSingletonApp) {
5502
5506
  return vm;
5503
5507
  }
5504
5508
  }
5505
- Vue.version = `2.6.14-compat:${"3.5.0-beta.1"}`;
5509
+ Vue.version = `2.6.14-compat:${"3.5.0-beta.2"}`;
5506
5510
  Vue.config = singletonApp.config;
5507
5511
  Vue.use = (plugin, ...options) => {
5508
5512
  if (plugin && isFunction(plugin.install)) {
@@ -7975,7 +7979,6 @@ function doWatch(source, cb, {
7975
7979
  const effect = new ReactiveEffect(getter);
7976
7980
  let scheduler;
7977
7981
  if (flush === "sync") {
7978
- effect.flags |= 64;
7979
7982
  scheduler = job;
7980
7983
  } else if (flush === "post") {
7981
7984
  scheduler = () => queuePostRenderEffect(job, instance && instance.suspense);
@@ -9793,7 +9796,7 @@ function isMemoSame(cached, memo) {
9793
9796
  return true;
9794
9797
  }
9795
9798
 
9796
- const version = "3.5.0-beta.1";
9799
+ const version = "3.5.0-beta.2";
9797
9800
  const warn$1 = NOOP;
9798
9801
  const ErrorTypeStrings = ErrorTypeStrings$1 ;
9799
9802
  const devtools = void 0;
@@ -10648,7 +10651,6 @@ class VueElement extends BaseClass {
10648
10651
  this._ob = null;
10649
10652
  if (this.shadowRoot && _createApp !== createApp) {
10650
10653
  this._root = this.shadowRoot;
10651
- this._mount(_def);
10652
10654
  } else {
10653
10655
  if (_def.shadowRoot !== false) {
10654
10656
  this.attachShadow({ mode: "open" });
@@ -10656,9 +10658,9 @@ class VueElement extends BaseClass {
10656
10658
  } else {
10657
10659
  this._root = this;
10658
10660
  }
10659
- if (!this._def.__asyncLoader) {
10660
- this._resolveProps(this._def);
10661
- }
10661
+ }
10662
+ if (!this._def.__asyncLoader) {
10663
+ this._resolveProps(this._def);
10662
10664
  }
10663
10665
  }
10664
10666
  connectedCallback() {
@@ -10849,6 +10851,7 @@ class VueElement extends BaseClass {
10849
10851
  vnode.ce = (instance) => {
10850
10852
  this._instance = instance;
10851
10853
  instance.ce = this;
10854
+ instance.isCE = true;
10852
10855
  const dispatch = (event, args) => {
10853
10856
  this.dispatchEvent(
10854
10857
  new CustomEvent(
@@ -13271,10 +13274,11 @@ function isCoreComponent(tag) {
13271
13274
  }
13272
13275
  const nonIdentifierRE = /^\d|[^\$\w\xA0-\uFFFF]/;
13273
13276
  const isSimpleIdentifier = (name) => !nonIdentifierRE.test(name);
13274
- const isMemberExpressionNode = (path, context) => {
13277
+ const getExpSource = (exp) => exp.type === 4 ? exp.content : exp.loc.source;
13278
+ const isMemberExpressionNode = (exp, context) => {
13275
13279
  try {
13276
- let ret = parser.parseExpression(path, {
13277
- plugins: context.expressionPlugins
13280
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
13281
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
13278
13282
  });
13279
13283
  ret = unwrapTSNode(ret);
13280
13284
  return ret.type === "MemberExpression" || ret.type === "OptionalMemberExpression" || ret.type === "Identifier" && ret.name !== "undefined";
@@ -13283,6 +13287,24 @@ const isMemberExpressionNode = (path, context) => {
13283
13287
  }
13284
13288
  };
13285
13289
  const isMemberExpression = isMemberExpressionNode;
13290
+ const isFnExpressionNode = (exp, context) => {
13291
+ try {
13292
+ let ret = exp.ast || parser.parseExpression(getExpSource(exp), {
13293
+ plugins: context.expressionPlugins ? [...context.expressionPlugins, "typescript"] : ["typescript"]
13294
+ });
13295
+ if (ret.type === "Program") {
13296
+ ret = ret.body[0];
13297
+ if (ret.type === "ExpressionStatement") {
13298
+ ret = ret.expression;
13299
+ }
13300
+ }
13301
+ ret = unwrapTSNode(ret);
13302
+ return ret.type === "FunctionExpression" || ret.type === "ArrowFunctionExpression";
13303
+ } catch (e) {
13304
+ return false;
13305
+ }
13306
+ };
13307
+ const isFnExpression = isFnExpressionNode;
13286
13308
  function advancePositionWithClone(pos, source, numberOfCharacters = source.length) {
13287
13309
  return advancePositionWithMutation(
13288
13310
  {
@@ -17265,7 +17287,6 @@ function processSlotOutlet(node, context) {
17265
17287
  };
17266
17288
  }
17267
17289
 
17268
- const fnExpRE = /^\s*(async\s*)?(\([^)]*?\)|[\w$_]+)\s*(:[^=]+)?=>|^\s*(async\s+)?function(?:\s+[\w$]+)?\s*\(/;
17269
17290
  const transformOn$1 = (dir, node, context, augmentor) => {
17270
17291
  const { loc, modifiers, arg } = dir;
17271
17292
  if (!dir.exp && !modifiers.length) {
@@ -17306,8 +17327,8 @@ const transformOn$1 = (dir, node, context, augmentor) => {
17306
17327
  }
17307
17328
  let shouldCache = context.cacheHandlers && !exp && !context.inVOnce;
17308
17329
  if (exp) {
17309
- const isMemberExp = isMemberExpression(exp.content, context);
17310
- const isInlineStatement = !(isMemberExp || fnExpRE.test(exp.content));
17330
+ const isMemberExp = isMemberExpression(exp, context);
17331
+ const isInlineStatement = !(isMemberExp || isFnExpression(exp, context));
17311
17332
  const hasMultipleStatements = exp.content.includes(`;`);
17312
17333
  if (context.prefixIdentifiers) {
17313
17334
  isInlineStatement && context.addIdentifiers(`$event`);
@@ -17477,7 +17498,7 @@ const transformModel$1 = (dir, node, context) => {
17477
17498
  return createTransformProps();
17478
17499
  }
17479
17500
  const maybeRef = context.inline && (bindingType === "setup-let" || bindingType === "setup-ref" || bindingType === "setup-maybe-ref");
17480
- if (!expString.trim() || !isMemberExpression(expString, context) && !maybeRef) {
17501
+ if (!expString.trim() || !isMemberExpression(exp, context) && !maybeRef) {
17481
17502
  context.onError(
17482
17503
  createCompilerError(42, exp.loc)
17483
17504
  );