vitest 0.0.129 → 0.0.133
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/_commonjsHelpers-c9e3b764.js +1 -0
- package/dist/cli.js +10 -9
- package/dist/constants-0211a379.js +34 -0
- package/dist/diff-18d4a7eb.js +4750 -0
- package/dist/entry.js +94 -33
- package/dist/externalize-2f63779d.js +1 -0
- package/dist/global-5d1fb309.js +21 -0
- package/dist/index-26cb6e63.js +1644 -0
- package/dist/index-354a6abd.js +40 -0
- package/dist/index-4cd25949.js +782 -0
- package/dist/index-720a83c6.js +396 -0
- package/dist/index-7975be53.js +331 -0
- package/dist/index-7f7acd60.js +8548 -0
- package/dist/index-e909c175.js +63 -0
- package/dist/index-fa899e66.js +5708 -0
- package/dist/index.d.ts +142 -27
- package/dist/index.js +4 -3
- package/dist/jest-mock-30625866.js +1 -0
- package/dist/magic-string.es-94000aea.js +1361 -0
- package/dist/node.d.ts +111 -4
- package/dist/node.js +9 -8
- package/dist/rpc-8c7cc374.js +1 -0
- package/dist/setup-5aaf533e.js +4365 -0
- package/dist/vi-aec007e7.js +3461 -0
- package/dist/worker.js +11 -7
- package/package.json +9 -9
- package/dist/constants-868b9a2e.js +0 -33
- package/dist/diff-be830986.js +0 -4751
- package/dist/global-0254dd68.js +0 -20
- package/dist/index-06712022.js +0 -39
- package/dist/index-42a3a132.js +0 -366
- package/dist/index-42d44ee5.js +0 -1643
- package/dist/index-93dcb598.js +0 -5707
- package/dist/index-a73f33e0.js +0 -62
- package/dist/index-cb02ee01.js +0 -330
- package/dist/index-cce5de77.js +0 -781
- package/dist/index-d30b5ed0.js +0 -8579
- package/dist/magic-string.es-98a8bfa0.js +0 -1360
- package/dist/setup-6e09a65a.js +0 -4364
- package/dist/vi-fe26a646.js +0 -3460
package/dist/worker.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
|
-
import { d as dirname, b as basename, k as resolve, p as mergeSlashes, q as join, s as slash, m as toFilePath } from './index-
|
|
2
|
-
import { c as createBirpc } from './index-
|
|
3
|
-
import { c as distDir } from './constants-
|
|
1
|
+
import { d as dirname, b as basename, k as resolve, p as mergeSlashes, q as join, s as slash, m as toFilePath } from './index-720a83c6.js';
|
|
2
|
+
import { c as createBirpc } from './index-e909c175.js';
|
|
3
|
+
import { c as distDir } from './constants-0211a379.js';
|
|
4
4
|
import { builtinModules, createRequire } from 'module';
|
|
5
5
|
import { pathToFileURL, fileURLToPath } from 'url';
|
|
6
6
|
import vm from 'vm';
|
|
@@ -181,7 +181,7 @@ async function interpretedImport(path, interpretDefault) {
|
|
|
181
181
|
return mod;
|
|
182
182
|
}
|
|
183
183
|
async function executeInViteNode(options) {
|
|
184
|
-
const { moduleCache, root, files, fetch, mockMap } = options;
|
|
184
|
+
const { moduleCache, root, files, fetch, mockMap, base } = options;
|
|
185
185
|
const externalCache = new Map();
|
|
186
186
|
builtinModules.forEach((m) => externalCache.set(m, m));
|
|
187
187
|
const {
|
|
@@ -304,7 +304,7 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
304
304
|
}
|
|
305
305
|
async function cachedRequest(rawId, callstack) {
|
|
306
306
|
var _a, _b;
|
|
307
|
-
const id = normalizeId(rawId);
|
|
307
|
+
const id = normalizeId(rawId, base);
|
|
308
308
|
if (externalCache.get(id))
|
|
309
309
|
return interpretedImport(patchWindowsImportPath(id), options.interpretDefault);
|
|
310
310
|
const fsPath = toFilePath(id, root);
|
|
@@ -337,7 +337,9 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
337
337
|
}
|
|
338
338
|
}
|
|
339
339
|
}
|
|
340
|
-
function normalizeId(id) {
|
|
340
|
+
function normalizeId(id, base) {
|
|
341
|
+
if (base && id.startsWith(base))
|
|
342
|
+
id = `/${id.slice(base.length)}`;
|
|
341
343
|
return id.replace(/^\/@id\/__x00__/, "\0").replace(/^\/@id\//, "").replace(/^__vite-browser-external:/, "").replace(/^node:/, "").replace(/[?&]v=\w+/, "?").replace(/\?$/, "");
|
|
342
344
|
}
|
|
343
345
|
function patchWindowsImportPath(path) {
|
|
@@ -377,7 +379,8 @@ async function startViteNode(ctx) {
|
|
|
377
379
|
depsInline: config.depsInline,
|
|
378
380
|
depsExternal: config.depsExternal,
|
|
379
381
|
fallbackCJS: config.fallbackCJS,
|
|
380
|
-
interpretDefault: config.interpretDefault
|
|
382
|
+
interpretDefault: config.interpretDefault,
|
|
383
|
+
base: config.base
|
|
381
384
|
}))[0];
|
|
382
385
|
_viteNode = { run: run2, collect: collect2 };
|
|
383
386
|
return _viteNode;
|
|
@@ -418,3 +421,4 @@ async function run(ctx) {
|
|
|
418
421
|
}
|
|
419
422
|
|
|
420
423
|
export { collect, run };
|
|
424
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoid29ya2VyLmpzIiwic291cmNlcyI6WyIuLi9zcmMvbm9kZS9tb2NrZXIudHMiLCIuLi9zcmMvbm9kZS9leGVjdXRlLnRzIiwiLi4vc3JjL3J1bnRpbWUvd29ya2VyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMsIHJlYWRkaXJTeW5jIH0gZnJvbSAnZnMnXG5pbXBvcnQgeyBiYXNlbmFtZSwgZGlybmFtZSwgam9pbiwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHsgc3BpZXMsIHNweU9uIH0gZnJvbSAnLi4vaW50ZWdyYXRpb25zL2plc3QtbW9jaydcbmltcG9ydCB7IG1lcmdlU2xhc2hlcyB9IGZyb20gJy4uL3V0aWxzJ1xuXG5leHBvcnQgaW50ZXJmYWNlIFN1aXRlTW9ja3Mge1xuICBbc3VpdGVQYXRoOiBzdHJpbmddOiB7XG4gICAgW29yaWdpbmFsUGF0aDogc3RyaW5nXTogc3RyaW5nIHwgbnVsbCB8ICgoKSA9PiBhbnkpXG4gIH1cbn1cblxuZnVuY3Rpb24gcmVzb2x2ZU1vY2tQYXRoKG1vY2tQYXRoOiBzdHJpbmcsIHJvb3Q6IHN0cmluZywgbm1OYW1lOiBzdHJpbmcgfCBudWxsKSB7XG4gIC8vIGl0J3MgYSBub2RlX21vZHVsZSBhbGlhc1xuICAvLyBhbGwgbW9ja3Mgc2hvdWxkIGJlIGluc2lkZSA8cm9vdD4vX19tb2Nrc19fXG4gIGlmIChubU5hbWUpIHtcbiAgICBjb25zdCBtb2NrRGlybmFtZSA9IGRpcm5hbWUobm1OYW1lKSAvLyBmb3IgbmVzdGVkIG1vY2tzOiBAdnVldXNlL2ludGVncmF0aW9uL3VzZUp3dFxuICAgIGNvbnN0IGJhc2VGaWxlbmFtZSA9IGJhc2VuYW1lKG5tTmFtZSlcbiAgICBjb25zdCBtb2NrRm9sZGVyID0gcmVzb2x2ZShyb290LCAnX19tb2Nrc19fJywgbW9ja0Rpcm5hbWUpXG5cbiAgICBpZiAoIWV4aXN0c1N5bmMobW9ja0ZvbGRlcikpIHJldHVybiBudWxsXG5cbiAgICBjb25zdCBmaWxlcyA9IHJlYWRkaXJTeW5jKG1vY2tGb2xkZXIpXG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpIHtcbiAgICAgIGNvbnN0IFtiYXNlbmFtZV0gPSBmaWxlLnNwbGl0KCcuJylcbiAgICAgIGlmIChiYXNlbmFtZSA9PT0gYmFzZUZpbGVuYW1lKVxuICAgICAgICByZXR1cm4gcmVzb2x2ZShtb2NrRm9sZGVyLCBmaWxlKS5yZXBsYWNlKHJvb3QsICcnKVxuICAgIH1cblxuICAgIHJldHVybiBudWxsXG4gIH1cblxuICBjb25zdCBkaXIgPSBkaXJuYW1lKG1vY2tQYXRoKVxuICBjb25zdCBiYXNlSWQgPSBiYXNlbmFtZShtb2NrUGF0aClcbiAgY29uc3QgZnVsbFBhdGggPSByZXNvbHZlKGRpciwgJ19fbW9ja3NfXycsIGJhc2VJZClcbiAgcmV0dXJuIGV4aXN0c1N5bmMoZnVsbFBhdGgpID8gZnVsbFBhdGgucmVwbGFjZShyb290LCAnJykgOiBudWxsXG59XG5cbmZ1bmN0aW9uIGdldE9iamVjdFR5cGUodmFsdWU6IHVua25vd24pOiBzdHJpbmcge1xuICByZXR1cm4gT2JqZWN0LnByb3RvdHlwZS50b1N0cmluZy5hcHBseSh2YWx1ZSkuc2xpY2UoOCwgLTEpXG59XG5cbmZ1bmN0aW9uIG1vY2tQcm90b3R5cGUocHJvdG86IGFueSkge1xuICBpZiAoIXByb3RvKSByZXR1cm4gbnVsbFxuXG4gIGNvbnN0IG5ld1Byb3RvOiBhbnkgPSB7fVxuXG4gIGNvbnN0IHByb3RvRGVzY3IgPSBPYmplY3QuZ2V0T3duUHJvcGVydHlEZXNjcmlwdG9ycyhwcm90bylcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBkIGluIHByb3RvRGVzY3IpIHtcbiAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3UHJvdG8sIGQsIHByb3RvRGVzY3JbZF0pXG5cbiAgICBpZiAodHlwZW9mIHByb3RvRGVzY3JbZF0udmFsdWUgPT09ICdmdW5jdGlvbicpXG4gICAgICBzcHlPbihuZXdQcm90bywgZCkubW9ja0ltcGxlbWVudGF0aW9uKCgpID0+IHt9KVxuICB9XG5cbiAgcmV0dXJuIG5ld1Byb3RvXG59XG5cbmZ1bmN0aW9uIG1vY2tPYmplY3Qob2JqOiBhbnkpIHtcbiAgY29uc3QgdHlwZSA9IGdldE9iamVjdFR5cGUob2JqKVxuXG4gIGlmIChBcnJheS5pc0FycmF5KG9iaikpXG4gICAgcmV0dXJuIFtdXG4gIGVsc2UgaWYgKHR5cGUgIT09ICdPYmplY3QnICYmIHR5cGUgIT09ICdNb2R1bGUnKVxuICAgIHJldHVybiBvYmpcblxuICBjb25zdCBuZXdPYmogPSB7IC4uLm9iaiB9XG5cbiAgY29uc3QgcHJvdG8gPSBtb2NrUHJvdG90eXBlKE9iamVjdC5nZXRQcm90b3R5cGVPZihvYmopKVxuICBPYmplY3Quc2V0UHJvdG90eXBlT2YobmV3T2JqLCBwcm90bylcblxuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBrIGluIG9iaikge1xuICAgIG5ld09ialtrXSA9IG1vY2tPYmplY3Qob2JqW2tdKVxuICAgIGNvbnN0IHR5cGUgPSBnZXRPYmplY3RUeXBlKG9ialtrXSlcblxuICAgIGlmICh0eXBlLmluY2x1ZGVzKCdGdW5jdGlvbicpICYmICFvYmpba10uX19pc1NweSkge1xuICAgICAgc3B5T24obmV3T2JqLCBrKS5tb2NrSW1wbGVtZW50YXRpb24oKCkgPT4ge30pXG4gICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkobmV3T2JqW2tdLCAnbGVuZ3RoJywgeyB2YWx1ZTogMCB9KSAvLyB0aW55c3B5IHJldGFpbnMgbGVuZ3RoLCBidXQgamVzdCBkb2VzbnRcbiAgICB9XG4gIH1cbiAgcmV0dXJuIG5ld09ialxufVxuXG5leHBvcnQgZnVuY3Rpb24gY3JlYXRlTW9ja2VyKHJvb3Q6IHN0cmluZywgbW9ja01hcDogU3VpdGVNb2Nrcykge1xuICBmdW5jdGlvbiBnZXRTdWl0ZUZpbGVwYXRoKCkge1xuICAgIHJldHVybiBwcm9jZXNzLl9fdml0ZXN0X3dvcmtlcl9fPy5maWxlcGF0aFxuICB9XG5cbiAgZnVuY3Rpb24gZ2V0QWN0dWFsUGF0aChwYXRoOiBzdHJpbmcsIG5tTmFtZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIG5tTmFtZSA/IG1lcmdlU2xhc2hlcyhgL0Bmcy8ke3BhdGh9YCkgOiBwYXRoLnJlcGxhY2Uocm9vdCwgJycpXG4gIH1cblxuICBmdW5jdGlvbiB1bm1vY2tQYXRoKHBhdGg6IHN0cmluZywgbm1OYW1lOiBzdHJpbmcpIHtcbiAgICBjb25zdCBzdWl0ZWZpbGUgPSBnZXRTdWl0ZUZpbGVwYXRoKClcblxuICAgIGlmIChzdWl0ZWZpbGUpIHtcbiAgICAgIGNvbnN0IGZzUGF0aCA9IGdldEFjdHVhbFBhdGgocGF0aCwgbm1OYW1lKVxuICAgICAgbW9ja01hcFtzdWl0ZWZpbGVdID8/PSB7fVxuICAgICAgZGVsZXRlIG1vY2tNYXBbc3VpdGVmaWxlXVtmc1BhdGhdXG4gICAgfVxuICB9XG5cbiAgZnVuY3Rpb24gbW9ja1BhdGgocGF0aDogc3RyaW5nLCBubU5hbWU6IHN0cmluZywgZmFjdG9yeT86ICgpID0+IGFueSkge1xuICAgIGNvbnN0IHN1aXRlZmlsZSA9IGdldFN1aXRlRmlsZXBhdGgoKVxuXG4gICAgaWYgKHN1aXRlZmlsZSkge1xuICAgICAgY29uc3QgZnNQYXRoID0gZ2V0QWN0dWFsUGF0aChwYXRoLCBubU5hbWUpXG4gICAgICBtb2NrTWFwW3N1aXRlZmlsZV0gPz89IHt9XG4gICAgICBtb2NrTWFwW3N1aXRlZmlsZV1bZnNQYXRoXSA9IGZhY3RvcnkgfHwgcmVzb2x2ZU1vY2tQYXRoKHBhdGgsIHJvb3QsIG5tTmFtZSlcbiAgICB9XG4gIH1cblxuICBmdW5jdGlvbiBjbGVhck1vY2tzKHsgY2xlYXJNb2NrcywgbW9ja1Jlc2V0LCByZXN0b3JlTW9ja3MgfTogeyBjbGVhck1vY2tzOiBib29sZWFuOyBtb2NrUmVzZXQ6IGJvb2xlYW47IHJlc3RvcmVNb2NrczogYm9vbGVhbn0pIHtcbiAgICBpZiAoIWNsZWFyTW9ja3MgJiYgIW1vY2tSZXNldCAmJiAhcmVzdG9yZU1vY2tzKVxuICAgICAgcmV0dXJuXG5cbiAgICBzcGllcy5mb3JFYWNoKChzKSA9PiB7XG4gICAgICBpZiAocmVzdG9yZU1vY2tzKVxuICAgICAgICBzLm1vY2tSZXN0b3JlKClcbiAgICAgIGVsc2UgaWYgKG1vY2tSZXNldClcbiAgICAgICAgcy5tb2NrUmVzZXQoKVxuICAgICAgZWxzZSBpZiAoY2xlYXJNb2NrcylcbiAgICAgICAgcy5tb2NrQ2xlYXIoKVxuICAgIH0pXG4gIH1cblxuICAvLyBucG0gcmVzb2x2ZXMgYXMgL25vZGVfbW9kdWxlcywgYnV0IHdlIHN0b3JlIGFzIC9AZnMvLi4uL25vZGVfbW9kdWxlc1xuICBmdW5jdGlvbiByZXNvbHZlRGVwZW5kZW5jeShkZXA6IHN0cmluZykge1xuICAgIGlmIChkZXAuc3RhcnRzV2l0aCgnL25vZGVfbW9kdWxlcy8nKSlcbiAgICAgIHJldHVybiBtZXJnZVNsYXNoZXMoYC9AZnMvJHtqb2luKHJvb3QsIGRlcCl9YClcblxuICAgIHJldHVybiBkZXBcbiAgfVxuXG4gIHJldHVybiB7XG4gICAgbW9ja1BhdGgsXG4gICAgdW5tb2NrUGF0aCxcbiAgICBjbGVhck1vY2tzLFxuICAgIGdldEFjdHVhbFBhdGgsXG5cbiAgICBtb2NrT2JqZWN0LFxuICAgIGdldFN1aXRlRmlsZXBhdGgsXG4gICAgcmVzb2x2ZU1vY2tQYXRoLFxuICAgIHJlc29sdmVEZXBlbmRlbmN5LFxuICB9XG59XG4iLCJpbXBvcnQgeyBidWlsdGluTW9kdWxlcywgY3JlYXRlUmVxdWlyZSB9IGZyb20gJ21vZHVsZSdcbmltcG9ydCB7IGZpbGVVUkxUb1BhdGgsIHBhdGhUb0ZpbGVVUkwgfSBmcm9tICd1cmwnXG5pbXBvcnQgdm0gZnJvbSAndm0nXG5pbXBvcnQgeyBkaXJuYW1lLCByZXNvbHZlIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IE1vZHVsZUNhY2hlLCBSZXNvbHZlZENvbmZpZyB9IGZyb20gJy4uL3R5cGVzJ1xuaW1wb3J0IHsgc2xhc2gsIHRvRmlsZVBhdGggfSBmcm9tICcuLi91dGlscydcbmltcG9ydCB7IHNob3VsZEV4dGVybmFsaXplIH0gZnJvbSAnLi4vdXRpbHMvZXh0ZXJuYWxpemUnXG5pbXBvcnQgdHlwZSB7IFN1aXRlTW9ja3MgfSBmcm9tICcuL21vY2tlcidcbmltcG9ydCB7IGNyZWF0ZU1vY2tlciB9IGZyb20gJy4vbW9ja2VyJ1xuXG5leHBvcnQgdHlwZSBGZXRjaEZ1bmN0aW9uID0gKGlkOiBzdHJpbmcpID0+IFByb21pc2U8c3RyaW5nIHwgdW5kZWZpbmVkPlxuXG5leHBvcnQgaW50ZXJmYWNlIEV4ZWN1dGVPcHRpb25zIGV4dGVuZHMgUGljazxSZXNvbHZlZENvbmZpZywgJ2RlcHNJbmxpbmUnIHwgJ2RlcHNFeHRlcm5hbCcgfCAnZmFsbGJhY2tDSlMnIHwgJ2Jhc2UnPiB7XG4gIHJvb3Q6IHN0cmluZ1xuICBmaWxlczogc3RyaW5nW11cbiAgZmV0Y2g6IEZldGNoRnVuY3Rpb25cbiAgaW50ZXJwcmV0RGVmYXVsdDogYm9vbGVhblxuICBtb2R1bGVDYWNoZTogTWFwPHN0cmluZywgTW9kdWxlQ2FjaGU+XG4gIG1vY2tNYXA6IFN1aXRlTW9ja3Ncbn1cblxuZXhwb3J0IGNvbnN0IHN0dWJSZXF1ZXN0czogUmVjb3JkPHN0cmluZywgYW55PiA9IHtcbiAgJy9Adml0ZS9jbGllbnQnOiB7XG4gICAgaW5qZWN0UXVlcnk6IChpZDogc3RyaW5nKSA9PiBpZCxcbiAgICBjcmVhdGVIb3RDb250ZXh0KCkge1xuICAgICAgcmV0dXJuIHtcbiAgICAgICAgYWNjZXB0OiAoKSA9PiB7fSxcbiAgICAgICAgcHJ1bmU6ICgpID0+IHt9LFxuICAgICAgfVxuICAgIH0sXG4gICAgdXBkYXRlU3R5bGUoKSB7fSxcbiAgfSxcbn1cblxuZnVuY3Rpb24gaGFzTmVzdGVkRGVmYXVsdCh0YXJnZXQ6IGFueSkge1xuICByZXR1cm4gJ19fZXNNb2R1bGUnIGluIHRhcmdldCAmJiB0YXJnZXQuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gdGFyZ2V0LmRlZmF1bHRcbn1cblxuZnVuY3Rpb24gcHJveHlNZXRob2QobmFtZTogJ2dldCcgfCAnc2V0JyB8ICdoYXMnIHwgJ2RlbGV0ZVByb3BlcnR5JywgaXNOZXN0ZWQ6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgLi4uYXJnczogW2FueT8sIGFueT9dKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdFtuYW1lXSh0YXJnZXQsIGtleSwgLi4uYXJncylcbiAgICBpZiAoKGlzTmVzdGVkICYmIGtleSA9PT0gJ2RlZmF1bHQnKSB8fCAhcmVzdWx0KVxuICAgICAgcmV0dXJuIFJlZmxlY3RbbmFtZV0odGFyZ2V0LmRlZmF1bHQsIGtleSwgLi4uYXJncylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIGludGVycHJldGVkSW1wb3J0KHBhdGg6IHN0cmluZywgaW50ZXJwcmV0RGVmYXVsdDogYm9vbGVhbikge1xuICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQocGF0aClcblxuICBpZiAoaW50ZXJwcmV0RGVmYXVsdCAmJiAnZGVmYXVsdCcgaW4gbW9kKSB7XG4gICAgY29uc3QgaXNOZXN0ZWQgPSBoYXNOZXN0ZWREZWZhdWx0KG1vZClcbiAgICByZXR1cm4gbmV3IFByb3h5KG1vZCwge1xuICAgICAgZ2V0OiBwcm94eU1ldGhvZCgnZ2V0JywgaXNOZXN0ZWQpLFxuICAgICAgc2V0OiBwcm94eU1ldGhvZCgnc2V0JywgaXNOZXN0ZWQpLFxuICAgICAgaGFzOiBwcm94eU1ldGhvZCgnaGFzJywgaXNOZXN0ZWQpLFxuICAgICAgZGVsZXRlUHJvcGVydHk6IHByb3h5TWV0aG9kKCdkZWxldGVQcm9wZXJ0eScsIGlzTmVzdGVkKSxcbiAgICB9KVxuICB9XG5cbiAgcmV0dXJuIG1vZFxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gZXhlY3V0ZUluVml0ZU5vZGUob3B0aW9uczogRXhlY3V0ZU9wdGlvbnMpIHtcbiAgY29uc3QgeyBtb2R1bGVDYWNoZSwgcm9vdCwgZmlsZXMsIGZldGNoLCBtb2NrTWFwLCBiYXNlIH0gPSBvcHRpb25zXG5cbiAgY29uc3QgZXh0ZXJuYWxDYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBmYWxzZSB8IHN0cmluZz4oKVxuICBidWlsdGluTW9kdWxlcy5mb3JFYWNoKG0gPT4gZXh0ZXJuYWxDYWNoZS5zZXQobSwgbSkpXG5cbiAgY29uc3Qge1xuICAgIGdldEFjdHVhbFBhdGgsXG4gICAgZ2V0U3VpdGVGaWxlcGF0aCxcbiAgICBtb2NrT2JqZWN0LFxuICAgIG1vY2tQYXRoLFxuICAgIGNsZWFyTW9ja3MsXG4gICAgdW5tb2NrUGF0aCxcbiAgICByZXNvbHZlTW9ja1BhdGgsXG4gICAgcmVzb2x2ZURlcGVuZGVuY3ksXG4gIH0gPSBjcmVhdGVNb2NrZXIocm9vdCwgbW9ja01hcClcblxuICBjb25zdCByZXN1bHQgPSBbXVxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXG4gICAgcmVzdWx0LnB1c2goYXdhaXQgY2FjaGVkUmVxdWVzdChgL0Bmcy8ke3NsYXNoKHJlc29sdmUoZmlsZSkpfWAsIFtdKSlcbiAgcmV0dXJuIHJlc3VsdFxuXG4gIGFzeW5jIGZ1bmN0aW9uIGNhbGxGdW5jdGlvbk1vY2soZGVwOiBzdHJpbmcsIG1vY2s6ICgpID0+IGFueSkge1xuICAgIGNvbnN0IG5hbWUgPSBgJHtkZXB9X19tb2NrYFxuICAgIGNvbnN0IGNhY2hlZCA9IG1vZHVsZUNhY2hlLmdldChuYW1lKT8uZXhwb3J0c1xuICAgIGlmIChjYWNoZWQpXG4gICAgICByZXR1cm4gY2FjaGVkXG4gICAgY29uc3QgZXhwb3J0cyA9IGF3YWl0IG1vY2soKVxuICAgIHNldENhY2hlKG5hbWUsIHsgZXhwb3J0cyB9KVxuICAgIHJldHVybiBleHBvcnRzXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBkaXJlY3RSZXF1ZXN0KGlkOiBzdHJpbmcsIGZzUGF0aDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY2FsbHN0YWNrID0gWy4uLmNhbGxzdGFjaywgaWRdXG4gICAgY29uc3Qgc3VpdGUgPSBnZXRTdWl0ZUZpbGVwYXRoKClcbiAgICBjb25zdCByZXF1ZXN0ID0gYXN5bmMoZGVwOiBzdHJpbmcsIGNhbk1vY2sgPSB0cnVlKSA9PiB7XG4gICAgICBpZiAoY2FuTW9jaykge1xuICAgICAgICBjb25zdCBtb2NrcyA9IG1vY2tNYXBbc3VpdGUgfHwgJyddIHx8IHt9XG4gICAgICAgIGNvbnN0IG1vY2sgPSBtb2Nrc1tyZXNvbHZlRGVwZW5kZW5jeShkZXApXVxuICAgICAgICBpZiAodHlwZW9mIG1vY2sgPT09ICdmdW5jdGlvbicpXG4gICAgICAgICAgcmV0dXJuIGNhbGxGdW5jdGlvbk1vY2soZGVwLCBtb2NrKVxuICAgICAgICBpZiAodHlwZW9mIG1vY2sgPT09ICdzdHJpbmcnKVxuICAgICAgICAgIGRlcCA9IG1vY2tcbiAgICAgIH1cbiAgICAgIGlmIChjYWxsc3RhY2suaW5jbHVkZXMoZGVwKSkge1xuICAgICAgICBjb25zdCBjYWNoZUtleSA9IHRvRmlsZVBhdGgoZGVwLCByb290KVxuICAgICAgICBpZiAoIW1vZHVsZUNhY2hlLmdldChjYWNoZUtleSk/LmV4cG9ydHMpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBDaXJjdWxhciBkZXBlbmRlbmN5IGRldGVjdGVkXFxuU3RhY2s6XFxuJHtbLi4uY2FsbHN0YWNrLCBkZXBdLnJldmVyc2UoKS5tYXAocCA9PiBgLSAke3B9YCkuam9pbignXFxuJyl9YClcbiAgICAgICAgcmV0dXJuIG1vZHVsZUNhY2hlLmdldChjYWNoZUtleSkhLmV4cG9ydHNcbiAgICAgIH1cbiAgICAgIHJldHVybiBjYWNoZWRSZXF1ZXN0KGRlcCwgY2FsbHN0YWNrKVxuICAgIH1cblxuICAgIGlmIChpZCBpbiBzdHViUmVxdWVzdHMpXG4gICAgICByZXR1cm4gc3R1YlJlcXVlc3RzW2lkXVxuXG4gICAgY29uc3QgdHJhbnNmb3JtZWQgPSBhd2FpdCBmZXRjaChpZClcbiAgICBpZiAodHJhbnNmb3JtZWQgPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgZmFpbGVkIHRvIGxvYWQgJHtpZH1gKVxuXG4gICAgLy8gZGlzYW1iaWd1YXRlIHRoZSBgPFVOSVQ+Oi9gIG9uIHdpbmRvd3M6IHNlZSBub2RlanMvbm9kZSMzMTcxMFxuICAgIGNvbnN0IHVybCA9IHBhdGhUb0ZpbGVVUkwoZnNQYXRoKS5ocmVmXG4gICAgY29uc3QgZXhwb3J0czogYW55ID0ge31cblxuICAgIHNldENhY2hlKGZzUGF0aCwgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXhwb3J0cyB9KVxuXG4gICAgY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgodXJsKVxuICAgIGNvbnN0IG1vZHVsZVByb3h5ID0ge1xuICAgICAgc2V0IGV4cG9ydHModmFsdWUpIHtcbiAgICAgICAgZXhwb3J0QWxsKGV4cG9ydHMsIHZhbHVlKVxuICAgICAgICBleHBvcnRzLmRlZmF1bHQgPSB2YWx1ZVxuICAgICAgfSxcbiAgICAgIGdldCBleHBvcnRzKCkge1xuICAgICAgICByZXR1cm4gZXhwb3J0cy5kZWZhdWx0XG4gICAgICB9LFxuICAgIH1cblxuICAgIGNvbnN0IGltcG9ydEFjdHVhbCA9IChwYXRoOiBzdHJpbmcsIG5tTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICByZXR1cm4gcmVxdWVzdChnZXRBY3R1YWxQYXRoKHBhdGgsIG5tTmFtZSksIGZhbHNlKVxuICAgIH1cblxuICAgIGNvbnN0IGltcG9ydE1vY2sgPSBhc3luYyhwYXRoOiBzdHJpbmcsIG5tTmFtZTogc3RyaW5nKSA9PiB7XG4gICAgICBpZiAoIXN1aXRlKVxuICAgICAgICB0aHJvdyBuZXcgRXJyb3IoJ1lvdSBjYW4gaW1wb3J0IG1vY2sgb25seSBpbnNpZGUgb2YgYSBydW5uaW5nIHRlc3QnKVxuXG4gICAgICBjb25zdCBtb2NrID0gKG1vY2tNYXBbc3VpdGVdIHx8IHt9KVtwYXRoXSB8fCByZXNvbHZlTW9ja1BhdGgocGF0aCwgcm9vdCwgbm1OYW1lKVxuICAgICAgaWYgKG1vY2sgPT09IG51bGwpIHtcbiAgICAgICAgY29uc3QgZnNQYXRoID0gZ2V0QWN0dWFsUGF0aChwYXRoLCBubU5hbWUpXG4gICAgICAgIGNvbnN0IGV4cG9ydHMgPSBtb2NrT2JqZWN0KGF3YWl0IHJlcXVlc3QoZnNQYXRoLCBmYWxzZSkpXG4gICAgICAgIHNldENhY2hlKGZzUGF0aCwgeyBleHBvcnRzIH0pXG4gICAgICAgIHJldHVybiBleHBvcnRzXG4gICAgICB9XG4gICAgICBpZiAodHlwZW9mIG1vY2sgPT09ICdmdW5jdGlvbicpXG4gICAgICAgIHJldHVybiBjYWxsRnVuY3Rpb25Nb2NrKHBhdGgsIG1vY2spXG4gICAgICByZXR1cm4gcmVxdWVzdChtb2NrLCB0cnVlKVxuICAgIH1cblxuICAgIGNvbnN0IGNvbnRleHQgPSB7XG4gICAgICAvLyBlc20gdHJhbnNmb3JtZWQgYnkgVml0ZVxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfXzogcmVxdWVzdCxcbiAgICAgIF9fdml0ZV9zc3JfZHluYW1pY19pbXBvcnRfXzogcmVxdWVzdCxcbiAgICAgIF9fdml0ZV9zc3JfZXhwb3J0c19fOiBleHBvcnRzLFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRBbGxfXzogKG9iajogYW55KSA9PiBleHBvcnRBbGwoZXhwb3J0cywgb2JqKSxcbiAgICAgIF9fdml0ZV9zc3JfaW1wb3J0X21ldGFfXzogeyB1cmwgfSxcblxuICAgICAgLy8gdml0ZXN0Lm1vY2sgQVBJXG4gICAgICBfX3ZpdGVzdF9fbW9ja19fOiBtb2NrUGF0aCxcbiAgICAgIF9fdml0ZXN0X191bm1vY2tfXzogdW5tb2NrUGF0aCxcbiAgICAgIF9fdml0ZXN0X19pbXBvcnRBY3R1YWxfXzogaW1wb3J0QWN0dWFsLFxuICAgICAgX192aXRlc3RfX2ltcG9ydE1vY2tfXzogaW1wb3J0TW9jayxcbiAgICAgIC8vIHNwaWVzIGZyb20gJ2plc3QtbW9jaycgYXJlIGRpZmZlcmVudCBpbnNpZGUgc3VpdGVzIGFuZCBleGVjdXRlLFxuICAgICAgLy8gc28gd2VlIG5lZWQgdG8gY2FsbCB0aGlzIHR3aWNlIC0gaW5zaWRlIHN1aXRlIGFuZCBoZXJlXG4gICAgICBfX3ZpdGVzdF9fY2xlYXJNb2Nrc19fOiBjbGVhck1vY2tzLFxuXG4gICAgICAvLyBjanMgY29tcGFjdFxuICAgICAgcmVxdWlyZTogY3JlYXRlUmVxdWlyZSh1cmwpLFxuICAgICAgZXhwb3J0cyxcbiAgICAgIG1vZHVsZTogbW9kdWxlUHJveHksXG4gICAgICBfX2ZpbGVuYW1lLFxuICAgICAgX19kaXJuYW1lOiBkaXJuYW1lKF9fZmlsZW5hbWUpLFxuICAgIH1cblxuICAgIGNvbnN0IGZuID0gdm0ucnVuSW5UaGlzQ29udGV4dChgYXN5bmMgKCR7T2JqZWN0LmtleXMoY29udGV4dCkuam9pbignLCcpfSk9Pnt7JHt0cmFuc2Zvcm1lZH1cXG59fWAsIHtcbiAgICAgIGZpbGVuYW1lOiBmc1BhdGgsXG4gICAgICBsaW5lT2Zmc2V0OiAwLFxuICAgIH0pXG4gICAgYXdhaXQgZm4oLi4uT2JqZWN0LnZhbHVlcyhjb250ZXh0KSlcblxuICAgIGNvbnN0IG1vY2tzID0gc3VpdGUgPyBtb2NrTWFwW3N1aXRlXSA6IG51bGxcbiAgICBpZiAobW9ja3MpIHtcbiAgICAgIGlmIChtb2Nrc1tpZF0gPT09IG51bGwpXG4gICAgICAgIGV4cG9ydEFsbChleHBvcnRzLCBtb2NrT2JqZWN0KGV4cG9ydHMpKVxuICAgIH1cblxuICAgIHJldHVybiBleHBvcnRzXG4gIH1cblxuICBmdW5jdGlvbiBzZXRDYWNoZShpZDogc3RyaW5nLCBtb2Q6IFBhcnRpYWw8TW9kdWxlQ2FjaGU+KSB7XG4gICAgaWYgKCFtb2R1bGVDYWNoZS5oYXMoaWQpKVxuICAgICAgbW9kdWxlQ2FjaGUuc2V0KGlkLCBtb2QpXG4gICAgZWxzZVxuICAgICAgT2JqZWN0LmFzc2lnbihtb2R1bGVDYWNoZS5nZXQoaWQpLCBtb2QpXG4gIH1cblxuICBhc3luYyBmdW5jdGlvbiBjYWNoZWRSZXF1ZXN0KHJhd0lkOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjb25zdCBpZCA9IG5vcm1hbGl6ZUlkKHJhd0lkLCBiYXNlKVxuXG4gICAgaWYgKGV4dGVybmFsQ2FjaGUuZ2V0KGlkKSlcbiAgICAgIHJldHVybiBpbnRlcnByZXRlZEltcG9ydChwYXRjaFdpbmRvd3NJbXBvcnRQYXRoKGlkKSwgb3B0aW9ucy5pbnRlcnByZXREZWZhdWx0KVxuXG4gICAgY29uc3QgZnNQYXRoID0gdG9GaWxlUGF0aChpZCwgcm9vdClcbiAgICBjb25zdCBpbXBvcnRQYXRoID0gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChmc1BhdGgpXG5cbiAgICBpZiAoIWV4dGVybmFsQ2FjaGUuaGFzKGltcG9ydFBhdGgpKVxuICAgICAgZXh0ZXJuYWxDYWNoZS5zZXQoaW1wb3J0UGF0aCwgYXdhaXQgc2hvdWxkRXh0ZXJuYWxpemUoaW1wb3J0UGF0aCwgb3B0aW9ucykpXG5cbiAgICBjb25zdCBleHRlcm5hbElkID0gZXh0ZXJuYWxDYWNoZS5nZXQoaW1wb3J0UGF0aClcbiAgICBpZiAoZXh0ZXJuYWxJZClcbiAgICAgIHJldHVybiBpbnRlcnByZXRlZEltcG9ydChleHRlcm5hbElkLCBvcHRpb25zLmludGVycHJldERlZmF1bHQpXG5cbiAgICBpZiAobW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2UpXG4gICAgICByZXR1cm4gbW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2VcbiAgICBjb25zdCBwcm9taXNlID0gZGlyZWN0UmVxdWVzdChpZCwgZnNQYXRoLCBjYWxsc3RhY2spXG4gICAgc2V0Q2FjaGUoZnNQYXRoLCB7IHByb21pc2UgfSlcbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZVxuICB9XG5cbiAgZnVuY3Rpb24gZXhwb3J0QWxsKGV4cG9ydHM6IGFueSwgc291cmNlTW9kdWxlOiBhbnkpIHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2VNb2R1bGUpIHtcbiAgICAgIGlmIChrZXkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHtcbiAgICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgICBnZXQoKSB7IHJldHVybiBzb3VyY2VNb2R1bGVba2V5XSB9LFxuICAgICAgICAgIH0pXG4gICAgICAgIH1cbiAgICAgICAgY2F0Y2ggKF9lcnIpIHsgfVxuICAgICAgfVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gbm9ybWFsaXplSWQoaWQ6IHN0cmluZywgYmFzZT86IHN0cmluZyk6IHN0cmluZyB7XG4gIGlmIChiYXNlICYmIGlkLnN0YXJ0c1dpdGgoYmFzZSkpXG4gICAgaWQgPSBgLyR7aWQuc2xpY2UoYmFzZS5sZW5ndGgpfWBcblxuICByZXR1cm4gaWRcbiAgICAucmVwbGFjZSgvXlxcL0BpZFxcL19feDAwX18vLCAnXFwwJykgLy8gdmlydHVhbCBtb2R1bGVzIHN0YXJ0IHdpdGggYFxcMGBcbiAgICAucmVwbGFjZSgvXlxcL0BpZFxcLy8sICcnKVxuICAgIC5yZXBsYWNlKC9eX192aXRlLWJyb3dzZXItZXh0ZXJuYWw6LywgJycpXG4gICAgLnJlcGxhY2UoL15ub2RlOi8sICcnKVxuICAgIC5yZXBsYWNlKC9bPyZddj1cXHcrLywgJz8nKSAvLyByZW1vdmUgP3Y9IHF1ZXJ5XG4gICAgLnJlcGxhY2UoL1xcPyQvLCAnJykgLy8gcmVtb3ZlIGVuZCBxdWVyeSBtYXJrXG59XG5cbmZ1bmN0aW9uIHBhdGNoV2luZG93c0ltcG9ydFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcXFwvKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtzbGFzaChwYXRoKX1gXG4gIGVsc2UgaWYgKHBhdGgubWF0Y2goL15cXHc6XFwvLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7cGF0aH1gXG4gIGVsc2VcbiAgICByZXR1cm4gcGF0aFxufVxuIiwiaW1wb3J0IHsgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBCaXJwY1JldHVybiB9IGZyb20gJ2JpcnBjJ1xuaW1wb3J0IHsgY3JlYXRlQmlycGMgfSBmcm9tICdiaXJwYydcbmltcG9ydCB0eXBlIHsgTW9kdWxlQ2FjaGUsIFJlc29sdmVkQ29uZmlnLCBUZXN0LCBXb3JrZXJDb250ZXh0LCBXb3JrZXJSUEMgfSBmcm9tICcuLi90eXBlcydcbmltcG9ydCB7IGRpc3REaXIgfSBmcm9tICcuLi9jb25zdGFudHMnXG5pbXBvcnQgeyBleGVjdXRlSW5WaXRlTm9kZSB9IGZyb20gJy4uL25vZGUvZXhlY3V0ZSdcbmltcG9ydCB7IHJwYyB9IGZyb20gJy4vcnBjJ1xuXG5sZXQgX3ZpdGVOb2RlOiB7XG4gIHJ1bjogKGZpbGVzOiBzdHJpbmdbXSwgY29uZmlnOiBSZXNvbHZlZENvbmZpZykgPT4gUHJvbWlzZTx2b2lkPlxuICBjb2xsZWN0OiAoZmlsZXM6IHN0cmluZ1tdLCBjb25maWc6IFJlc29sdmVkQ29uZmlnKSA9PiBQcm9taXNlPHZvaWQ+XG59XG5jb25zdCBtb2R1bGVDYWNoZTogTWFwPHN0cmluZywgTW9kdWxlQ2FjaGU+ID0gbmV3IE1hcCgpXG5jb25zdCBtb2NrTWFwID0ge31cblxuYXN5bmMgZnVuY3Rpb24gc3RhcnRWaXRlTm9kZShjdHg6IFdvcmtlckNvbnRleHQpIHtcbiAgaWYgKF92aXRlTm9kZSlcbiAgICByZXR1cm4gX3ZpdGVOb2RlXG5cbiAgY29uc3QgcHJvY2Vzc0V4aXQgPSBwcm9jZXNzLmV4aXRcblxuICBwcm9jZXNzLm9uKCdiZWZvcmVFeGl0JywgKGNvZGUpID0+IHtcbiAgICBycGMoKS5vbldvcmtlckV4aXQoY29kZSlcbiAgfSlcblxuICBwcm9jZXNzLmV4aXQgPSAoY29kZSA9IHByb2Nlc3MuZXhpdENvZGUgfHwgMCk6IG5ldmVyID0+IHtcbiAgICBycGMoKS5vbldvcmtlckV4aXQoY29kZSlcbiAgICByZXR1cm4gcHJvY2Vzc0V4aXQoY29kZSlcbiAgfVxuXG4gIGNvbnN0IHsgY29uZmlnIH0gPSBjdHhcblxuICBjb25zdCB7IHJ1biwgY29sbGVjdCB9ID0gKGF3YWl0IGV4ZWN1dGVJblZpdGVOb2RlKHtcbiAgICBmaWxlczogW1xuICAgICAgcmVzb2x2ZShkaXN0RGlyLCAnZW50cnkuanMnKSxcbiAgICBdLFxuICAgIGZldGNoKGlkKSB7XG4gICAgICByZXR1cm4gcnBjKCkuZmV0Y2goaWQpXG4gICAgfSxcbiAgICBtb2R1bGVDYWNoZSxcbiAgICBtb2NrTWFwLFxuICAgIHJvb3Q6IGNvbmZpZy5yb290LFxuICAgIGRlcHNJbmxpbmU6IGNvbmZpZy5kZXBzSW5saW5lLFxuICAgIGRlcHNFeHRlcm5hbDogY29uZmlnLmRlcHNFeHRlcm5hbCxcbiAgICBmYWxsYmFja0NKUzogY29uZmlnLmZhbGxiYWNrQ0pTLFxuICAgIGludGVycHJldERlZmF1bHQ6IGNvbmZpZy5pbnRlcnByZXREZWZhdWx0LFxuICAgIGJhc2U6IGNvbmZpZy5iYXNlLFxuICB9KSlbMF1cblxuICBfdml0ZU5vZGUgPSB7IHJ1biwgY29sbGVjdCB9XG5cbiAgcmV0dXJuIF92aXRlTm9kZVxufVxuXG5mdW5jdGlvbiBpbml0KGN0eDogV29ya2VyQ29udGV4dCkge1xuICBpZiAocHJvY2Vzcy5fX3ZpdGVzdF93b3JrZXJfXyAmJiBjdHguY29uZmlnLnRocmVhZHMgJiYgY3R4LmNvbmZpZy5pc29sYXRlKVxuICAgIHRocm93IG5ldyBFcnJvcihgd29ya2VyIGZvciAke2N0eC5maWxlcy5qb2luKCcsJyl9IGFscmVhZHkgaW5pdGlhbGl6ZWQgYnkgJHtwcm9jZXNzLl9fdml0ZXN0X3dvcmtlcl9fLmN0eC5maWxlcy5qb2luKCcsJyl9LiBUaGlzIGlzIHByb2JhYmx5IGFuIGludGVybmFsIGJ1ZyBvZiBWaXRlc3QuYClcblxuICBwcm9jZXNzLnN0ZG91dC53cml0ZSgnXFwwJylcblxuICBjb25zdCB7IGNvbmZpZywgcG9ydCB9ID0gY3R4XG5cbiAgcHJvY2Vzcy5fX3ZpdGVzdF93b3JrZXJfXyA9IHtcbiAgICBjdHgsXG4gICAgbW9kdWxlQ2FjaGUsXG4gICAgY29uZmlnLFxuICAgIHJwYzogY3JlYXRlQmlycGM8e30sIFdvcmtlclJQQz4oe1xuICAgICAgZnVuY3Rpb25zOiB7fSxcbiAgICAgIGV2ZW50TmFtZXM6IFsnb25Vc2VyTG9nJywgJ29uQ29sbGVjdGVkJywgJ29uV29ya2VyRXhpdCddLFxuICAgICAgcG9zdCh2KSB7IHBvcnQucG9zdE1lc3NhZ2UodikgfSxcbiAgICAgIG9uKGZuKSB7IHBvcnQuYWRkTGlzdGVuZXIoJ21lc3NhZ2UnLCBmbikgfSxcbiAgICB9KSxcbiAgfVxuXG4gIGlmIChjdHguaW52YWxpZGF0ZXMpXG4gICAgY3R4LmludmFsaWRhdGVzLmZvckVhY2goaSA9PiBtb2R1bGVDYWNoZS5kZWxldGUoaSkpXG4gIGN0eC5maWxlcy5mb3JFYWNoKGkgPT4gbW9kdWxlQ2FjaGUuZGVsZXRlKGkpKVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gY29sbGVjdChjdHg6IFdvcmtlckNvbnRleHQpIHtcbiAgaW5pdChjdHgpXG4gIGNvbnN0IHsgY29sbGVjdCB9ID0gYXdhaXQgc3RhcnRWaXRlTm9kZShjdHgpXG4gIHJldHVybiBjb2xsZWN0KGN0eC5maWxlcywgY3R4LmNvbmZpZylcbn1cblxuZXhwb3J0IGFzeW5jIGZ1bmN0aW9uIHJ1bihjdHg6IFdvcmtlckNvbnRleHQpIHtcbiAgaW5pdChjdHgpXG4gIGNvbnN0IHsgcnVuIH0gPSBhd2FpdCBzdGFydFZpdGVOb2RlKGN0eClcbiAgcmV0dXJuIHJ1bihjdHguZmlsZXMsIGN0eC5jb25maWcpXG59XG5cbmRlY2xhcmUgZ2xvYmFsIHtcbiAgbmFtZXNwYWNlIE5vZGVKUyB7XG4gICAgaW50ZXJmYWNlIFByb2Nlc3Mge1xuICAgICAgX192aXRlc3Rfd29ya2VyX186IHtcbiAgICAgICAgY3R4OiBXb3JrZXJDb250ZXh0XG4gICAgICAgIGNvbmZpZzogUmVzb2x2ZWRDb25maWdcbiAgICAgICAgcnBjOiBCaXJwY1JldHVybjxXb3JrZXJSUEM+XG4gICAgICAgIGN1cnJlbnQ/OiBUZXN0XG4gICAgICAgIGZpbGVwYXRoPzogc3RyaW5nXG4gICAgICAgIG1vZHVsZUNhY2hlOiBNYXA8c3RyaW5nLCBNb2R1bGVDYWNoZT5cbiAgICAgIH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSxJQUFJLFNBQVMsR0FBRyxNQUFNLENBQUMsY0FBYyxDQUFDO0FBQ3RDLElBQUksbUJBQW1CLEdBQUcsTUFBTSxDQUFDLHFCQUFxQixDQUFDO0FBQ3ZELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsY0FBYyxDQUFDO0FBQ25ELElBQUksWUFBWSxHQUFHLE1BQU0sQ0FBQyxTQUFTLENBQUMsb0JBQW9CLENBQUM7QUFDekQsSUFBSSxlQUFlLEdBQUcsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEtBQUssS0FBSyxHQUFHLElBQUksR0FBRyxHQUFHLFNBQVMsQ0FBQyxHQUFHLEVBQUUsR0FBRyxFQUFFLEVBQUUsVUFBVSxFQUFFLElBQUksRUFBRSxZQUFZLEVBQUUsSUFBSSxFQUFFLFFBQVEsRUFBRSxJQUFJLEVBQUUsS0FBSyxFQUFFLENBQUMsR0FBRyxHQUFHLENBQUMsR0FBRyxDQUFDLEdBQUcsS0FBSyxDQUFDO0FBQ2hLLElBQUksY0FBYyxHQUFHLENBQUMsQ0FBQyxFQUFFLENBQUMsS0FBSztBQUMvQixFQUFFLEtBQUssSUFBSSxJQUFJLElBQUksQ0FBQyxLQUFLLENBQUMsR0FBRyxFQUFFLENBQUM7QUFDaEMsSUFBSSxJQUFJLFlBQVksQ0FBQyxJQUFJLENB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
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vitest",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.133",
|
|
4
4
|
"description": "A blazing fast unit test framework powered by Vite",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"vite",
|
|
@@ -50,9 +50,9 @@
|
|
|
50
50
|
"@types/chai": "^4.3.0",
|
|
51
51
|
"@types/chai-subset": "^1.3.3",
|
|
52
52
|
"chai": "^4.3.4",
|
|
53
|
-
"local-pkg": "^0.4.
|
|
54
|
-
"tinypool": "^0.
|
|
55
|
-
"tinyspy": "^0.2.
|
|
53
|
+
"local-pkg": "^0.4.1",
|
|
54
|
+
"tinypool": "^0.1.1",
|
|
55
|
+
"tinyspy": "^0.2.7",
|
|
56
56
|
"vite": ">=2.7.10"
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
@@ -61,10 +61,11 @@
|
|
|
61
61
|
"@types/jsdom": "^16.2.14",
|
|
62
62
|
"@types/micromatch": "^4.0.2",
|
|
63
63
|
"@types/natural-compare": "^1.4.1",
|
|
64
|
-
"@types/node": "^17.0.
|
|
64
|
+
"@types/node": "^17.0.8",
|
|
65
65
|
"@types/prompts": "^2.4.0",
|
|
66
|
+
"@vitest/ui": "0.0.133",
|
|
66
67
|
"birpc": "^0.0.2",
|
|
67
|
-
"c8": "^7.
|
|
68
|
+
"c8": "^7.11.0",
|
|
68
69
|
"cac": "^6.7.12",
|
|
69
70
|
"chai-subset": "^1.6.0",
|
|
70
71
|
"cli-truncate": "^3.1.0",
|
|
@@ -86,12 +87,11 @@
|
|
|
86
87
|
"pkg-types": "^0.3.2",
|
|
87
88
|
"pretty-format": "^27.4.2",
|
|
88
89
|
"prompts": "^2.4.2",
|
|
89
|
-
"rollup": "^2.
|
|
90
|
+
"rollup": "^2.63.0",
|
|
90
91
|
"source-map-js": "^1.0.1",
|
|
91
92
|
"strip-ansi": "^7.0.1",
|
|
92
93
|
"typescript": "^4.5.4",
|
|
93
|
-
"ws": "^8.4.0"
|
|
94
|
-
"@vitest/ui": "0.0.129"
|
|
94
|
+
"ws": "^8.4.0"
|
|
95
95
|
},
|
|
96
96
|
"peerDependencies": {
|
|
97
97
|
"c8": "*",
|
|
@@ -1,33 +0,0 @@
|
|
|
1
|
-
import { fileURLToPath } from 'url';
|
|
2
|
-
import { k as resolve } from './index-42a3a132.js';
|
|
3
|
-
|
|
4
|
-
const distDir = resolve(fileURLToPath(import.meta.url), "../../dist");
|
|
5
|
-
const defaultInclude = ["**/*.{test,spec}.{js,mjs,cjs,ts,mts,cts,jsx,tsx}"];
|
|
6
|
-
const defaultExclude = ["**/node_modules/**", "**/dist/**", "**/cypress/**", "**/.{idea,git,cache,output,temp}/**"];
|
|
7
|
-
const defaultPort = 51204;
|
|
8
|
-
const API_PATH = "/__vitest_api__";
|
|
9
|
-
const configFiles = [
|
|
10
|
-
"vitest.config.ts",
|
|
11
|
-
"vitest.config.js",
|
|
12
|
-
"vitest.config.mjs",
|
|
13
|
-
"vite.config.ts",
|
|
14
|
-
"vite.config.js",
|
|
15
|
-
"vite.config.mjs"
|
|
16
|
-
];
|
|
17
|
-
const globalApis = [
|
|
18
|
-
"suite",
|
|
19
|
-
"test",
|
|
20
|
-
"describe",
|
|
21
|
-
"it",
|
|
22
|
-
"chai",
|
|
23
|
-
"expect",
|
|
24
|
-
"assert",
|
|
25
|
-
"vitest",
|
|
26
|
-
"vi",
|
|
27
|
-
"beforeAll",
|
|
28
|
-
"afterAll",
|
|
29
|
-
"beforeEach",
|
|
30
|
-
"afterEach"
|
|
31
|
-
];
|
|
32
|
-
|
|
33
|
-
export { API_PATH as A, defaultInclude as a, defaultExclude as b, distDir as c, defaultPort as d, configFiles as e, globalApis as g };
|