cypress 13.16.1 → 14.0.0
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/angular/README.md +5 -0
- package/angular/angular/README.md +5 -0
- package/angular/angular/dist/index.d.ts +11 -2
- package/angular/angular/dist/index.js +944 -4
- package/angular/angular/package.json +16 -9
- package/angular/dist/index.d.ts +11 -2
- package/angular/dist/index.js +944 -4
- package/angular/package.json +16 -9
- package/lib/cli.js +1 -30
- package/lib/exec/spawn.js +17 -7
- package/mount-utils/dist/index.d.ts +0 -28
- package/mount-utils/dist/index.js +0 -27
- package/mount-utils/mount-utils/dist/index.d.ts +0 -28
- package/mount-utils/mount-utils/dist/index.js +0 -27
- package/package.json +5 -23
- package/react/README.md +5 -0
- package/react/dist/cypress-react.cjs.js +21 -676
- package/react/dist/cypress-react.esm-bundler.js +22 -676
- package/react/dist/index.d.ts +13 -30
- package/react/package.json +13 -15
- package/react/react/README.md +5 -0
- package/react/react/dist/cypress-react.cjs.js +21 -676
- package/react/react/dist/cypress-react.esm-bundler.js +22 -676
- package/react/react/dist/index.d.ts +13 -30
- package/react/react/package.json +13 -15
- package/svelte/README.md +6 -2
- package/svelte/dist/cypress-svelte.cjs.js +12 -12
- package/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
- package/svelte/dist/index.d.ts +8 -179
- package/svelte/package.json +2 -2
- package/svelte/svelte/README.md +6 -2
- package/svelte/svelte/dist/cypress-svelte.cjs.js +12 -12
- package/svelte/svelte/dist/cypress-svelte.esm-bundler.js +12 -12
- package/svelte/svelte/dist/index.d.ts +8 -179
- package/svelte/svelte/package.json +2 -2
- package/types/cypress.d.ts +32 -49
- package/types/net-stubbing.d.ts +2 -7
- package/vue/dist/cypress-vue.cjs.js +380 -275
- package/vue/dist/cypress-vue.esm-bundler.js +382 -276
- package/vue/dist/index.d.ts +61 -78
- package/vue/package.json +2 -5
- package/vue/vue/dist/cypress-vue.cjs.js +380 -275
- package/vue/vue/dist/cypress-vue.esm-bundler.js +382 -276
- package/vue/vue/dist/index.d.ts +61 -78
- package/vue/vue/package.json +2 -5
- package/angular-signals/README.md +0 -11
- package/angular-signals/angular-signals/README.md +0 -11
- package/angular-signals/angular-signals/dist/index.d.ts +0 -136
- package/angular-signals/angular-signals/dist/index.js +0 -1861
- package/angular-signals/angular-signals/package.json +0 -74
- package/angular-signals/dist/index.d.ts +0 -136
- package/angular-signals/dist/index.js +0 -1861
- package/angular-signals/package.json +0 -74
- package/react18/README.md +0 -7
- package/react18/dist/cypress-react.cjs.js +0 -597
- package/react18/dist/cypress-react.esm-bundler.js +0 -574
- package/react18/dist/index.d.ts +0 -78
- package/react18/package.json +0 -71
- package/react18/react18/README.md +0 -7
- package/react18/react18/dist/cypress-react.cjs.js +0 -597
- package/react18/react18/dist/cypress-react.esm-bundler.js +0 -574
- package/react18/react18/dist/index.d.ts +0 -78
- package/react18/react18/package.json +0 -71
- package/vue2/README.md +0 -7
- package/vue2/dist/cypress-vue2.cjs.js +0 -20045
- package/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
- package/vue2/dist/index.d.ts +0 -207
- package/vue2/package.json +0 -65
- package/vue2/vue2/README.md +0 -7
- package/vue2/vue2/dist/cypress-vue2.cjs.js +0 -20045
- package/vue2/vue2/dist/cypress-vue2.esm-bundler.js +0 -20042
- package/vue2/vue2/dist/index.d.ts +0 -207
- package/vue2/vue2/package.json +0 -65
@@ -1,12 +1,12 @@
|
|
1
1
|
|
2
2
|
/**
|
3
3
|
* @cypress/vue v0.0.0-development
|
4
|
-
* (c)
|
4
|
+
* (c) 2025 Cypress.io
|
5
5
|
* Released under the MIT License
|
6
6
|
*/
|
7
7
|
|
8
8
|
import * as Vue from 'vue';
|
9
|
-
import { nextTick, defineComponent, computed, h, shallowReactive, reactive,
|
9
|
+
import { nextTick, defineComponent, computed, h, shallowReactive, reactive, ref, createApp, transformVNodeArgs, setDevtoolsHook, Transition, BaseTransition, TransitionGroup, isRef } from 'vue';
|
10
10
|
import { compile } from '@vue/compiler-dom';
|
11
11
|
import { renderToString as renderToString$1 } from '@vue/server-renderer';
|
12
12
|
|
@@ -24,8 +24,6 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
24
24
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
25
25
|
PERFORMANCE OF THIS SOFTWARE.
|
26
26
|
***************************************************************************** */
|
27
|
-
/* global Reflect, Promise, SuppressedError, Symbol */
|
28
|
-
|
29
27
|
|
30
28
|
function __rest(s, e) {
|
31
29
|
var t = {};
|
@@ -57,13 +55,6 @@ const getContainerEl = () => {
|
|
57
55
|
}
|
58
56
|
throw Error(`No element found that matches selector ${ROOT_SELECTOR}. Please add a root element with data-cy-root attribute to your "component-index.html" file so that Cypress can attach your component to the DOM.`);
|
59
57
|
};
|
60
|
-
function checkForRemovedStyleOptions(mountingOptions) {
|
61
|
-
for (const key of ['cssFile', 'cssFiles', 'style', 'styles', 'stylesheet', 'stylesheets']) {
|
62
|
-
if (mountingOptions[key]) {
|
63
|
-
Cypress.utils.throwErrByPath('mount.removed_style_mounting_options', key);
|
64
|
-
}
|
65
|
-
}
|
66
|
-
}
|
67
58
|
/**
|
68
59
|
* Utility function to register CT side effects and run cleanup code during the "test:before:run" Cypress hook
|
69
60
|
* @param optionalCallback Callback to be called before the next test runs
|
@@ -107,7 +98,7 @@ LOSS OF USE, DATA OR PROFITS, WHETHER IN AN ACTION OF CONTRACT, NEGLIGENCE OR
|
|
107
98
|
OTHER TORTIOUS ACTION, ARISING OUT OF OR IN CONNECTION WITH THE USE OR
|
108
99
|
PERFORMANCE OF THIS SOFTWARE.
|
109
100
|
***************************************************************************** */
|
110
|
-
/* global Reflect, Promise */
|
101
|
+
/* global Reflect, Promise, SuppressedError, Symbol */
|
111
102
|
|
112
103
|
var extendStatics = function(d, b) {
|
113
104
|
extendStatics = Object.setPrototypeOf ||
|
@@ -181,7 +172,12 @@ function __spreadArray(to, from, pack) {
|
|
181
172
|
}
|
182
173
|
}
|
183
174
|
return to.concat(ar || Array.prototype.slice.call(from));
|
184
|
-
}
|
175
|
+
}
|
176
|
+
|
177
|
+
typeof SuppressedError === "function" ? SuppressedError : function (error, suppressed, message) {
|
178
|
+
var e = new Error(message);
|
179
|
+
return e.name = "SuppressedError", e.error = error, e.suppressed = suppressed, e;
|
180
|
+
};
|
185
181
|
|
186
182
|
var Pluggable = /** @class */ (function () {
|
187
183
|
function Pluggable() {
|
@@ -281,12 +277,30 @@ function mergeGlobalProperties(mountGlobal) {
|
|
281
277
|
var isObject = function (obj) {
|
282
278
|
return !!obj && typeof obj === 'object';
|
283
279
|
};
|
280
|
+
function isClass(obj) {
|
281
|
+
if (!(obj instanceof Object))
|
282
|
+
return;
|
283
|
+
var isCtorClass = obj.constructor && obj.constructor.toString().substring(0, 5) === 'class';
|
284
|
+
if (!('prototype' in obj)) {
|
285
|
+
return isCtorClass;
|
286
|
+
}
|
287
|
+
var prototype = obj.prototype;
|
288
|
+
var isPrototypeCtorClass = prototype.constructor &&
|
289
|
+
prototype.constructor.toString &&
|
290
|
+
prototype.constructor.toString().substring(0, 5) === 'class';
|
291
|
+
return isCtorClass || isPrototypeCtorClass;
|
292
|
+
}
|
284
293
|
// https://stackoverflow.com/a/48218209
|
285
294
|
var mergeDeep = function (target, source) {
|
295
|
+
var _a;
|
286
296
|
if (!isObject(target) || !isObject(source)) {
|
287
297
|
return source;
|
288
298
|
}
|
289
|
-
Object.keys(source)
|
299
|
+
Object.keys(source)
|
300
|
+
.concat(isClass(source)
|
301
|
+
? Object.getOwnPropertyNames((_a = Object.getPrototypeOf(source)) !== null && _a !== void 0 ? _a : {})
|
302
|
+
: Object.getOwnPropertyNames(source))
|
303
|
+
.forEach(function (key) {
|
290
304
|
var targetValue = target[key];
|
291
305
|
var sourceValue = source[key];
|
292
306
|
if (Array.isArray(targetValue) && Array.isArray(sourceValue)) {
|
@@ -371,6 +385,20 @@ function hasSetupState(vm) {
|
|
371
385
|
function isScriptSetup(vm) {
|
372
386
|
return (vm && vm.$.setupState.__isScriptSetup);
|
373
387
|
}
|
388
|
+
var _globalThis;
|
389
|
+
var getGlobalThis = function () {
|
390
|
+
return (_globalThis ||
|
391
|
+
(_globalThis =
|
392
|
+
typeof globalThis !== 'undefined'
|
393
|
+
? globalThis
|
394
|
+
: typeof self !== 'undefined'
|
395
|
+
? self
|
396
|
+
: typeof window !== 'undefined'
|
397
|
+
? window
|
398
|
+
: typeof global !== 'undefined'
|
399
|
+
? global
|
400
|
+
: {}));
|
401
|
+
};
|
374
402
|
|
375
403
|
var ignorableKeyModifiers = [
|
376
404
|
'stop',
|
@@ -1655,19 +1683,15 @@ function stringifyNode(node) {
|
|
1655
1683
|
: new XMLSerializer().serializeToString(node);
|
1656
1684
|
}
|
1657
1685
|
|
1658
|
-
|
1659
|
-
|
1660
|
-
|
1661
|
-
|
1662
|
-
};
|
1686
|
+
function getDefaultExportFromCjs (x) {
|
1687
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, 'default') ? x['default'] : x;
|
1688
|
+
}
|
1689
|
+
|
1690
|
+
var js = {exports: {}};
|
1663
1691
|
|
1664
1692
|
var src = {};
|
1665
1693
|
|
1666
|
-
var
|
1667
|
-
var javascript = {
|
1668
|
-
get exports(){ return javascriptExports; },
|
1669
|
-
set exports(v){ javascriptExports = v; },
|
1670
|
-
};
|
1694
|
+
var javascript = {exports: {}};
|
1671
1695
|
|
1672
1696
|
var beautifier$2 = {};
|
1673
1697
|
|
@@ -2159,8 +2183,8 @@ function requireAcorn () {
|
|
2159
2183
|
// in javascript, these two differ
|
2160
2184
|
// in python they are the same, different methods are called on them
|
2161
2185
|
exports.lineBreak = new RegExp('\r\n|' + exports.newline.source);
|
2162
|
-
exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g');
|
2163
|
-
} (acorn));
|
2186
|
+
exports.allLineBreaks = new RegExp(exports.lineBreak.source, 'g');
|
2187
|
+
} (acorn));
|
2164
2188
|
return acorn;
|
2165
2189
|
}
|
2166
2190
|
|
@@ -3328,6 +3352,7 @@ function requireTokenizer$1 () {
|
|
3328
3352
|
|
3329
3353
|
token = token || this._read_non_javascript(c);
|
3330
3354
|
token = token || this._read_string(c);
|
3355
|
+
token = token || this._read_pair(c, this._input.peek(1)); // Issue #2062 hack for record type '#{'
|
3331
3356
|
token = token || this._read_word(previous_token);
|
3332
3357
|
token = token || this._read_singles(c);
|
3333
3358
|
token = token || this._read_comment(c);
|
@@ -3386,6 +3411,19 @@ function requireTokenizer$1 () {
|
|
3386
3411
|
return token;
|
3387
3412
|
};
|
3388
3413
|
|
3414
|
+
Tokenizer.prototype._read_pair = function(c, d) {
|
3415
|
+
var token = null;
|
3416
|
+
if (c === '#' && d === '{') {
|
3417
|
+
token = this._create_token(TOKEN.START_BLOCK, c + d);
|
3418
|
+
}
|
3419
|
+
|
3420
|
+
if (token) {
|
3421
|
+
this._input.next();
|
3422
|
+
this._input.next();
|
3423
|
+
}
|
3424
|
+
return token;
|
3425
|
+
};
|
3426
|
+
|
3389
3427
|
Tokenizer.prototype._read_punctuation = function() {
|
3390
3428
|
var resulting_string = this.__patterns.punct.read();
|
3391
3429
|
|
@@ -4472,7 +4510,7 @@ function requireBeautifier$2 () {
|
|
4472
4510
|
}
|
4473
4511
|
}
|
4474
4512
|
if (this._flags.last_token.type !== TOKEN.OPERATOR && this._flags.last_token.type !== TOKEN.START_EXPR) {
|
4475
|
-
if (this._flags.last_token.type
|
4513
|
+
if (in_array(this._flags.last_token.type, [TOKEN.START_BLOCK, TOKEN.SEMICOLON]) && !this._flags.inline_frame) {
|
4476
4514
|
this.print_newline();
|
4477
4515
|
} else {
|
4478
4516
|
this._output.space_before_token = true;
|
@@ -5175,7 +5213,7 @@ function requireBeautifier$2 () {
|
|
5175
5213
|
var hasRequiredJavascript;
|
5176
5214
|
|
5177
5215
|
function requireJavascript () {
|
5178
|
-
if (hasRequiredJavascript) return
|
5216
|
+
if (hasRequiredJavascript) return javascript.exports;
|
5179
5217
|
hasRequiredJavascript = 1;
|
5180
5218
|
|
5181
5219
|
var Beautifier = requireBeautifier$2().Beautifier,
|
@@ -5187,17 +5225,13 @@ function requireJavascript () {
|
|
5187
5225
|
}
|
5188
5226
|
|
5189
5227
|
javascript.exports = js_beautify;
|
5190
|
-
|
5228
|
+
javascript.exports.defaultOptions = function() {
|
5191
5229
|
return new Options();
|
5192
5230
|
};
|
5193
|
-
return
|
5231
|
+
return javascript.exports;
|
5194
5232
|
}
|
5195
5233
|
|
5196
|
-
var
|
5197
|
-
var css = {
|
5198
|
-
get exports(){ return cssExports; },
|
5199
|
-
set exports(v){ cssExports = v; },
|
5200
|
-
};
|
5234
|
+
var css = {exports: {}};
|
5201
5235
|
|
5202
5236
|
var beautifier$1 = {};
|
5203
5237
|
|
@@ -5274,18 +5308,18 @@ function requireBeautifier$1 () {
|
|
5274
5308
|
|
5275
5309
|
// https://developer.mozilla.org/en-US/docs/Web/CSS/At-rule
|
5276
5310
|
this.NESTED_AT_RULE = {
|
5277
|
-
"
|
5278
|
-
"
|
5279
|
-
"
|
5311
|
+
"page": true,
|
5312
|
+
"font-face": true,
|
5313
|
+
"keyframes": true,
|
5280
5314
|
// also in CONDITIONAL_GROUP_RULE below
|
5281
|
-
"
|
5282
|
-
"
|
5283
|
-
"
|
5315
|
+
"media": true,
|
5316
|
+
"supports": true,
|
5317
|
+
"document": true
|
5284
5318
|
};
|
5285
5319
|
this.CONDITIONAL_GROUP_RULE = {
|
5286
|
-
"
|
5287
|
-
"
|
5288
|
-
"
|
5320
|
+
"media": true,
|
5321
|
+
"supports": true,
|
5322
|
+
"document": true
|
5289
5323
|
};
|
5290
5324
|
this.NON_SEMICOLON_NEWLINE_PROPERTY = [
|
5291
5325
|
"grid-template-areas",
|
@@ -5413,8 +5447,7 @@ function requireBeautifier$1 () {
|
|
5413
5447
|
// label { content: blue }
|
5414
5448
|
var insidePropertyValue = false;
|
5415
5449
|
var enteringConditionalGroup = false;
|
5416
|
-
var
|
5417
|
-
var insideAtImport = false;
|
5450
|
+
var insideNonNestedAtRule = false;
|
5418
5451
|
var insideScssMap = false;
|
5419
5452
|
var topCharacter = this._ch;
|
5420
5453
|
var insideNonSemiColonValues = false;
|
@@ -5469,10 +5502,32 @@ function requireBeautifier$1 () {
|
|
5469
5502
|
|
5470
5503
|
// Ensures any new lines following the comment are preserved
|
5471
5504
|
this.eatWhitespace(true);
|
5472
|
-
} else if (this._ch === '
|
5505
|
+
} else if (this._ch === '$') {
|
5506
|
+
this.preserveSingleSpace(isAfterSpace);
|
5507
|
+
|
5508
|
+
this.print_string(this._ch);
|
5509
|
+
|
5510
|
+
// strip trailing space, if present, for hash property checks
|
5511
|
+
var variable = this._input.peekUntilAfter(/[: ,;{}()[\]\/='"]/g);
|
5512
|
+
|
5513
|
+
if (variable.match(/[ :]$/)) {
|
5514
|
+
// we have a variable or pseudo-class, add it and insert one space before continuing
|
5515
|
+
variable = this.eatString(": ").replace(/\s$/, '');
|
5516
|
+
this.print_string(variable);
|
5517
|
+
this._output.space_before_token = true;
|
5518
|
+
}
|
5519
|
+
|
5520
|
+
variable = variable.replace(/\s$/, '');
|
5521
|
+
|
5522
|
+
// might be sass variable
|
5523
|
+
if (parenLevel === 0 && variable.indexOf(':') !== -1) {
|
5524
|
+
insidePropertyValue = true;
|
5525
|
+
this.indent();
|
5526
|
+
}
|
5527
|
+
} else if (this._ch === '@') {
|
5473
5528
|
this.preserveSingleSpace(isAfterSpace);
|
5474
5529
|
|
5475
|
-
// deal with less
|
5530
|
+
// deal with less property mixins @{...}
|
5476
5531
|
if (this._input.peek() === '{') {
|
5477
5532
|
this.print_string(this._ch + this.eatString('}'));
|
5478
5533
|
} else {
|
@@ -5490,22 +5545,21 @@ function requireBeautifier$1 () {
|
|
5490
5545
|
|
5491
5546
|
variableOrRule = variableOrRule.replace(/\s$/, '');
|
5492
5547
|
|
5493
|
-
|
5494
|
-
|
5495
|
-
|
5496
|
-
|
5497
|
-
}
|
5548
|
+
// might be less variable
|
5549
|
+
if (parenLevel === 0 && variableOrRule.indexOf(':') !== -1) {
|
5550
|
+
insidePropertyValue = true;
|
5551
|
+
this.indent();
|
5498
5552
|
|
5499
|
-
|
5500
|
-
if (variableOrRule in this.NESTED_AT_RULE) {
|
5553
|
+
// might be a nesting at-rule
|
5554
|
+
} else if (variableOrRule in this.NESTED_AT_RULE) {
|
5501
5555
|
this._nestedLevel += 1;
|
5502
5556
|
if (variableOrRule in this.CONDITIONAL_GROUP_RULE) {
|
5503
5557
|
enteringConditionalGroup = true;
|
5504
5558
|
}
|
5505
|
-
|
5506
|
-
|
5507
|
-
|
5508
|
-
|
5559
|
+
|
5560
|
+
// might be a non-nested at-rule
|
5561
|
+
} else if (parenLevel === 0 && !insidePropertyValue) {
|
5562
|
+
insideNonNestedAtRule = true;
|
5509
5563
|
}
|
5510
5564
|
}
|
5511
5565
|
} else if (this._ch === '#' && this._input.peek() === '{') {
|
@@ -5517,6 +5571,9 @@ function requireBeautifier$1 () {
|
|
5517
5571
|
this.outdent();
|
5518
5572
|
}
|
5519
5573
|
|
5574
|
+
// non nested at rule becomes nested
|
5575
|
+
insideNonNestedAtRule = false;
|
5576
|
+
|
5520
5577
|
// when entering conditional groups, only rulesets are allowed
|
5521
5578
|
if (enteringConditionalGroup) {
|
5522
5579
|
enteringConditionalGroup = false;
|
@@ -5557,8 +5614,7 @@ function requireBeautifier$1 () {
|
|
5557
5614
|
if (previous_ch === '{') {
|
5558
5615
|
this._output.trim(true);
|
5559
5616
|
}
|
5560
|
-
|
5561
|
-
insideAtExtend = false;
|
5617
|
+
|
5562
5618
|
if (insidePropertyValue) {
|
5563
5619
|
this.outdent();
|
5564
5620
|
insidePropertyValue = false;
|
@@ -5592,9 +5648,10 @@ function requireBeautifier$1 () {
|
|
5592
5648
|
}
|
5593
5649
|
}
|
5594
5650
|
|
5595
|
-
if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !
|
5651
|
+
if ((insideRule || enteringConditionalGroup) && !(this._input.lookBack("&") || this.foundNestedPseudoClass()) && !this._input.lookBack("(") && !insideNonNestedAtRule && parenLevel === 0) {
|
5596
5652
|
// 'property: value' delimiter
|
5597
5653
|
// which could be in a conditional group query
|
5654
|
+
|
5598
5655
|
this.print_string(':');
|
5599
5656
|
if (!insidePropertyValue) {
|
5600
5657
|
insidePropertyValue = true;
|
@@ -5631,8 +5688,7 @@ function requireBeautifier$1 () {
|
|
5631
5688
|
this.outdent();
|
5632
5689
|
insidePropertyValue = false;
|
5633
5690
|
}
|
5634
|
-
|
5635
|
-
insideAtImport = false;
|
5691
|
+
insideNonNestedAtRule = false;
|
5636
5692
|
this.print_string(this._ch);
|
5637
5693
|
this.eatWhitespace(true);
|
5638
5694
|
|
@@ -5697,7 +5753,7 @@ function requireBeautifier$1 () {
|
|
5697
5753
|
} else if (this._ch === ',') {
|
5698
5754
|
this.print_string(this._ch);
|
5699
5755
|
this.eatWhitespace(true);
|
5700
|
-
if (this._options.selector_separator_newline && (!insidePropertyValue || insideScssMap) && parenLevel === 0 && !
|
5756
|
+
if (this._options.selector_separator_newline && (!insidePropertyValue || insideScssMap) && parenLevel === 0 && !insideNonNestedAtRule) {
|
5701
5757
|
this._output.add_new_line();
|
5702
5758
|
} else {
|
5703
5759
|
this._output.space_before_token = true;
|
@@ -5755,7 +5811,7 @@ function requireBeautifier$1 () {
|
|
5755
5811
|
var hasRequiredCss;
|
5756
5812
|
|
5757
5813
|
function requireCss () {
|
5758
|
-
if (hasRequiredCss) return
|
5814
|
+
if (hasRequiredCss) return css.exports;
|
5759
5815
|
hasRequiredCss = 1;
|
5760
5816
|
|
5761
5817
|
var Beautifier = requireBeautifier$1().Beautifier,
|
@@ -5767,17 +5823,13 @@ function requireCss () {
|
|
5767
5823
|
}
|
5768
5824
|
|
5769
5825
|
css.exports = css_beautify;
|
5770
|
-
|
5826
|
+
css.exports.defaultOptions = function() {
|
5771
5827
|
return new Options();
|
5772
5828
|
};
|
5773
|
-
return
|
5829
|
+
return css.exports;
|
5774
5830
|
}
|
5775
5831
|
|
5776
|
-
var
|
5777
|
-
var html = {
|
5778
|
-
get exports(){ return htmlExports; },
|
5779
|
-
set exports(v){ htmlExports = v; },
|
5780
|
-
};
|
5832
|
+
var html = {exports: {}};
|
5781
5833
|
|
5782
5834
|
var beautifier = {};
|
5783
5835
|
|
@@ -5806,6 +5858,7 @@ function requireOptions () {
|
|
5806
5858
|
this.indent_handlebars = this._get_boolean('indent_handlebars', true);
|
5807
5859
|
this.wrap_attributes = this._get_selection('wrap_attributes',
|
5808
5860
|
['auto', 'force', 'force-aligned', 'force-expand-multiline', 'aligned-multiple', 'preserve', 'preserve-aligned']);
|
5861
|
+
this.wrap_attributes_min_attrs = this._get_number('wrap_attributes_min_attrs', 2);
|
5809
5862
|
this.wrap_attributes_indent_size = this._get_number('wrap_attributes_indent_size', this.indent_size);
|
5810
5863
|
this.extra_liners = this._get_array('extra_liners', ['head', 'body', '/html']);
|
5811
5864
|
|
@@ -5823,6 +5876,7 @@ function requireOptions () {
|
|
5823
5876
|
// obsolete inline tags
|
5824
5877
|
'acronym', 'big', 'strike', 'tt'
|
5825
5878
|
]);
|
5879
|
+
this.inline_custom_elements = this._get_boolean('inline_custom_elements', true);
|
5826
5880
|
this.void_elements = this._get_array('void_elements', [
|
5827
5881
|
// HTLM void elements - aka self-closing tags - aka singletons
|
5828
5882
|
// https://www.w3.org/html/wg/drafts/html/master/syntax.html#void-elements
|
@@ -6446,11 +6500,11 @@ function requireBeautifier () {
|
|
6446
6500
|
while (raw_token.type !== TOKEN.EOF) {
|
6447
6501
|
|
6448
6502
|
if (raw_token.type === TOKEN.TAG_OPEN || raw_token.type === TOKEN.COMMENT) {
|
6449
|
-
parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token);
|
6503
|
+
parser_token = this._handle_tag_open(printer, raw_token, last_tag_token, last_token, tokens);
|
6450
6504
|
last_tag_token = parser_token;
|
6451
6505
|
} else if ((raw_token.type === TOKEN.ATTRIBUTE || raw_token.type === TOKEN.EQUALS || raw_token.type === TOKEN.VALUE) ||
|
6452
6506
|
(raw_token.type === TOKEN.TEXT && !last_tag_token.tag_complete)) {
|
6453
|
-
parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token,
|
6507
|
+
parser_token = this._handle_inside_tag(printer, raw_token, last_tag_token, last_token);
|
6454
6508
|
} else if (raw_token.type === TOKEN.TAG_CLOSE) {
|
6455
6509
|
parser_token = this._handle_tag_close(printer, raw_token, last_tag_token);
|
6456
6510
|
} else if (raw_token.type === TOKEN.TEXT) {
|
@@ -6507,7 +6561,7 @@ function requireBeautifier () {
|
|
6507
6561
|
return parser_token;
|
6508
6562
|
};
|
6509
6563
|
|
6510
|
-
Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token,
|
6564
|
+
Beautifier.prototype._handle_inside_tag = function(printer, raw_token, last_tag_token, last_token) {
|
6511
6565
|
var wrapped = last_tag_token.has_wrapped_attrs;
|
6512
6566
|
var parser_token = {
|
6513
6567
|
text: raw_token.text,
|
@@ -6528,7 +6582,6 @@ function requireBeautifier () {
|
|
6528
6582
|
} else {
|
6529
6583
|
if (raw_token.type === TOKEN.ATTRIBUTE) {
|
6530
6584
|
printer.set_space_before_token(true);
|
6531
|
-
last_tag_token.attr_count += 1;
|
6532
6585
|
} else if (raw_token.type === TOKEN.EQUALS) { //no space before =
|
6533
6586
|
printer.set_space_before_token(false);
|
6534
6587
|
} else if (raw_token.type === TOKEN.VALUE && raw_token.previous.type === TOKEN.EQUALS) { //no space before value
|
@@ -6541,29 +6594,15 @@ function requireBeautifier () {
|
|
6541
6594
|
wrapped = wrapped || raw_token.newlines !== 0;
|
6542
6595
|
}
|
6543
6596
|
|
6544
|
-
|
6545
|
-
|
6546
|
-
|
6547
|
-
|
6548
|
-
|
6549
|
-
|
6550
|
-
|
6551
|
-
|
6552
|
-
|
6553
|
-
if (peek_token.type === TOKEN.ATTRIBUTE) {
|
6554
|
-
is_only_attribute = false;
|
6555
|
-
break;
|
6556
|
-
}
|
6557
|
-
peek_index += 1;
|
6558
|
-
} while (peek_index < 4 && peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE);
|
6559
|
-
|
6560
|
-
force_attr_wrap = !is_only_attribute;
|
6561
|
-
}
|
6562
|
-
|
6563
|
-
if (force_attr_wrap) {
|
6564
|
-
printer.print_newline(false);
|
6565
|
-
wrapped = true;
|
6566
|
-
}
|
6597
|
+
// Wrap for 'force' options, and if the number of attributes is at least that specified in 'wrap_attributes_min_attrs':
|
6598
|
+
// 1. always wrap the second and beyond attributes
|
6599
|
+
// 2. wrap the first attribute only if 'force-expand-multiline' is specified
|
6600
|
+
if (this._is_wrap_attributes_force &&
|
6601
|
+
last_tag_token.attr_count >= this._options.wrap_attributes_min_attrs &&
|
6602
|
+
(last_token.type !== TOKEN.TAG_OPEN || // ie. second attribute and beyond
|
6603
|
+
this._is_wrap_attributes_force_expand_multiline)) {
|
6604
|
+
printer.print_newline(false);
|
6605
|
+
wrapped = true;
|
6567
6606
|
}
|
6568
6607
|
}
|
6569
6608
|
printer.print_token(raw_token);
|
@@ -6692,12 +6731,12 @@ function requireBeautifier () {
|
|
6692
6731
|
}
|
6693
6732
|
};
|
6694
6733
|
|
6695
|
-
Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token) {
|
6734
|
+
Beautifier.prototype._handle_tag_open = function(printer, raw_token, last_tag_token, last_token, tokens) {
|
6696
6735
|
var parser_token = this._get_tag_open_token(raw_token);
|
6697
6736
|
|
6698
6737
|
if ((last_tag_token.is_unformatted || last_tag_token.is_content_unformatted) &&
|
6699
6738
|
!last_tag_token.is_empty_element &&
|
6700
|
-
raw_token.type === TOKEN.TAG_OPEN &&
|
6739
|
+
raw_token.type === TOKEN.TAG_OPEN && !parser_token.is_start_tag) {
|
6701
6740
|
// End element tags for unformatted or content_unformatted elements
|
6702
6741
|
// are printed raw to keep any newlines inside them exactly the same.
|
6703
6742
|
printer.add_raw_token(raw_token);
|
@@ -6711,6 +6750,19 @@ function requireBeautifier () {
|
|
6711
6750
|
printer.print_token(raw_token);
|
6712
6751
|
}
|
6713
6752
|
|
6753
|
+
// count the number of attributes
|
6754
|
+
if (parser_token.is_start_tag && this._is_wrap_attributes_force) {
|
6755
|
+
var peek_index = 0;
|
6756
|
+
var peek_token;
|
6757
|
+
do {
|
6758
|
+
peek_token = tokens.peek(peek_index);
|
6759
|
+
if (peek_token.type === TOKEN.ATTRIBUTE) {
|
6760
|
+
parser_token.attr_count += 1;
|
6761
|
+
}
|
6762
|
+
peek_index += 1;
|
6763
|
+
} while (peek_token.type !== TOKEN.EOF && peek_token.type !== TOKEN.TAG_CLOSE);
|
6764
|
+
}
|
6765
|
+
|
6714
6766
|
//indent attributes an auto, forced, aligned or forced-align line-wrap
|
6715
6767
|
if (this._is_wrap_attributes_force_aligned || this._is_wrap_attributes_aligned_multiple || this._is_wrap_attributes_preserve_aligned) {
|
6716
6768
|
parser_token.alignment_size = raw_token.text.length + 1;
|
@@ -6808,7 +6860,7 @@ function requireBeautifier () {
|
|
6808
6860
|
|
6809
6861
|
parser_token.is_unformatted = !parser_token.tag_complete && in_array(parser_token.tag_check, this._options.unformatted);
|
6810
6862
|
parser_token.is_content_unformatted = !parser_token.is_empty_element && in_array(parser_token.tag_check, this._options.content_unformatted);
|
6811
|
-
parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || parser_token.tag_start_char === '{';
|
6863
|
+
parser_token.is_inline_element = in_array(parser_token.tag_name, this._options.inline) || (this._options.inline_custom_elements && parser_token.tag_name.includes("-")) || parser_token.tag_start_char === '{';
|
6812
6864
|
|
6813
6865
|
return parser_token;
|
6814
6866
|
};
|
@@ -6913,7 +6965,7 @@ function requireBeautifier () {
|
|
6913
6965
|
};
|
6914
6966
|
|
6915
6967
|
//To be used for <p> tag special case:
|
6916
|
-
var p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'];
|
6968
|
+
var p_closers = ['address', 'article', 'aside', 'blockquote', 'details', 'div', 'dl', 'fieldset', 'figcaption', 'figure', 'footer', 'form', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'header', 'hr', 'main', 'menu', 'nav', 'ol', 'p', 'pre', 'section', 'table', 'ul'];
|
6917
6969
|
var p_parent_excludes = ['a', 'audio', 'del', 'ins', 'map', 'noscript', 'video'];
|
6918
6970
|
|
6919
6971
|
Beautifier.prototype._do_optional_end_element = function(parser_token) {
|
@@ -6936,7 +6988,7 @@ function requireBeautifier () {
|
|
6936
6988
|
|
6937
6989
|
} else if (parser_token.tag_name === 'li') {
|
6938
6990
|
// An li element’s end tag may be omitted if the li element is immediately followed by another li element or if there is no more content in the parent element.
|
6939
|
-
result = result || this._tag_stack.try_pop('li', ['ol', 'ul']);
|
6991
|
+
result = result || this._tag_stack.try_pop('li', ['ol', 'ul', 'menu']);
|
6940
6992
|
|
6941
6993
|
} else if (parser_token.tag_name === 'dd' || parser_token.tag_name === 'dt') {
|
6942
6994
|
// A dd element’s end tag may be omitted if the dd element is immediately followed by another dd element or a dt element, or if there is no more content in the parent element.
|
@@ -7032,7 +7084,7 @@ function requireBeautifier () {
|
|
7032
7084
|
var hasRequiredHtml;
|
7033
7085
|
|
7034
7086
|
function requireHtml () {
|
7035
|
-
if (hasRequiredHtml) return
|
7087
|
+
if (hasRequiredHtml) return html.exports;
|
7036
7088
|
hasRequiredHtml = 1;
|
7037
7089
|
|
7038
7090
|
var Beautifier = requireBeautifier().Beautifier,
|
@@ -7044,10 +7096,10 @@ function requireHtml () {
|
|
7044
7096
|
}
|
7045
7097
|
|
7046
7098
|
html.exports = style_html;
|
7047
|
-
|
7099
|
+
html.exports.defaultOptions = function() {
|
7048
7100
|
return new Options();
|
7049
7101
|
};
|
7050
|
-
return
|
7102
|
+
return html.exports;
|
7051
7103
|
}
|
7052
7104
|
|
7053
7105
|
/*jshint node:true */
|
@@ -7124,10 +7176,11 @@ function requireSrc () {
|
|
7124
7176
|
mod.exports = get_beautify(beautifier, beautifier, beautifier);
|
7125
7177
|
|
7126
7178
|
})(module);
|
7127
|
-
}
|
7179
|
+
}
|
7128
7180
|
} (js));
|
7129
7181
|
|
7130
|
-
var
|
7182
|
+
var jsExports = js.exports;
|
7183
|
+
var beautify = /*@__PURE__*/getDefaultExportFromCjs(jsExports);
|
7131
7184
|
|
7132
7185
|
var BaseWrapper = /** @class */ (function () {
|
7133
7186
|
function BaseWrapper(element) {
|
@@ -7212,7 +7265,9 @@ var BaseWrapper = /** @class */ (function () {
|
|
7212
7265
|
}
|
7213
7266
|
if (matches(currentComponent.vnode, selector) &&
|
7214
7267
|
this.element.contains(currentComponent.vnode.el)) {
|
7215
|
-
return createVueWrapper(null, currentComponent.
|
7268
|
+
return createVueWrapper(null, currentComponent.subTree.component
|
7269
|
+
? currentComponent.subTree.component.proxy
|
7270
|
+
: currentComponent.proxy);
|
7216
7271
|
}
|
7217
7272
|
var result = this.findAllComponents(selector)[0];
|
7218
7273
|
return result !== null && result !== void 0 ? result : createWrapperError('VueWrapper');
|
@@ -7238,7 +7293,9 @@ var BaseWrapper = /** @class */ (function () {
|
|
7238
7293
|
return beautify.html(node, {
|
7239
7294
|
unformatted: ['code', 'pre', 'em', 'strong', 'span'],
|
7240
7295
|
indent_inner_html: true,
|
7241
|
-
indent_size: 2
|
7296
|
+
indent_size: 2,
|
7297
|
+
inline_custom_elements: false
|
7298
|
+
// TODO the cast can be removed when @types/js-beautify will be up-to-date
|
7242
7299
|
});
|
7243
7300
|
})
|
7244
7301
|
.join('\n');
|
@@ -7263,7 +7320,7 @@ var BaseWrapper = /** @class */ (function () {
|
|
7263
7320
|
return key ? attributeMap[key] : attributeMap;
|
7264
7321
|
};
|
7265
7322
|
BaseWrapper.prototype.text = function () {
|
7266
|
-
return
|
7323
|
+
return this.getRootNodes().map(textContent).join('');
|
7267
7324
|
};
|
7268
7325
|
BaseWrapper.prototype.exists = function () {
|
7269
7326
|
return true;
|
@@ -7369,10 +7426,10 @@ var DOMWrapper = /** @class */ (function (_super) {
|
|
7369
7426
|
var results = _super.prototype.findAllComponents.call(this, selector);
|
7370
7427
|
return results.filter(function (r) { return _this.element.contains(r.element); });
|
7371
7428
|
};
|
7372
|
-
DOMWrapper.prototype.setChecked = function (
|
7373
|
-
|
7374
|
-
return __awaiter(this, void 0, void 0, function () {
|
7429
|
+
DOMWrapper.prototype.setChecked = function () {
|
7430
|
+
return __awaiter(this, arguments, void 0, function (checked) {
|
7375
7431
|
var element, type;
|
7432
|
+
if (checked === void 0) { checked = true; }
|
7376
7433
|
return __generator(this, function (_a) {
|
7377
7434
|
element = this.element;
|
7378
7435
|
type = this.attributes().type;
|
@@ -7387,6 +7444,7 @@ var DOMWrapper = /** @class */ (function (_super) {
|
|
7387
7444
|
return [2 /*return*/];
|
7388
7445
|
}
|
7389
7446
|
element.checked = checked;
|
7447
|
+
this.trigger('input');
|
7390
7448
|
return [2 /*return*/, this.trigger('change')];
|
7391
7449
|
});
|
7392
7450
|
});
|
@@ -7416,6 +7474,7 @@ var DOMWrapper = /** @class */ (function (_super) {
|
|
7416
7474
|
else {
|
7417
7475
|
element.value = value;
|
7418
7476
|
}
|
7477
|
+
this.trigger('input');
|
7419
7478
|
return this.trigger('change');
|
7420
7479
|
}
|
7421
7480
|
else if (tagName === 'INPUT' || tagName === 'TEXTAREA') {
|
@@ -7440,7 +7499,9 @@ var DOMWrapper = /** @class */ (function (_super) {
|
|
7440
7499
|
if (parentElement.tagName === 'OPTGROUP') {
|
7441
7500
|
parentElement = parentElement.parentElement;
|
7442
7501
|
}
|
7443
|
-
|
7502
|
+
var parentWrapper = new DOMWrapper(parentElement);
|
7503
|
+
parentWrapper.trigger('input');
|
7504
|
+
return parentWrapper.trigger('change');
|
7444
7505
|
};
|
7445
7506
|
return DOMWrapper;
|
7446
7507
|
}(BaseWrapper));
|
@@ -7493,9 +7554,30 @@ function emitted(vm, eventName) {
|
|
7493
7554
|
return vmEvents;
|
7494
7555
|
}
|
7495
7556
|
var attachEmitListener = function () {
|
7496
|
-
|
7497
|
-
|
7557
|
+
var target = getGlobalThis();
|
7558
|
+
// override emit to capture events when devtools is defined
|
7559
|
+
if (target.__VUE_DEVTOOLS_GLOBAL_HOOK__) {
|
7560
|
+
var _emit_1 = target.__VUE_DEVTOOLS_GLOBAL_HOOK__.emit;
|
7561
|
+
target.__VUE_DEVTOOLS_GLOBAL_HOOK__.emit = function (eventType) {
|
7562
|
+
var payload = [];
|
7563
|
+
for (var _i = 1; _i < arguments.length; _i++) {
|
7564
|
+
payload[_i - 1] = arguments[_i];
|
7565
|
+
}
|
7566
|
+
_emit_1.call.apply(_emit_1, __spreadArray([target.__VUE_DEVTOOLS_GLOBAL_HOOK__, eventType], payload, false));
|
7567
|
+
captureDevtoolsVueComponentEmitEvent(eventType, payload);
|
7568
|
+
};
|
7569
|
+
}
|
7570
|
+
else {
|
7571
|
+
// use devtools to capture this "emit"
|
7572
|
+
setDevtoolsHook(createDevTools(), {});
|
7573
|
+
}
|
7498
7574
|
};
|
7575
|
+
function captureDevtoolsVueComponentEmitEvent(eventType, payload) {
|
7576
|
+
if (eventType === "component:emit" /* DevtoolsHooks.COMPONENT_EMIT */) {
|
7577
|
+
payload[0]; var componentVM = payload[1], event_1 = payload[2], eventArgs = payload[3];
|
7578
|
+
recordEvent(componentVM, event_1, eventArgs);
|
7579
|
+
}
|
7580
|
+
}
|
7499
7581
|
// devtools hook only catches Vue component custom events
|
7500
7582
|
function createDevTools() {
|
7501
7583
|
return {
|
@@ -7504,10 +7586,7 @@ function createDevTools() {
|
|
7504
7586
|
for (var _i = 1; _i < arguments.length; _i++) {
|
7505
7587
|
payload[_i - 1] = arguments[_i];
|
7506
7588
|
}
|
7507
|
-
|
7508
|
-
return;
|
7509
|
-
var componentVM = payload[1], event = payload[2], eventArgs = payload[3];
|
7510
|
-
recordEvent(componentVM, event, eventArgs);
|
7589
|
+
captureDevtoolsVueComponentEmitEvent(eventType, payload);
|
7511
7590
|
}
|
7512
7591
|
};
|
7513
7592
|
}
|
@@ -7539,9 +7618,18 @@ var removeEventHistory = function (vm) {
|
|
7539
7618
|
function createVMProxy(vm, setupState) {
|
7540
7619
|
return new Proxy(vm, {
|
7541
7620
|
get: function (vm, key, receiver) {
|
7542
|
-
if (key in
|
7621
|
+
if (vm.$.exposed && vm.$.exposeProxy && key in vm.$.exposeProxy) {
|
7622
|
+
// first if the key is exposed
|
7623
|
+
return Reflect.get(vm.$.exposeProxy, key, receiver);
|
7624
|
+
}
|
7625
|
+
else if (key in setupState) {
|
7626
|
+
// second if the key is acccessible from the setupState
|
7543
7627
|
return Reflect.get(setupState, key, receiver);
|
7544
7628
|
}
|
7629
|
+
else if (key in vm.$.appContext.config.globalProperties) {
|
7630
|
+
// third if the key is a global property
|
7631
|
+
return Reflect.get(vm.$.appContext.config.globalProperties, key, receiver);
|
7632
|
+
}
|
7545
7633
|
else {
|
7546
7634
|
// vm.$.ctx is the internal context of the vm
|
7547
7635
|
// with all variables, methods and props
|
@@ -7760,30 +7848,6 @@ var VueWrapper = /** @class */ (function (_super) {
|
|
7760
7848
|
}(BaseWrapper));
|
7761
7849
|
registerFactory(WrapperType.VueWrapper, function (app, vm, setProps) { return new VueWrapper(app, vm, setProps); });
|
7762
7850
|
|
7763
|
-
var isEnabled = false;
|
7764
|
-
var wrapperInstances = [];
|
7765
|
-
function disableAutoUnmount() {
|
7766
|
-
isEnabled = false;
|
7767
|
-
wrapperInstances.length = 0;
|
7768
|
-
}
|
7769
|
-
function enableAutoUnmount(hook) {
|
7770
|
-
if (isEnabled) {
|
7771
|
-
throw new Error('enableAutoUnmount cannot be called more than once');
|
7772
|
-
}
|
7773
|
-
isEnabled = true;
|
7774
|
-
hook(function () {
|
7775
|
-
wrapperInstances.forEach(function (wrapper) {
|
7776
|
-
wrapper.unmount();
|
7777
|
-
});
|
7778
|
-
wrapperInstances.length = 0;
|
7779
|
-
});
|
7780
|
-
}
|
7781
|
-
function trackInstance(wrapper) {
|
7782
|
-
if (!isEnabled)
|
7783
|
-
return;
|
7784
|
-
wrapperInstances.push(wrapper);
|
7785
|
-
}
|
7786
|
-
|
7787
7851
|
function processSlot(source, Vue$1) {
|
7788
7852
|
if (source === void 0) { source = ''; }
|
7789
7853
|
if (Vue$1 === void 0) { Vue$1 = Vue; }
|
@@ -7817,24 +7881,30 @@ function processSlot(source, Vue$1) {
|
|
7817
7881
|
|
7818
7882
|
var isTeleport = function (type) { return type.__isTeleport; };
|
7819
7883
|
var isKeepAlive = function (type) { return type.__isKeepAlive; };
|
7884
|
+
var isRootComponent = function (rootComponents, type, instance) {
|
7885
|
+
return !!(!instance ||
|
7886
|
+
// Don't stub mounted component on root level
|
7887
|
+
(rootComponents.component === type && !(instance === null || instance === void 0 ? void 0 : instance.parent)) ||
|
7888
|
+
// Don't stub component with compat wrapper
|
7889
|
+
(rootComponents.functional && rootComponents.functional === type));
|
7890
|
+
};
|
7820
7891
|
var createVNodeTransformer = function (_a) {
|
7821
|
-
var transformers = _a.transformers;
|
7892
|
+
var rootComponents = _a.rootComponents, transformers = _a.transformers;
|
7822
7893
|
var transformationCache = new WeakMap();
|
7823
7894
|
return function (args, instance) {
|
7824
7895
|
var originalType = args[0], props = args[1], children = args[2], restVNodeArgs = args.slice(3);
|
7825
7896
|
if (!isComponent(originalType)) {
|
7826
7897
|
return __spreadArray([originalType, props, children], restVNodeArgs, true);
|
7827
7898
|
}
|
7899
|
+
var componentType = originalType;
|
7828
7900
|
var cachedTransformation = transformationCache.get(originalType);
|
7829
|
-
if (cachedTransformation
|
7830
|
-
//
|
7831
|
-
|
7832
|
-
|
7833
|
-
|
7834
|
-
}
|
7901
|
+
if (cachedTransformation &&
|
7902
|
+
// Don't use cache for root component, as it could use stubbed recursive component
|
7903
|
+
!isRootComponent(rootComponents, componentType, instance) &&
|
7904
|
+
!isTeleport(originalType) &&
|
7905
|
+
!isKeepAlive(originalType)) {
|
7835
7906
|
return __spreadArray([cachedTransformation, props, children], restVNodeArgs, true);
|
7836
7907
|
}
|
7837
|
-
var componentType = originalType;
|
7838
7908
|
var transformedType = transformers.reduce(function (type, transformer) { return transformer(type, instance); }, componentType);
|
7839
7909
|
if (originalType !== transformedType) {
|
7840
7910
|
transformationCache.set(originalType, transformedType);
|
@@ -7856,14 +7926,40 @@ var normalizeStubProps = function (props) {
|
|
7856
7926
|
var _a, _b, _c;
|
7857
7927
|
var _d;
|
7858
7928
|
if (typeof $props[key] === 'symbol') {
|
7859
|
-
return __assign(__assign({}, acc), (_a = {}, _a[key] = (_d = $props[key]) === null || _d === void 0 ? void 0 : _d.toString(), _a));
|
7929
|
+
return __assign(__assign({}, acc), (_a = {}, _a[key] = [(_d = $props[key]) === null || _d === void 0 ? void 0 : _d.toString()], _a));
|
7860
7930
|
}
|
7861
7931
|
if (typeof $props[key] === 'function') {
|
7862
|
-
return __assign(__assign({}, acc), (_b = {}, _b[key] = '[Function]', _b));
|
7932
|
+
return __assign(__assign({}, acc), (_b = {}, _b[key] = ['[Function]'], _b));
|
7863
7933
|
}
|
7864
7934
|
return __assign(__assign({}, acc), (_c = {}, _c[key] = $props[key], _c));
|
7865
7935
|
}, {});
|
7866
7936
|
};
|
7937
|
+
var clearAndUpper = function (text) { return text.replace(/-/, '').toUpperCase(); };
|
7938
|
+
var kebabToPascalCase = function (tag) {
|
7939
|
+
return tag.replace(/(^\w|-\w)/g, clearAndUpper);
|
7940
|
+
};
|
7941
|
+
var DEFAULT_STUBS = {
|
7942
|
+
teleport: isTeleport,
|
7943
|
+
'keep-alive': isKeepAlive,
|
7944
|
+
transition: function (type) { return type === Transition || type === BaseTransition; },
|
7945
|
+
'transition-group': function (type) { return type === TransitionGroup; }
|
7946
|
+
};
|
7947
|
+
var createDefaultStub = function (kebabTag, predicate, type, stubs) {
|
7948
|
+
var pascalTag = kebabToPascalCase(kebabTag);
|
7949
|
+
if (predicate(type) && (pascalTag in stubs || kebabTag in stubs)) {
|
7950
|
+
if (kebabTag in stubs && stubs[kebabTag] === false)
|
7951
|
+
return type;
|
7952
|
+
if (pascalTag in stubs && stubs[pascalTag] === false)
|
7953
|
+
return type;
|
7954
|
+
if (stubs[kebabTag] === true || stubs[pascalTag] === true) {
|
7955
|
+
return createStub({
|
7956
|
+
name: kebabTag,
|
7957
|
+
type: type,
|
7958
|
+
renderStubDefaultSlot: true
|
7959
|
+
});
|
7960
|
+
}
|
7961
|
+
}
|
7962
|
+
};
|
7867
7963
|
var createStub = function (_a) {
|
7868
7964
|
var name = _a.name, type = _a.type, renderStubDefaultSlot = _a.renderStubDefaultSlot;
|
7869
7965
|
var anonName = 'anonymous-stub';
|
@@ -7871,7 +7967,7 @@ var createStub = function (_a) {
|
|
7871
7967
|
var componentOptions = type
|
7872
7968
|
? unwrapLegacyVueExtendComponent(type) || {}
|
7873
7969
|
: {};
|
7874
|
-
|
7970
|
+
var stub = defineComponent({
|
7875
7971
|
name: name || anonName,
|
7876
7972
|
props: componentOptions.props || {},
|
7877
7973
|
// fix #1550 - respect old-style v-model for shallow mounted components with @vue/compat
|
@@ -7889,10 +7985,26 @@ var createStub = function (_a) {
|
|
7889
7985
|
// Also having function text as attribute is useless and annoying so
|
7890
7986
|
// we replace it with "[Function]""
|
7891
7987
|
var stubProps = normalizeStubProps(props);
|
7892
|
-
|
7988
|
+
// if renderStubDefaultSlot is true, we render the default slot
|
7989
|
+
if (renderStubDefaultSlot && slots.default) {
|
7990
|
+
// we explicitly call the default slot with an empty object
|
7991
|
+
// so scope slots destructuring works
|
7992
|
+
return h(tag, stubProps, slots.default({}));
|
7993
|
+
}
|
7994
|
+
return h(tag, stubProps);
|
7893
7995
|
};
|
7894
7996
|
}
|
7895
7997
|
});
|
7998
|
+
var asyncLoader = type.__asyncLoader;
|
7999
|
+
if (asyncLoader) {
|
8000
|
+
asyncLoader().then(function () {
|
8001
|
+
registerStub({
|
8002
|
+
source: type.__asyncResolved,
|
8003
|
+
stub: stub
|
8004
|
+
});
|
8005
|
+
});
|
8006
|
+
}
|
8007
|
+
return stub;
|
7896
8008
|
};
|
7897
8009
|
var resolveComponentStubByName = function (componentName, stubs) {
|
7898
8010
|
for (var _i = 0, _a = Object.entries(stubs); _i < _a.length; _i++) {
|
@@ -7906,56 +8018,14 @@ function createStubComponentsTransformer(_a) {
|
|
7906
8018
|
var rootComponents = _a.rootComponents, _b = _a.stubs, stubs = _b === void 0 ? {} : _b, _c = _a.shallow, shallow = _c === void 0 ? false : _c, _d = _a.renderStubDefaultSlot, renderStubDefaultSlot = _d === void 0 ? false : _d;
|
7907
8019
|
return function componentsTransformer(type, instance) {
|
7908
8020
|
var _a, _b, _c;
|
7909
|
-
|
7910
|
-
|
7911
|
-
|
7912
|
-
|
7913
|
-
|
7914
|
-
name: 'teleport',
|
7915
|
-
type: type,
|
7916
|
-
renderStubDefaultSlot: true
|
7917
|
-
});
|
7918
|
-
}
|
7919
|
-
// stub keep-alive/KeepAlive by default via config.global.stubs
|
7920
|
-
if (isKeepAlive(type) && ('keep-alive' in stubs || 'KeepAlive' in stubs)) {
|
7921
|
-
if ('keep-alive' in stubs && stubs['keep-alive'] === false)
|
7922
|
-
return type;
|
7923
|
-
if ('KeepAlive' in stubs && stubs['KeepAlive'] === false)
|
7924
|
-
return type;
|
7925
|
-
return createStub({
|
7926
|
-
name: 'keep-alive',
|
7927
|
-
type: type,
|
7928
|
-
renderStubDefaultSlot: true
|
7929
|
-
});
|
7930
|
-
}
|
7931
|
-
// stub transition by default via config.global.stubs
|
7932
|
-
if ((type === Transition || type === BaseTransition) &&
|
7933
|
-
'transition' in stubs) {
|
7934
|
-
if (stubs.transition === false)
|
7935
|
-
return type;
|
7936
|
-
return createStub({
|
7937
|
-
name: 'transition',
|
7938
|
-
type: type,
|
7939
|
-
renderStubDefaultSlot: true
|
7940
|
-
});
|
8021
|
+
for (var tag in DEFAULT_STUBS) {
|
8022
|
+
var predicate = DEFAULT_STUBS[tag];
|
8023
|
+
var defaultStub = createDefaultStub(tag, predicate, type, stubs);
|
8024
|
+
if (defaultStub)
|
8025
|
+
return defaultStub;
|
7941
8026
|
}
|
7942
|
-
// stub
|
7943
|
-
if (type
|
7944
|
-
if (stubs['transition-group'] === false)
|
7945
|
-
return type;
|
7946
|
-
return createStub({
|
7947
|
-
name: 'transition-group',
|
7948
|
-
type: type,
|
7949
|
-
renderStubDefaultSlot: true
|
7950
|
-
});
|
7951
|
-
}
|
7952
|
-
if (
|
7953
|
-
// Don't stub VTU_ROOT component
|
7954
|
-
!instance ||
|
7955
|
-
// Don't stub mounted component on root level
|
7956
|
-
(rootComponents.component === type && !(instance === null || instance === void 0 ? void 0 : instance.parent)) ||
|
7957
|
-
// Don't stub component with compat wrapper
|
7958
|
-
(rootComponents.functional && rootComponents.functional === type)) {
|
8027
|
+
// Don't stub root components
|
8028
|
+
if (isRootComponent(rootComponents, type, instance)) {
|
7959
8029
|
return type;
|
7960
8030
|
}
|
7961
8031
|
var registeredName = getComponentRegisteredName(instance, type);
|
@@ -8008,7 +8078,8 @@ function createStubComponentsTransformer(_a) {
|
|
8008
8078
|
var stubName = name || registeredName || componentName;
|
8009
8079
|
return ((_c = (_b = (_a = config.plugins).createStubs) === null || _b === void 0 ? void 0 : _b.call(_a, {
|
8010
8080
|
name: stubName,
|
8011
|
-
component: type
|
8081
|
+
component: type,
|
8082
|
+
registerStub: registerStub
|
8012
8083
|
})) !== null && _c !== void 0 ? _c : createStub({
|
8013
8084
|
name: stubName,
|
8014
8085
|
type: type,
|
@@ -8043,6 +8114,38 @@ function createStubDirectivesTransformer(_a) {
|
|
8043
8114
|
};
|
8044
8115
|
}
|
8045
8116
|
|
8117
|
+
/**
|
8118
|
+
* Implementation details of isDeepRef to avoid circular dependencies.
|
8119
|
+
* It keeps track of visited objects to avoid infinite recursion.
|
8120
|
+
*
|
8121
|
+
* @param r The value to check for a Ref.
|
8122
|
+
* @param visitedObjects a weak map to keep track of visited objects and avoid infinite recursion
|
8123
|
+
* @returns returns true if the value is a Ref, false otherwise
|
8124
|
+
*/
|
8125
|
+
var deeplyCheckForRef = function (r, visitedObjects) {
|
8126
|
+
if (isRef(r))
|
8127
|
+
return true;
|
8128
|
+
if (!isObject(r))
|
8129
|
+
return false;
|
8130
|
+
if (visitedObjects.has(r))
|
8131
|
+
return false;
|
8132
|
+
visitedObjects.set(r, true);
|
8133
|
+
return Object.values(r).some(function (val) { return deeplyCheckForRef(val, visitedObjects); });
|
8134
|
+
};
|
8135
|
+
/**
|
8136
|
+
* Checks if the given value is a DeepRef.
|
8137
|
+
*
|
8138
|
+
* For both arrays and objects, it will recursively check
|
8139
|
+
* if any of their values is a Ref.
|
8140
|
+
*
|
8141
|
+
* @param {DeepRef<T> | unknown} r - The value to check.
|
8142
|
+
* @returns {boolean} Returns true if the value is a DeepRef, false otherwise.
|
8143
|
+
*/
|
8144
|
+
var isDeepRef = function (r) {
|
8145
|
+
var visitedObjects = new WeakMap();
|
8146
|
+
return deeplyCheckForRef(r, visitedObjects);
|
8147
|
+
};
|
8148
|
+
|
8046
8149
|
var MOUNT_OPTIONS = [
|
8047
8150
|
'attachTo',
|
8048
8151
|
'attrs',
|
@@ -8100,20 +8203,6 @@ function createInstance(inputComponent, options) {
|
|
8100
8203
|
// We've just replaced our component with its copy
|
8101
8204
|
// Let's register it as a stub so user can find it
|
8102
8205
|
registerStub({ source: originalComponent, stub: component });
|
8103
|
-
var el = document.createElement('div');
|
8104
|
-
if (options === null || options === void 0 ? void 0 : options.attachTo) {
|
8105
|
-
var to = void 0;
|
8106
|
-
if (typeof options.attachTo === 'string') {
|
8107
|
-
to = document.querySelector(options.attachTo);
|
8108
|
-
if (!to) {
|
8109
|
-
throw new Error("Unable to find the element matching the selector ".concat(options.attachTo, " given as the `attachTo` option"));
|
8110
|
-
}
|
8111
|
-
}
|
8112
|
-
else {
|
8113
|
-
to = options.attachTo;
|
8114
|
-
}
|
8115
|
-
to.appendChild(el);
|
8116
|
-
}
|
8117
8206
|
function slotToFunction(slot) {
|
8118
8207
|
switch (typeof slot) {
|
8119
8208
|
case 'function':
|
@@ -8158,7 +8247,7 @@ function createInstance(inputComponent, options) {
|
|
8158
8247
|
var props = reactive({});
|
8159
8248
|
Object.entries(__assign(__assign(__assign(__assign({}, options === null || options === void 0 ? void 0 : options.attrs), options === null || options === void 0 ? void 0 : options.propsData), options === null || options === void 0 ? void 0 : options.props), { ref: MOUNT_COMPONENT_REF })).forEach(function (_a) {
|
8160
8249
|
var k = _a[0], v = _a[1];
|
8161
|
-
if (
|
8250
|
+
if (isDeepRef(v)) {
|
8162
8251
|
refs[k] = v;
|
8163
8252
|
}
|
8164
8253
|
else {
|
@@ -8190,7 +8279,7 @@ function createInstance(inputComponent, options) {
|
|
8190
8279
|
attachEmitListener();
|
8191
8280
|
// global mocks mixin
|
8192
8281
|
if (global === null || global === void 0 ? void 0 : global.mocks) {
|
8193
|
-
var mixin =
|
8282
|
+
var mixin = {
|
8194
8283
|
beforeCreate: function () {
|
8195
8284
|
// we need to differentiate components that are or not not `script setup`
|
8196
8285
|
// otherwise we run into a proxy set error
|
@@ -8226,7 +8315,7 @@ function createInstance(inputComponent, options) {
|
|
8226
8315
|
}
|
8227
8316
|
}
|
8228
8317
|
}
|
8229
|
-
}
|
8318
|
+
};
|
8230
8319
|
app.mixin(mixin);
|
8231
8320
|
}
|
8232
8321
|
// AppConfig
|
@@ -8238,10 +8327,18 @@ function createInstance(inputComponent, options) {
|
|
8238
8327
|
: v;
|
8239
8328
|
}
|
8240
8329
|
}
|
8330
|
+
// provide any values passed via provides mounting option
|
8331
|
+
if (global.provide) {
|
8332
|
+
for (var _c = 0, _d = Reflect.ownKeys(global.provide); _c < _d.length; _c++) {
|
8333
|
+
var key = _d[_c];
|
8334
|
+
// @ts-ignore: https://github.com/microsoft/TypeScript/issues/1863
|
8335
|
+
app.provide(key, global.provide[key]);
|
8336
|
+
}
|
8337
|
+
}
|
8241
8338
|
// use and plugins from mounting options
|
8242
8339
|
if (global.plugins) {
|
8243
|
-
for (var
|
8244
|
-
var plugin =
|
8340
|
+
for (var _e = 0, _f = global.plugins; _e < _f.length; _e++) {
|
8341
|
+
var plugin = _f[_e];
|
8245
8342
|
if (Array.isArray(plugin)) {
|
8246
8343
|
app.use.apply(app, __spreadArray([plugin[0]], plugin.slice(1), false));
|
8247
8344
|
continue;
|
@@ -8251,14 +8348,14 @@ function createInstance(inputComponent, options) {
|
|
8251
8348
|
}
|
8252
8349
|
// use any mixins from mounting options
|
8253
8350
|
if (global.mixins) {
|
8254
|
-
for (var
|
8255
|
-
var mixin =
|
8351
|
+
for (var _g = 0, _h = global.mixins; _g < _h.length; _g++) {
|
8352
|
+
var mixin = _h[_g];
|
8256
8353
|
app.mixin(mixin);
|
8257
8354
|
}
|
8258
8355
|
}
|
8259
8356
|
if (global.components) {
|
8260
|
-
for (var
|
8261
|
-
var key =
|
8357
|
+
for (var _j = 0, _k = Object.keys(global.components); _j < _k.length; _j++) {
|
8358
|
+
var key = _k[_j];
|
8262
8359
|
// avoid registering components that are stubbed twice
|
8263
8360
|
if (!(key in global.stubs)) {
|
8264
8361
|
app.component(key, global.components[key]);
|
@@ -8266,23 +8363,16 @@ function createInstance(inputComponent, options) {
|
|
8266
8363
|
}
|
8267
8364
|
}
|
8268
8365
|
if (global.directives) {
|
8269
|
-
for (var
|
8270
|
-
var key = _k[_j];
|
8271
|
-
app.directive(key, global.directives[key]);
|
8272
|
-
}
|
8273
|
-
}
|
8274
|
-
// provide any values passed via provides mounting option
|
8275
|
-
if (global.provide) {
|
8276
|
-
for (var _l = 0, _m = Reflect.ownKeys(global.provide); _l < _m.length; _l++) {
|
8366
|
+
for (var _l = 0, _m = Object.keys(global.directives); _l < _m.length; _l++) {
|
8277
8367
|
var key = _m[_l];
|
8278
|
-
|
8279
|
-
app.provide(key, global.provide[key]);
|
8368
|
+
app.directive(key, global.directives[key]);
|
8280
8369
|
}
|
8281
8370
|
}
|
8282
8371
|
// stubs
|
8283
8372
|
// even if we are using `mount`, we will still
|
8284
8373
|
// stub out Transition and Transition Group by default.
|
8285
8374
|
transformVNodeArgs(createVNodeTransformer({
|
8375
|
+
rootComponents: rootComponents,
|
8286
8376
|
transformers: [
|
8287
8377
|
createStubComponentsTransformer({
|
8288
8378
|
rootComponents: rootComponents,
|
@@ -8315,15 +8405,38 @@ function createInstance(inputComponent, options) {
|
|
8315
8405
|
}
|
8316
8406
|
return {
|
8317
8407
|
app: app,
|
8318
|
-
el: el,
|
8319
8408
|
props: props,
|
8320
8409
|
componentRef: componentRef
|
8321
8410
|
};
|
8322
8411
|
}
|
8323
8412
|
|
8413
|
+
var isEnabled = false;
|
8414
|
+
var wrapperInstances = [];
|
8415
|
+
function disableAutoUnmount() {
|
8416
|
+
isEnabled = false;
|
8417
|
+
wrapperInstances.length = 0;
|
8418
|
+
}
|
8419
|
+
function enableAutoUnmount(hook) {
|
8420
|
+
if (isEnabled) {
|
8421
|
+
throw new Error('enableAutoUnmount cannot be called more than once');
|
8422
|
+
}
|
8423
|
+
isEnabled = true;
|
8424
|
+
hook(function () {
|
8425
|
+
wrapperInstances.forEach(function (wrapper) {
|
8426
|
+
wrapper.unmount();
|
8427
|
+
});
|
8428
|
+
wrapperInstances.length = 0;
|
8429
|
+
});
|
8430
|
+
}
|
8431
|
+
function trackInstance(wrapper) {
|
8432
|
+
if (!isEnabled)
|
8433
|
+
return;
|
8434
|
+
wrapperInstances.push(wrapper);
|
8435
|
+
}
|
8436
|
+
|
8324
8437
|
// implementation
|
8325
8438
|
function mount$1(inputComponent, options) {
|
8326
|
-
var _a = createInstance(inputComponent, options), app = _a.app, props = _a.props,
|
8439
|
+
var _a = createInstance(inputComponent, options), app = _a.app, props = _a.props, componentRef = _a.componentRef;
|
8327
8440
|
var setProps = function (newProps) {
|
8328
8441
|
for (var _i = 0, _a = Object.entries(newProps); _i < _a.length; _i++) {
|
8329
8442
|
var _b = _a[_i], k = _b[0], v = _b[1];
|
@@ -8333,15 +8446,30 @@ function mount$1(inputComponent, options) {
|
|
8333
8446
|
};
|
8334
8447
|
// Workaround for https://github.com/vuejs/core/issues/7020
|
8335
8448
|
var originalErrorHandler = app.config.errorHandler;
|
8336
|
-
var
|
8449
|
+
var errorsOnMount = [];
|
8337
8450
|
app.config.errorHandler = function (err, instance, info) {
|
8338
|
-
|
8451
|
+
errorsOnMount.push(err);
|
8339
8452
|
return originalErrorHandler === null || originalErrorHandler === void 0 ? void 0 : originalErrorHandler(err, instance, info);
|
8340
8453
|
};
|
8341
8454
|
// mount the app!
|
8455
|
+
var el = document.createElement('div');
|
8456
|
+
if (options === null || options === void 0 ? void 0 : options.attachTo) {
|
8457
|
+
var to = void 0;
|
8458
|
+
if (typeof options.attachTo === 'string') {
|
8459
|
+
to = document.querySelector(options.attachTo);
|
8460
|
+
if (!to) {
|
8461
|
+
throw new Error("Unable to find the element matching the selector ".concat(options.attachTo, " given as the `attachTo` option"));
|
8462
|
+
}
|
8463
|
+
}
|
8464
|
+
else {
|
8465
|
+
to = options.attachTo;
|
8466
|
+
}
|
8467
|
+
to.appendChild(el);
|
8468
|
+
}
|
8342
8469
|
var vm = app.mount(el);
|
8343
|
-
if (
|
8344
|
-
throw
|
8470
|
+
if (errorsOnMount.length) {
|
8471
|
+
// If several errors are thrown during mount, then throw the first one
|
8472
|
+
throw errorsOnMount[0];
|
8345
8473
|
}
|
8346
8474
|
app.config.errorHandler = originalErrorHandler;
|
8347
8475
|
var appRef = componentRef.value;
|
@@ -8361,6 +8489,9 @@ var shallowMount$1 = function (component, options) {
|
|
8361
8489
|
};
|
8362
8490
|
|
8363
8491
|
function renderToString(component, options) {
|
8492
|
+
if (options === null || options === void 0 ? void 0 : options.attachTo) {
|
8493
|
+
console.warn('attachTo option is not available for renderToString');
|
8494
|
+
}
|
8364
8495
|
var app = createInstance(component, options).app;
|
8365
8496
|
return renderToString$1(app);
|
8366
8497
|
}
|
@@ -8469,7 +8600,6 @@ const cleanup = () => {
|
|
8469
8600
|
* })
|
8470
8601
|
*/
|
8471
8602
|
function mount(componentOptions, options = {}) {
|
8472
|
-
checkForRemovedStyleOptions(options);
|
8473
8603
|
// Remove last mounted component if cy.mount is called more than once in a test
|
8474
8604
|
cleanup();
|
8475
8605
|
// then wait for cypress to load
|
@@ -8506,16 +8636,7 @@ function mount(componentOptions, options = {}) {
|
|
8506
8636
|
wrapper,
|
8507
8637
|
component: wrapper.vm,
|
8508
8638
|
};
|
8509
|
-
return
|
8510
|
-
get(obj, prop) {
|
8511
|
-
// throw an error if it looks like the caller is trying to call a method on the VueWrapper that was originally returned
|
8512
|
-
if (Reflect.get(wrapper, prop)) {
|
8513
|
-
// @ts-expect-error - internal API
|
8514
|
-
Cypress.utils.throwErrByPath('mount.vue_yielded_value');
|
8515
|
-
}
|
8516
|
-
return Reflect.get(obj, prop);
|
8517
|
-
},
|
8518
|
-
});
|
8639
|
+
return returnVal;
|
8519
8640
|
});
|
8520
8641
|
});
|
8521
8642
|
}
|
@@ -8539,21 +8660,6 @@ function getComponentDisplayName(componentOptions) {
|
|
8539
8660
|
}
|
8540
8661
|
return DEFAULT_COMP_NAME;
|
8541
8662
|
}
|
8542
|
-
/**
|
8543
|
-
* Helper function for mounting a component quickly in test hooks.
|
8544
|
-
* @example
|
8545
|
-
* import {mountCallback} from '@cypress/vue'
|
8546
|
-
* beforeEach(mountVue(component, options))
|
8547
|
-
*
|
8548
|
-
* Removed as of Cypress 11.0.0.
|
8549
|
-
* @see https://on.cypress.io/migration-11-0-0-component-testing-updates
|
8550
|
-
*/
|
8551
|
-
function mountCallback(component, options = {}) {
|
8552
|
-
return () => {
|
8553
|
-
// @ts-expect-error - undocumented API
|
8554
|
-
Cypress.utils.throwErrByPath('mount.mount_callback');
|
8555
|
-
};
|
8556
|
-
}
|
8557
8663
|
// Side effects from "import { mount } from '@cypress/<my-framework>'" are annoying, we should avoid doing this
|
8558
8664
|
// by creating an explicit function/import that the user can register in their 'component.js' support file,
|
8559
8665
|
// such as:
|
@@ -8564,4 +8670,4 @@ function mountCallback(component, options = {}) {
|
|
8564
8670
|
// Note: This would be a breaking change
|
8565
8671
|
setupHooks(cleanup);
|
8566
8672
|
|
8567
|
-
export { VueTestUtils, mount
|
8673
|
+
export { VueTestUtils, mount };
|