@vitest/browser 3.2.2 → 3.2.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/client/.vite/manifest.json +1 -1
- package/dist/client/__vitest__/assets/index-X8b7Z_4p.css +1 -0
- package/dist/client/__vitest__/assets/index-_g5qy0bI.js +58 -0
- package/dist/client/__vitest__/index.html +2 -2
- package/dist/client/__vitest_browser__/{orchestrator-D711E7wO.js → orchestrator-CNq5e39X.js} +516 -36
- package/dist/client/orchestrator.html +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +10 -6
- package/package.json +8 -8
- package/dist/client/__vitest__/assets/index-BXfDBrdK.css +0 -1
- package/dist/client/__vitest__/assets/index-DYikzJUp.js +0 -58
|
@@ -23,8 +23,8 @@
|
|
|
23
23
|
})();
|
|
24
24
|
</script>
|
|
25
25
|
<!-- !LOAD_METADATA! -->
|
|
26
|
-
<script type="module" src="./assets/index-
|
|
27
|
-
<link rel="stylesheet" href="./assets/index-
|
|
26
|
+
<script type="module" src="./assets/index-_g5qy0bI.js"></script>
|
|
27
|
+
<link rel="stylesheet" href="./assets/index-X8b7Z_4p.css">
|
|
28
28
|
</head>
|
|
29
29
|
<body>
|
|
30
30
|
<div id="app"></div>
|
package/dist/client/__vitest_browser__/{orchestrator-D711E7wO.js → orchestrator-CNq5e39X.js}
RENAMED
|
@@ -770,11 +770,11 @@ function isNegativeNaN(val) {
|
|
|
770
770
|
const isNegative = u32[1] >>> 31 === 1;
|
|
771
771
|
return isNegative;
|
|
772
772
|
}
|
|
773
|
-
var jsTokens_1;
|
|
774
|
-
var hasRequiredJsTokens;
|
|
775
|
-
function requireJsTokens() {
|
|
776
|
-
if (hasRequiredJsTokens) return jsTokens_1;
|
|
777
|
-
hasRequiredJsTokens = 1;
|
|
773
|
+
var jsTokens_1$1;
|
|
774
|
+
var hasRequiredJsTokens$1;
|
|
775
|
+
function requireJsTokens$1() {
|
|
776
|
+
if (hasRequiredJsTokens$1) return jsTokens_1$1;
|
|
777
|
+
hasRequiredJsTokens$1 = 1;
|
|
778
778
|
var Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
|
|
779
779
|
RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:(?![\]\\]).|\\.)*\]|(?![\/\\]).|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
|
|
780
780
|
Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
|
|
@@ -795,7 +795,7 @@ function requireJsTokens() {
|
|
|
795
795
|
KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
|
|
796
796
|
KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
|
|
797
797
|
Newline = RegExp(LineTerminatorSequence.source);
|
|
798
|
-
jsTokens_1 = function* (input, { jsx = false } = {}) {
|
|
798
|
+
jsTokens_1$1 = function* (input, { jsx = false } = {}) {
|
|
799
799
|
var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
|
|
800
800
|
({ length } = input);
|
|
801
801
|
lastIndex = 0;
|
|
@@ -1161,9 +1161,9 @@ function requireJsTokens() {
|
|
|
1161
1161
|
}
|
|
1162
1162
|
return void 0;
|
|
1163
1163
|
};
|
|
1164
|
-
return jsTokens_1;
|
|
1164
|
+
return jsTokens_1$1;
|
|
1165
1165
|
}
|
|
1166
|
-
requireJsTokens();
|
|
1166
|
+
requireJsTokens$1();
|
|
1167
1167
|
var reservedWords = {
|
|
1168
1168
|
keyword: [
|
|
1169
1169
|
"break",
|
|
@@ -1355,22 +1355,22 @@ function extractLocation(urlLike) {
|
|
|
1355
1355
|
if (!parts) {
|
|
1356
1356
|
return [urlLike];
|
|
1357
1357
|
}
|
|
1358
|
-
let
|
|
1359
|
-
if (
|
|
1360
|
-
|
|
1358
|
+
let url = parts[1];
|
|
1359
|
+
if (url.startsWith("async ")) {
|
|
1360
|
+
url = url.slice(6);
|
|
1361
1361
|
}
|
|
1362
|
-
if (
|
|
1363
|
-
const urlObj = new URL(
|
|
1362
|
+
if (url.startsWith("http:") || url.startsWith("https:")) {
|
|
1363
|
+
const urlObj = new URL(url);
|
|
1364
1364
|
urlObj.searchParams.delete("import");
|
|
1365
1365
|
urlObj.searchParams.delete("browserv");
|
|
1366
|
-
|
|
1366
|
+
url = urlObj.pathname + urlObj.hash + urlObj.search;
|
|
1367
1367
|
}
|
|
1368
|
-
if (
|
|
1369
|
-
const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(
|
|
1370
|
-
|
|
1368
|
+
if (url.startsWith("/@fs/")) {
|
|
1369
|
+
const isWindows = /^\/@fs\/[a-zA-Z]:\//.test(url);
|
|
1370
|
+
url = url.slice(isWindows ? 5 : 4);
|
|
1371
1371
|
}
|
|
1372
1372
|
return [
|
|
1373
|
-
|
|
1373
|
+
url,
|
|
1374
1374
|
parts[2] || void 0,
|
|
1375
1375
|
parts[3] || void 0
|
|
1376
1376
|
];
|
|
@@ -1389,12 +1389,12 @@ function parseSingleFFOrSafariStack(raw) {
|
|
|
1389
1389
|
const functionNameRegex = /((.*".+"[^@]*)?[^@]*)(@)/;
|
|
1390
1390
|
const matches = line.match(functionNameRegex);
|
|
1391
1391
|
const functionName = matches && matches[1] ? matches[1] : void 0;
|
|
1392
|
-
const [
|
|
1393
|
-
if (!
|
|
1392
|
+
const [url, lineNumber, columnNumber] = extractLocation(line.replace(functionNameRegex, ""));
|
|
1393
|
+
if (!url || !lineNumber || !columnNumber) {
|
|
1394
1394
|
return null;
|
|
1395
1395
|
}
|
|
1396
1396
|
return {
|
|
1397
|
-
file:
|
|
1397
|
+
file: url,
|
|
1398
1398
|
method: functionName || "",
|
|
1399
1399
|
line: Number.parseInt(lineNumber),
|
|
1400
1400
|
column: Number.parseInt(columnNumber)
|
|
@@ -1416,11 +1416,11 @@ function parseSingleV8Stack(raw) {
|
|
|
1416
1416
|
line = line.replace(/eval code/g, "eval").replace(/(\(eval at [^()]*)|(,.*$)/g, "");
|
|
1417
1417
|
}
|
|
1418
1418
|
let sanitizedLine = line.replace(/^\s+/, "").replace(/\(eval code/g, "(").replace(/^.*?\s+/, "");
|
|
1419
|
-
const
|
|
1420
|
-
sanitizedLine =
|
|
1421
|
-
const [
|
|
1422
|
-
let method =
|
|
1423
|
-
let file =
|
|
1419
|
+
const location = sanitizedLine.match(/ (\(.+\)$)/);
|
|
1420
|
+
sanitizedLine = location ? sanitizedLine.replace(location[0], "") : sanitizedLine;
|
|
1421
|
+
const [url, lineNumber, columnNumber] = extractLocation(location ? location[1] : sanitizedLine);
|
|
1422
|
+
let method = location && sanitizedLine || "";
|
|
1423
|
+
let file = url && ["eval", "<anonymous>"].includes(url) ? void 0 : url;
|
|
1424
1424
|
if (!file || !lineNumber || !columnNumber) {
|
|
1425
1425
|
return null;
|
|
1426
1426
|
}
|
|
@@ -1441,6 +1441,486 @@ function parseSingleV8Stack(raw) {
|
|
|
1441
1441
|
column: Number.parseInt(columnNumber)
|
|
1442
1442
|
};
|
|
1443
1443
|
}
|
|
1444
|
+
function getDefaultExportFromCjs(x) {
|
|
1445
|
+
return x && x.__esModule && Object.prototype.hasOwnProperty.call(x, "default") ? x["default"] : x;
|
|
1446
|
+
}
|
|
1447
|
+
var jsTokens_1;
|
|
1448
|
+
var hasRequiredJsTokens;
|
|
1449
|
+
function requireJsTokens() {
|
|
1450
|
+
if (hasRequiredJsTokens) return jsTokens_1;
|
|
1451
|
+
hasRequiredJsTokens = 1;
|
|
1452
|
+
var HashbangComment, Identifier, JSXIdentifier, JSXPunctuator, JSXString, JSXText, KeywordsWithExpressionAfter, KeywordsWithNoLineTerminatorAfter, LineTerminatorSequence, MultiLineComment, Newline, NumericLiteral, Punctuator, RegularExpressionLiteral, SingleLineComment, StringLiteral, Template, TokensNotPrecedingObjectLiteral, TokensPrecedingExpression, WhiteSpace;
|
|
1453
|
+
RegularExpressionLiteral = /\/(?![*\/])(?:\[(?:[^\]\\\n\r\u2028\u2029]+|\\.)*\]?|[^\/[\\\n\r\u2028\u2029]+|\\.)*(\/[$_\u200C\u200D\p{ID_Continue}]*|\\)?/yu;
|
|
1454
|
+
Punctuator = /--|\+\+|=>|\.{3}|\??\.(?!\d)|(?:&&|\|\||\?\?|[+\-%&|^]|\*{1,2}|<{1,2}|>{1,3}|!=?|={1,2}|\/(?![\/*]))=?|[?~,:;[\](){}]/y;
|
|
1455
|
+
Identifier = /(\x23?)(?=[$_\p{ID_Start}\\])(?:[$_\u200C\u200D\p{ID_Continue}]+|\\u[\da-fA-F]{4}|\\u\{[\da-fA-F]+\})+/yu;
|
|
1456
|
+
StringLiteral = /(['"])(?:[^'"\\\n\r]+|(?!\1)['"]|\\(?:\r\n|[^]))*(\1)?/y;
|
|
1457
|
+
NumericLiteral = /(?:0[xX][\da-fA-F](?:_?[\da-fA-F])*|0[oO][0-7](?:_?[0-7])*|0[bB][01](?:_?[01])*)n?|0n|[1-9](?:_?\d)*n|(?:(?:0(?!\d)|0\d*[89]\d*|[1-9](?:_?\d)*)(?:\.(?:\d(?:_?\d)*)?)?|\.\d(?:_?\d)*)(?:[eE][+-]?\d(?:_?\d)*)?|0[0-7]+/y;
|
|
1458
|
+
Template = /[`}](?:[^`\\$]+|\\[^]|\$(?!\{))*(`|\$\{)?/y;
|
|
1459
|
+
WhiteSpace = /[\t\v\f\ufeff\p{Zs}]+/yu;
|
|
1460
|
+
LineTerminatorSequence = /\r?\n|[\r\u2028\u2029]/y;
|
|
1461
|
+
MultiLineComment = /\/\*(?:[^*]+|\*(?!\/))*(\*\/)?/y;
|
|
1462
|
+
SingleLineComment = /\/\/.*/y;
|
|
1463
|
+
HashbangComment = /^#!.*/;
|
|
1464
|
+
JSXPunctuator = /[<>.:={}]|\/(?![\/*])/y;
|
|
1465
|
+
JSXIdentifier = /[$_\p{ID_Start}][$_\u200C\u200D\p{ID_Continue}-]*/yu;
|
|
1466
|
+
JSXString = /(['"])(?:[^'"]+|(?!\1)['"])*(\1)?/y;
|
|
1467
|
+
JSXText = /[^<>{}]+/y;
|
|
1468
|
+
TokensPrecedingExpression = /^(?:[\/+-]|\.{3}|\?(?:InterpolationIn(?:JSX|Template)|NoLineTerminatorHere|NonExpressionParenEnd|UnaryIncDec))?$|[{}([,;<>=*%&|^!~?:]$/;
|
|
1469
|
+
TokensNotPrecedingObjectLiteral = /^(?:=>|[;\]){}]|else|\?(?:NoLineTerminatorHere|NonExpressionParenEnd))?$/;
|
|
1470
|
+
KeywordsWithExpressionAfter = /^(?:await|case|default|delete|do|else|instanceof|new|return|throw|typeof|void|yield)$/;
|
|
1471
|
+
KeywordsWithNoLineTerminatorAfter = /^(?:return|throw|yield)$/;
|
|
1472
|
+
Newline = RegExp(LineTerminatorSequence.source);
|
|
1473
|
+
jsTokens_1 = function* (input, { jsx = false } = {}) {
|
|
1474
|
+
var braces, firstCodePoint, isExpression, lastIndex, lastSignificantToken, length, match, mode, nextLastIndex, nextLastSignificantToken, parenNesting, postfixIncDec, punctuator, stack;
|
|
1475
|
+
({ length } = input);
|
|
1476
|
+
lastIndex = 0;
|
|
1477
|
+
lastSignificantToken = "";
|
|
1478
|
+
stack = [
|
|
1479
|
+
{ tag: "JS" }
|
|
1480
|
+
];
|
|
1481
|
+
braces = [];
|
|
1482
|
+
parenNesting = 0;
|
|
1483
|
+
postfixIncDec = false;
|
|
1484
|
+
if (match = HashbangComment.exec(input)) {
|
|
1485
|
+
yield {
|
|
1486
|
+
type: "HashbangComment",
|
|
1487
|
+
value: match[0]
|
|
1488
|
+
};
|
|
1489
|
+
lastIndex = match[0].length;
|
|
1490
|
+
}
|
|
1491
|
+
while (lastIndex < length) {
|
|
1492
|
+
mode = stack[stack.length - 1];
|
|
1493
|
+
switch (mode.tag) {
|
|
1494
|
+
case "JS":
|
|
1495
|
+
case "JSNonExpressionParen":
|
|
1496
|
+
case "InterpolationInTemplate":
|
|
1497
|
+
case "InterpolationInJSX":
|
|
1498
|
+
if (input[lastIndex] === "/" && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
|
|
1499
|
+
RegularExpressionLiteral.lastIndex = lastIndex;
|
|
1500
|
+
if (match = RegularExpressionLiteral.exec(input)) {
|
|
1501
|
+
lastIndex = RegularExpressionLiteral.lastIndex;
|
|
1502
|
+
lastSignificantToken = match[0];
|
|
1503
|
+
postfixIncDec = true;
|
|
1504
|
+
yield {
|
|
1505
|
+
type: "RegularExpressionLiteral",
|
|
1506
|
+
value: match[0],
|
|
1507
|
+
closed: match[1] !== void 0 && match[1] !== "\\"
|
|
1508
|
+
};
|
|
1509
|
+
continue;
|
|
1510
|
+
}
|
|
1511
|
+
}
|
|
1512
|
+
Punctuator.lastIndex = lastIndex;
|
|
1513
|
+
if (match = Punctuator.exec(input)) {
|
|
1514
|
+
punctuator = match[0];
|
|
1515
|
+
nextLastIndex = Punctuator.lastIndex;
|
|
1516
|
+
nextLastSignificantToken = punctuator;
|
|
1517
|
+
switch (punctuator) {
|
|
1518
|
+
case "(":
|
|
1519
|
+
if (lastSignificantToken === "?NonExpressionParenKeyword") {
|
|
1520
|
+
stack.push({
|
|
1521
|
+
tag: "JSNonExpressionParen",
|
|
1522
|
+
nesting: parenNesting
|
|
1523
|
+
});
|
|
1524
|
+
}
|
|
1525
|
+
parenNesting++;
|
|
1526
|
+
postfixIncDec = false;
|
|
1527
|
+
break;
|
|
1528
|
+
case ")":
|
|
1529
|
+
parenNesting--;
|
|
1530
|
+
postfixIncDec = true;
|
|
1531
|
+
if (mode.tag === "JSNonExpressionParen" && parenNesting === mode.nesting) {
|
|
1532
|
+
stack.pop();
|
|
1533
|
+
nextLastSignificantToken = "?NonExpressionParenEnd";
|
|
1534
|
+
postfixIncDec = false;
|
|
1535
|
+
}
|
|
1536
|
+
break;
|
|
1537
|
+
case "{":
|
|
1538
|
+
Punctuator.lastIndex = 0;
|
|
1539
|
+
isExpression = !TokensNotPrecedingObjectLiteral.test(lastSignificantToken) && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken));
|
|
1540
|
+
braces.push(isExpression);
|
|
1541
|
+
postfixIncDec = false;
|
|
1542
|
+
break;
|
|
1543
|
+
case "}":
|
|
1544
|
+
switch (mode.tag) {
|
|
1545
|
+
case "InterpolationInTemplate":
|
|
1546
|
+
if (braces.length === mode.nesting) {
|
|
1547
|
+
Template.lastIndex = lastIndex;
|
|
1548
|
+
match = Template.exec(input);
|
|
1549
|
+
lastIndex = Template.lastIndex;
|
|
1550
|
+
lastSignificantToken = match[0];
|
|
1551
|
+
if (match[1] === "${") {
|
|
1552
|
+
lastSignificantToken = "?InterpolationInTemplate";
|
|
1553
|
+
postfixIncDec = false;
|
|
1554
|
+
yield {
|
|
1555
|
+
type: "TemplateMiddle",
|
|
1556
|
+
value: match[0]
|
|
1557
|
+
};
|
|
1558
|
+
} else {
|
|
1559
|
+
stack.pop();
|
|
1560
|
+
postfixIncDec = true;
|
|
1561
|
+
yield {
|
|
1562
|
+
type: "TemplateTail",
|
|
1563
|
+
value: match[0],
|
|
1564
|
+
closed: match[1] === "`"
|
|
1565
|
+
};
|
|
1566
|
+
}
|
|
1567
|
+
continue;
|
|
1568
|
+
}
|
|
1569
|
+
break;
|
|
1570
|
+
case "InterpolationInJSX":
|
|
1571
|
+
if (braces.length === mode.nesting) {
|
|
1572
|
+
stack.pop();
|
|
1573
|
+
lastIndex += 1;
|
|
1574
|
+
lastSignificantToken = "}";
|
|
1575
|
+
yield {
|
|
1576
|
+
type: "JSXPunctuator",
|
|
1577
|
+
value: "}"
|
|
1578
|
+
};
|
|
1579
|
+
continue;
|
|
1580
|
+
}
|
|
1581
|
+
}
|
|
1582
|
+
postfixIncDec = braces.pop();
|
|
1583
|
+
nextLastSignificantToken = postfixIncDec ? "?ExpressionBraceEnd" : "}";
|
|
1584
|
+
break;
|
|
1585
|
+
case "]":
|
|
1586
|
+
postfixIncDec = true;
|
|
1587
|
+
break;
|
|
1588
|
+
case "++":
|
|
1589
|
+
case "--":
|
|
1590
|
+
nextLastSignificantToken = postfixIncDec ? "?PostfixIncDec" : "?UnaryIncDec";
|
|
1591
|
+
break;
|
|
1592
|
+
case "<":
|
|
1593
|
+
if (jsx && (TokensPrecedingExpression.test(lastSignificantToken) || KeywordsWithExpressionAfter.test(lastSignificantToken))) {
|
|
1594
|
+
stack.push({ tag: "JSXTag" });
|
|
1595
|
+
lastIndex += 1;
|
|
1596
|
+
lastSignificantToken = "<";
|
|
1597
|
+
yield {
|
|
1598
|
+
type: "JSXPunctuator",
|
|
1599
|
+
value: punctuator
|
|
1600
|
+
};
|
|
1601
|
+
continue;
|
|
1602
|
+
}
|
|
1603
|
+
postfixIncDec = false;
|
|
1604
|
+
break;
|
|
1605
|
+
default:
|
|
1606
|
+
postfixIncDec = false;
|
|
1607
|
+
}
|
|
1608
|
+
lastIndex = nextLastIndex;
|
|
1609
|
+
lastSignificantToken = nextLastSignificantToken;
|
|
1610
|
+
yield {
|
|
1611
|
+
type: "Punctuator",
|
|
1612
|
+
value: punctuator
|
|
1613
|
+
};
|
|
1614
|
+
continue;
|
|
1615
|
+
}
|
|
1616
|
+
Identifier.lastIndex = lastIndex;
|
|
1617
|
+
if (match = Identifier.exec(input)) {
|
|
1618
|
+
lastIndex = Identifier.lastIndex;
|
|
1619
|
+
nextLastSignificantToken = match[0];
|
|
1620
|
+
switch (match[0]) {
|
|
1621
|
+
case "for":
|
|
1622
|
+
case "if":
|
|
1623
|
+
case "while":
|
|
1624
|
+
case "with":
|
|
1625
|
+
if (lastSignificantToken !== "." && lastSignificantToken !== "?.") {
|
|
1626
|
+
nextLastSignificantToken = "?NonExpressionParenKeyword";
|
|
1627
|
+
}
|
|
1628
|
+
}
|
|
1629
|
+
lastSignificantToken = nextLastSignificantToken;
|
|
1630
|
+
postfixIncDec = !KeywordsWithExpressionAfter.test(match[0]);
|
|
1631
|
+
yield {
|
|
1632
|
+
type: match[1] === "#" ? "PrivateIdentifier" : "IdentifierName",
|
|
1633
|
+
value: match[0]
|
|
1634
|
+
};
|
|
1635
|
+
continue;
|
|
1636
|
+
}
|
|
1637
|
+
StringLiteral.lastIndex = lastIndex;
|
|
1638
|
+
if (match = StringLiteral.exec(input)) {
|
|
1639
|
+
lastIndex = StringLiteral.lastIndex;
|
|
1640
|
+
lastSignificantToken = match[0];
|
|
1641
|
+
postfixIncDec = true;
|
|
1642
|
+
yield {
|
|
1643
|
+
type: "StringLiteral",
|
|
1644
|
+
value: match[0],
|
|
1645
|
+
closed: match[2] !== void 0
|
|
1646
|
+
};
|
|
1647
|
+
continue;
|
|
1648
|
+
}
|
|
1649
|
+
NumericLiteral.lastIndex = lastIndex;
|
|
1650
|
+
if (match = NumericLiteral.exec(input)) {
|
|
1651
|
+
lastIndex = NumericLiteral.lastIndex;
|
|
1652
|
+
lastSignificantToken = match[0];
|
|
1653
|
+
postfixIncDec = true;
|
|
1654
|
+
yield {
|
|
1655
|
+
type: "NumericLiteral",
|
|
1656
|
+
value: match[0]
|
|
1657
|
+
};
|
|
1658
|
+
continue;
|
|
1659
|
+
}
|
|
1660
|
+
Template.lastIndex = lastIndex;
|
|
1661
|
+
if (match = Template.exec(input)) {
|
|
1662
|
+
lastIndex = Template.lastIndex;
|
|
1663
|
+
lastSignificantToken = match[0];
|
|
1664
|
+
if (match[1] === "${") {
|
|
1665
|
+
lastSignificantToken = "?InterpolationInTemplate";
|
|
1666
|
+
stack.push({
|
|
1667
|
+
tag: "InterpolationInTemplate",
|
|
1668
|
+
nesting: braces.length
|
|
1669
|
+
});
|
|
1670
|
+
postfixIncDec = false;
|
|
1671
|
+
yield {
|
|
1672
|
+
type: "TemplateHead",
|
|
1673
|
+
value: match[0]
|
|
1674
|
+
};
|
|
1675
|
+
} else {
|
|
1676
|
+
postfixIncDec = true;
|
|
1677
|
+
yield {
|
|
1678
|
+
type: "NoSubstitutionTemplate",
|
|
1679
|
+
value: match[0],
|
|
1680
|
+
closed: match[1] === "`"
|
|
1681
|
+
};
|
|
1682
|
+
}
|
|
1683
|
+
continue;
|
|
1684
|
+
}
|
|
1685
|
+
break;
|
|
1686
|
+
case "JSXTag":
|
|
1687
|
+
case "JSXTagEnd":
|
|
1688
|
+
JSXPunctuator.lastIndex = lastIndex;
|
|
1689
|
+
if (match = JSXPunctuator.exec(input)) {
|
|
1690
|
+
lastIndex = JSXPunctuator.lastIndex;
|
|
1691
|
+
nextLastSignificantToken = match[0];
|
|
1692
|
+
switch (match[0]) {
|
|
1693
|
+
case "<":
|
|
1694
|
+
stack.push({ tag: "JSXTag" });
|
|
1695
|
+
break;
|
|
1696
|
+
case ">":
|
|
1697
|
+
stack.pop();
|
|
1698
|
+
if (lastSignificantToken === "/" || mode.tag === "JSXTagEnd") {
|
|
1699
|
+
nextLastSignificantToken = "?JSX";
|
|
1700
|
+
postfixIncDec = true;
|
|
1701
|
+
} else {
|
|
1702
|
+
stack.push({ tag: "JSXChildren" });
|
|
1703
|
+
}
|
|
1704
|
+
break;
|
|
1705
|
+
case "{":
|
|
1706
|
+
stack.push({
|
|
1707
|
+
tag: "InterpolationInJSX",
|
|
1708
|
+
nesting: braces.length
|
|
1709
|
+
});
|
|
1710
|
+
nextLastSignificantToken = "?InterpolationInJSX";
|
|
1711
|
+
postfixIncDec = false;
|
|
1712
|
+
break;
|
|
1713
|
+
case "/":
|
|
1714
|
+
if (lastSignificantToken === "<") {
|
|
1715
|
+
stack.pop();
|
|
1716
|
+
if (stack[stack.length - 1].tag === "JSXChildren") {
|
|
1717
|
+
stack.pop();
|
|
1718
|
+
}
|
|
1719
|
+
stack.push({ tag: "JSXTagEnd" });
|
|
1720
|
+
}
|
|
1721
|
+
}
|
|
1722
|
+
lastSignificantToken = nextLastSignificantToken;
|
|
1723
|
+
yield {
|
|
1724
|
+
type: "JSXPunctuator",
|
|
1725
|
+
value: match[0]
|
|
1726
|
+
};
|
|
1727
|
+
continue;
|
|
1728
|
+
}
|
|
1729
|
+
JSXIdentifier.lastIndex = lastIndex;
|
|
1730
|
+
if (match = JSXIdentifier.exec(input)) {
|
|
1731
|
+
lastIndex = JSXIdentifier.lastIndex;
|
|
1732
|
+
lastSignificantToken = match[0];
|
|
1733
|
+
yield {
|
|
1734
|
+
type: "JSXIdentifier",
|
|
1735
|
+
value: match[0]
|
|
1736
|
+
};
|
|
1737
|
+
continue;
|
|
1738
|
+
}
|
|
1739
|
+
JSXString.lastIndex = lastIndex;
|
|
1740
|
+
if (match = JSXString.exec(input)) {
|
|
1741
|
+
lastIndex = JSXString.lastIndex;
|
|
1742
|
+
lastSignificantToken = match[0];
|
|
1743
|
+
yield {
|
|
1744
|
+
type: "JSXString",
|
|
1745
|
+
value: match[0],
|
|
1746
|
+
closed: match[2] !== void 0
|
|
1747
|
+
};
|
|
1748
|
+
continue;
|
|
1749
|
+
}
|
|
1750
|
+
break;
|
|
1751
|
+
case "JSXChildren":
|
|
1752
|
+
JSXText.lastIndex = lastIndex;
|
|
1753
|
+
if (match = JSXText.exec(input)) {
|
|
1754
|
+
lastIndex = JSXText.lastIndex;
|
|
1755
|
+
lastSignificantToken = match[0];
|
|
1756
|
+
yield {
|
|
1757
|
+
type: "JSXText",
|
|
1758
|
+
value: match[0]
|
|
1759
|
+
};
|
|
1760
|
+
continue;
|
|
1761
|
+
}
|
|
1762
|
+
switch (input[lastIndex]) {
|
|
1763
|
+
case "<":
|
|
1764
|
+
stack.push({ tag: "JSXTag" });
|
|
1765
|
+
lastIndex++;
|
|
1766
|
+
lastSignificantToken = "<";
|
|
1767
|
+
yield {
|
|
1768
|
+
type: "JSXPunctuator",
|
|
1769
|
+
value: "<"
|
|
1770
|
+
};
|
|
1771
|
+
continue;
|
|
1772
|
+
case "{":
|
|
1773
|
+
stack.push({
|
|
1774
|
+
tag: "InterpolationInJSX",
|
|
1775
|
+
nesting: braces.length
|
|
1776
|
+
});
|
|
1777
|
+
lastIndex++;
|
|
1778
|
+
lastSignificantToken = "?InterpolationInJSX";
|
|
1779
|
+
postfixIncDec = false;
|
|
1780
|
+
yield {
|
|
1781
|
+
type: "JSXPunctuator",
|
|
1782
|
+
value: "{"
|
|
1783
|
+
};
|
|
1784
|
+
continue;
|
|
1785
|
+
}
|
|
1786
|
+
}
|
|
1787
|
+
WhiteSpace.lastIndex = lastIndex;
|
|
1788
|
+
if (match = WhiteSpace.exec(input)) {
|
|
1789
|
+
lastIndex = WhiteSpace.lastIndex;
|
|
1790
|
+
yield {
|
|
1791
|
+
type: "WhiteSpace",
|
|
1792
|
+
value: match[0]
|
|
1793
|
+
};
|
|
1794
|
+
continue;
|
|
1795
|
+
}
|
|
1796
|
+
LineTerminatorSequence.lastIndex = lastIndex;
|
|
1797
|
+
if (match = LineTerminatorSequence.exec(input)) {
|
|
1798
|
+
lastIndex = LineTerminatorSequence.lastIndex;
|
|
1799
|
+
postfixIncDec = false;
|
|
1800
|
+
if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
|
|
1801
|
+
lastSignificantToken = "?NoLineTerminatorHere";
|
|
1802
|
+
}
|
|
1803
|
+
yield {
|
|
1804
|
+
type: "LineTerminatorSequence",
|
|
1805
|
+
value: match[0]
|
|
1806
|
+
};
|
|
1807
|
+
continue;
|
|
1808
|
+
}
|
|
1809
|
+
MultiLineComment.lastIndex = lastIndex;
|
|
1810
|
+
if (match = MultiLineComment.exec(input)) {
|
|
1811
|
+
lastIndex = MultiLineComment.lastIndex;
|
|
1812
|
+
if (Newline.test(match[0])) {
|
|
1813
|
+
postfixIncDec = false;
|
|
1814
|
+
if (KeywordsWithNoLineTerminatorAfter.test(lastSignificantToken)) {
|
|
1815
|
+
lastSignificantToken = "?NoLineTerminatorHere";
|
|
1816
|
+
}
|
|
1817
|
+
}
|
|
1818
|
+
yield {
|
|
1819
|
+
type: "MultiLineComment",
|
|
1820
|
+
value: match[0],
|
|
1821
|
+
closed: match[1] !== void 0
|
|
1822
|
+
};
|
|
1823
|
+
continue;
|
|
1824
|
+
}
|
|
1825
|
+
SingleLineComment.lastIndex = lastIndex;
|
|
1826
|
+
if (match = SingleLineComment.exec(input)) {
|
|
1827
|
+
lastIndex = SingleLineComment.lastIndex;
|
|
1828
|
+
postfixIncDec = false;
|
|
1829
|
+
yield {
|
|
1830
|
+
type: "SingleLineComment",
|
|
1831
|
+
value: match[0]
|
|
1832
|
+
};
|
|
1833
|
+
continue;
|
|
1834
|
+
}
|
|
1835
|
+
firstCodePoint = String.fromCodePoint(input.codePointAt(lastIndex));
|
|
1836
|
+
lastIndex += firstCodePoint.length;
|
|
1837
|
+
lastSignificantToken = firstCodePoint;
|
|
1838
|
+
postfixIncDec = false;
|
|
1839
|
+
yield {
|
|
1840
|
+
type: mode.tag.startsWith("JSX") ? "JSXInvalid" : "Invalid",
|
|
1841
|
+
value: firstCodePoint
|
|
1842
|
+
};
|
|
1843
|
+
}
|
|
1844
|
+
return void 0;
|
|
1845
|
+
};
|
|
1846
|
+
return jsTokens_1;
|
|
1847
|
+
}
|
|
1848
|
+
var jsTokensExports = requireJsTokens();
|
|
1849
|
+
const jsTokens = /* @__PURE__ */ getDefaultExportFromCjs(jsTokensExports);
|
|
1850
|
+
function stripLiteralJsTokens(code, options) {
|
|
1851
|
+
const FILL = " ";
|
|
1852
|
+
const FILL_COMMENT = " ";
|
|
1853
|
+
let result = "";
|
|
1854
|
+
const tokens = [];
|
|
1855
|
+
for (const token of jsTokens(code, { jsx: false })) {
|
|
1856
|
+
tokens.push(token);
|
|
1857
|
+
if (token.type === "SingleLineComment") {
|
|
1858
|
+
result += FILL_COMMENT.repeat(token.value.length);
|
|
1859
|
+
continue;
|
|
1860
|
+
}
|
|
1861
|
+
if (token.type === "MultiLineComment") {
|
|
1862
|
+
result += token.value.replace(/[^\n]/g, FILL_COMMENT);
|
|
1863
|
+
continue;
|
|
1864
|
+
}
|
|
1865
|
+
if (token.type === "StringLiteral") {
|
|
1866
|
+
if (!token.closed) {
|
|
1867
|
+
result += token.value;
|
|
1868
|
+
continue;
|
|
1869
|
+
}
|
|
1870
|
+
const body = token.value.slice(1, -1);
|
|
1871
|
+
{
|
|
1872
|
+
result += token.value[0] + FILL.repeat(body.length) + token.value[token.value.length - 1];
|
|
1873
|
+
continue;
|
|
1874
|
+
}
|
|
1875
|
+
}
|
|
1876
|
+
if (token.type === "NoSubstitutionTemplate") {
|
|
1877
|
+
const body = token.value.slice(1, -1);
|
|
1878
|
+
{
|
|
1879
|
+
result += `\`${body.replace(/[^\n]/g, FILL)}\``;
|
|
1880
|
+
continue;
|
|
1881
|
+
}
|
|
1882
|
+
}
|
|
1883
|
+
if (token.type === "RegularExpressionLiteral") {
|
|
1884
|
+
const body = token.value;
|
|
1885
|
+
{
|
|
1886
|
+
result += body.replace(/\/(.*)\/(\w?)$/g, (_, $1, $2) => `/${FILL.repeat($1.length)}/${$2}`);
|
|
1887
|
+
continue;
|
|
1888
|
+
}
|
|
1889
|
+
}
|
|
1890
|
+
if (token.type === "TemplateHead") {
|
|
1891
|
+
const body = token.value.slice(1, -2);
|
|
1892
|
+
{
|
|
1893
|
+
result += `\`${body.replace(/[^\n]/g, FILL)}\${`;
|
|
1894
|
+
continue;
|
|
1895
|
+
}
|
|
1896
|
+
}
|
|
1897
|
+
if (token.type === "TemplateTail") {
|
|
1898
|
+
const body = token.value.slice(0, -2);
|
|
1899
|
+
{
|
|
1900
|
+
result += `}${body.replace(/[^\n]/g, FILL)}\``;
|
|
1901
|
+
continue;
|
|
1902
|
+
}
|
|
1903
|
+
}
|
|
1904
|
+
if (token.type === "TemplateMiddle") {
|
|
1905
|
+
const body = token.value.slice(1, -2);
|
|
1906
|
+
{
|
|
1907
|
+
result += `}${body.replace(/[^\n]/g, FILL)}\${`;
|
|
1908
|
+
continue;
|
|
1909
|
+
}
|
|
1910
|
+
}
|
|
1911
|
+
result += token.value;
|
|
1912
|
+
}
|
|
1913
|
+
return {
|
|
1914
|
+
result,
|
|
1915
|
+
tokens
|
|
1916
|
+
};
|
|
1917
|
+
}
|
|
1918
|
+
function stripLiteral(code, options) {
|
|
1919
|
+
return stripLiteralDetailed(code).result;
|
|
1920
|
+
}
|
|
1921
|
+
function stripLiteralDetailed(code, options) {
|
|
1922
|
+
return stripLiteralJsTokens(code);
|
|
1923
|
+
}
|
|
1444
1924
|
class PendingError extends Error {
|
|
1445
1925
|
constructor(message, task, note) {
|
|
1446
1926
|
super(message);
|
|
@@ -1671,7 +2151,7 @@ function resolveDeps(fixtures, depSet = /* @__PURE__ */ new Set(), pendingFixtur
|
|
|
1671
2151
|
return pendingFixtures;
|
|
1672
2152
|
}
|
|
1673
2153
|
function getUsedProps(fn) {
|
|
1674
|
-
let fnString = fn.toString();
|
|
2154
|
+
let fnString = stripLiteral(fn.toString());
|
|
1675
2155
|
if (/__async\((?:this|null), (?:null|arguments|\[[_0-9, ]*\]), function\*/.test(fnString)) {
|
|
1676
2156
|
fnString = fnString.split(/__async\((?:this|null),/)[1];
|
|
1677
2157
|
}
|
|
@@ -2193,6 +2673,7 @@ function generateHash(str) {
|
|
|
2193
2673
|
}
|
|
2194
2674
|
globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now;
|
|
2195
2675
|
globalThis.performance ? globalThis.performance.now.bind(globalThis.performance) : Date.now;
|
|
2676
|
+
getSafeTimers();
|
|
2196
2677
|
const packs = /* @__PURE__ */ new Map();
|
|
2197
2678
|
const eventsPacks = [];
|
|
2198
2679
|
const pendingTasksUpdates = [];
|
|
@@ -2315,7 +2796,7 @@ function createTestContext(test, runner2) {
|
|
|
2315
2796
|
test.result.pending = true;
|
|
2316
2797
|
throw new PendingError("test is skipped; abort execution", test, typeof condition === "string" ? condition : note);
|
|
2317
2798
|
};
|
|
2318
|
-
async function annotate(message,
|
|
2799
|
+
async function annotate(message, location, type, attachment) {
|
|
2319
2800
|
const annotation = {
|
|
2320
2801
|
message,
|
|
2321
2802
|
type: type || "notice"
|
|
@@ -2332,8 +2813,8 @@ function createTestContext(test, runner2) {
|
|
|
2332
2813
|
attachment.body = encodeUint8Array(attachment.body);
|
|
2333
2814
|
}
|
|
2334
2815
|
}
|
|
2335
|
-
if (
|
|
2336
|
-
annotation.location =
|
|
2816
|
+
if (location) {
|
|
2817
|
+
annotation.location = location;
|
|
2337
2818
|
}
|
|
2338
2819
|
if (!runner2.onTestAnnotate) {
|
|
2339
2820
|
throw new Error(`Test runner doesn't support test annotations.`);
|
|
@@ -2347,22 +2828,22 @@ function createTestContext(test, runner2) {
|
|
|
2347
2828
|
if (test.result && test.result.state !== "run") {
|
|
2348
2829
|
throw new Error(`Cannot annotate tests outside of the test run. The test "${test.name}" finished running with the "${test.result.state}" state already.`);
|
|
2349
2830
|
}
|
|
2350
|
-
let
|
|
2831
|
+
let location;
|
|
2351
2832
|
const stack = new Error("STACK_TRACE").stack;
|
|
2352
2833
|
const index = stack.includes("STACK_TRACE") ? 2 : 1;
|
|
2353
2834
|
const stackLine = stack.split("\n")[index];
|
|
2354
2835
|
const parsed = parseSingleStack(stackLine);
|
|
2355
2836
|
if (parsed) {
|
|
2356
|
-
|
|
2837
|
+
location = {
|
|
2357
2838
|
file: parsed.file,
|
|
2358
2839
|
line: parsed.line,
|
|
2359
2840
|
column: parsed.column
|
|
2360
2841
|
};
|
|
2361
2842
|
}
|
|
2362
2843
|
if (typeof type === "object") {
|
|
2363
|
-
return recordAsyncAnnotation(test, annotate(message,
|
|
2844
|
+
return recordAsyncAnnotation(test, annotate(message, location, void 0, type));
|
|
2364
2845
|
} else {
|
|
2365
|
-
return recordAsyncAnnotation(test, annotate(message,
|
|
2846
|
+
return recordAsyncAnnotation(test, annotate(message, location, type, attachment));
|
|
2366
2847
|
}
|
|
2367
2848
|
};
|
|
2368
2849
|
context.onTestFailed = (handler, timeout) => {
|
|
@@ -2452,7 +2933,6 @@ function recordAsyncAnnotation(test, promise) {
|
|
|
2452
2933
|
function getUiAPI() {
|
|
2453
2934
|
return window.__vitest_ui_api__;
|
|
2454
2935
|
}
|
|
2455
|
-
const url = new URL(location.href);
|
|
2456
2936
|
const ID_ALL = "__vitest_all__";
|
|
2457
2937
|
class IframeOrchestrator {
|
|
2458
2938
|
constructor() {
|
|
@@ -2592,7 +3072,7 @@ class IframeOrchestrator {
|
|
|
2592
3072
|
}
|
|
2593
3073
|
createTestIframe(iframeId) {
|
|
2594
3074
|
const iframe = document.createElement("iframe");
|
|
2595
|
-
const src =
|
|
3075
|
+
const src = `/?sessionId=${getBrowserState().sessionId}&iframeId=${iframeId}`;
|
|
2596
3076
|
iframe.setAttribute("loading", "eager");
|
|
2597
3077
|
iframe.setAttribute("src", src);
|
|
2598
3078
|
iframe.setAttribute("data-vitest", "true");
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
{__VITEST_INJECTOR__}
|
|
27
27
|
{__VITEST_ERROR_CATCHER__}
|
|
28
28
|
{__VITEST_SCRIPTS__}
|
|
29
|
-
<script type="module" crossorigin src="/__vitest_browser__/orchestrator-
|
|
29
|
+
<script type="module" crossorigin src="/__vitest_browser__/orchestrator-CNq5e39X.js"></script>
|
|
30
30
|
<link rel="modulepreload" crossorigin href="/__vitest_browser__/utils-Owv5OOOf.js">
|
|
31
31
|
</head>
|
|
32
32
|
<body>
|