vite-node 0.6.1 → 0.7.1
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/README.md +3 -0
- package/cli.d.ts +1 -0
- package/client.d.ts +1 -37
- package/dist/cli.cjs +13 -3
- package/dist/cli.js +13 -3
- package/dist/client.cjs +32 -15
- package/dist/client.js +32 -16
- package/dist/server.cjs +8 -4
- package/dist/server.js +8 -4
- package/index.d.ts +1 -1
- package/package.json +3 -3
- package/server.d.ts +1 -1
- package/types-49baa6c8.d.ts +111 -0
- package/types-7101d113.d.ts +111 -0
- package/types.d.ts +1 -68
package/README.md
CHANGED
package/cli.d.ts
CHANGED
package/client.d.ts
CHANGED
|
@@ -1,37 +1 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
declare const DEFAULT_REQUEST_STUBS: {
|
|
4
|
-
'/@vite/client': {
|
|
5
|
-
injectQuery: (id: string) => string;
|
|
6
|
-
createHotContext(): {
|
|
7
|
-
accept: () => void;
|
|
8
|
-
prune: () => void;
|
|
9
|
-
};
|
|
10
|
-
updateStyle(): void;
|
|
11
|
-
};
|
|
12
|
-
};
|
|
13
|
-
declare class ViteNodeRunner {
|
|
14
|
-
options: ViteNodeRunnerOptions;
|
|
15
|
-
root: string;
|
|
16
|
-
moduleCache: Map<string, ModuleCache>;
|
|
17
|
-
constructor(options: ViteNodeRunnerOptions);
|
|
18
|
-
executeFile(file: string): Promise<any>;
|
|
19
|
-
executeId(id: string): Promise<any>;
|
|
20
|
-
cachedRequest(rawId: string, callstack: string[]): Promise<any>;
|
|
21
|
-
directRequest(id: string, fsPath: string, callstack: string[]): Promise<any>;
|
|
22
|
-
prepareContext(context: Record<string, any>): Record<string, any>;
|
|
23
|
-
setCache(id: string, mod: Partial<ModuleCache>): void;
|
|
24
|
-
shouldResolveId(dep: string): boolean;
|
|
25
|
-
/**
|
|
26
|
-
* Define if a module should be interop-ed
|
|
27
|
-
* This function mostly for the ability to override by subclass
|
|
28
|
-
*/
|
|
29
|
-
shouldInterop(path: string, mod: any): boolean;
|
|
30
|
-
/**
|
|
31
|
-
* Import a module and interop it
|
|
32
|
-
*/
|
|
33
|
-
interopedImport(path: string): Promise<any>;
|
|
34
|
-
hasNestedDefault(target: any): any;
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
export { DEFAULT_REQUEST_STUBS, ViteNodeRunner };
|
|
1
|
+
export { f as DEFAULT_REQUEST_STUBS, M as ModuleCacheMap, g as ViteNodeRunner } from './types-7101d113.js';
|
package/dist/cli.cjs
CHANGED
|
@@ -5,11 +5,11 @@ var kolorist = require('kolorist');
|
|
|
5
5
|
var vite = require('vite');
|
|
6
6
|
var server = require('./server.cjs');
|
|
7
7
|
var client = require('./client.cjs');
|
|
8
|
+
require('pathe');
|
|
8
9
|
require('fs');
|
|
9
10
|
require('mlly');
|
|
10
11
|
require('./utils.cjs');
|
|
11
12
|
require('url');
|
|
12
|
-
require('pathe');
|
|
13
13
|
require('module');
|
|
14
14
|
require('vm');
|
|
15
15
|
|
|
@@ -84,6 +84,16 @@ async function run(options = {}) {
|
|
|
84
84
|
await runner.executeId("/@vite/env");
|
|
85
85
|
for (const file of files)
|
|
86
86
|
await runner.executeFile(file);
|
|
87
|
-
|
|
87
|
+
if (!options.watch)
|
|
88
|
+
await server$1.close();
|
|
89
|
+
server$1.watcher.on("change", async (eventName, path) => {
|
|
90
|
+
console.log(kolorist.dim(`[${eventName}] ${path}`));
|
|
91
|
+
Array.from(runner.moduleCache.keys()).forEach((i) => {
|
|
92
|
+
if (!i.includes("node_modules"))
|
|
93
|
+
runner.moduleCache.delete(i);
|
|
94
|
+
});
|
|
95
|
+
for (const file of files)
|
|
96
|
+
await runner.executeFile(file);
|
|
97
|
+
});
|
|
88
98
|
}
|
|
89
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWluaW1pc3QgZnJvbSAnbWluaW1pc3QnXG5pbXBvcnQgeyBkaW0sIHJlZCB9IGZyb20gJ2tvbG9yaXN0J1xuaW1wb3J0IHsgY3JlYXRlU2VydmVyIH0gZnJvbSAndml0ZSdcbmltcG9ydCB7IFZpdGVOb2RlU2VydmVyIH0gZnJvbSAnLi9zZXJ2ZXInXG5pbXBvcnQgeyBWaXRlTm9kZVJ1bm5lciB9IGZyb20gJy4vY2xpZW50J1xuXG5jb25zdCBhcmd2ID0gbWluaW1pc3QocHJvY2Vzcy5hcmd2LnNsaWNlKDIpLCB7XG4gICdhbGlhcyc6IHtcbiAgICByOiAncm9vdCcsXG4gICAgYzogJ2NvbmZpZycsXG4gICAgaDogJ2hlbHAnLFxuICAgIHc6ICd3YXRjaCcsXG4gICAgczogJ3NpbGVudCcsXG4gIH0sXG4gICctLSc6IHRydWUsXG4gICdzdHJpbmcnOiBbJ3Jvb3QnLCAnY29uZmlnJ10sXG4gICdib29sZWFuJzogWydoZWxwJywgJ3dhdGNoJywgJ3NpbGVudCddLFxuICB1bmtub3duKG5hbWU6IHN0cmluZykge1xuICAgIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVkKGBVbmtub3duIGFyZ3VtZW50OiAke25hbWV9YCkpXG4gICAgICBoZWxwKClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9LFxufSlcblxuaWYgKGFyZ3YuaGVscCkge1xuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDApXG59XG5cbmlmICghYXJndi5fLmxlbmd0aCkge1xuICBjb25zb2xlLmVycm9yKHJlZCgnTm8gZmlsZXMgc3BlY2lmaWVkLicpKVxuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDEpXG59XG5cbi8vIGZvcndhcmQgYXJndlxucHJvY2Vzcy5hcmd2ID0gWy4uLnByb2Nlc3MuYXJndi5zbGljZSgwLCAyKSwgLi4uKGFyZ3ZbJy0tJ10gfHwgW10pXVxuXG5ydW4oYXJndilcblxuZnVuY3Rpb24gaGVscCgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFxuVXNhZ2U6XG4gICQgdml0ZS1ub2RlIFtvcHRpb25zXSBbZmlsZXNdXG5cbk9wdGlvbnM6XG4gIC1yLCAtLXJvb3QgPHBhdGg+ICAgICAgJHtkaW0oJ1tzdHJpbmddJyl9IHVzZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnlcbiAgLWMsIC0tY29uZmlnIDxmaWxlPiAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCBjb25maWcgZmlsZVxuICAtdywgLS13YXRjaCAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSByZXN0YXJ0IG9uIGZpbGUgY2hhbmdlcywgc2ltaWxhciB0byBcIm5vZGVtb25cIlxuICAtcywgLS1zaWxlbnQgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBkbyBub3QgZW1pdCBlcnJvcnMgYW5kIGxvZ3NcbiAgLS12dWUgICAgICAgICAgICAgICAgICR7ZGltKCdbYm9vbGVhbl0nKX0gc3VwcG9ydCBmb3IgaW1wb3J0aW5nIFZ1ZSBjb21wb25lbnRcbmApXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpT3B0aW9ucyB7XG4gIGZpbGVzPzogc3RyaW5nW11cbiAgXz86IHN0cmluZ1tdXG4gIHJvb3Q/
|
|
99
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaS50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgbWluaW1pc3QgZnJvbSAnbWluaW1pc3QnXG5pbXBvcnQgeyBkaW0sIHJlZCB9IGZyb20gJ2tvbG9yaXN0J1xuaW1wb3J0IHsgY3JlYXRlU2VydmVyIH0gZnJvbSAndml0ZSdcbmltcG9ydCB7IFZpdGVOb2RlU2VydmVyIH0gZnJvbSAnLi9zZXJ2ZXInXG5pbXBvcnQgeyBWaXRlTm9kZVJ1bm5lciB9IGZyb20gJy4vY2xpZW50J1xuXG5jb25zdCBhcmd2ID0gbWluaW1pc3QocHJvY2Vzcy5hcmd2LnNsaWNlKDIpLCB7XG4gICdhbGlhcyc6IHtcbiAgICByOiAncm9vdCcsXG4gICAgYzogJ2NvbmZpZycsXG4gICAgaDogJ2hlbHAnLFxuICAgIHc6ICd3YXRjaCcsXG4gICAgczogJ3NpbGVudCcsXG4gIH0sXG4gICctLSc6IHRydWUsXG4gICdzdHJpbmcnOiBbJ3Jvb3QnLCAnY29uZmlnJ10sXG4gICdib29sZWFuJzogWydoZWxwJywgJ3dhdGNoJywgJ3NpbGVudCddLFxuICB1bmtub3duKG5hbWU6IHN0cmluZykge1xuICAgIGlmIChuYW1lWzBdID09PSAnLScpIHtcbiAgICAgIGNvbnNvbGUuZXJyb3IocmVkKGBVbmtub3duIGFyZ3VtZW50OiAke25hbWV9YCkpXG4gICAgICBoZWxwKClcbiAgICAgIHByb2Nlc3MuZXhpdCgxKVxuICAgIH1cbiAgICByZXR1cm4gdHJ1ZVxuICB9LFxufSlcblxuaWYgKGFyZ3YuaGVscCkge1xuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDApXG59XG5cbmlmICghYXJndi5fLmxlbmd0aCkge1xuICBjb25zb2xlLmVycm9yKHJlZCgnTm8gZmlsZXMgc3BlY2lmaWVkLicpKVxuICBoZWxwKClcbiAgcHJvY2Vzcy5leGl0KDEpXG59XG5cbi8vIGZvcndhcmQgYXJndlxucHJvY2Vzcy5hcmd2ID0gWy4uLnByb2Nlc3MuYXJndi5zbGljZSgwLCAyKSwgLi4uKGFyZ3ZbJy0tJ10gfHwgW10pXVxuXG5ydW4oYXJndilcblxuZnVuY3Rpb24gaGVscCgpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLWNvbnNvbGVcbiAgY29uc29sZS5sb2coYFxuVXNhZ2U6XG4gICQgdml0ZS1ub2RlIFtvcHRpb25zXSBbZmlsZXNdXG5cbk9wdGlvbnM6XG4gIC1yLCAtLXJvb3QgPHBhdGg+ICAgICAgJHtkaW0oJ1tzdHJpbmddJyl9IHVzZSBzcGVjaWZpZWQgcm9vdCBkaXJlY3RvcnlcbiAgLWMsIC0tY29uZmlnIDxmaWxlPiAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCBjb25maWcgZmlsZVxuICAtdywgLS13YXRjaCAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSByZXN0YXJ0IG9uIGZpbGUgY2hhbmdlcywgc2ltaWxhciB0byBcIm5vZGVtb25cIlxuICAtcywgLS1zaWxlbnQgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBkbyBub3QgZW1pdCBlcnJvcnMgYW5kIGxvZ3NcbiAgLS12dWUgICAgICAgICAgICAgICAgICR7ZGltKCdbYm9vbGVhbl0nKX0gc3VwcG9ydCBmb3IgaW1wb3J0aW5nIFZ1ZSBjb21wb25lbnRcbmApXG59XG5cbmV4cG9ydCBpbnRlcmZhY2UgQ2xpT3B0aW9ucyB7XG4gIGZpbGVzPzogc3RyaW5nW11cbiAgXz86IHN0cmluZ1tdXG4gIHJvb3Q/OiBzdHJpbmdcbiAgY29uZmlnPzogc3RyaW5nXG4gIHdhdGNoPzogYm9vbGVhblxufVxuXG5hc3luYyBmdW5jdGlvbiBydW4ob3B0aW9uczogQ2xpT3B0aW9ucyA9IHt9KSB7XG4gIGNvbnN0IGZpbGVzID0gb3B0aW9ucy5maWxlcyB8fCBvcHRpb25zLl8gfHwgW11cbiAgY29uc3Qgc2VydmVyID0gYXdhaXQgY3JlYXRlU2VydmVyKHtcbiAgICBsb2dMZXZlbDogJ2Vycm9yJyxcbiAgICBjbGVhclNjcmVlbjogZmFsc2UsXG4gICAgY29uZmlnRmlsZTogb3B0aW9ucy5jb25maWcsXG4gICAgcm9vdDogb3B0aW9ucy5yb290LFxuICB9KVxuICBhd2FpdCBzZXJ2ZXIucGx1Z2luQ29udGFpbmVyLmJ1aWxkU3RhcnQoe30pXG5cbiAgY29uc3Qgbm9kZSA9IG5ldyBWaXRlTm9kZVNlcnZlcihzZXJ2ZXIpXG5cbiAgY29uc3QgcnVubmVyID0gbmV3IFZpdGVOb2RlUnVubmVyKHtcbiAgICByb290OiBzZXJ2ZXIuY29uZmlnLnJvb3QsXG4gICAgYmFzZTogc2VydmVyLmNvbmZpZy5iYXNlLFxuICAgIGZldGNoTW9kdWxlKGlkKSB7XG4gICAgICByZXR1cm4gbm9kZS5mZXRjaE1vZHVsZShpZClcbiAgICB9LFxuICAgIHJlc29sdmVJZChpZCwgaW1wb3J0ZXIpIHtcbiAgICAgIHJldHVybiBub2RlLnJlc29sdmVJZChpZCwgaW1wb3J0ZXIpXG4gICAgfSxcbiAgfSlcblxuICAvLyBwcm92aWRlIHRoZSB2aXRlIGRlZmluZSB2YXJpYWJsZSBpbiB0aGlzIGNvbnRleHRcbiAgYXdhaXQgcnVubmVyLmV4ZWN1dGVJZCgnL0B2aXRlL2VudicpXG5cbiAgZm9yIChjb25zdCBmaWxlIG9mIGZpbGVzKVxuICAgIGF3YWl0IHJ1bm5lci5leGVjdXRlRmlsZShmaWxlKVxuXG4gIGlmICghb3B0aW9ucy53YXRjaClcbiAgICBhd2FpdCBzZXJ2ZXIuY2xvc2UoKVxuXG4gIHNlcnZlci53YXRjaGVyLm9uKCdjaGFuZ2UnLCBhc3luYyhldmVudE5hbWUsIHBhdGgpID0+IHtcbiAgICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICAgIGNvbnNvbGUubG9nKGRpbShgWyR7ZXZlbnROYW1lfV0gJHtwYXRofWApKVxuXG4gICAgLy8gaW52YWxpZGF0ZSBtb2R1bGUgY2FjaGUgYnV0IG5vdCBub2RlX21vZHVsZXNcbiAgICBBcnJheS5mcm9tKHJ1bm5lci5tb2R1bGVDYWNoZS5rZXlzKCkpXG4gICAgICAuZm9yRWFjaCgoaSkgPT4ge1xuICAgICAgICBpZiAoIWkuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKVxuICAgICAgICAgIHJ1bm5lci5tb2R1bGVDYWNoZS5kZWxldGUoaSlcbiAgICAgIH0pXG5cbiAgICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXG4gICAgICBhd2FpdCBydW5uZXIuZXhlY3V0ZUZpbGUoZmlsZSlcbiAgfSlcbn1cbiJdLCJuYW1lcyI6WyJtaW5pbWlzdCIsInJlZCIsImRpbSIsInNlcnZlciIsImNyZWF0ZVNlcnZlciIsIlZpdGVOb2RlU2VydmVyIiwiVml0ZU5vZGVSdW5uZXIiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFNQSxNQUFNLElBQU8sR0FBQUEsNEJBQUEsQ0FBUyxPQUFRLENBQUEsSUFBQSxDQUFLLE1BQU0sQ0FBSSxDQUFBLEVBQUE7QUFBQSxFQUMzQyxPQUFTLEVBQUE7QUFBQSxJQUNQLENBQUcsRUFBQSxNQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLElBQ0gsQ0FBRyxFQUFBLE1BQUE7QUFBQSxJQUNILENBQUcsRUFBQSxPQUFBO0FBQUEsSUFDSCxDQUFHLEVBQUEsUUFBQTtBQUFBLEdBQUE7QUFBQSxFQUVMLElBQU0sRUFBQSxJQUFBO0FBQUEsRUFDTixRQUFBLEVBQVUsQ0FBQyxNQUFRLEVBQUEsUUFBQSxDQUFBO0FBQUEsRUFDbkIsU0FBQSxFQUFXLENBQUMsTUFBQSxFQUFRLE9BQVMsRUFBQSxRQUFBLENBQUE7QUFBQSxFQUM3QixRQUFRLElBQWMsRUFBQTtBQUNwQixJQUFJLElBQUEsSUFBQSxDQUFLLE9BQU8sR0FBSyxFQUFBO0FBQ25CLE1BQVEsT0FBQSxDQUFBLEtBQUEsQ0FBTUMsYUFBSSxDQUFxQixrQkFBQSxFQUFBLElBQUEsQ0FBQSxDQUFBLENBQUEsQ0FBQSxDQUFBO0FBQ3ZDLE1BQUEsSUFBQSxFQUFBLENBQUE7QUFDQSxNQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsQ0FBQSxDQUFBLENBQUE7QUFBQSxLQUFBO0FBRWYsSUFBTyxPQUFB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
|
package/dist/cli.js
CHANGED
|
@@ -3,11 +3,11 @@ import { red, dim } from 'kolorist';
|
|
|
3
3
|
import { createServer } from 'vite';
|
|
4
4
|
import { ViteNodeServer } from './server.js';
|
|
5
5
|
import { ViteNodeRunner } from './client.js';
|
|
6
|
+
import 'pathe';
|
|
6
7
|
import 'fs';
|
|
7
8
|
import 'mlly';
|
|
8
9
|
import './utils.js';
|
|
9
10
|
import 'url';
|
|
10
|
-
import 'pathe';
|
|
11
11
|
import 'module';
|
|
12
12
|
import 'vm';
|
|
13
13
|
|
|
@@ -78,6 +78,16 @@ async function run(options = {}) {
|
|
|
78
78
|
await runner.executeId("/@vite/env");
|
|
79
79
|
for (const file of files)
|
|
80
80
|
await runner.executeFile(file);
|
|
81
|
-
|
|
81
|
+
if (!options.watch)
|
|
82
|
+
await server.close();
|
|
83
|
+
server.watcher.on("change", async (eventName, path) => {
|
|
84
|
+
console.log(dim(`[${eventName}] ${path}`));
|
|
85
|
+
Array.from(runner.moduleCache.keys()).forEach((i) => {
|
|
86
|
+
if (!i.includes("node_modules"))
|
|
87
|
+
runner.moduleCache.delete(i);
|
|
88
|
+
});
|
|
89
|
+
for (const file of files)
|
|
90
|
+
await runner.executeFile(file);
|
|
91
|
+
});
|
|
82
92
|
}
|
|
83
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaW5pbWlzdCBmcm9tICdtaW5pbWlzdCdcbmltcG9ydCB7IGRpbSwgcmVkIH0gZnJvbSAna29sb3Jpc3QnXG5pbXBvcnQgeyBjcmVhdGVTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHsgVml0ZU5vZGVTZXJ2ZXIgfSBmcm9tICcuL3NlcnZlcidcbmltcG9ydCB7IFZpdGVOb2RlUnVubmVyIH0gZnJvbSAnLi9jbGllbnQnXG5cbmNvbnN0IGFyZ3YgPSBtaW5pbWlzdChwcm9jZXNzLmFyZ3Yuc2xpY2UoMiksIHtcbiAgJ2FsaWFzJzoge1xuICAgIHI6ICdyb290JyxcbiAgICBjOiAnY29uZmlnJyxcbiAgICBoOiAnaGVscCcsXG4gICAgdzogJ3dhdGNoJyxcbiAgICBzOiAnc2lsZW50JyxcbiAgfSxcbiAgJy0tJzogdHJ1ZSxcbiAgJ3N0cmluZyc6IFsncm9vdCcsICdjb25maWcnXSxcbiAgJ2Jvb2xlYW4nOiBbJ2hlbHAnLCAnd2F0Y2gnLCAnc2lsZW50J10sXG4gIHVua25vd24obmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKG5hbWVbMF0gPT09ICctJykge1xuICAgICAgY29uc29sZS5lcnJvcihyZWQoYFVua25vd24gYXJndW1lbnQ6ICR7bmFtZX1gKSlcbiAgICAgIGhlbHAoKVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH0sXG59KVxuXG5pZiAoYXJndi5oZWxwKSB7XG4gIGhlbHAoKVxuICBwcm9jZXNzLmV4aXQoMClcbn1cblxuaWYgKCFhcmd2Ll8ubGVuZ3RoKSB7XG4gIGNvbnNvbGUuZXJyb3IocmVkKCdObyBmaWxlcyBzcGVjaWZpZWQuJykpXG4gIGhlbHAoKVxuICBwcm9jZXNzLmV4aXQoMSlcbn1cblxuLy8gZm9yd2FyZCBhcmd2XG5wcm9jZXNzLmFyZ3YgPSBbLi4ucHJvY2Vzcy5hcmd2LnNsaWNlKDAsIDIpLCAuLi4oYXJndlsnLS0nXSB8fCBbXSldXG5cbnJ1bihhcmd2KVxuXG5mdW5jdGlvbiBoZWxwKCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhgXG5Vc2FnZTpcbiAgJCB2aXRlLW5vZGUgW29wdGlvbnNdIFtmaWxlc11cblxuT3B0aW9uczpcbiAgLXIsIC0tcm9vdCA8cGF0aD4gICAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCByb290IGRpcmVjdG9yeVxuICAtYywgLS1jb25maWcgPGZpbGU+ICAgICR7ZGltKCdbc3RyaW5nXScpfSB1c2Ugc3BlY2lmaWVkIGNvbmZpZyBmaWxlXG4gIC13LCAtLXdhdGNoICAgICAgICAgICAke2RpbSgnW2Jvb2xlYW5dJyl9IHJlc3RhcnQgb24gZmlsZSBjaGFuZ2VzLCBzaW1pbGFyIHRvIFwibm9kZW1vblwiXG4gIC1zLCAtLXNpbGVudCAgICAgICAgICAke2RpbSgnW2Jvb2xlYW5dJyl9IGRvIG5vdCBlbWl0IGVycm9ycyBhbmQgbG9nc1xuICAtLXZ1ZSAgICAgICAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBzdXBwb3J0IGZvciBpbXBvcnRpbmcgVnVlIGNvbXBvbmVudFxuYClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlPcHRpb25zIHtcbiAgZmlsZXM/OiBzdHJpbmdbXVxuICBfPzogc3RyaW5nW11cbiAgcm9vdD86IHN0cmluZ1xuICBjb25maWc/
|
|
93
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpLmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCBtaW5pbWlzdCBmcm9tICdtaW5pbWlzdCdcbmltcG9ydCB7IGRpbSwgcmVkIH0gZnJvbSAna29sb3Jpc3QnXG5pbXBvcnQgeyBjcmVhdGVTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHsgVml0ZU5vZGVTZXJ2ZXIgfSBmcm9tICcuL3NlcnZlcidcbmltcG9ydCB7IFZpdGVOb2RlUnVubmVyIH0gZnJvbSAnLi9jbGllbnQnXG5cbmNvbnN0IGFyZ3YgPSBtaW5pbWlzdChwcm9jZXNzLmFyZ3Yuc2xpY2UoMiksIHtcbiAgJ2FsaWFzJzoge1xuICAgIHI6ICdyb290JyxcbiAgICBjOiAnY29uZmlnJyxcbiAgICBoOiAnaGVscCcsXG4gICAgdzogJ3dhdGNoJyxcbiAgICBzOiAnc2lsZW50JyxcbiAgfSxcbiAgJy0tJzogdHJ1ZSxcbiAgJ3N0cmluZyc6IFsncm9vdCcsICdjb25maWcnXSxcbiAgJ2Jvb2xlYW4nOiBbJ2hlbHAnLCAnd2F0Y2gnLCAnc2lsZW50J10sXG4gIHVua25vd24obmFtZTogc3RyaW5nKSB7XG4gICAgaWYgKG5hbWVbMF0gPT09ICctJykge1xuICAgICAgY29uc29sZS5lcnJvcihyZWQoYFVua25vd24gYXJndW1lbnQ6ICR7bmFtZX1gKSlcbiAgICAgIGhlbHAoKVxuICAgICAgcHJvY2Vzcy5leGl0KDEpXG4gICAgfVxuICAgIHJldHVybiB0cnVlXG4gIH0sXG59KVxuXG5pZiAoYXJndi5oZWxwKSB7XG4gIGhlbHAoKVxuICBwcm9jZXNzLmV4aXQoMClcbn1cblxuaWYgKCFhcmd2Ll8ubGVuZ3RoKSB7XG4gIGNvbnNvbGUuZXJyb3IocmVkKCdObyBmaWxlcyBzcGVjaWZpZWQuJykpXG4gIGhlbHAoKVxuICBwcm9jZXNzLmV4aXQoMSlcbn1cblxuLy8gZm9yd2FyZCBhcmd2XG5wcm9jZXNzLmFyZ3YgPSBbLi4ucHJvY2Vzcy5hcmd2LnNsaWNlKDAsIDIpLCAuLi4oYXJndlsnLS0nXSB8fCBbXSldXG5cbnJ1bihhcmd2KVxuXG5mdW5jdGlvbiBoZWxwKCkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tY29uc29sZVxuICBjb25zb2xlLmxvZyhgXG5Vc2FnZTpcbiAgJCB2aXRlLW5vZGUgW29wdGlvbnNdIFtmaWxlc11cblxuT3B0aW9uczpcbiAgLXIsIC0tcm9vdCA8cGF0aD4gICAgICAke2RpbSgnW3N0cmluZ10nKX0gdXNlIHNwZWNpZmllZCByb290IGRpcmVjdG9yeVxuICAtYywgLS1jb25maWcgPGZpbGU+ICAgICR7ZGltKCdbc3RyaW5nXScpfSB1c2Ugc3BlY2lmaWVkIGNvbmZpZyBmaWxlXG4gIC13LCAtLXdhdGNoICAgICAgICAgICAke2RpbSgnW2Jvb2xlYW5dJyl9IHJlc3RhcnQgb24gZmlsZSBjaGFuZ2VzLCBzaW1pbGFyIHRvIFwibm9kZW1vblwiXG4gIC1zLCAtLXNpbGVudCAgICAgICAgICAke2RpbSgnW2Jvb2xlYW5dJyl9IGRvIG5vdCBlbWl0IGVycm9ycyBhbmQgbG9nc1xuICAtLXZ1ZSAgICAgICAgICAgICAgICAgJHtkaW0oJ1tib29sZWFuXScpfSBzdXBwb3J0IGZvciBpbXBvcnRpbmcgVnVlIGNvbXBvbmVudFxuYClcbn1cblxuZXhwb3J0IGludGVyZmFjZSBDbGlPcHRpb25zIHtcbiAgZmlsZXM/OiBzdHJpbmdbXVxuICBfPzogc3RyaW5nW11cbiAgcm9vdD86IHN0cmluZ1xuICBjb25maWc/OiBzdHJpbmdcbiAgd2F0Y2g/OiBib29sZWFuXG59XG5cbmFzeW5jIGZ1bmN0aW9uIHJ1bihvcHRpb25zOiBDbGlPcHRpb25zID0ge30pIHtcbiAgY29uc3QgZmlsZXMgPSBvcHRpb25zLmZpbGVzIHx8IG9wdGlvbnMuXyB8fCBbXVxuICBjb25zdCBzZXJ2ZXIgPSBhd2FpdCBjcmVhdGVTZXJ2ZXIoe1xuICAgIGxvZ0xldmVsOiAnZXJyb3InLFxuICAgIGNsZWFyU2NyZWVuOiBmYWxzZSxcbiAgICBjb25maWdGaWxlOiBvcHRpb25zLmNvbmZpZyxcbiAgICByb290OiBvcHRpb25zLnJvb3QsXG4gIH0pXG4gIGF3YWl0IHNlcnZlci5wbHVnaW5Db250YWluZXIuYnVpbGRTdGFydCh7fSlcblxuICBjb25zdCBub2RlID0gbmV3IFZpdGVOb2RlU2VydmVyKHNlcnZlcilcblxuICBjb25zdCBydW5uZXIgPSBuZXcgVml0ZU5vZGVSdW5uZXIoe1xuICAgIHJvb3Q6IHNlcnZlci5jb25maWcucm9vdCxcbiAgICBiYXNlOiBzZXJ2ZXIuY29uZmlnLmJhc2UsXG4gICAgZmV0Y2hNb2R1bGUoaWQpIHtcbiAgICAgIHJldHVybiBub2RlLmZldGNoTW9kdWxlKGlkKVxuICAgIH0sXG4gICAgcmVzb2x2ZUlkKGlkLCBpbXBvcnRlcikge1xuICAgICAgcmV0dXJuIG5vZGUucmVzb2x2ZUlkKGlkLCBpbXBvcnRlcilcbiAgICB9LFxuICB9KVxuXG4gIC8vIHByb3ZpZGUgdGhlIHZpdGUgZGVmaW5lIHZhcmlhYmxlIGluIHRoaXMgY29udGV4dFxuICBhd2FpdCBydW5uZXIuZXhlY3V0ZUlkKCcvQHZpdGUvZW52JylcblxuICBmb3IgKGNvbnN0IGZpbGUgb2YgZmlsZXMpXG4gICAgYXdhaXQgcnVubmVyLmV4ZWN1dGVGaWxlKGZpbGUpXG5cbiAgaWYgKCFvcHRpb25zLndhdGNoKVxuICAgIGF3YWl0IHNlcnZlci5jbG9zZSgpXG5cbiAgc2VydmVyLndhdGNoZXIub24oJ2NoYW5nZScsIGFzeW5jKGV2ZW50TmFtZSwgcGF0aCkgPT4ge1xuICAgIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1jb25zb2xlXG4gICAgY29uc29sZS5sb2coZGltKGBbJHtldmVudE5hbWV9XSAke3BhdGh9YCkpXG5cbiAgICAvLyBpbnZhbGlkYXRlIG1vZHVsZSBjYWNoZSBidXQgbm90IG5vZGVfbW9kdWxlc1xuICAgIEFycmF5LmZyb20ocnVubmVyLm1vZHVsZUNhY2hlLmtleXMoKSlcbiAgICAgIC5mb3JFYWNoKChpKSA9PiB7XG4gICAgICAgIGlmICghaS5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpXG4gICAgICAgICAgcnVubmVyLm1vZHVsZUNhY2hlLmRlbGV0ZShpKVxuICAgICAgfSlcblxuICAgIGZvciAoY29uc3QgZmlsZSBvZiBmaWxlcylcbiAgICAgIGF3YWl0IHJ1bm5lci5leGVjdXRlRmlsZShmaWxlKVxuICB9KVxufVxuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7QUFLQSxNQUFNLElBQUksR0FBRyxRQUFRLENBQUMsT0FBTyxDQUFDLElBQUksQ0FBQyxLQUFLLENBQUMsQ0FBQyxDQUFDLEVBQUU7QUFDN0MsRUFBRSxPQUFPLEVBQUU7QUFDWCxJQUFJLENBQUMsRUFBRSxNQUFNO0FBQ2IsSUFBSSxDQUFDLEVBQUUsUUFBUTtBQUNmLElBQUksQ0FBQyxFQUFFLE1BQU07QUFDYixJQUFJLENBQUMsRUFBRSxPQUFPO0FBQ2QsSUFBSSxDQUFDLEVBQUUsUUFBUTtBQUNmLEdBQUc7QUFDSCxFQUFFLElBQUksRUFBRSxJQUFJO0FBQ1osRUFBRSxRQUFRLEVBQUUsQ0FBQyxNQUFNLEVBQUUsUUFBUSxDQUFDO0FBQzlCLEVBQUUsU0FBUyxFQUFFLENBQUMsTUFBTSxFQUFFLE9BQU8sRUFBRSxRQUFRLENBQUM7QUFDeEMsRUFBRSxPQUFPLENBQUMsSUFBSSxFQUFFO0FBQ2hCLElBQUksSUFBSSxJQUFJLENBQUMsQ0FBQyxDQUFDLEtBQUssR0FBRyxFQUFFO0FBQ3pCLE1BQU0sT0FBTyxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsQ0FBQyxrQkFBa0IsRUFBRSxJQUFJLENBQUMsQ0FBQyxDQUFDLENBQUMsQ0FBQztBQUN0RCxNQUFNLElBQUksRUFBRSxDQUFDO0FBQ2IsTUFBTSxPQUFPLENBQUMsSUFBSSxDQUFDLENBQUMsQ0FBQyxDQUFDO0FBQ3RCLEtBQUs7QUFDTCxJQUFJLE9BQU8sSUFBSSxDQUFDO0FBQ2hCLEdBQUc7QUFDSCxDQUFDLENBQUMsQ0FBQztBQUNILElBQUksSUFBSSxDQUFDLElB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
|
package/dist/client.cjs
CHANGED
|
@@ -46,11 +46,32 @@ const DEFAULT_REQUEST_STUBS = {
|
|
|
46
46
|
}
|
|
47
47
|
}
|
|
48
48
|
};
|
|
49
|
+
class ModuleCacheMap extends Map {
|
|
50
|
+
normalizePath(fsPath) {
|
|
51
|
+
return fsPath.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
|
|
52
|
+
}
|
|
53
|
+
set(fsPath, mod) {
|
|
54
|
+
fsPath = this.normalizePath(fsPath);
|
|
55
|
+
if (!super.has(fsPath))
|
|
56
|
+
super.set(fsPath, mod);
|
|
57
|
+
else
|
|
58
|
+
Object.assign(super.get(fsPath), mod);
|
|
59
|
+
return this;
|
|
60
|
+
}
|
|
61
|
+
get(fsPath) {
|
|
62
|
+
fsPath = this.normalizePath(fsPath);
|
|
63
|
+
return super.get(fsPath);
|
|
64
|
+
}
|
|
65
|
+
delete(fsPath) {
|
|
66
|
+
fsPath = this.normalizePath(fsPath);
|
|
67
|
+
return super.delete(fsPath);
|
|
68
|
+
}
|
|
69
|
+
}
|
|
49
70
|
class ViteNodeRunner {
|
|
50
71
|
constructor(options) {
|
|
51
72
|
this.options = options;
|
|
52
73
|
this.root = options.root || process.cwd();
|
|
53
|
-
this.moduleCache = options.moduleCache || new
|
|
74
|
+
this.moduleCache = options.moduleCache || new ModuleCacheMap();
|
|
54
75
|
}
|
|
55
76
|
async executeFile(file) {
|
|
56
77
|
return await this.cachedRequest(`/@fs/${utils.slash(pathe.resolve(file))}`, []);
|
|
@@ -61,18 +82,18 @@ class ViteNodeRunner {
|
|
|
61
82
|
async cachedRequest(rawId, callstack) {
|
|
62
83
|
var _a, _b;
|
|
63
84
|
const id = utils.normalizeId(rawId, this.options.base);
|
|
64
|
-
if ((_a = this.moduleCache.get(id)) == null ? void 0 : _a.promise)
|
|
65
|
-
return (_b = this.moduleCache.get(id)) == null ? void 0 : _b.promise;
|
|
66
85
|
const fsPath = utils.toFilePath(id, this.root);
|
|
86
|
+
if ((_a = this.moduleCache.get(fsPath)) == null ? void 0 : _a.promise)
|
|
87
|
+
return (_b = this.moduleCache.get(fsPath)) == null ? void 0 : _b.promise;
|
|
67
88
|
const promise = this.directRequest(id, fsPath, callstack);
|
|
68
|
-
this.
|
|
89
|
+
this.moduleCache.set(fsPath, { promise });
|
|
69
90
|
return await promise;
|
|
70
91
|
}
|
|
71
92
|
async directRequest(id, fsPath, callstack) {
|
|
72
93
|
callstack = [...callstack, id];
|
|
73
94
|
const request = async (dep) => {
|
|
74
95
|
var _a, _b;
|
|
75
|
-
if (this.shouldResolveId(dep)) {
|
|
96
|
+
if (this.options.resolveId && this.shouldResolveId(dep)) {
|
|
76
97
|
const resolvedDep = await this.options.resolveId(dep, id);
|
|
77
98
|
dep = ((_a = resolvedDep == null ? void 0 : resolvedDep.id) == null ? void 0 : _a.replace(this.root, "")) || dep;
|
|
78
99
|
}
|
|
@@ -91,14 +112,15 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
91
112
|
const { code: transformed, externalize } = await this.options.fetchModule(id);
|
|
92
113
|
if (externalize) {
|
|
93
114
|
const mod = await this.interopedImport(externalize);
|
|
94
|
-
this.
|
|
115
|
+
this.moduleCache.set(fsPath, { exports: mod });
|
|
95
116
|
return mod;
|
|
96
117
|
}
|
|
97
118
|
if (transformed == null)
|
|
98
119
|
throw new Error(`[vite-node] Failed to load ${id}`);
|
|
99
120
|
const url$1 = url.pathToFileURL(fsPath).href;
|
|
100
|
-
const exports =
|
|
101
|
-
|
|
121
|
+
const exports = Object.create(null);
|
|
122
|
+
exports[Symbol.toStringTag] = "Module";
|
|
123
|
+
this.moduleCache.set(id, { code: transformed, exports });
|
|
102
124
|
const __filename = url.fileURLToPath(url$1);
|
|
103
125
|
const moduleProxy = {
|
|
104
126
|
set exports(value) {
|
|
@@ -132,12 +154,6 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
132
154
|
prepareContext(context) {
|
|
133
155
|
return context;
|
|
134
156
|
}
|
|
135
|
-
setCache(id, mod) {
|
|
136
|
-
if (!this.moduleCache.has(id))
|
|
137
|
-
this.moduleCache.set(id, mod);
|
|
138
|
-
else
|
|
139
|
-
Object.assign(this.moduleCache.get(id), mod);
|
|
140
|
-
}
|
|
141
157
|
shouldResolveId(dep) {
|
|
142
158
|
if (mlly.isNodeBuiltin(dep) || dep in (this.options.requestStubs || DEFAULT_REQUEST_STUBS))
|
|
143
159
|
return false;
|
|
@@ -193,5 +209,6 @@ function exportAll(exports, sourceModule) {
|
|
|
193
209
|
}
|
|
194
210
|
|
|
195
211
|
exports.DEFAULT_REQUEST_STUBS = DEFAULT_REQUEST_STUBS;
|
|
212
|
+
exports.ModuleCacheMap = ModuleCacheMap;
|
|
196
213
|
exports.ViteNodeRunner = ViteNodeRunner;
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB2bSBmcm9tICd2bSdcbmltcG9ydCB7IGRpcm5hbWUsIGV4dG5hbWUsIGlzQWJzb2x1dGUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4gfSBmcm9tICdtbGx5J1xuaW1wb3J0IHsgaXNQcmltaXRpdmUsIG5vcm1hbGl6ZUlkLCBzbGFzaCwgdG9GaWxlUGF0aCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IE1vZHVsZUNhY2hlLCBWaXRlTm9kZVJ1bm5lck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRVFVRVNUX1NUVUJTID0ge1xuICAnL0B2aXRlL2NsaWVudCc6IHtcbiAgICBpbmplY3RRdWVyeTogKGlkOiBzdHJpbmcpID0+IGlkLFxuICAgIGNyZWF0ZUhvdENvbnRleHQoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NlcHQ6ICgpID0+IHt9LFxuICAgICAgICBwcnVuZTogKCkgPT4ge30sXG4gICAgICB9XG4gICAgfSxcbiAgICB1cGRhdGVTdHlsZSgpIHt9LFxuICB9LFxufVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVSdW5uZXIge1xuICByb290OiBzdHJpbmdcblxuICBtb2R1bGVDYWNoZTogTWFwPHN0cmluZywgTW9kdWxlQ2FjaGU+XG5cbiAgY29uc3RydWN0b3IocHVibGljIG9wdGlvbnM6IFZpdGVOb2RlUnVubmVyT3B0aW9ucykge1xuICAgIHRoaXMucm9vdCA9IG9wdGlvbnMucm9vdCB8fCBwcm9jZXNzLmN3ZCgpXG4gICAgdGhpcy5tb2R1bGVDYWNoZSA9IG9wdGlvbnMubW9kdWxlQ2FjaGUgfHwgbmV3IE1hcCgpXG4gIH1cblxuICBhc3luYyBleGVjdXRlRmlsZShmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWNoZWRSZXF1ZXN0KGAvQGZzLyR7c2xhc2gocmVzb2x2ZShmaWxlKSl9YCwgW10pXG4gIH1cblxuICBhc3luYyBleGVjdXRlSWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoaWQsIFtdKVxuICB9XG5cbiAgYXN5bmMgY2FjaGVkUmVxdWVzdChyYXdJZDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgaWQgPSBub3JtYWxpemVJZChyYXdJZCwgdGhpcy5vcHRpb25zLmJhc2UpXG5cbiAgICBpZiAodGhpcy5tb2R1bGVDYWNoZS5nZXQoaWQpPy5wcm9taXNlKVxuICAgICAgcmV0dXJuIHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGlkKT8ucHJvbWlzZVxuXG4gICAgY29uc3QgZnNQYXRoID0gdG9GaWxlUGF0aChpZCwgdGhpcy5yb290KVxuICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmRpcmVjdFJlcXVlc3QoaWQsIGZzUGF0aCwgY2FsbHN0YWNrKVxuICAgIHRoaXMuc2V0Q2FjaGUoaWQsIHsgcHJvbWlzZSB9KVxuXG4gICAgcmV0dXJuIGF3YWl0IHByb21pc2VcbiAgfVxuXG4gIGFzeW5jIGRpcmVjdFJlcXVlc3QoaWQ6IHN0cmluZywgZnNQYXRoOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjYWxsc3RhY2sgPSBbLi4uY2FsbHN0YWNrLCBpZF1cbiAgICBjb25zdCByZXF1ZXN0ID0gYXN5bmMoZGVwOiBzdHJpbmcpID0+IHtcbiAgICAgIC8vIHByb2JhYmx5IG1lYW5zIGl0IHdhcyBwYXNzZWQgYXMgdmFyaWFibGVcbiAgICAgIC8vIGFuZCB3YXNuJ3QgdHJhbnNmb3JtZWQgYnkgVml0ZVxuICAgICAgaWYgKHRoaXMuc2hvdWxkUmVzb2x2ZUlkKGRlcCkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREZXAgPSBhd2FpdCB0aGlzLm9wdGlvbnMucmVzb2x2ZUlkKGRlcCwgaWQpXG4gICAgICAgIGRlcCA9IHJlc29sdmVkRGVwPy5pZD8ucmVwbGFjZSh0aGlzLnJvb3QsICcnKSB8fCBkZXBcbiAgICAgIH1cbiAgICAgIGlmIChjYWxsc3RhY2suaW5jbHVkZXMoZGVwKSkge1xuICAgICAgICBpZiAoIXRoaXMubW9kdWxlQ2FjaGUuZ2V0KGRlcCk/LmV4cG9ydHMpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbdml0ZS1ub2RlXSBDaXJjdWxhciBkZXBlbmRlbmN5IGRldGVjdGVkXFxuU3RhY2s6XFxuJHtbLi4uY2FsbHN0YWNrLCBkZXBdLnJldmVyc2UoKS5tYXAocCA9PiBgLSAke3B9YCkuam9pbignXFxuJyl9YClcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGRlcCkhLmV4cG9ydHNcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNhY2hlZFJlcXVlc3QoZGVwLCBjYWxsc3RhY2spXG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdFN0dWJzID0gdGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlNcbiAgICBpZiAoaWQgaW4gcmVxdWVzdFN0dWJzKVxuICAgICAgcmV0dXJuIHJlcXVlc3RTdHVic1tpZF1cblxuICAgIGNvbnN0IHsgY29kZTogdHJhbnNmb3JtZWQsIGV4dGVybmFsaXplIH0gPSBhd2FpdCB0aGlzLm9wdGlvbnMuZmV0Y2hNb2R1bGUoaWQpXG4gICAgaWYgKGV4dGVybmFsaXplKSB7XG4gICAgICBjb25zdCBtb2QgPSBhd2FpdCB0aGlzLmludGVyb3BlZEltcG9ydChleHRlcm5hbGl6ZSlcbiAgICAgIHRoaXMuc2V0Q2FjaGUoaWQsIHsgZXhwb3J0czogbW9kIH0pXG4gICAgICByZXR1cm4gbW9kXG4gICAgfVxuXG4gICAgaWYgKHRyYW5zZm9ybWVkID09IG51bGwpXG4gICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIEZhaWxlZCB0byBsb2FkICR7aWR9YClcblxuICAgIC8vIGRpc2FtYmlndWF0ZSB0aGUgYDxVTklUPjovYCBvbiB3aW5kb3dzOiBzZWUgbm9kZWpzL25vZGUjMzE3MTBcbiAgICBjb25zdCB1cmwgPSBwYXRoVG9GaWxlVVJMKGZzUGF0aCkuaHJlZlxuICAgIGNvbnN0IGV4cG9ydHM6IGFueSA9IHt9XG5cbiAgICB0aGlzLnNldENhY2hlKGlkLCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHBvcnRzIH0pXG5cbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aCh1cmwpXG4gICAgY29uc3QgbW9kdWxlUHJveHkgPSB7XG4gICAgICBzZXQgZXhwb3J0cyh2YWx1ZSkge1xuICAgICAgICBleHBvcnRBbGwoZXhwb3J0cywgdmFsdWUpXG4gICAgICAgIGV4cG9ydHMuZGVmYXVsdCA9IHZhbHVlXG4gICAgICB9LFxuICAgICAgZ2V0IGV4cG9ydHMoKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgLy8gQmUgY2FyZWZ1bCB3aGVuIGNoYW5naW5nIHRoaXNcbiAgICAvLyBjaGFuZ2luZyBjb250ZXh0IHdpbGwgY2hhbmdlIGFtb3VudCBvZiBjb2RlIGFkZGVkIG9uIGxpbmUgOjExNCAodm0ucnVuSW5UaGlzQ29udGV4dClcbiAgICAvLyB0aGlzIG1lc3NlcyB1cCBzb3VyY2VtYXBzIGZvciBjb3ZlcmFnZVxuICAgIC8vIGFkanVzdCBgb2Zmc2V0YCB2YXJpYWJsZSBpbiBwYWNrYWdlcy92aXRlc3Qvc3JjL2ludGVncmF0aW9ucy9jb3ZlcmFnZS50cyNMMTAwIGlmIHlvdSBkbyBjaGFuZ2UgdGhpc1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnByZXBhcmVDb250ZXh0KHtcbiAgICAgIC8vIGVzbSB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9keW5hbWljX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRzX186IGV4cG9ydHMsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydEFsbF9fOiAob2JqOiBhbnkpID0+IGV4cG9ydEFsbChleHBvcnRzLCBvYmopLFxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfbWV0YV9fOiB7IHVybCB9LFxuXG4gICAgICAvLyBjanMgY29tcGFjdFxuICAgICAgcmVxdWlyZTogY3JlYXRlUmVxdWlyZSh1cmwpLFxuICAgICAgZXhwb3J0cyxcbiAgICAgIG1vZHVsZTogbW9kdWxlUHJveHksXG4gICAgICBfX2ZpbGVuYW1lLFxuICAgICAgX19kaXJuYW1lOiBkaXJuYW1lKF9fZmlsZW5hbWUpLFxuICAgIH0pXG5cbiAgICAvLyBhZGQgJ3VzZSBzdHJpY3QnIHNpbmNlIEVTTSBlbmFibGVzIGl0IGJ5IGRlZmF1bHRcbiAgICBjb25zdCBmbiA9IHZtLnJ1bkluVGhpc0NvbnRleHQoYCd1c2Ugc3RyaWN0Jzthc3luYyAoJHtPYmplY3Qua2V5cyhjb250ZXh0KS5qb2luKCcsJyl9KT0+e3ske3RyYW5zZm9ybWVkfVxcbn19YCwge1xuICAgICAgZmlsZW5hbWU6IGZzUGF0aCxcbiAgICAgIGxpbmVPZmZzZXQ6IDAsXG4gICAgfSlcblxuICAgIGF3YWl0IGZuKC4uLk9iamVjdC52YWx1ZXMoY29udGV4dCkpXG5cbiAgICByZXR1cm4gZXhwb3J0c1xuICB9XG5cbiAgcHJlcGFyZUNvbnRleHQoY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHJldHVybiBjb250ZXh0XG4gIH1cblxuICBzZXRDYWNoZShpZDogc3RyaW5nLCBtb2Q6IFBhcnRpYWw8TW9kdWxlQ2FjaGU+KSB7XG4gICAgaWYgKCF0aGlzLm1vZHVsZUNhY2hlLmhhcyhpZCkpXG4gICAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChpZCwgbW9kKVxuICAgIGVsc2VcbiAgICAgIE9iamVjdC5hc3NpZ24odGhpcy5tb2R1bGVDYWNoZS5nZXQoaWQpLCBtb2QpXG4gIH1cblxuICBzaG91bGRSZXNvbHZlSWQoZGVwOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNOb2RlQnVpbHRpbihkZXApIHx8IGRlcCBpbiAodGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlMpKVxuICAgICAgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gIWlzQWJzb2x1dGUoZGVwKSB8fCAhZXh0bmFtZShkZXApXG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGlmIGEgbW9kdWxlIHNob3VsZCBiZSBpbnRlcm9wLWVkXG4gICAqIFRoaXMgZnVuY3Rpb24gbW9zdGx5IGZvciB0aGUgYWJpbGl0eSB0byBvdmVycmlkZSBieSBzdWJjbGFzc1xuICAgKi9cbiAgc2hvdWxkSW50ZXJvcChwYXRoOiBzdHJpbmcsIG1vZDogYW55KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcm9wRGVmYXVsdCA9PT0gZmFsc2UpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICAvLyBuZXZlciBpbnRlcm9wIEVTTSBtb2R1bGVzXG4gICAgLy8gVE9ETzogc2hvdWxkIGFsc28gc2tpcCBmb3IgYC5qc2Agd2l0aCBgdHlwZT1cIm1vZHVsZVwiYFxuICAgIHJldHVybiAhcGF0aC5lbmRzV2l0aCgnLm1qcycpICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBtb2R1bGUgYW5kIGludGVyb3AgaXRcbiAgICovXG4gIGFzeW5jIGludGVyb3BlZEltcG9ydChwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQocGF0aClcblxuICAgIGlmICh0aGlzLnNob3VsZEludGVyb3AocGF0aCwgbW9kKSkge1xuICAgICAgY29uc3QgdHJ5RGVmYXVsdCA9IHRoaXMuaGFzTmVzdGVkRGVmYXVsdChtb2QpXG4gICAgICByZXR1cm4gbmV3IFByb3h5KG1vZCwge1xuICAgICAgICBnZXQ6IHByb3h5TWV0aG9kKCdnZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgc2V0OiBwcm94eU1ldGhvZCgnc2V0JywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGhhczogcHJveHlNZXRob2QoJ2hhcycsIHRyeURlZmF1bHQpLFxuICAgICAgICBkZWxldGVQcm9wZXJ0eTogcHJveHlNZXRob2QoJ2RlbGV0ZVByb3BlcnR5JywgdHJ5RGVmYXVsdCksXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBtb2RcbiAgfVxuXG4gIGhhc05lc3RlZERlZmF1bHQodGFyZ2V0OiBhbnkpIHtcbiAgICByZXR1cm4gJ19fZXNNb2R1bGUnIGluIHRhcmdldCAmJiB0YXJnZXQuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gdGFyZ2V0LmRlZmF1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm94eU1ldGhvZChuYW1lOiAnZ2V0JyB8ICdzZXQnIHwgJ2hhcycgfCAnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0OiBib29sZWFuKSB7XG4gIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIC4uLmFyZ3M6IFthbnk/LCBhbnk/XSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlZmxlY3RbbmFtZV0odGFyZ2V0LCBrZXksIC4uLmFyZ3MpXG4gICAgaWYgKGlzUHJpbWl0aXZlKHRhcmdldC5kZWZhdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICBpZiAoKHRyeURlZmF1bHQgJiYga2V5ID09PSAnZGVmYXVsdCcpIHx8IHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgcmV0dXJuIFJlZmxlY3RbbmFtZV0odGFyZ2V0LmRlZmF1bHQsIGtleSwgLi4uYXJncylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gZXhwb3J0QWxsKGV4cG9ydHM6IGFueSwgc291cmNlTW9kdWxlOiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZU1vZHVsZSkge1xuICAgIGlmIChrZXkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGdldCgpIHsgcmV0dXJuIHNvdXJjZU1vZHVsZVtrZXldIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBjYXRjaCAoX2VycikgeyB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOlsic2xhc2giLCJyZXNvbHZlIiwibm9ybWFsaXplSWQiLCJ0b0ZpbGVQYXRoIiwidXJsIiwicGF0aFRvRmlsZVVSTCIsImZpbGVVUkxUb1BhdGgiLCJjcmVhdGVSZXF1aXJlIiwiZGlybmFtZSIsInZtIiwiaXNOb2RlQnVpbHRpbiIsImlzQWJzb2x1dGUiLCJleHRuYW1lIiwiaXNQcmltaXRpdmUiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7OztBQVFPLE1BQU0scUJBQXdCLEdBQUE7QUFBQSxFQUNuQyxlQUFpQixFQUFBO0FBQUEsSUFDZixXQUFBLEVBQWEsQ0FBQyxFQUFlLEtBQUEsRUFBQTtBQUFBLElBQzdCLGdCQUFtQixHQUFBO0FBQ2pCLE1BQU8sT0FBQTtBQUFBLFFBQ0wsUUFBUSxNQUFNO0FBQUEsU0FBQTtBQUFBLFFBQ2QsT0FBTyxNQUFNO0FBQUEsU0FBQTtBQUFBLE9BQUEsQ0FBQTtBQUFBLEtBQUE7QUFBQSxJQUdqQixXQUFjLEdBQUE7QUFBQSxLQUFBO0FBQUEsR0FBQTtBQUFBLEVBQUE7QUFJVSxNQUFBLGNBQUEsQ0FBQTtBQUFBLEVBSzFCLFlBQW1CLE9BQWdDLEVBQUE7QUFBaEMsSUFB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
|
|
214
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2NsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBjcmVhdGVSZXF1aXJlIH0gZnJvbSAnbW9kdWxlJ1xuaW1wb3J0IHsgZmlsZVVSTFRvUGF0aCwgcGF0aFRvRmlsZVVSTCB9IGZyb20gJ3VybCdcbmltcG9ydCB2bSBmcm9tICd2bSdcbmltcG9ydCB7IGRpcm5hbWUsIGV4dG5hbWUsIGlzQWJzb2x1dGUsIHJlc29sdmUgfSBmcm9tICdwYXRoZSdcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4gfSBmcm9tICdtbGx5J1xuaW1wb3J0IHsgaXNQcmltaXRpdmUsIG5vcm1hbGl6ZUlkLCBzbGFzaCwgdG9GaWxlUGF0aCB9IGZyb20gJy4vdXRpbHMnXG5pbXBvcnQgdHlwZSB7IE1vZHVsZUNhY2hlLCBWaXRlTm9kZVJ1bm5lck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuXG5leHBvcnQgY29uc3QgREVGQVVMVF9SRVFVRVNUX1NUVUJTID0ge1xuICAnL0B2aXRlL2NsaWVudCc6IHtcbiAgICBpbmplY3RRdWVyeTogKGlkOiBzdHJpbmcpID0+IGlkLFxuICAgIGNyZWF0ZUhvdENvbnRleHQoKSB7XG4gICAgICByZXR1cm4ge1xuICAgICAgICBhY2NlcHQ6ICgpID0+IHt9LFxuICAgICAgICBwcnVuZTogKCkgPT4ge30sXG4gICAgICB9XG4gICAgfSxcbiAgICB1cGRhdGVTdHlsZSgpIHt9LFxuICB9LFxufVxuXG5leHBvcnQgY2xhc3MgTW9kdWxlQ2FjaGVNYXAgZXh0ZW5kcyBNYXA8c3RyaW5nLCBNb2R1bGVDYWNoZT4ge1xuICBub3JtYWxpemVQYXRoKGZzUGF0aDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGZzUGF0aFxuICAgICAgLnJlcGxhY2UoL1xcXFwvZywgJy8nKVxuICAgICAgLnJlcGxhY2UoL15cXC9AZnNcXC8vLCAnLycpXG4gICAgICAucmVwbGFjZSgvXmZpbGU6XFwvLywgJy8nKVxuICAgICAgLnJlcGxhY2UoL15cXC8rLywgJy8nKVxuICB9XG5cbiAgc2V0KGZzUGF0aDogc3RyaW5nLCBtb2Q6IFBhcnRpYWw8TW9kdWxlQ2FjaGU+KSB7XG4gICAgZnNQYXRoID0gdGhpcy5ub3JtYWxpemVQYXRoKGZzUGF0aClcbiAgICBpZiAoIXN1cGVyLmhhcyhmc1BhdGgpKVxuICAgICAgc3VwZXIuc2V0KGZzUGF0aCwgbW9kKVxuICAgIGVsc2VcbiAgICAgIE9iamVjdC5hc3NpZ24oc3VwZXIuZ2V0KGZzUGF0aCksIG1vZClcbiAgICByZXR1cm4gdGhpc1xuICB9XG5cbiAgZ2V0KGZzUGF0aDogc3RyaW5nKSB7XG4gICAgZnNQYXRoID0gdGhpcy5ub3JtYWxpemVQYXRoKGZzUGF0aClcbiAgICByZXR1cm4gc3VwZXIuZ2V0KGZzUGF0aClcbiAgfVxuXG4gIGRlbGV0ZShmc1BhdGg6IHN0cmluZykge1xuICAgIGZzUGF0aCA9IHRoaXMubm9ybWFsaXplUGF0aChmc1BhdGgpXG4gICAgcmV0dXJuIHN1cGVyLmRlbGV0ZShmc1BhdGgpXG4gIH1cbn1cblxuZXhwb3J0IGNsYXNzIFZpdGVOb2RlUnVubmVyIHtcbiAgcm9vdDogc3RyaW5nXG5cbiAgLyoqXG4gICAqIEhvbGRzIHRoZSBjYWNoZSBvZiBtb2R1bGVzXG4gICAqIEtleXMgb2YgdGhlIG1hcCBhcmUgZmlsZXBhdGhzLCBvciBwbGFpbiBwYWNrYWdlIG5hbWVzXG4gICAqL1xuICBtb2R1bGVDYWNoZTogTW9kdWxlQ2FjaGVNYXBcblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVSdW5uZXJPcHRpb25zKSB7XG4gICAgdGhpcy5yb290ID0gb3B0aW9ucy5yb290IHx8IHByb2Nlc3MuY3dkKClcbiAgICB0aGlzLm1vZHVsZUNhY2hlID0gb3B0aW9ucy5tb2R1bGVDYWNoZSB8fCBuZXcgTW9kdWxlQ2FjaGVNYXAoKVxuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUZpbGUoZmlsZTogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVkUmVxdWVzdChgL0Bmcy8ke3NsYXNoKHJlc29sdmUoZmlsZSkpfWAsIFtdKVxuICB9XG5cbiAgYXN5bmMgZXhlY3V0ZUlkKGlkOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWNoZWRSZXF1ZXN0KGlkLCBbXSlcbiAgfVxuXG4gIGFzeW5jIGNhY2hlZFJlcXVlc3QocmF3SWQ6IHN0cmluZywgY2FsbHN0YWNrOiBzdHJpbmdbXSkge1xuICAgIGNvbnN0IGlkID0gbm9ybWFsaXplSWQocmF3SWQsIHRoaXMub3B0aW9ucy5iYXNlKVxuICAgIGNvbnN0IGZzUGF0aCA9IHRvRmlsZVBhdGgoaWQsIHRoaXMucm9vdClcblxuICAgIGlmICh0aGlzLm1vZHVsZUNhY2hlLmdldChmc1BhdGgpPy5wcm9taXNlKVxuICAgICAgcmV0dXJuIHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2VcblxuICAgIGNvbnN0IHByb21pc2UgPSB0aGlzLmRpcmVjdFJlcXVlc3QoaWQsIGZzUGF0aCwgY2FsbHN0YWNrKVxuICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGZzUGF0aCwgeyBwcm9taXNlIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZVxuICB9XG5cbiAgYXN5bmMgZGlyZWN0UmVxdWVzdChpZDogc3RyaW5nLCBmc1BhdGg6IHN0cmluZywgY2FsbHN0YWNrOiBzdHJpbmdbXSkge1xuICAgIGNhbGxzdGFjayA9IFsuLi5jYWxsc3RhY2ssIGlkXVxuICAgIGNvbnN0IHJlcXVlc3QgPSBhc3luYyhkZXA6IHN0cmluZykgPT4ge1xuICAgICAgLy8gcHJvYmFibHkgbWVhbnMgaXQgd2FzIHBhc3NlZCBhcyB2YXJpYWJsZVxuICAgICAgLy8gYW5kIHdhc24ndCB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBpZiAodGhpcy5vcHRpb25zLnJlc29sdmVJZCAmJiB0aGlzLnNob3VsZFJlc29sdmVJZChkZXApKSB7XG4gICAgICAgIGNvbnN0IHJlc29sdmVkRGVwID0gYXdhaXQgdGhpcy5vcHRpb25zLnJlc29sdmVJZChkZXAsIGlkKVxuICAgICAgICBkZXAgPSByZXNvbHZlZERlcD8uaWQ/LnJlcGxhY2UodGhpcy5yb290LCAnJykgfHwgZGVwXG4gICAgICB9XG5cbiAgICAgIGlmIChjYWxsc3RhY2suaW5jbHVkZXMoZGVwKSkge1xuICAgICAgICBpZiAoIXRoaXMubW9kdWxlQ2FjaGUuZ2V0KGRlcCk/LmV4cG9ydHMpXG4gICAgICAgICAgdGhyb3cgbmV3IEVycm9yKGBbdml0ZS1ub2RlXSBDaXJjdWxhciBkZXBlbmRlbmN5IGRldGVjdGVkXFxuU3RhY2s6XFxuJHtbLi4uY2FsbHN0YWNrLCBkZXBdLnJldmVyc2UoKS5tYXAocCA9PiBgLSAke3B9YCkuam9pbignXFxuJyl9YClcbiAgICAgICAgcmV0dXJuIHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGRlcCkhLmV4cG9ydHNcbiAgICAgIH1cbiAgICAgIHJldHVybiB0aGlzLmNhY2hlZFJlcXVlc3QoZGVwLCBjYWxsc3RhY2spXG4gICAgfVxuXG4gICAgY29uc3QgcmVxdWVzdFN0dWJzID0gdGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlNcbiAgICBpZiAoaWQgaW4gcmVxdWVzdFN0dWJzKVxuICAgICAgcmV0dXJuIHJlcXVlc3RTdHVic1tpZF1cblxuICAgIGNvbnN0IHsgY29kZTogdHJhbnNmb3JtZWQsIGV4dGVybmFsaXplIH0gPSBhd2FpdCB0aGlzLm9wdGlvbnMuZmV0Y2hNb2R1bGUoaWQpXG4gICAgaWYgKGV4dGVybmFsaXplKSB7XG4gICAgICBjb25zdCBtb2QgPSBhd2FpdCB0aGlzLmludGVyb3BlZEltcG9ydChleHRlcm5hbGl6ZSlcbiAgICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGZzUGF0aCwgeyBleHBvcnRzOiBtb2QgfSlcbiAgICAgIHJldHVybiBtb2RcbiAgICB9XG5cbiAgICBpZiAodHJhbnNmb3JtZWQgPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW3ZpdGUtbm9kZV0gRmFpbGVkIHRvIGxvYWQgJHtpZH1gKVxuXG4gICAgLy8gZGlzYW1iaWd1YXRlIHRoZSBgPFVOSVQ+Oi9gIG9uIHdpbmRvd3M6IHNlZSBub2RlanMvbm9kZSMzMTcxMFxuICAgIGNvbnN0IHVybCA9IHBhdGhUb0ZpbGVVUkwoZnNQYXRoKS5ocmVmXG4gICAgY29uc3QgZXhwb3J0czogYW55ID0gT2JqZWN0LmNyZWF0ZShudWxsKVxuICAgIGV4cG9ydHNbU3ltYm9sLnRvU3RyaW5nVGFnXSA9ICdNb2R1bGUnXG5cbiAgICB0aGlzLm1vZHVsZUNhY2hlLnNldChpZCwgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXhwb3J0cyB9KVxuXG4gICAgY29uc3QgX19maWxlbmFtZSA9IGZpbGVVUkxUb1BhdGgodXJsKVxuICAgIGNvbnN0IG1vZHVsZVByb3h5ID0ge1xuICAgICAgc2V0IGV4cG9ydHModmFsdWUpIHtcbiAgICAgICAgZXhwb3J0QWxsKGV4cG9ydHMsIHZhbHVlKVxuICAgICAgICBleHBvcnRzLmRlZmF1bHQgPSB2YWx1ZVxuICAgICAgfSxcbiAgICAgIGdldCBleHBvcnRzKCkge1xuICAgICAgICByZXR1cm4gZXhwb3J0cy5kZWZhdWx0XG4gICAgICB9LFxuICAgIH1cblxuICAgIC8vIEJlIGNhcmVmdWwgd2hlbiBjaGFuZ2luZyB0aGlzXG4gICAgLy8gY2hhbmdpbmcgY29udGV4dCB3aWxsIGNoYW5nZSBhbW91bnQgb2YgY29kZSBhZGRlZCBvbiBsaW5lIDoxMTQgKHZtLnJ1bkluVGhpc0NvbnRleHQpXG4gICAgLy8gdGhpcyBtZXNzZXMgdXAgc291cmNlbWFwcyBmb3IgY292ZXJhZ2VcbiAgICAvLyBhZGp1c3QgYG9mZnNldGAgdmFyaWFibGUgaW4gcGFja2FnZXMvdml0ZXN0L3NyYy9pbnRlZ3JhdGlvbnMvY292ZXJhZ2UudHMjTDEwMCBpZiB5b3UgZG8gY2hhbmdlIHRoaXNcbiAgICBjb25zdCBjb250ZXh0ID0gdGhpcy5wcmVwYXJlQ29udGV4dCh7XG4gICAgICAvLyBlc20gdHJhbnNmb3JtZWQgYnkgVml0ZVxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfXzogcmVxdWVzdCxcbiAgICAgIF9fdml0ZV9zc3JfZHluYW1pY19pbXBvcnRfXzogcmVxdWVzdCxcbiAgICAgIF9fdml0ZV9zc3JfZXhwb3J0c19fOiBleHBvcnRzLFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRBbGxfXzogKG9iajogYW55KSA9PiBleHBvcnRBbGwoZXhwb3J0cywgb2JqKSxcbiAgICAgIF9fdml0ZV9zc3JfaW1wb3J0X21ldGFfXzogeyB1cmwgfSxcblxuICAgICAgLy8gY2pzIGNvbXBhY3RcbiAgICAgIHJlcXVpcmU6IGNyZWF0ZVJlcXVpcmUodXJsKSxcbiAgICAgIGV4cG9ydHMsXG4gICAgICBtb2R1bGU6IG1vZHVsZVByb3h5LFxuICAgICAgX19maWxlbmFtZSxcbiAgICAgIF9fZGlybmFtZTogZGlybmFtZShfX2ZpbGVuYW1lKSxcbiAgICB9KVxuXG4gICAgLy8gYWRkICd1c2Ugc3RyaWN0JyBzaW5jZSBFU00gZW5hYmxlcyBpdCBieSBkZWZhdWx0XG4gICAgY29uc3QgZm4gPSB2bS5ydW5JblRoaXNDb250ZXh0KGAndXNlIHN0cmljdCc7YXN5bmMgKCR7T2JqZWN0LmtleXMoY29udGV4dCkuam9pbignLCcpfSk9Pnt7JHt0cmFuc2Zvcm1lZH1cXG59fWAsIHtcbiAgICAgIGZpbGVuYW1lOiBmc1BhdGgsXG4gICAgICBsaW5lT2Zmc2V0OiAwLFxuICAgIH0pXG5cbiAgICBhd2FpdCBmbiguLi5PYmplY3QudmFsdWVzKGNvbnRleHQpKVxuXG4gICAgcmV0dXJuIGV4cG9ydHNcbiAgfVxuXG4gIHByZXBhcmVDb250ZXh0KGNvbnRleHQ6IFJlY29yZDxzdHJpbmcsIGFueT4pIHtcbiAgICByZXR1cm4gY29udGV4dFxuICB9XG5cbiAgc2hvdWxkUmVzb2x2ZUlkKGRlcDogc3RyaW5nKSB7XG4gICAgaWYgKGlzTm9kZUJ1aWx0aW4oZGVwKSB8fCBkZXAgaW4gKHRoaXMub3B0aW9ucy5yZXF1ZXN0U3R1YnMgfHwgREVGQVVMVF9SRVFVRVNUX1NUVUJTKSlcbiAgICAgIHJldHVybiBmYWxzZVxuXG4gICAgcmV0dXJuICFpc0Fic29sdXRlKGRlcCkgfHwgIWV4dG5hbWUoZGVwKVxuICB9XG5cbiAgLyoqXG4gICAqIERlZmluZSBpZiBhIG1vZHVsZSBzaG91bGQgYmUgaW50ZXJvcC1lZFxuICAgKiBUaGlzIGZ1bmN0aW9uIG1vc3RseSBmb3IgdGhlIGFiaWxpdHkgdG8gb3ZlcnJpZGUgYnkgc3ViY2xhc3NcbiAgICovXG4gIHNob3VsZEludGVyb3AocGF0aDogc3RyaW5nLCBtb2Q6IGFueSkge1xuICAgIGlmICh0aGlzLm9wdGlvbnMuaW50ZXJvcERlZmF1bHQgPT09IGZhbHNlKVxuICAgICAgcmV0dXJuIGZhbHNlXG4gICAgLy8gbmV2ZXIgaW50ZXJvcCBFU00gbW9kdWxlc1xuICAgIC8vIFRPRE86IHNob3VsZCBhbHNvIHNraXAgZm9yIGAuanNgIHdpdGggYHR5cGU9XCJtb2R1bGVcImBcbiAgICByZXR1cm4gIXBhdGguZW5kc1dpdGgoJy5tanMnKSAmJiAnZGVmYXVsdCcgaW4gbW9kXG4gIH1cblxuICAvKipcbiAgICogSW1wb3J0IGEgbW9kdWxlIGFuZCBpbnRlcm9wIGl0XG4gICAqL1xuICBhc3luYyBpbnRlcm9wZWRJbXBvcnQocGF0aDogc3RyaW5nKSB7XG4gICAgY29uc3QgbW9kID0gYXdhaXQgaW1wb3J0KHBhdGgpXG5cbiAgICBpZiAodGhpcy5zaG91bGRJbnRlcm9wKHBhdGgsIG1vZCkpIHtcbiAgICAgIGNvbnN0IHRyeURlZmF1bHQgPSB0aGlzLmhhc05lc3RlZERlZmF1bHQobW9kKVxuICAgICAgcmV0dXJuIG5ldyBQcm94eShtb2QsIHtcbiAgICAgICAgZ2V0OiBwcm94eU1ldGhvZCgnZ2V0JywgdHJ5RGVmYXVsdCksXG4gICAgICAgIHNldDogcHJveHlNZXRob2QoJ3NldCcsIHRyeURlZmF1bHQpLFxuICAgICAgICBoYXM6IHByb3h5TWV0aG9kKCdoYXMnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgZGVsZXRlUHJvcGVydHk6IHByb3h5TWV0aG9kKCdkZWxldGVQcm9wZXJ0eScsIHRyeURlZmF1bHQpLFxuICAgICAgfSlcbiAgICB9XG5cbiAgICByZXR1cm4gbW9kXG4gIH1cblxuICBoYXNOZXN0ZWREZWZhdWx0KHRhcmdldDogYW55KSB7XG4gICAgcmV0dXJuICdfX2VzTW9kdWxlJyBpbiB0YXJnZXQgJiYgdGFyZ2V0Ll9fZXNNb2R1bGUgJiYgJ2RlZmF1bHQnIGluIHRhcmdldC5kZWZhdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gcHJveHlNZXRob2QobmFtZTogJ2dldCcgfCAnc2V0JyB8ICdoYXMnIHwgJ2RlbGV0ZVByb3BlcnR5JywgdHJ5RGVmYXVsdDogYm9vbGVhbikge1xuICByZXR1cm4gZnVuY3Rpb24odGFyZ2V0OiBhbnksIGtleTogc3RyaW5nIHwgc3ltYm9sLCAuLi5hcmdzOiBbYW55PywgYW55P10pIHtcbiAgICBjb25zdCByZXN1bHQgPSBSZWZsZWN0W25hbWVdKHRhcmdldCwga2V5LCAuLi5hcmdzKVxuICAgIGlmIChpc1ByaW1pdGl2ZSh0YXJnZXQuZGVmYXVsdCkpXG4gICAgICByZXR1cm4gcmVzdWx0XG4gICAgaWYgKCh0cnlEZWZhdWx0ICYmIGtleSA9PT0gJ2RlZmF1bHQnKSB8fCB0eXBlb2YgcmVzdWx0ID09PSAndW5kZWZpbmVkJylcbiAgICAgIHJldHVybiBSZWZsZWN0W25hbWVdKHRhcmdldC5kZWZhdWx0LCBrZXksIC4uLmFyZ3MpXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG5cbmZ1bmN0aW9uIGV4cG9ydEFsbChleHBvcnRzOiBhbnksIHNvdXJjZU1vZHVsZTogYW55KSB7XG4gIC8vIGVzbGludC1kaXNhYmxlLW5leHQtbGluZSBuby1yZXN0cmljdGVkLXN5bnRheFxuICBmb3IgKGNvbnN0IGtleSBpbiBzb3VyY2VNb2R1bGUpIHtcbiAgICBpZiAoa2V5ICE9PSAnZGVmYXVsdCcpIHtcbiAgICAgIHRyeSB7XG4gICAgICAgIE9iamVjdC5kZWZpbmVQcm9wZXJ0eShleHBvcnRzLCBrZXksIHtcbiAgICAgICAgICBlbnVtZXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGNvbmZpZ3VyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBnZXQoKSB7IHJldHVybiBzb3VyY2VNb2R1bGVba2V5XSB9LFxuICAgICAgICB9KVxuICAgICAgfVxuICAgICAgY2F0Y2ggKF9lcnIpIHsgfVxuICAgIH1cbiAgfVxufVxuIl0sIm5hbWVzIjpbInNsYXNoIiwicmVzb2x2ZSIsIm5vcm1hbGl6ZUlkIiwidG9GaWxlUGF0aCIsInVybCIsInBhdGhUb0ZpbGVVUkwiLCJmaWxlVVJMVG9QYXRoIiwiY3JlYXRlUmVxdWlyZSIsImRpcm5hbWUiLCJ2bSIsImlzTm9kZUJ1aWx0aW4iLCJpc0Fic29sdXRlIiwiZXh0bmFtZSIsImlzUHJpbWl0aXZlIl0sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7Ozs7QUFRTyxNQUFNLHFCQUF3QixHQUFBO0FBQUEsRUFDbkMsZUFBaUIsRUFBQTtBQUFBLElBQ2YsV0FBQSxFQUFhLENBQUMsRUFBZSxLQUFBLEVBQUE7QUFBQSxJQUM3QixnQkFBbUIsR0FBQTtBQUNqQixNQUFPLE9BQUE7QUFBQSxRQUNMLFFBQVEsTUFBTTtBQUFBLFNBQUE7QUFBQSxRQUNkLE9BQU8sTUFBTTtBQUFBLFNBQUE7QUFBQSxPQUFBLENBQUE7QUFBQSxLQUFBO0FBQUEsSUFHakIsV0FBYyxHQUFBO0FBQUEsS0FBQTtBQUFBLEdBQUE7QUFBQSxFQUFBO0FBSVgsTUFBQSxjQUFBLFNBQTZCLEdBQXlCLENBQUE7QUFBQSxFQUMzRCxjQUFjLE1BQWdCLEVBQUE7QUFDNUIsSUFBTyxPQUFBLE1BQUEsQ0FDSixPQUFRLENBQUEsS0FBQSxFQUFPLEdBQ2YsQ0FBQSxDQUFBLE9BQUEsQ0FBUSxVQUFZLEVBQUEsR0FBQSxDQUFBLENBQ3BCLE9BQVEsQ0FBQSxVQUFBLEVBQVksR0FDcEIsQ0FBQSxDQUFBLE9BQUEsQ0FBUSxNQUFRLEVBQUEsR0FBQSxD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
|
package/dist/client.js
CHANGED
|
@@ -20,11 +20,32 @@ const DEFAULT_REQUEST_STUBS = {
|
|
|
20
20
|
}
|
|
21
21
|
}
|
|
22
22
|
};
|
|
23
|
+
class ModuleCacheMap extends Map {
|
|
24
|
+
normalizePath(fsPath) {
|
|
25
|
+
return fsPath.replace(/\\/g, "/").replace(/^\/@fs\//, "/").replace(/^file:\//, "/").replace(/^\/+/, "/");
|
|
26
|
+
}
|
|
27
|
+
set(fsPath, mod) {
|
|
28
|
+
fsPath = this.normalizePath(fsPath);
|
|
29
|
+
if (!super.has(fsPath))
|
|
30
|
+
super.set(fsPath, mod);
|
|
31
|
+
else
|
|
32
|
+
Object.assign(super.get(fsPath), mod);
|
|
33
|
+
return this;
|
|
34
|
+
}
|
|
35
|
+
get(fsPath) {
|
|
36
|
+
fsPath = this.normalizePath(fsPath);
|
|
37
|
+
return super.get(fsPath);
|
|
38
|
+
}
|
|
39
|
+
delete(fsPath) {
|
|
40
|
+
fsPath = this.normalizePath(fsPath);
|
|
41
|
+
return super.delete(fsPath);
|
|
42
|
+
}
|
|
43
|
+
}
|
|
23
44
|
class ViteNodeRunner {
|
|
24
45
|
constructor(options) {
|
|
25
46
|
this.options = options;
|
|
26
47
|
this.root = options.root || process.cwd();
|
|
27
|
-
this.moduleCache = options.moduleCache || new
|
|
48
|
+
this.moduleCache = options.moduleCache || new ModuleCacheMap();
|
|
28
49
|
}
|
|
29
50
|
async executeFile(file) {
|
|
30
51
|
return await this.cachedRequest(`/@fs/${slash(resolve(file))}`, []);
|
|
@@ -35,18 +56,18 @@ class ViteNodeRunner {
|
|
|
35
56
|
async cachedRequest(rawId, callstack) {
|
|
36
57
|
var _a, _b;
|
|
37
58
|
const id = normalizeId(rawId, this.options.base);
|
|
38
|
-
if ((_a = this.moduleCache.get(id)) == null ? void 0 : _a.promise)
|
|
39
|
-
return (_b = this.moduleCache.get(id)) == null ? void 0 : _b.promise;
|
|
40
59
|
const fsPath = toFilePath(id, this.root);
|
|
60
|
+
if ((_a = this.moduleCache.get(fsPath)) == null ? void 0 : _a.promise)
|
|
61
|
+
return (_b = this.moduleCache.get(fsPath)) == null ? void 0 : _b.promise;
|
|
41
62
|
const promise = this.directRequest(id, fsPath, callstack);
|
|
42
|
-
this.
|
|
63
|
+
this.moduleCache.set(fsPath, { promise });
|
|
43
64
|
return await promise;
|
|
44
65
|
}
|
|
45
66
|
async directRequest(id, fsPath, callstack) {
|
|
46
67
|
callstack = [...callstack, id];
|
|
47
68
|
const request = async (dep) => {
|
|
48
69
|
var _a, _b;
|
|
49
|
-
if (this.shouldResolveId(dep)) {
|
|
70
|
+
if (this.options.resolveId && this.shouldResolveId(dep)) {
|
|
50
71
|
const resolvedDep = await this.options.resolveId(dep, id);
|
|
51
72
|
dep = ((_a = resolvedDep == null ? void 0 : resolvedDep.id) == null ? void 0 : _a.replace(this.root, "")) || dep;
|
|
52
73
|
}
|
|
@@ -65,14 +86,15 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
65
86
|
const { code: transformed, externalize } = await this.options.fetchModule(id);
|
|
66
87
|
if (externalize) {
|
|
67
88
|
const mod = await this.interopedImport(externalize);
|
|
68
|
-
this.
|
|
89
|
+
this.moduleCache.set(fsPath, { exports: mod });
|
|
69
90
|
return mod;
|
|
70
91
|
}
|
|
71
92
|
if (transformed == null)
|
|
72
93
|
throw new Error(`[vite-node] Failed to load ${id}`);
|
|
73
94
|
const url = pathToFileURL(fsPath).href;
|
|
74
|
-
const exports =
|
|
75
|
-
|
|
95
|
+
const exports = Object.create(null);
|
|
96
|
+
exports[Symbol.toStringTag] = "Module";
|
|
97
|
+
this.moduleCache.set(id, { code: transformed, exports });
|
|
76
98
|
const __filename = fileURLToPath(url);
|
|
77
99
|
const moduleProxy = {
|
|
78
100
|
set exports(value) {
|
|
@@ -106,12 +128,6 @@ ${[...callstack, dep].reverse().map((p) => `- ${p}`).join("\n")}`);
|
|
|
106
128
|
prepareContext(context) {
|
|
107
129
|
return context;
|
|
108
130
|
}
|
|
109
|
-
setCache(id, mod) {
|
|
110
|
-
if (!this.moduleCache.has(id))
|
|
111
|
-
this.moduleCache.set(id, mod);
|
|
112
|
-
else
|
|
113
|
-
Object.assign(this.moduleCache.get(id), mod);
|
|
114
|
-
}
|
|
115
131
|
shouldResolveId(dep) {
|
|
116
132
|
if (isNodeBuiltin(dep) || dep in (this.options.requestStubs || DEFAULT_REQUEST_STUBS))
|
|
117
133
|
return false;
|
|
@@ -166,5 +182,5 @@ function exportAll(exports, sourceModule) {
|
|
|
166
182
|
}
|
|
167
183
|
}
|
|
168
184
|
|
|
169
|
-
export { DEFAULT_REQUEST_STUBS, ViteNodeRunner };
|
|
170
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHZtIGZyb20gJ3ZtJ1xuaW1wb3J0IHsgZGlybmFtZSwgZXh0bmFtZSwgaXNBYnNvbHV0ZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHsgaXNOb2RlQnVpbHRpbiB9IGZyb20gJ21sbHknXG5pbXBvcnQgeyBpc1ByaW1pdGl2ZSwgbm9ybWFsaXplSWQsIHNsYXNoLCB0b0ZpbGVQYXRoIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB0eXBlIHsgTW9kdWxlQ2FjaGUsIFZpdGVOb2RlUnVubmVyT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFUVVFU1RfU1RVQlMgPSB7XG4gICcvQHZpdGUvY2xpZW50Jzoge1xuICAgIGluamVjdFF1ZXJ5OiAoaWQ6IHN0cmluZykgPT4gaWQsXG4gICAgY3JlYXRlSG90Q29udGV4dCgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY2VwdDogKCkgPT4ge30sXG4gICAgICAgIHBydW5lOiAoKSA9PiB7fSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHVwZGF0ZVN0eWxlKCkge30sXG4gIH0sXG59XG5cbmV4cG9ydCBjbGFzcyBWaXRlTm9kZVJ1bm5lciB7XG4gIHJvb3Q6IHN0cmluZ1xuXG4gIG1vZHVsZUNhY2hlOiBNYXA8c3RyaW5nLCBNb2R1bGVDYWNoZT5cblxuICBjb25zdHJ1Y3RvcihwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVSdW5uZXJPcHRpb25zKSB7XG4gICAgdGhpcy5yb290ID0gb3B0aW9ucy5yb290IHx8IHByb2Nlc3MuY3dkKClcbiAgICB0aGlzLm1vZHVsZUNhY2hlID0gb3B0aW9ucy5tb2R1bGVDYWNoZSB8fCBuZXcgTWFwKClcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVGaWxlKGZpbGU6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoYC9AZnMvJHtzbGFzaChyZXNvbHZlKGZpbGUpKX1gLCBbXSlcbiAgfVxuXG4gIGFzeW5jIGV4ZWN1dGVJZChpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIGF3YWl0IHRoaXMuY2FjaGVkUmVxdWVzdChpZCwgW10pXG4gIH1cblxuICBhc3luYyBjYWNoZWRSZXF1ZXN0KHJhd0lkOiBzdHJpbmcsIGNhbGxzdGFjazogc3RyaW5nW10pIHtcbiAgICBjb25zdCBpZCA9IG5vcm1hbGl6ZUlkKHJhd0lkLCB0aGlzLm9wdGlvbnMuYmFzZSlcblxuICAgIGlmICh0aGlzLm1vZHVsZUNhY2hlLmdldChpZCk/LnByb21pc2UpXG4gICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoaWQpPy5wcm9taXNlXG5cbiAgICBjb25zdCBmc1BhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnJvb3QpXG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuZGlyZWN0UmVxdWVzdChpZCwgZnNQYXRoLCBjYWxsc3RhY2spXG4gICAgdGhpcy5zZXRDYWNoZShpZCwgeyBwcm9taXNlIH0pXG5cbiAgICByZXR1cm4gYXdhaXQgcHJvbWlzZVxuICB9XG5cbiAgYXN5bmMgZGlyZWN0UmVxdWVzdChpZDogc3RyaW5nLCBmc1BhdGg6IHN0cmluZywgY2FsbHN0YWNrOiBzdHJpbmdbXSkge1xuICAgIGNhbGxzdGFjayA9IFsuLi5jYWxsc3RhY2ssIGlkXVxuICAgIGNvbnN0IHJlcXVlc3QgPSBhc3luYyhkZXA6IHN0cmluZykgPT4ge1xuICAgICAgLy8gcHJvYmFibHkgbWVhbnMgaXQgd2FzIHBhc3NlZCBhcyB2YXJpYWJsZVxuICAgICAgLy8gYW5kIHdhc24ndCB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBpZiAodGhpcy5zaG91bGRSZXNvbHZlSWQoZGVwKSkge1xuICAgICAgICBjb25zdCByZXNvbHZlZERlcCA9IGF3YWl0IHRoaXMub3B0aW9ucy5yZXNvbHZlSWQoZGVwLCBpZClcbiAgICAgICAgZGVwID0gcmVzb2x2ZWREZXA/LmlkPy5yZXBsYWNlKHRoaXMucm9vdCwgJycpIHx8IGRlcFxuICAgICAgfVxuICAgICAgaWYgKGNhbGxzdGFjay5pbmNsdWRlcyhkZXApKSB7XG4gICAgICAgIGlmICghdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKT8uZXhwb3J0cylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWRcXG5TdGFjazpcXG4ke1suLi5jYWxsc3RhY2ssIGRlcF0ucmV2ZXJzZSgpLm1hcChwID0+IGAtICR7cH1gKS5qb2luKCdcXG4nKX1gKVxuICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKSEuZXhwb3J0c1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkUmVxdWVzdChkZXAsIGNhbGxzdGFjaylcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0U3R1YnMgPSB0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCU1xuICAgIGlmIChpZCBpbiByZXF1ZXN0U3R1YnMpXG4gICAgICByZXR1cm4gcmVxdWVzdFN0dWJzW2lkXVxuXG4gICAgY29uc3QgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXh0ZXJuYWxpemUgfSA9IGF3YWl0IHRoaXMub3B0aW9ucy5mZXRjaE1vZHVsZShpZClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIGNvbnN0IG1vZCA9IGF3YWl0IHRoaXMuaW50ZXJvcGVkSW1wb3J0KGV4dGVybmFsaXplKVxuICAgICAgdGhpcy5zZXRDYWNoZShpZCwgeyBleHBvcnRzOiBtb2QgfSlcbiAgICAgIHJldHVybiBtb2RcbiAgICB9XG5cbiAgICBpZiAodHJhbnNmb3JtZWQgPT0gbnVsbClcbiAgICAgIHRocm93IG5ldyBFcnJvcihgW3ZpdGUtbm9kZV0gRmFpbGVkIHRvIGxvYWQgJHtpZH1gKVxuXG4gICAgLy8gZGlzYW1iaWd1YXRlIHRoZSBgPFVOSVQ+Oi9gIG9uIHdpbmRvd3M6IHNlZSBub2RlanMvbm9kZSMzMTcxMFxuICAgIGNvbnN0IHVybCA9IHBhdGhUb0ZpbGVVUkwoZnNQYXRoKS5ocmVmXG4gICAgY29uc3QgZXhwb3J0czogYW55ID0ge31cblxuICAgIHRoaXMuc2V0Q2FjaGUoaWQsIHsgY29kZTogdHJhbnNmb3JtZWQsIGV4cG9ydHMgfSlcblxuICAgIGNvbnN0IF9fZmlsZW5hbWUgPSBmaWxlVVJMVG9QYXRoKHVybClcbiAgICBjb25zdCBtb2R1bGVQcm94eSA9IHtcbiAgICAgIHNldCBleHBvcnRzKHZhbHVlKSB7XG4gICAgICAgIGV4cG9ydEFsbChleHBvcnRzLCB2YWx1ZSlcbiAgICAgICAgZXhwb3J0cy5kZWZhdWx0ID0gdmFsdWVcbiAgICAgIH0sXG4gICAgICBnZXQgZXhwb3J0cygpIHtcbiAgICAgICAgcmV0dXJuIGV4cG9ydHMuZGVmYXVsdFxuICAgICAgfSxcbiAgICB9XG5cbiAgICAvLyBCZSBjYXJlZnVsIHdoZW4gY2hhbmdpbmcgdGhpc1xuICAgIC8vIGNoYW5naW5nIGNvbnRleHQgd2lsbCBjaGFuZ2UgYW1vdW50IG9mIGNvZGUgYWRkZWQgb24gbGluZSA6MTE0ICh2bS5ydW5JblRoaXNDb250ZXh0KVxuICAgIC8vIHRoaXMgbWVzc2VzIHVwIHNvdXJjZW1hcHMgZm9yIGNvdmVyYWdlXG4gICAgLy8gYWRqdXN0IGBvZmZzZXRgIHZhcmlhYmxlIGluIHBhY2thZ2VzL3ZpdGVzdC9zcmMvaW50ZWdyYXRpb25zL2NvdmVyYWdlLnRzI0wxMDAgaWYgeW91IGRvIGNoYW5nZSB0aGlzXG4gICAgY29uc3QgY29udGV4dCA9IHRoaXMucHJlcGFyZUNvbnRleHQoe1xuICAgICAgLy8gZXNtIHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIF9fdml0ZV9zc3JfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2R5bmFtaWNfaW1wb3J0X186IHJlcXVlc3QsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydHNfXzogZXhwb3J0cyxcbiAgICAgIF9fdml0ZV9zc3JfZXhwb3J0QWxsX186IChvYmo6IGFueSkgPT4gZXhwb3J0QWxsKGV4cG9ydHMsIG9iaiksXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9tZXRhX186IHsgdXJsIH0sXG5cbiAgICAgIC8vIGNqcyBjb21wYWN0XG4gICAgICByZXF1aXJlOiBjcmVhdGVSZXF1aXJlKHVybCksXG4gICAgICBleHBvcnRzLFxuICAgICAgbW9kdWxlOiBtb2R1bGVQcm94eSxcbiAgICAgIF9fZmlsZW5hbWUsXG4gICAgICBfX2Rpcm5hbWU6IGRpcm5hbWUoX19maWxlbmFtZSksXG4gICAgfSlcblxuICAgIC8vIGFkZCAndXNlIHN0cmljdCcgc2luY2UgRVNNIGVuYWJsZXMgaXQgYnkgZGVmYXVsdFxuICAgIGNvbnN0IGZuID0gdm0ucnVuSW5UaGlzQ29udGV4dChgJ3VzZSBzdHJpY3QnO2FzeW5jICgke09iamVjdC5rZXlzKGNvbnRleHQpLmpvaW4oJywnKX0pPT57eyR7dHJhbnNmb3JtZWR9XFxufX1gLCB7XG4gICAgICBmaWxlbmFtZTogZnNQYXRoLFxuICAgICAgbGluZU9mZnNldDogMCxcbiAgICB9KVxuXG4gICAgYXdhaXQgZm4oLi4uT2JqZWN0LnZhbHVlcyhjb250ZXh0KSlcblxuICAgIHJldHVybiBleHBvcnRzXG4gIH1cblxuICBwcmVwYXJlQ29udGV4dChjb250ZXh0OiBSZWNvcmQ8c3RyaW5nLCBhbnk+KSB7XG4gICAgcmV0dXJuIGNvbnRleHRcbiAgfVxuXG4gIHNldENhY2hlKGlkOiBzdHJpbmcsIG1vZDogUGFydGlhbDxNb2R1bGVDYWNoZT4pIHtcbiAgICBpZiAoIXRoaXMubW9kdWxlQ2FjaGUuaGFzKGlkKSlcbiAgICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGlkLCBtb2QpXG4gICAgZWxzZVxuICAgICAgT2JqZWN0LmFzc2lnbih0aGlzLm1vZHVsZUNhY2hlLmdldChpZCksIG1vZClcbiAgfVxuXG4gIHNob3VsZFJlc29sdmVJZChkZXA6IHN0cmluZykge1xuICAgIGlmIChpc05vZGVCdWlsdGluKGRlcCkgfHwgZGVwIGluICh0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCUykpXG4gICAgICByZXR1cm4gZmFsc2VcblxuICAgIHJldHVybiAhaXNBYnNvbHV0ZShkZXApIHx8ICFleHRuYW1lKGRlcClcbiAgfVxuXG4gIC8qKlxuICAgKiBEZWZpbmUgaWYgYSBtb2R1bGUgc2hvdWxkIGJlIGludGVyb3AtZWRcbiAgICogVGhpcyBmdW5jdGlvbiBtb3N0bHkgZm9yIHRoZSBhYmlsaXR5IHRvIG92ZXJyaWRlIGJ5IHN1YmNsYXNzXG4gICAqL1xuICBzaG91bGRJbnRlcm9wKHBhdGg6IHN0cmluZywgbW9kOiBhbnkpIHtcbiAgICBpZiAodGhpcy5vcHRpb25zLmludGVyb3BEZWZhdWx0ID09PSBmYWxzZSlcbiAgICAgIHJldHVybiBmYWxzZVxuICAgIC8vIG5ldmVyIGludGVyb3AgRVNNIG1vZHVsZXNcbiAgICAvLyBUT0RPOiBzaG91bGQgYWxzbyBza2lwIGZvciBgLmpzYCB3aXRoIGB0eXBlPVwibW9kdWxlXCJgXG4gICAgcmV0dXJuICFwYXRoLmVuZHNXaXRoKCcubWpzJykgJiYgJ2RlZmF1bHQnIGluIG1vZFxuICB9XG5cbiAgLyoqXG4gICAqIEltcG9ydCBhIG1vZHVsZSBhbmQgaW50ZXJvcCBpdFxuICAgKi9cbiAgYXN5bmMgaW50ZXJvcGVkSW1wb3J0KHBhdGg6IHN0cmluZykge1xuICAgIGNvbnN0IG1vZCA9IGF3YWl0IGltcG9ydChwYXRoKVxuXG4gICAgaWYgKHRoaXMuc2hvdWxkSW50ZXJvcChwYXRoLCBtb2QpKSB7XG4gICAgICBjb25zdCB0cnlEZWZhdWx0ID0gdGhpcy5oYXNOZXN0ZWREZWZhdWx0KG1vZClcbiAgICAgIHJldHVybiBuZXcgUHJveHkobW9kLCB7XG4gICAgICAgIGdldDogcHJveHlNZXRob2QoJ2dldCcsIHRyeURlZmF1bHQpLFxuICAgICAgICBzZXQ6IHByb3h5TWV0aG9kKCdzZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgaGFzOiBwcm94eU1ldGhvZCgnaGFzJywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGRlbGV0ZVByb3BlcnR5OiBwcm94eU1ldGhvZCgnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0KSxcbiAgICAgIH0pXG4gICAgfVxuXG4gICAgcmV0dXJuIG1vZFxuICB9XG5cbiAgaGFzTmVzdGVkRGVmYXVsdCh0YXJnZXQ6IGFueSkge1xuICAgIHJldHVybiAnX19lc01vZHVsZScgaW4gdGFyZ2V0ICYmIHRhcmdldC5fX2VzTW9kdWxlICYmICdkZWZhdWx0JyBpbiB0YXJnZXQuZGVmYXVsdFxuICB9XG59XG5cbmZ1bmN0aW9uIHByb3h5TWV0aG9kKG5hbWU6ICdnZXQnIHwgJ3NldCcgfCAnaGFzJyB8ICdkZWxldGVQcm9wZXJ0eScsIHRyeURlZmF1bHQ6IGJvb2xlYW4pIHtcbiAgcmV0dXJuIGZ1bmN0aW9uKHRhcmdldDogYW55LCBrZXk6IHN0cmluZyB8IHN5bWJvbCwgLi4uYXJnczogW2FueT8sIGFueT9dKSB7XG4gICAgY29uc3QgcmVzdWx0ID0gUmVmbGVjdFtuYW1lXSh0YXJnZXQsIGtleSwgLi4uYXJncylcbiAgICBpZiAoaXNQcmltaXRpdmUodGFyZ2V0LmRlZmF1bHQpKVxuICAgICAgcmV0dXJuIHJlc3VsdFxuICAgIGlmICgodHJ5RGVmYXVsdCAmJiBrZXkgPT09ICdkZWZhdWx0JykgfHwgdHlwZW9mIHJlc3VsdCA9PT0gJ3VuZGVmaW5lZCcpXG4gICAgICByZXR1cm4gUmVmbGVjdFtuYW1lXSh0YXJnZXQuZGVmYXVsdCwga2V5LCAuLi5hcmdzKVxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBleHBvcnRBbGwoZXhwb3J0czogYW55LCBzb3VyY2VNb2R1bGU6IGFueSkge1xuICAvLyBlc2xpbnQtZGlzYWJsZS1uZXh0LWxpbmUgbm8tcmVzdHJpY3RlZC1zeW50YXhcbiAgZm9yIChjb25zdCBrZXkgaW4gc291cmNlTW9kdWxlKSB7XG4gICAgaWYgKGtleSAhPT0gJ2RlZmF1bHQnKSB7XG4gICAgICB0cnkge1xuICAgICAgICBPYmplY3QuZGVmaW5lUHJvcGVydHkoZXhwb3J0cywga2V5LCB7XG4gICAgICAgICAgZW51bWVyYWJsZTogdHJ1ZSxcbiAgICAgICAgICBjb25maWd1cmFibGU6IHRydWUsXG4gICAgICAgICAgZ2V0KCkgeyByZXR1cm4gc291cmNlTW9kdWxlW2tleV0gfSxcbiAgICAgICAgfSlcbiAgICAgIH1cbiAgICAgIGNhdGNoIChfZXJyKSB7IH1cbiAgICB9XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7O0FBTVksTUFBQyxxQkFBcUIsR0FBRztBQUNyQyxFQUFFLGVBQWUsRUFBRTtBQUNuQixJQUFJLFdBQVcsRUFBRSxDQUFDLEVBQUUsS0FBSyxFQUFFO0FBQzNCLElBQUksZ0JBQWdCLEdBQUc7QUFDdkIsTUFBTSxPQUFPO0FBQ2IsUUFBUSxNQUFNLEVBQUUsTUFBTTtBQUN0QixTQUFTO0FBQ1QsUUFBUSxLQUFLLEVBQUUsTUFBTTtBQUNyQixTQUFTO0FBQ1QsT0FBTyxDQUFDO0FBQ1IsS0FBSztBQUNMLElBQUksV0FBVyxHQUFHO0FBQ2xCLEtBQUs7QUFDTCxHQUFHO0FBQ0gsRUFBRTtBQUNLLE1BQU0sY0FBYyxDQUFDO0FBQzVCLEVBQUUsV0FBVyxDQUFDLE9BQU8sRUFBRTtBQUN2QixJQUFJLElBQUksQ0FBQyxPQUFPLEdBQUcsT0FBTyxDQUFDO0FBQzNCLElBQUksSUFBSSxDQUFDLElBQUksR0FBRyxPQUFPLENBQUMsSUFBSSxJQUFJLE9BQU8sQ0FBQyxHQUFHLEVBQUUsQ0FBQztBQUM5QyxJQUFJLElBQUksQ0FBQyxXQUFXLEdBQUcsT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLEdBQUcsRUFBRSxDQUFD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
|
|
185
|
+
export { DEFAULT_REQUEST_STUBS, ModuleCacheMap, ViteNodeRunner };
|
|
186
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY2xpZW50LmpzIiwic291cmNlcyI6WyIuLi9zcmMvY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tICdtb2R1bGUnXG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoLCBwYXRoVG9GaWxlVVJMIH0gZnJvbSAndXJsJ1xuaW1wb3J0IHZtIGZyb20gJ3ZtJ1xuaW1wb3J0IHsgZGlybmFtZSwgZXh0bmFtZSwgaXNBYnNvbHV0ZSwgcmVzb2x2ZSB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHsgaXNOb2RlQnVpbHRpbiB9IGZyb20gJ21sbHknXG5pbXBvcnQgeyBpc1ByaW1pdGl2ZSwgbm9ybWFsaXplSWQsIHNsYXNoLCB0b0ZpbGVQYXRoIH0gZnJvbSAnLi91dGlscydcbmltcG9ydCB0eXBlIHsgTW9kdWxlQ2FjaGUsIFZpdGVOb2RlUnVubmVyT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5cbmV4cG9ydCBjb25zdCBERUZBVUxUX1JFUVVFU1RfU1RVQlMgPSB7XG4gICcvQHZpdGUvY2xpZW50Jzoge1xuICAgIGluamVjdFF1ZXJ5OiAoaWQ6IHN0cmluZykgPT4gaWQsXG4gICAgY3JlYXRlSG90Q29udGV4dCgpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIGFjY2VwdDogKCkgPT4ge30sXG4gICAgICAgIHBydW5lOiAoKSA9PiB7fSxcbiAgICAgIH1cbiAgICB9LFxuICAgIHVwZGF0ZVN0eWxlKCkge30sXG4gIH0sXG59XG5cbmV4cG9ydCBjbGFzcyBNb2R1bGVDYWNoZU1hcCBleHRlbmRzIE1hcDxzdHJpbmcsIE1vZHVsZUNhY2hlPiB7XG4gIG5vcm1hbGl6ZVBhdGgoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gZnNQYXRoXG4gICAgICAucmVwbGFjZSgvXFxcXC9nLCAnLycpXG4gICAgICAucmVwbGFjZSgvXlxcL0Bmc1xcLy8sICcvJylcbiAgICAgIC5yZXBsYWNlKC9eZmlsZTpcXC8vLCAnLycpXG4gICAgICAucmVwbGFjZSgvXlxcLysvLCAnLycpXG4gIH1cblxuICBzZXQoZnNQYXRoOiBzdHJpbmcsIG1vZDogUGFydGlhbDxNb2R1bGVDYWNoZT4pIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIGlmICghc3VwZXIuaGFzKGZzUGF0aCkpXG4gICAgICBzdXBlci5zZXQoZnNQYXRoLCBtb2QpXG4gICAgZWxzZVxuICAgICAgT2JqZWN0LmFzc2lnbihzdXBlci5nZXQoZnNQYXRoKSwgbW9kKVxuICAgIHJldHVybiB0aGlzXG4gIH1cblxuICBnZXQoZnNQYXRoOiBzdHJpbmcpIHtcbiAgICBmc1BhdGggPSB0aGlzLm5vcm1hbGl6ZVBhdGgoZnNQYXRoKVxuICAgIHJldHVybiBzdXBlci5nZXQoZnNQYXRoKVxuICB9XG5cbiAgZGVsZXRlKGZzUGF0aDogc3RyaW5nKSB7XG4gICAgZnNQYXRoID0gdGhpcy5ub3JtYWxpemVQYXRoKGZzUGF0aClcbiAgICByZXR1cm4gc3VwZXIuZGVsZXRlKGZzUGF0aClcbiAgfVxufVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVSdW5uZXIge1xuICByb290OiBzdHJpbmdcblxuICAvKipcbiAgICogSG9sZHMgdGhlIGNhY2hlIG9mIG1vZHVsZXNcbiAgICogS2V5cyBvZiB0aGUgbWFwIGFyZSBmaWxlcGF0aHMsIG9yIHBsYWluIHBhY2thZ2UgbmFtZXNcbiAgICovXG4gIG1vZHVsZUNhY2hlOiBNb2R1bGVDYWNoZU1hcFxuXG4gIGNvbnN0cnVjdG9yKHB1YmxpYyBvcHRpb25zOiBWaXRlTm9kZVJ1bm5lck9wdGlvbnMpIHtcbiAgICB0aGlzLnJvb3QgPSBvcHRpb25zLnJvb3QgfHwgcHJvY2Vzcy5jd2QoKVxuICAgIHRoaXMubW9kdWxlQ2FjaGUgPSBvcHRpb25zLm1vZHVsZUNhY2hlIHx8IG5ldyBNb2R1bGVDYWNoZU1hcCgpXG4gIH1cblxuICBhc3luYyBleGVjdXRlRmlsZShmaWxlOiBzdHJpbmcpIHtcbiAgICByZXR1cm4gYXdhaXQgdGhpcy5jYWNoZWRSZXF1ZXN0KGAvQGZzLyR7c2xhc2gocmVzb2x2ZShmaWxlKSl9YCwgW10pXG4gIH1cblxuICBhc3luYyBleGVjdXRlSWQoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBhd2FpdCB0aGlzLmNhY2hlZFJlcXVlc3QoaWQsIFtdKVxuICB9XG5cbiAgYXN5bmMgY2FjaGVkUmVxdWVzdChyYXdJZDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY29uc3QgaWQgPSBub3JtYWxpemVJZChyYXdJZCwgdGhpcy5vcHRpb25zLmJhc2UpXG4gICAgY29uc3QgZnNQYXRoID0gdG9GaWxlUGF0aChpZCwgdGhpcy5yb290KVxuXG4gICAgaWYgKHRoaXMubW9kdWxlQ2FjaGUuZ2V0KGZzUGF0aCk/LnByb21pc2UpXG4gICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZnNQYXRoKT8ucHJvbWlzZVxuXG4gICAgY29uc3QgcHJvbWlzZSA9IHRoaXMuZGlyZWN0UmVxdWVzdChpZCwgZnNQYXRoLCBjYWxsc3RhY2spXG4gICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IHByb21pc2UgfSlcblxuICAgIHJldHVybiBhd2FpdCBwcm9taXNlXG4gIH1cblxuICBhc3luYyBkaXJlY3RSZXF1ZXN0KGlkOiBzdHJpbmcsIGZzUGF0aDogc3RyaW5nLCBjYWxsc3RhY2s6IHN0cmluZ1tdKSB7XG4gICAgY2FsbHN0YWNrID0gWy4uLmNhbGxzdGFjaywgaWRdXG4gICAgY29uc3QgcmVxdWVzdCA9IGFzeW5jKGRlcDogc3RyaW5nKSA9PiB7XG4gICAgICAvLyBwcm9iYWJseSBtZWFucyBpdCB3YXMgcGFzc2VkIGFzIHZhcmlhYmxlXG4gICAgICAvLyBhbmQgd2Fzbid0IHRyYW5zZm9ybWVkIGJ5IFZpdGVcbiAgICAgIGlmICh0aGlzLm9wdGlvbnMucmVzb2x2ZUlkICYmIHRoaXMuc2hvdWxkUmVzb2x2ZUlkKGRlcCkpIHtcbiAgICAgICAgY29uc3QgcmVzb2x2ZWREZXAgPSBhd2FpdCB0aGlzLm9wdGlvbnMucmVzb2x2ZUlkKGRlcCwgaWQpXG4gICAgICAgIGRlcCA9IHJlc29sdmVkRGVwPy5pZD8ucmVwbGFjZSh0aGlzLnJvb3QsICcnKSB8fCBkZXBcbiAgICAgIH1cblxuICAgICAgaWYgKGNhbGxzdGFjay5pbmNsdWRlcyhkZXApKSB7XG4gICAgICAgIGlmICghdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKT8uZXhwb3J0cylcbiAgICAgICAgICB0aHJvdyBuZXcgRXJyb3IoYFt2aXRlLW5vZGVdIENpcmN1bGFyIGRlcGVuZGVuY3kgZGV0ZWN0ZWRcXG5TdGFjazpcXG4ke1suLi5jYWxsc3RhY2ssIGRlcF0ucmV2ZXJzZSgpLm1hcChwID0+IGAtICR7cH1gKS5qb2luKCdcXG4nKX1gKVxuICAgICAgICByZXR1cm4gdGhpcy5tb2R1bGVDYWNoZS5nZXQoZGVwKSEuZXhwb3J0c1xuICAgICAgfVxuICAgICAgcmV0dXJuIHRoaXMuY2FjaGVkUmVxdWVzdChkZXAsIGNhbGxzdGFjaylcbiAgICB9XG5cbiAgICBjb25zdCByZXF1ZXN0U3R1YnMgPSB0aGlzLm9wdGlvbnMucmVxdWVzdFN0dWJzIHx8IERFRkFVTFRfUkVRVUVTVF9TVFVCU1xuICAgIGlmIChpZCBpbiByZXF1ZXN0U3R1YnMpXG4gICAgICByZXR1cm4gcmVxdWVzdFN0dWJzW2lkXVxuXG4gICAgY29uc3QgeyBjb2RlOiB0cmFuc2Zvcm1lZCwgZXh0ZXJuYWxpemUgfSA9IGF3YWl0IHRoaXMub3B0aW9ucy5mZXRjaE1vZHVsZShpZClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIGNvbnN0IG1vZCA9IGF3YWl0IHRoaXMuaW50ZXJvcGVkSW1wb3J0KGV4dGVybmFsaXplKVxuICAgICAgdGhpcy5tb2R1bGVDYWNoZS5zZXQoZnNQYXRoLCB7IGV4cG9ydHM6IG1vZCB9KVxuICAgICAgcmV0dXJuIG1vZFxuICAgIH1cblxuICAgIGlmICh0cmFuc2Zvcm1lZCA9PSBudWxsKVxuICAgICAgdGhyb3cgbmV3IEVycm9yKGBbdml0ZS1ub2RlXSBGYWlsZWQgdG8gbG9hZCAke2lkfWApXG5cbiAgICAvLyBkaXNhbWJpZ3VhdGUgdGhlIGA8VU5JVD46L2Agb24gd2luZG93czogc2VlIG5vZGVqcy9ub2RlIzMxNzEwXG4gICAgY29uc3QgdXJsID0gcGF0aFRvRmlsZVVSTChmc1BhdGgpLmhyZWZcbiAgICBjb25zdCBleHBvcnRzOiBhbnkgPSBPYmplY3QuY3JlYXRlKG51bGwpXG4gICAgZXhwb3J0c1tTeW1ib2wudG9TdHJpbmdUYWddID0gJ01vZHVsZSdcblxuICAgIHRoaXMubW9kdWxlQ2FjaGUuc2V0KGlkLCB7IGNvZGU6IHRyYW5zZm9ybWVkLCBleHBvcnRzIH0pXG5cbiAgICBjb25zdCBfX2ZpbGVuYW1lID0gZmlsZVVSTFRvUGF0aCh1cmwpXG4gICAgY29uc3QgbW9kdWxlUHJveHkgPSB7XG4gICAgICBzZXQgZXhwb3J0cyh2YWx1ZSkge1xuICAgICAgICBleHBvcnRBbGwoZXhwb3J0cywgdmFsdWUpXG4gICAgICAgIGV4cG9ydHMuZGVmYXVsdCA9IHZhbHVlXG4gICAgICB9LFxuICAgICAgZ2V0IGV4cG9ydHMoKSB7XG4gICAgICAgIHJldHVybiBleHBvcnRzLmRlZmF1bHRcbiAgICAgIH0sXG4gICAgfVxuXG4gICAgLy8gQmUgY2FyZWZ1bCB3aGVuIGNoYW5naW5nIHRoaXNcbiAgICAvLyBjaGFuZ2luZyBjb250ZXh0IHdpbGwgY2hhbmdlIGFtb3VudCBvZiBjb2RlIGFkZGVkIG9uIGxpbmUgOjExNCAodm0ucnVuSW5UaGlzQ29udGV4dClcbiAgICAvLyB0aGlzIG1lc3NlcyB1cCBzb3VyY2VtYXBzIGZvciBjb3ZlcmFnZVxuICAgIC8vIGFkanVzdCBgb2Zmc2V0YCB2YXJpYWJsZSBpbiBwYWNrYWdlcy92aXRlc3Qvc3JjL2ludGVncmF0aW9ucy9jb3ZlcmFnZS50cyNMMTAwIGlmIHlvdSBkbyBjaGFuZ2UgdGhpc1xuICAgIGNvbnN0IGNvbnRleHQgPSB0aGlzLnByZXBhcmVDb250ZXh0KHtcbiAgICAgIC8vIGVzbSB0cmFuc2Zvcm1lZCBieSBWaXRlXG4gICAgICBfX3ZpdGVfc3NyX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9keW5hbWljX2ltcG9ydF9fOiByZXF1ZXN0LFxuICAgICAgX192aXRlX3Nzcl9leHBvcnRzX186IGV4cG9ydHMsXG4gICAgICBfX3ZpdGVfc3NyX2V4cG9ydEFsbF9fOiAob2JqOiBhbnkpID0+IGV4cG9ydEFsbChleHBvcnRzLCBvYmopLFxuICAgICAgX192aXRlX3Nzcl9pbXBvcnRfbWV0YV9fOiB7IHVybCB9LFxuXG4gICAgICAvLyBjanMgY29tcGFjdFxuICAgICAgcmVxdWlyZTogY3JlYXRlUmVxdWlyZSh1cmwpLFxuICAgICAgZXhwb3J0cyxcbiAgICAgIG1vZHVsZTogbW9kdWxlUHJveHksXG4gICAgICBfX2ZpbGVuYW1lLFxuICAgICAgX19kaXJuYW1lOiBkaXJuYW1lKF9fZmlsZW5hbWUpLFxuICAgIH0pXG5cbiAgICAvLyBhZGQgJ3VzZSBzdHJpY3QnIHNpbmNlIEVTTSBlbmFibGVzIGl0IGJ5IGRlZmF1bHRcbiAgICBjb25zdCBmbiA9IHZtLnJ1bkluVGhpc0NvbnRleHQoYCd1c2Ugc3RyaWN0Jzthc3luYyAoJHtPYmplY3Qua2V5cyhjb250ZXh0KS5qb2luKCcsJyl9KT0+e3ske3RyYW5zZm9ybWVkfVxcbn19YCwge1xuICAgICAgZmlsZW5hbWU6IGZzUGF0aCxcbiAgICAgIGxpbmVPZmZzZXQ6IDAsXG4gICAgfSlcblxuICAgIGF3YWl0IGZuKC4uLk9iamVjdC52YWx1ZXMoY29udGV4dCkpXG5cbiAgICByZXR1cm4gZXhwb3J0c1xuICB9XG5cbiAgcHJlcGFyZUNvbnRleHQoY29udGV4dDogUmVjb3JkPHN0cmluZywgYW55Pikge1xuICAgIHJldHVybiBjb250ZXh0XG4gIH1cblxuICBzaG91bGRSZXNvbHZlSWQoZGVwOiBzdHJpbmcpIHtcbiAgICBpZiAoaXNOb2RlQnVpbHRpbihkZXApIHx8IGRlcCBpbiAodGhpcy5vcHRpb25zLnJlcXVlc3RTdHVicyB8fCBERUZBVUxUX1JFUVVFU1RfU1RVQlMpKVxuICAgICAgcmV0dXJuIGZhbHNlXG5cbiAgICByZXR1cm4gIWlzQWJzb2x1dGUoZGVwKSB8fCAhZXh0bmFtZShkZXApXG4gIH1cblxuICAvKipcbiAgICogRGVmaW5lIGlmIGEgbW9kdWxlIHNob3VsZCBiZSBpbnRlcm9wLWVkXG4gICAqIFRoaXMgZnVuY3Rpb24gbW9zdGx5IGZvciB0aGUgYWJpbGl0eSB0byBvdmVycmlkZSBieSBzdWJjbGFzc1xuICAgKi9cbiAgc2hvdWxkSW50ZXJvcChwYXRoOiBzdHJpbmcsIG1vZDogYW55KSB7XG4gICAgaWYgKHRoaXMub3B0aW9ucy5pbnRlcm9wRGVmYXVsdCA9PT0gZmFsc2UpXG4gICAgICByZXR1cm4gZmFsc2VcbiAgICAvLyBuZXZlciBpbnRlcm9wIEVTTSBtb2R1bGVzXG4gICAgLy8gVE9ETzogc2hvdWxkIGFsc28gc2tpcCBmb3IgYC5qc2Agd2l0aCBgdHlwZT1cIm1vZHVsZVwiYFxuICAgIHJldHVybiAhcGF0aC5lbmRzV2l0aCgnLm1qcycpICYmICdkZWZhdWx0JyBpbiBtb2RcbiAgfVxuXG4gIC8qKlxuICAgKiBJbXBvcnQgYSBtb2R1bGUgYW5kIGludGVyb3AgaXRcbiAgICovXG4gIGFzeW5jIGludGVyb3BlZEltcG9ydChwYXRoOiBzdHJpbmcpIHtcbiAgICBjb25zdCBtb2QgPSBhd2FpdCBpbXBvcnQocGF0aClcblxuICAgIGlmICh0aGlzLnNob3VsZEludGVyb3AocGF0aCwgbW9kKSkge1xuICAgICAgY29uc3QgdHJ5RGVmYXVsdCA9IHRoaXMuaGFzTmVzdGVkRGVmYXVsdChtb2QpXG4gICAgICByZXR1cm4gbmV3IFByb3h5KG1vZCwge1xuICAgICAgICBnZXQ6IHByb3h5TWV0aG9kKCdnZXQnLCB0cnlEZWZhdWx0KSxcbiAgICAgICAgc2V0OiBwcm94eU1ldGhvZCgnc2V0JywgdHJ5RGVmYXVsdCksXG4gICAgICAgIGhhczogcHJveHlNZXRob2QoJ2hhcycsIHRyeURlZmF1bHQpLFxuICAgICAgICBkZWxldGVQcm9wZXJ0eTogcHJveHlNZXRob2QoJ2RlbGV0ZVByb3BlcnR5JywgdHJ5RGVmYXVsdCksXG4gICAgICB9KVxuICAgIH1cblxuICAgIHJldHVybiBtb2RcbiAgfVxuXG4gIGhhc05lc3RlZERlZmF1bHQodGFyZ2V0OiBhbnkpIHtcbiAgICByZXR1cm4gJ19fZXNNb2R1bGUnIGluIHRhcmdldCAmJiB0YXJnZXQuX19lc01vZHVsZSAmJiAnZGVmYXVsdCcgaW4gdGFyZ2V0LmRlZmF1bHRcbiAgfVxufVxuXG5mdW5jdGlvbiBwcm94eU1ldGhvZChuYW1lOiAnZ2V0JyB8ICdzZXQnIHwgJ2hhcycgfCAnZGVsZXRlUHJvcGVydHknLCB0cnlEZWZhdWx0OiBib29sZWFuKSB7XG4gIHJldHVybiBmdW5jdGlvbih0YXJnZXQ6IGFueSwga2V5OiBzdHJpbmcgfCBzeW1ib2wsIC4uLmFyZ3M6IFthbnk/LCBhbnk/XSkge1xuICAgIGNvbnN0IHJlc3VsdCA9IFJlZmxlY3RbbmFtZV0odGFyZ2V0LCBrZXksIC4uLmFyZ3MpXG4gICAgaWYgKGlzUHJpbWl0aXZlKHRhcmdldC5kZWZhdWx0KSlcbiAgICAgIHJldHVybiByZXN1bHRcbiAgICBpZiAoKHRyeURlZmF1bHQgJiYga2V5ID09PSAnZGVmYXVsdCcpIHx8IHR5cGVvZiByZXN1bHQgPT09ICd1bmRlZmluZWQnKVxuICAgICAgcmV0dXJuIFJlZmxlY3RbbmFtZV0odGFyZ2V0LmRlZmF1bHQsIGtleSwgLi4uYXJncylcbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cblxuZnVuY3Rpb24gZXhwb3J0QWxsKGV4cG9ydHM6IGFueSwgc291cmNlTW9kdWxlOiBhbnkpIHtcbiAgLy8gZXNsaW50LWRpc2FibGUtbmV4dC1saW5lIG5vLXJlc3RyaWN0ZWQtc3ludGF4XG4gIGZvciAoY29uc3Qga2V5IGluIHNvdXJjZU1vZHVsZSkge1xuICAgIGlmIChrZXkgIT09ICdkZWZhdWx0Jykge1xuICAgICAgdHJ5IHtcbiAgICAgICAgT2JqZWN0LmRlZmluZVByb3BlcnR5KGV4cG9ydHMsIGtleSwge1xuICAgICAgICAgIGVudW1lcmFibGU6IHRydWUsXG4gICAgICAgICAgY29uZmlndXJhYmxlOiB0cnVlLFxuICAgICAgICAgIGdldCgpIHsgcmV0dXJuIHNvdXJjZU1vZHVsZVtrZXldIH0sXG4gICAgICAgIH0pXG4gICAgICB9XG4gICAgICBjYXRjaCAoX2VycikgeyB9XG4gICAgfVxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQU1ZLE1BQUMscUJBQXFCLEdBQUc7QUFDckMsRUFBRSxlQUFlLEVBQUU7QUFDbkIsSUFBSSxXQUFXLEVBQUUsQ0FBQyxFQUFFLEtBQUssRUFBRTtBQUMzQixJQUFJLGdCQUFnQixHQUFHO0FBQ3ZCLE1BQU0sT0FBTztBQUNiLFFBQVEsTUFBTSxFQUFFLE1BQU07QUFDdEIsU0FBUztBQUNULFFBQVEsS0FBSyxFQUFFLE1BQU07QUFDckIsU0FBUztBQUNULE9BQU8sQ0FBQztBQUNSLEtBQUs7QUFDTCxJQUFJLFdBQVcsR0FBRztBQUNsQixLQUFLO0FBQ0wsR0FBRztBQUNILEVBQUU7QUFDSyxNQUFNLGNBQWMsU0FBUyxHQUFHLENBQUM7QUFDeEMsRUFBRSxhQUFhLENBQUMsTUFBTSxFQUFFO0FBQ3hCLElBQUksT0FBTyxNQUFNLENBQUMsT0FBTyxDQUFDLEtBQUssRUFBRSxHQUFHLENBQUMsQ0FBQyxPQUFPLENBQUMsVUFBVSxFQUFFLEdBQUcsQ0FBQyxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsR0FBRyxDQUFDLENBQUMsT0FBTyxDQUFDLE1BQU0sRUFBRSxHQUFHLENBQUMsQ0FBQztBQUM3RyxHQUFHO0FBQ0gsRUFBRSxHQUFHLENBQUMsTUFBTSxFQUFFLEdBQUcsRUFBRTtBQUNuQixJQUFJLE1BQU0sR0FBRyxJQUFJLENBQUMsYUFBYSxDQUFDLE1BQU0sQ0FBQyxDQUFDO0FBQ3hDLElBQUksSUFBSSxDQUFDLEtBQUssQ0FBQyxHQUFHLENBQUMsTUFBTSxDQUFDO0FBQzFCLE1BQU0sS0FB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
|
package/dist/server.cjs
CHANGED
|
@@ -2,11 +2,11 @@
|
|
|
2
2
|
|
|
3
3
|
Object.defineProperty(exports, '__esModule', { value: true });
|
|
4
4
|
|
|
5
|
+
var pathe = require('pathe');
|
|
5
6
|
var fs = require('fs');
|
|
6
7
|
var mlly = require('mlly');
|
|
7
8
|
var utils = require('./utils.cjs');
|
|
8
9
|
require('url');
|
|
9
|
-
require('pathe');
|
|
10
10
|
|
|
11
11
|
const ESM_EXT_RE = /\.(es|esm|esm-browser|esm-bundler|es6|module)\.js$/;
|
|
12
12
|
const ESM_FOLDER_RE = /\/esm\/(.*\.js)$/;
|
|
@@ -59,7 +59,8 @@ async function _shouldExternalize(id, options) {
|
|
|
59
59
|
if (matchExternalizePattern(id, options == null ? void 0 : options.external))
|
|
60
60
|
return id;
|
|
61
61
|
const isNodeModule = id.includes("/node_modules/");
|
|
62
|
-
|
|
62
|
+
const guessCJS = isNodeModule && (options == null ? void 0 : options.fallbackCJS);
|
|
63
|
+
id = guessCJS ? guessCJSversion(id) || id : id;
|
|
63
64
|
if (matchExternalizePattern(id, defaultInline))
|
|
64
65
|
return false;
|
|
65
66
|
if (matchExternalizePattern(id, depsExternal))
|
|
@@ -111,6 +112,7 @@ var __spreadValues = (a, b) => {
|
|
|
111
112
|
return a;
|
|
112
113
|
};
|
|
113
114
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
115
|
+
const RealDate = Date;
|
|
114
116
|
class ViteNodeServer {
|
|
115
117
|
constructor(server, options = {}) {
|
|
116
118
|
this.server = server;
|
|
@@ -123,6 +125,8 @@ class ViteNodeServer {
|
|
|
123
125
|
return shouldExternalize(id, this.options.deps);
|
|
124
126
|
}
|
|
125
127
|
async resolveId(id, importer) {
|
|
128
|
+
if (importer && !importer.startsWith(this.server.config.root))
|
|
129
|
+
importer = pathe.join(this.server.config.root, importer);
|
|
126
130
|
return this.server.pluginContainer.resolveId(id, importer, { ssr: true });
|
|
127
131
|
}
|
|
128
132
|
async fetchModule(id) {
|
|
@@ -158,7 +162,7 @@ class ViteNodeServer {
|
|
|
158
162
|
let result;
|
|
159
163
|
const filePath = utils.toFilePath(id, this.server.config.root);
|
|
160
164
|
const module = this.server.moduleGraph.getModuleById(id);
|
|
161
|
-
const timestamp = (module == null ? void 0 : module.lastHMRTimestamp) ||
|
|
165
|
+
const timestamp = (module == null ? void 0 : module.lastHMRTimestamp) || RealDate.now();
|
|
162
166
|
const cache = this.fetchCache.get(filePath);
|
|
163
167
|
if (timestamp && cache && cache.timestamp >= timestamp)
|
|
164
168
|
return cache.result;
|
|
@@ -194,4 +198,4 @@ class ViteNodeServer {
|
|
|
194
198
|
exports.ViteNodeServer = ViteNodeServer;
|
|
195
199
|
exports.guessCJSversion = guessCJSversion;
|
|
196
200
|
exports.shouldExternalize = shouldExternalize;
|
|
197
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dGVybmFsaXplLnRzIiwiLi4vc3JjL3NlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnZnMnXG5pbXBvcnQgeyBpc05vZGVCdWlsdGluLCBpc1ZhbGlkTm9kZUltcG9ydCB9IGZyb20gJ21sbHknXG5pbXBvcnQgdHlwZSB7IERlcHNIYW5kbGluZ09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2xhc2ggfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBFU01fRVhUX1JFID0gL1xcLihlc3xlc218ZXNtLWJyb3dzZXJ8ZXNtLWJ1bmRsZXJ8ZXM2fG1vZHVsZSlcXC5qcyQvXG5jb25zdCBFU01fRk9MREVSX1JFID0gL1xcL2VzbVxcLyguKlxcLmpzKSQvXG5cbmNvbnN0IGRlZmF1bHRJbmxpbmUgPSBbXG4gIC92aXJ0dWFsOi8sXG4gIC9cXC50cyQvLFxuICBFU01fRVhUX1JFLFxuICBFU01fRk9MREVSX1JFLFxuXVxuXG5jb25zdCBkZXBzRXh0ZXJuYWwgPSBbXG4gIC9cXC5janNcXC5qcyQvLFxuICAvXFwubWpzJC8sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBndWVzc0NKU3ZlcnNpb24oaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5tYXRjaChFU01fRVhUX1JFKSkge1xuICAgIGZvciAoY29uc3QgaSBvZiBbXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcubWpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcudW1kLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuY2pzLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuanMnKSxcbiAgICBdKSB7XG4gICAgICBpZiAoZXhpc3RzU3luYyhpKSlcbiAgICAgICAgcmV0dXJuIGlcbiAgICB9XG4gIH1cbiAgaWYgKGlkLm1hdGNoKEVTTV9GT0xERVJfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy91bWQvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy9janMvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy8kMScpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuICBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHN0cmluZyB8IGZhbHNlPj4oKSxcbikge1xuICBpZiAoIWNhY2hlLmhhcyhpZCkpXG4gICAgY2FjaGUuc2V0KGlkLCBfc2hvdWxkRXh0ZXJuYWxpemUoaWQsIG9wdGlvbnMpKVxuICByZXR1cm4gY2FjaGUuZ2V0KGlkKSFcbn1cblxuYXN5bmMgZnVuY3Rpb24gX3Nob3VsZEV4dGVybmFsaXplKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogRGVwc0hhbmRsaW5nT3B0aW9ucyxcbik6IFByb21pc2U8c3RyaW5nIHwgZmFsc2U+IHtcbiAgaWYgKGlzTm9kZUJ1aWx0aW4oaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIC8vIGRhdGE6IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgbmF0aXZlIGltcG9ydCxcbiAgLy8gc2luY2UgaXQgaXMgYSBmZWF0dXJlIG9mIEVTTVxuICBpZiAoaWQuc3RhcnRzV2l0aCgnZGF0YTonKSlcbiAgICByZXR1cm4gaWRcblxuICBpZCA9IHBhdGNoV2luZG93c0ltcG9ydFBhdGgoaWQpXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBvcHRpb25zPy5pbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmV4dGVybmFsKSlcbiAgICByZXR1cm4gaWRcblxuICBjb25zdCBpc05vZGVNb2R1bGUgPSBpZC5pbmNsdWRlcygnL25vZGVfbW9kdWxlcy8nKVxuICBpZCA9IGlzTm9kZU1vZHVsZSA/IGd1ZXNzQ0pTdmVyc2lvbihpZCkgfHwgaWQgOiBpZFxuXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgZGVmYXVsdElubGluZSkpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgZGVwc0V4dGVybmFsKSlcbiAgICByZXR1cm4gaWRcblxuICBjb25zdCBpc0Rpc3QgPSBpZC5pbmNsdWRlcygnL2Rpc3QvJylcbiAgaWYgKChpc05vZGVNb2R1bGUgfHwgaXNEaXN0KSAmJiBhd2FpdCBpc1ZhbGlkTm9kZUltcG9ydChpZCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkOiBzdHJpbmcsIHBhdHRlcm5zPzogKHN0cmluZyB8IFJlZ0V4cClbXSkge1xuICBpZiAoIXBhdHRlcm5zKVxuICAgIHJldHVybiBmYWxzZVxuICBmb3IgKGNvbnN0IGV4IG9mIHBhdHRlcm5zKSB7XG4gICAgaWYgKHR5cGVvZiBleCA9PT0gJ3N0cmluZycpIHtcbiAgICAgIGlmIChpZC5pbmNsdWRlcyhgL25vZGVfbW9kdWxlcy8ke2V4fS9gKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBpZiAoZXgudGVzdChpZCkpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICB9XG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBwYXRjaFdpbmRvd3NJbXBvcnRQYXRoKHBhdGg6IHN0cmluZykge1xuICBpZiAocGF0aC5tYXRjaCgvXlxcdzpcXFxcLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7c2xhc2gocGF0aCl9YFxuICBlbHNlIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcLy8pKVxuICAgIHJldHVybiBgZmlsZTovLy8ke3BhdGh9YFxuICBlbHNlXG4gICAgcmV0dXJuIHBhdGhcbn1cbiIsImltcG9ydCB0eXBlIHsgVHJhbnNmb3JtUmVzdWx0LCBWaXRlRGV2U2VydmVyIH0gZnJvbSAndml0ZSdcbmltcG9ydCB0eXBlIHsgRmV0Y2hSZXN1bHQsIFJhd1NvdXJjZU1hcCwgVml0ZU5vZGVSZXNvbHZlSWQsIFZpdGVOb2RlU2VydmVyT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzaG91bGRFeHRlcm5hbGl6ZSB9IGZyb20gJy4vZXh0ZXJuYWxpemUnXG5pbXBvcnQgeyB0b0ZpbGVQYXRoLCB3aXRoSW5saW5lU291cmNlbWFwIH0gZnJvbSAnLi91dGlscydcblxuZXhwb3J0ICogZnJvbSAnLi9leHRlcm5hbGl6ZSdcblxuZXhwb3J0IGNsYXNzIFZpdGVOb2RlU2VydmVyIHtcbiAgcHJpdmF0ZSBmZXRjaFByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxGZXRjaFJlc3VsdD4+KClcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1Qcm9taXNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8VHJhbnNmb3JtUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4+KClcblxuICBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHtcbiAgICB0aW1lc3RhbXA6IG51bWJlclxuICAgIHJlc3VsdDogRmV0Y2hSZXN1bHRcbiAgfT4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIsXG4gICAgcHVibGljIG9wdGlvbnM6IFZpdGVOb2RlU2VydmVyT3B0aW9ucyA9IHt9LFxuICApIHt9XG5cbiAgc2hvdWxkRXh0ZXJuYWxpemUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBzaG91bGRFeHRlcm5hbGl6ZShpZCwgdGhpcy5vcHRpb25zLmRlcHMpXG4gIH1cblxuICBhc3luYyByZXNvbHZlSWQoaWQ6IHN0cmluZywgaW1wb3J0ZXI/OiBzdHJpbmcpOiBQcm9taXNlPFZpdGVOb2RlUmVzb2x2ZUlkIHwgbnVsbD4ge1xuICAgIHJldHVybiB0aGlzLnNlcnZlci5wbHVnaW5Db250YWluZXIucmVzb2x2ZUlkKGlkLCBpbXBvcnRlciwgeyBzc3I6IHRydWUgfSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoTW9kdWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZldGNoUmVzdWx0PiB7XG4gICAgLy8gcmV1c2UgdHJhbnNmb3JtIGZvciBjb25jdXJyZW50IHJlcXVlc3RzXG4gICAgaWYgKCF0aGlzLmZldGNoUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmZldGNoUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX2ZldGNoTW9kdWxlKGlkKVxuICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvdXJjZW1hcCAhPT0gdHJ1ZSA/IHsgLi4uciwgbWFwOiB1bmRlZmluZWQgfSA6IHJcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmdldChpZCkhXG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuc2V0KGlkLFxuICAgICAgICB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5kZWxldGUoaWQpXG4gICAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGdldFRyYW5zZm9ybU1vZGUoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHdpdGhvdXRRdWVyeSA9IGlkLnNwbGl0KCc/JylbMF1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8ud2ViPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnd2ViJ1xuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8uc3NyPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuXG4gICAgaWYgKHdpdGhvdXRRdWVyeS5tYXRjaCgvXFwuKFtjbV0/W2p0XXN4P3xqc29uKSQvKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuICAgIHJldHVybiAnd2ViJ1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICBsZXQgcmVzdWx0OiBGZXRjaFJlc3VsdFxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnNlcnZlci5jb25maWcucm9vdClcblxuICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoaWQpXG4gICAgY29uc3QgdGltZXN0YW1wID0gbW9kdWxlPy5sYXN0SE1SVGltZXN0YW1wIHx8IERhdGUubm93KClcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuZmV0Y2hDYWNoZS5nZXQoZmlsZVBhdGgpXG4gICAgaWYgKHRpbWVzdGFtcCAmJiBjYWNoZSAmJiBjYWNoZS50aW1lc3RhbXAgPj0gdGltZXN0YW1wKVxuICAgICAgcmV0dXJuIGNhY2hlLnJlc3VsdFxuXG4gICAgY29uc3QgZXh0ZXJuYWxpemUgPSBhd2FpdCB0aGlzLnNob3VsZEV4dGVybmFsaXplKGZpbGVQYXRoKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgcmVzdWx0ID0geyBleHRlcm5hbGl6ZSB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgciA9IGF3YWl0IHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICByZXN1bHQgPSB7IGNvZGU6IHI/LmNvZGUsIG1hcDogcj8ubWFwIGFzIHVua25vd24gYXMgUmF3U291cmNlTWFwIH1cbiAgICB9XG5cbiAgICB0aGlzLmZldGNoQ2FjaGUuc2V0KGZpbGVQYXRoLCB7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3RyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCB8IG51bGwgPSBudWxsXG5cbiAgICBpZiAodGhpcy5nZXRUcmFuc2Zvcm1Nb2RlKGlkKSA9PT0gJ3dlYicpIHtcbiAgICAgIC8vIGZvciBjb21wb25lbnRzIGxpa2UgVnVlLCB3ZSB3YW50IHRvIHVzZSB0aGUgY2xpZW50IHNpZGVcbiAgICAgIC8vIHBsdWdpbnMgYnV0IHRoZW4gY29udmVydCB0aGUgY29kZSB0byBiZSBjb25zdW1lZCBieSB0aGUgc2VydmVyXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIuc3NyVHJhbnNmb3JtKHJlc3VsdC5jb2RlLCByZXN1bHQubWFwLCBpZClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkLCB7IHNzcjogdHJ1ZSB9KVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZW1hcCA9IHRoaXMub3B0aW9ucy5zb3VyY2VtYXAgPz8gJ2lubGluZSdcbiAgICBpZiAoc291cmNlbWFwID09PSAnaW5saW5lJyAmJiByZXN1bHQgJiYgIWlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSlcbiAgICAgIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOlsiZXhpc3RzU3luYyIsImlzTm9kZUJ1aWx0aW4iLCJpc1ZhbGlkTm9kZUltcG9ydCIsInNsYXNoIiwidG9GaWxlUGF0aCIsIndpdGhJbmxpbmVTb3VyY2VtYXAiXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLFVBQWEsR0FBQSxvREFBQSxDQUFBO0FBQ25CLE1BQU0sYUFBZ0IsR0FBQSxrQkFBQSxDQUFBO0FBRXRCLE1BQU0sYUFBZ0IsR0FBQTtBQUFBLEVBQ3BCLFVBQUE7QUFBQSxFQUNBLE9BQUE7QUFBQSxFQUNBLFVBQUE7QUFBQSxFQUNBLGFBQUE7QUFBQSxDQUFBLENBQUE7QUFHRixNQUFNLFlBQWUsR0FBQTtBQUFBLEVBQ25CLFlBQUE7QUFBQSxFQUNBLFFBQUE7QUFBQSxDQUFBLENBQUE7QUFHSyxTQUFBLGVBQUEsQ0FBeUIsRUFBZ0MsRUFBQTtBQUM5RCxFQUFJLElBQUEsRUFBQSxDQUFHLE1BQU0sVUFBYSxDQUFBLEVBQUE7QUFDeEIsSUFBQSxLQUFBLE1BQVcsQ0FBSyxJQUFBO0FBQUEsTUFDZCxFQUFBLENBQUcsUUFBUSxVQUFZLEVBQUEsTUFBQSxDQUFBO0FBQUEsTUFDdkIsRUFBQSxDQUFHLFFBQVEsVUFBWSxFQUFBLFNBQUEsQ0FBQTtBQUFBLE1BQ3ZCLEVBQUEsQ0FBRyxRQUFRLFVBQVksRUFBQSxTQUFBLENBQUE7QUFBQSxNQUN2QixF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
|
|
201
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmNqcyIsInNvdXJjZXMiOlsiLi4vc3JjL2V4dGVybmFsaXplLnRzIiwiLi4vc3JjL3NlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSAnZnMnXG5pbXBvcnQgeyBpc05vZGVCdWlsdGluLCBpc1ZhbGlkTm9kZUltcG9ydCB9IGZyb20gJ21sbHknXG5pbXBvcnQgdHlwZSB7IERlcHNIYW5kbGluZ09wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2xhc2ggfSBmcm9tICcuL3V0aWxzJ1xuXG5jb25zdCBFU01fRVhUX1JFID0gL1xcLihlc3xlc218ZXNtLWJyb3dzZXJ8ZXNtLWJ1bmRsZXJ8ZXM2fG1vZHVsZSlcXC5qcyQvXG5jb25zdCBFU01fRk9MREVSX1JFID0gL1xcL2VzbVxcLyguKlxcLmpzKSQvXG5cbmNvbnN0IGRlZmF1bHRJbmxpbmUgPSBbXG4gIC92aXJ0dWFsOi8sXG4gIC9cXC50cyQvLFxuICBFU01fRVhUX1JFLFxuICBFU01fRk9MREVSX1JFLFxuXVxuXG5jb25zdCBkZXBzRXh0ZXJuYWwgPSBbXG4gIC9cXC5janNcXC5qcyQvLFxuICAvXFwubWpzJC8sXG5dXG5cbmV4cG9ydCBmdW5jdGlvbiBndWVzc0NKU3ZlcnNpb24oaWQ6IHN0cmluZyk6IHN0cmluZyB8IHVuZGVmaW5lZCB7XG4gIGlmIChpZC5tYXRjaChFU01fRVhUX1JFKSkge1xuICAgIGZvciAoY29uc3QgaSBvZiBbXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcubWpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcudW1kLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuY2pzLmpzJyksXG4gICAgICBpZC5yZXBsYWNlKEVTTV9FWFRfUkUsICcuanMnKSxcbiAgICBdKSB7XG4gICAgICBpZiAoZXhpc3RzU3luYyhpKSlcbiAgICAgICAgcmV0dXJuIGlcbiAgICB9XG4gIH1cbiAgaWYgKGlkLm1hdGNoKEVTTV9GT0xERVJfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy91bWQvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy9janMvJDEnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0ZPTERFUl9SRSwgJy8kMScpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxufVxuXG5leHBvcnQgYXN5bmMgZnVuY3Rpb24gc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuICBjYWNoZSA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPHN0cmluZyB8IGZhbHNlPj4oKSxcbikge1xuICBpZiAoIWNhY2hlLmhhcyhpZCkpXG4gICAgY2FjaGUuc2V0KGlkLCBfc2hvdWxkRXh0ZXJuYWxpemUoaWQsIG9wdGlvbnMpKVxuICByZXR1cm4gY2FjaGUuZ2V0KGlkKSFcbn1cblxuYXN5bmMgZnVuY3Rpb24gX3Nob3VsZEV4dGVybmFsaXplKFxuICBpZDogc3RyaW5nLFxuICBvcHRpb25zPzogRGVwc0hhbmRsaW5nT3B0aW9ucyxcbik6IFByb21pc2U8c3RyaW5nIHwgZmFsc2U+IHtcbiAgaWYgKGlzTm9kZUJ1aWx0aW4oaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIC8vIGRhdGE6IHNob3VsZCBiZSBwcm9jZXNzZWQgYnkgbmF0aXZlIGltcG9ydCxcbiAgLy8gc2luY2UgaXQgaXMgYSBmZWF0dXJlIG9mIEVTTVxuICBpZiAoaWQuc3RhcnRzV2l0aCgnZGF0YTonKSlcbiAgICByZXR1cm4gaWRcblxuICBpZCA9IHBhdGNoV2luZG93c0ltcG9ydFBhdGgoaWQpXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBvcHRpb25zPy5pbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmV4dGVybmFsKSlcbiAgICByZXR1cm4gaWRcblxuICBjb25zdCBpc05vZGVNb2R1bGUgPSBpZC5pbmNsdWRlcygnL25vZGVfbW9kdWxlcy8nKVxuICBjb25zdCBndWVzc0NKUyA9IGlzTm9kZU1vZHVsZSAmJiBvcHRpb25zPy5mYWxsYmFja0NKU1xuICBpZCA9IGd1ZXNzQ0pTID8gZ3Vlc3NDSlN2ZXJzaW9uKGlkKSB8fCBpZCA6IGlkXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZWZhdWx0SW5saW5lKSlcbiAgICByZXR1cm4gZmFsc2VcbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZXBzRXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzRGlzdCA9IGlkLmluY2x1ZGVzKCcvZGlzdC8nKVxuICBpZiAoKGlzTm9kZU1vZHVsZSB8fCBpc0Rpc3QpICYmIGF3YWl0IGlzVmFsaWROb2RlSW1wb3J0KGlkKSlcbiAgICByZXR1cm4gaWRcblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gbWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQ6IHN0cmluZywgcGF0dGVybnM/OiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gIGlmICghcGF0dGVybnMpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGZvciAoY29uc3QgZXggb2YgcGF0dGVybnMpIHtcbiAgICBpZiAodHlwZW9mIGV4ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGlkLmluY2x1ZGVzKGAvbm9kZV9tb2R1bGVzLyR7ZXh9L2ApKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChleC50ZXN0KGlkKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBhdGNoV2luZG93c0ltcG9ydFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcXFwvKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtzbGFzaChwYXRoKX1gXG4gIGVsc2UgaWYgKHBhdGgubWF0Y2goL15cXHc6XFwvLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7cGF0aH1gXG4gIGVsc2VcbiAgICByZXR1cm4gcGF0aFxufVxuIiwiaW1wb3J0IHsgam9pbiB9IGZyb20gJ3BhdGhlJ1xuaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQsIFZpdGVEZXZTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHR5cGUgeyBGZXRjaFJlc3VsdCwgUmF3U291cmNlTWFwLCBWaXRlTm9kZVJlc29sdmVJZCwgVml0ZU5vZGVTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNob3VsZEV4dGVybmFsaXplIH0gZnJvbSAnLi9leHRlcm5hbGl6ZSdcbmltcG9ydCB7IHRvRmlsZVBhdGgsIHdpdGhJbmxpbmVTb3VyY2VtYXAgfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsaXplJ1xuXG4vLyBzdG9yZSB0aGUgb3JpZ2luYWwgcmVmZXJlbmNlIHRvIGF2b2lkIGl0IGJlZW4gbW9ja2VkXG5jb25zdCBSZWFsRGF0ZSA9IERhdGVcblxuZXhwb3J0IGNsYXNzIFZpdGVOb2RlU2VydmVyIHtcbiAgcHJpdmF0ZSBmZXRjaFByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxGZXRjaFJlc3VsdD4+KClcbiAgcHJpdmF0ZSB0cmFuc2Zvcm1Qcm9taXNlTWFwID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8VHJhbnNmb3JtUmVzdWx0IHwgbnVsbCB8IHVuZGVmaW5lZD4+KClcblxuICBmZXRjaENhY2hlID0gbmV3IE1hcDxzdHJpbmcsIHtcbiAgICB0aW1lc3RhbXA6IG51bWJlclxuICAgIHJlc3VsdDogRmV0Y2hSZXN1bHRcbiAgfT4oKVxuXG4gIGNvbnN0cnVjdG9yKFxuICAgIHB1YmxpYyBzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIsXG4gICAgcHVibGljIG9wdGlvbnM6IFZpdGVOb2RlU2VydmVyT3B0aW9ucyA9IHt9LFxuICApIHt9XG5cbiAgc2hvdWxkRXh0ZXJuYWxpemUoaWQ6IHN0cmluZykge1xuICAgIHJldHVybiBzaG91bGRFeHRlcm5hbGl6ZShpZCwgdGhpcy5vcHRpb25zLmRlcHMpXG4gIH1cblxuICBhc3luYyByZXNvbHZlSWQoaWQ6IHN0cmluZywgaW1wb3J0ZXI/OiBzdHJpbmcpOiBQcm9taXNlPFZpdGVOb2RlUmVzb2x2ZUlkIHwgbnVsbD4ge1xuICAgIGlmIChpbXBvcnRlciAmJiAhaW1wb3J0ZXIuc3RhcnRzV2l0aCh0aGlzLnNlcnZlci5jb25maWcucm9vdCkpXG4gICAgICBpbXBvcnRlciA9IGpvaW4odGhpcy5zZXJ2ZXIuY29uZmlnLnJvb3QsIGltcG9ydGVyKVxuICAgIHJldHVybiB0aGlzLnNlcnZlci5wbHVnaW5Db250YWluZXIucmVzb2x2ZUlkKGlkLCBpbXBvcnRlciwgeyBzc3I6IHRydWUgfSlcbiAgfVxuXG4gIGFzeW5jIGZldGNoTW9kdWxlKGlkOiBzdHJpbmcpOiBQcm9taXNlPEZldGNoUmVzdWx0PiB7XG4gICAgLy8gcmV1c2UgdHJhbnNmb3JtIGZvciBjb25jdXJyZW50IHJlcXVlc3RzXG4gICAgaWYgKCF0aGlzLmZldGNoUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLmZldGNoUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX2ZldGNoTW9kdWxlKGlkKVxuICAgICAgICAgIC50aGVuKChyKSA9PiB7XG4gICAgICAgICAgICByZXR1cm4gdGhpcy5vcHRpb25zLnNvdXJjZW1hcCAhPT0gdHJ1ZSA/IHsgLi4uciwgbWFwOiB1bmRlZmluZWQgfSA6IHJcbiAgICAgICAgICB9KVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMuZmV0Y2hQcm9taXNlTWFwLmdldChpZCkhXG4gIH1cblxuICBhc3luYyB0cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5oYXMoaWQpKSB7XG4gICAgICB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuc2V0KGlkLFxuICAgICAgICB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgICAgIC5maW5hbGx5KCgpID0+IHtcbiAgICAgICAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5kZWxldGUoaWQpXG4gICAgICAgICAgfSksXG4gICAgICApXG4gICAgfVxuICAgIHJldHVybiB0aGlzLnRyYW5zZm9ybVByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGdldFRyYW5zZm9ybU1vZGUoaWQ6IHN0cmluZykge1xuICAgIGNvbnN0IHdpdGhvdXRRdWVyeSA9IGlkLnNwbGl0KCc/JylbMF1cblxuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8ud2ViPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnd2ViJ1xuICAgIGlmICh0aGlzLm9wdGlvbnMudHJhbnNmb3JtTW9kZT8uc3NyPy5zb21lKHIgPT4gd2l0aG91dFF1ZXJ5Lm1hdGNoKHIpKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuXG4gICAgaWYgKHdpdGhvdXRRdWVyeS5tYXRjaCgvXFwuKFtjbV0/W2p0XXN4P3xqc29uKSQvKSlcbiAgICAgIHJldHVybiAnc3NyJ1xuICAgIHJldHVybiAnd2ViJ1xuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICBsZXQgcmVzdWx0OiBGZXRjaFJlc3VsdFxuXG4gICAgY29uc3QgZmlsZVBhdGggPSB0b0ZpbGVQYXRoKGlkLCB0aGlzLnNlcnZlci5jb25maWcucm9vdClcblxuICAgIGNvbnN0IG1vZHVsZSA9IHRoaXMuc2VydmVyLm1vZHVsZUdyYXBoLmdldE1vZHVsZUJ5SWQoaWQpXG4gICAgY29uc3QgdGltZXN0YW1wID0gbW9kdWxlPy5sYXN0SE1SVGltZXN0YW1wIHx8IFJlYWxEYXRlLm5vdygpXG4gICAgY29uc3QgY2FjaGUgPSB0aGlzLmZldGNoQ2FjaGUuZ2V0KGZpbGVQYXRoKVxuICAgIGlmICh0aW1lc3RhbXAgJiYgY2FjaGUgJiYgY2FjaGUudGltZXN0YW1wID49IHRpbWVzdGFtcClcbiAgICAgIHJldHVybiBjYWNoZS5yZXN1bHRcblxuICAgIGNvbnN0IGV4dGVybmFsaXplID0gYXdhaXQgdGhpcy5zaG91bGRFeHRlcm5hbGl6ZShmaWxlUGF0aClcbiAgICBpZiAoZXh0ZXJuYWxpemUpIHtcbiAgICAgIHJlc3VsdCA9IHsgZXh0ZXJuYWxpemUgfVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGNvbnN0IHIgPSBhd2FpdCB0aGlzLl90cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgcmVzdWx0ID0geyBjb2RlOiByPy5jb2RlLCBtYXA6IHI/Lm1hcCBhcyB1bmtub3duIGFzIFJhd1NvdXJjZU1hcCB9XG4gICAgfVxuXG4gICAgdGhpcy5mZXRjaENhY2hlLnNldChmaWxlUGF0aCwge1xuICAgICAgdGltZXN0YW1wLFxuICAgICAgcmVzdWx0LFxuICAgIH0pXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF90cmFuc2Zvcm1SZXF1ZXN0KGlkOiBzdHJpbmcpIHtcbiAgICBsZXQgcmVzdWx0OiBUcmFuc2Zvcm1SZXN1bHQgfCBudWxsID0gbnVsbFxuXG4gICAgaWYgKHRoaXMuZ2V0VHJhbnNmb3JtTW9kZShpZCkgPT09ICd3ZWInKSB7XG4gICAgICAvLyBmb3IgY29tcG9uZW50cyBsaWtlIFZ1ZSwgd2Ugd2FudCB0byB1c2UgdGhlIGNsaWVudCBzaWRlXG4gICAgICAvLyBwbHVnaW5zIGJ1dCB0aGVuIGNvbnZlcnQgdGhlIGNvZGUgdG8gYmUgY29uc3VtZWQgYnkgdGhlIHNlcnZlclxuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZClcbiAgICAgIGlmIChyZXN1bHQpXG4gICAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VydmVyLnNzclRyYW5zZm9ybShyZXN1bHQuY29kZSwgcmVzdWx0Lm1hcCwgaWQpXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIudHJhbnNmb3JtUmVxdWVzdChpZCwgeyBzc3I6IHRydWUgfSlcbiAgICB9XG5cbiAgICBjb25zdCBzb3VyY2VtYXAgPSB0aGlzLm9wdGlvbnMuc291cmNlbWFwID8/ICdpbmxpbmUnXG4gICAgaWYgKHNvdXJjZW1hcCA9PT0gJ2lubGluZScgJiYgcmVzdWx0ICYmICFpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpXG4gICAgICB3aXRoSW5saW5lU291cmNlbWFwKHJlc3VsdClcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxufVxuIl0sIm5hbWVzIjpbImV4aXN0c1N5bmMiLCJpc05vZGVCdWlsdGluIiwiaXNWYWxpZE5vZGVJbXBvcnQiLCJzbGFzaCIsImpvaW4iLCJ0b0ZpbGVQYXRoIiwid2l0aElubGluZVNvdXJjZW1hcCJdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQUtBLE1BQU0sVUFBYSxHQUFBLG9EQUFBLENBQUE7QUFDbkIsTUFBTSxhQUFnQixHQUFBLGtCQUFBLENBQUE7QUFFdEIsTUFBTSxhQUFnQixHQUFBO0FBQUEsRUFDcEIsVUFBQTtBQUFBLEVBQ0EsT0FBQTtBQUFBLEVBQ0EsVUFBQTtBQUFBLEVBQ0EsYUFBQTtBQUFBLENBQUEsQ0FBQTtBQUdGLE1BQU0sWUFBZSxHQUFBO0FB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
|
package/dist/server.js
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
|
+
import { join } from 'pathe';
|
|
1
2
|
import { existsSync } from 'fs';
|
|
2
3
|
import { isNodeBuiltin, isValidNodeImport } from 'mlly';
|
|
3
4
|
import { slash, toFilePath, withInlineSourcemap } from './utils.js';
|
|
4
5
|
import 'url';
|
|
5
|
-
import 'pathe';
|
|
6
6
|
|
|
7
7
|
const ESM_EXT_RE = /\.(es|esm|esm-browser|esm-bundler|es6|module)\.js$/;
|
|
8
8
|
const ESM_FOLDER_RE = /\/esm\/(.*\.js)$/;
|
|
@@ -55,7 +55,8 @@ async function _shouldExternalize(id, options) {
|
|
|
55
55
|
if (matchExternalizePattern(id, options == null ? void 0 : options.external))
|
|
56
56
|
return id;
|
|
57
57
|
const isNodeModule = id.includes("/node_modules/");
|
|
58
|
-
|
|
58
|
+
const guessCJS = isNodeModule && (options == null ? void 0 : options.fallbackCJS);
|
|
59
|
+
id = guessCJS ? guessCJSversion(id) || id : id;
|
|
59
60
|
if (matchExternalizePattern(id, defaultInline))
|
|
60
61
|
return false;
|
|
61
62
|
if (matchExternalizePattern(id, depsExternal))
|
|
@@ -107,6 +108,7 @@ var __spreadValues = (a, b) => {
|
|
|
107
108
|
return a;
|
|
108
109
|
};
|
|
109
110
|
var __spreadProps = (a, b) => __defProps(a, __getOwnPropDescs(b));
|
|
111
|
+
const RealDate = Date;
|
|
110
112
|
class ViteNodeServer {
|
|
111
113
|
constructor(server, options = {}) {
|
|
112
114
|
this.server = server;
|
|
@@ -119,6 +121,8 @@ class ViteNodeServer {
|
|
|
119
121
|
return shouldExternalize(id, this.options.deps);
|
|
120
122
|
}
|
|
121
123
|
async resolveId(id, importer) {
|
|
124
|
+
if (importer && !importer.startsWith(this.server.config.root))
|
|
125
|
+
importer = join(this.server.config.root, importer);
|
|
122
126
|
return this.server.pluginContainer.resolveId(id, importer, { ssr: true });
|
|
123
127
|
}
|
|
124
128
|
async fetchModule(id) {
|
|
@@ -154,7 +158,7 @@ class ViteNodeServer {
|
|
|
154
158
|
let result;
|
|
155
159
|
const filePath = toFilePath(id, this.server.config.root);
|
|
156
160
|
const module = this.server.moduleGraph.getModuleById(id);
|
|
157
|
-
const timestamp = (module == null ? void 0 : module.lastHMRTimestamp) ||
|
|
161
|
+
const timestamp = (module == null ? void 0 : module.lastHMRTimestamp) || RealDate.now();
|
|
158
162
|
const cache = this.fetchCache.get(filePath);
|
|
159
163
|
if (timestamp && cache && cache.timestamp >= timestamp)
|
|
160
164
|
return cache.result;
|
|
@@ -188,4 +192,4 @@ class ViteNodeServer {
|
|
|
188
192
|
}
|
|
189
193
|
|
|
190
194
|
export { ViteNodeServer, guessCJSversion, shouldExternalize };
|
|
191
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlcyI6WyIuLi9zcmMvZXh0ZXJuYWxpemUudHMiLCIuLi9zcmMvc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdmcydcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4sIGlzVmFsaWROb2RlSW1wb3J0IH0gZnJvbSAnbWxseSdcbmltcG9ydCB0eXBlIHsgRGVwc0hhbmRsaW5nT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzbGFzaCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IEVTTV9FWFRfUkUgPSAvXFwuKGVzfGVzbXxlc20tYnJvd3Nlcnxlc20tYnVuZGxlcnxlczZ8bW9kdWxlKVxcLmpzJC9cbmNvbnN0IEVTTV9GT0xERVJfUkUgPSAvXFwvZXNtXFwvKC4qXFwuanMpJC9cblxuY29uc3QgZGVmYXVsdElubGluZSA9IFtcbiAgL3ZpcnR1YWw6LyxcbiAgL1xcLnRzJC8sXG4gIEVTTV9FWFRfUkUsXG4gIEVTTV9GT0xERVJfUkUsXG5dXG5cbmNvbnN0IGRlcHNFeHRlcm5hbCA9IFtcbiAgL1xcLmNqc1xcLmpzJC8sXG4gIC9cXC5tanMkLyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1ZXNzQ0pTdmVyc2lvbihpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGlkLm1hdGNoKEVTTV9FWFRfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5tanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy51bWQuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5janMuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5qcycpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICBpZiAoaWQubWF0Y2goRVNNX0ZPTERFUl9SRSkpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgW1xuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL3VtZC8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL2Nqcy8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnLyQxJyksXG4gICAgXSkge1xuICAgICAgaWYgKGV4aXN0c1N5bmMoaSkpXG4gICAgICAgIHJldHVybiBpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG91bGRFeHRlcm5hbGl6ZShcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IERlcHNIYW5kbGluZ09wdGlvbnMsXG4gIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8c3RyaW5nIHwgZmFsc2U+PigpLFxuKSB7XG4gIGlmICghY2FjaGUuaGFzKGlkKSlcbiAgICBjYWNoZS5zZXQoaWQsIF9zaG91bGRFeHRlcm5hbGl6ZShpZCwgb3B0aW9ucykpXG4gIHJldHVybiBjYWNoZS5nZXQoaWQpIVxufVxuXG5hc3luYyBmdW5jdGlvbiBfc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBmYWxzZT4ge1xuICBpZiAoaXNOb2RlQnVpbHRpbihpZCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgLy8gZGF0YTogc2hvdWxkIGJlIHByb2Nlc3NlZCBieSBuYXRpdmUgaW1wb3J0LFxuICAvLyBzaW5jZSBpdCBpcyBhIGZlYXR1cmUgb2YgRVNNXG4gIGlmIChpZC5zdGFydHNXaXRoKCdkYXRhOicpKVxuICAgIHJldHVybiBpZFxuXG4gIGlkID0gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChpZClcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmlubGluZSkpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgb3B0aW9ucz8uZXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzTm9kZU1vZHVsZSA9IGlkLmluY2x1ZGVzKCcvbm9kZV9tb2R1bGVzLycpXG4gIGlkID0gaXNOb2RlTW9kdWxlID8gZ3Vlc3NDSlN2ZXJzaW9uKGlkKSB8fCBpZCA6IGlkXG5cbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZWZhdWx0SW5saW5lKSlcbiAgICByZXR1cm4gZmFsc2VcbiAgaWYgKG1hdGNoRXh0ZXJuYWxpemVQYXR0ZXJuKGlkLCBkZXBzRXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzRGlzdCA9IGlkLmluY2x1ZGVzKCcvZGlzdC8nKVxuICBpZiAoKGlzTm9kZU1vZHVsZSB8fCBpc0Rpc3QpICYmIGF3YWl0IGlzVmFsaWROb2RlSW1wb3J0KGlkKSlcbiAgICByZXR1cm4gaWRcblxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gbWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQ6IHN0cmluZywgcGF0dGVybnM/OiAoc3RyaW5nIHwgUmVnRXhwKVtdKSB7XG4gIGlmICghcGF0dGVybnMpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGZvciAoY29uc3QgZXggb2YgcGF0dGVybnMpIHtcbiAgICBpZiAodHlwZW9mIGV4ID09PSAnc3RyaW5nJykge1xuICAgICAgaWYgKGlkLmluY2x1ZGVzKGAvbm9kZV9tb2R1bGVzLyR7ZXh9L2ApKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIGlmIChleC50ZXN0KGlkKSlcbiAgICAgICAgcmV0dXJuIHRydWVcbiAgICB9XG4gIH1cbiAgcmV0dXJuIGZhbHNlXG59XG5cbmZ1bmN0aW9uIHBhdGNoV2luZG93c0ltcG9ydFBhdGgocGF0aDogc3RyaW5nKSB7XG4gIGlmIChwYXRoLm1hdGNoKC9eXFx3OlxcXFwvKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtzbGFzaChwYXRoKX1gXG4gIGVsc2UgaWYgKHBhdGgubWF0Y2goL15cXHc6XFwvLykpXG4gICAgcmV0dXJuIGBmaWxlOi8vLyR7cGF0aH1gXG4gIGVsc2VcbiAgICByZXR1cm4gcGF0aFxufVxuIiwiaW1wb3J0IHR5cGUgeyBUcmFuc2Zvcm1SZXN1bHQsIFZpdGVEZXZTZXJ2ZXIgfSBmcm9tICd2aXRlJ1xuaW1wb3J0IHR5cGUgeyBGZXRjaFJlc3VsdCwgUmF3U291cmNlTWFwLCBWaXRlTm9kZVJlc29sdmVJZCwgVml0ZU5vZGVTZXJ2ZXJPcHRpb25zIH0gZnJvbSAnLi90eXBlcydcbmltcG9ydCB7IHNob3VsZEV4dGVybmFsaXplIH0gZnJvbSAnLi9leHRlcm5hbGl6ZSdcbmltcG9ydCB7IHRvRmlsZVBhdGgsIHdpdGhJbmxpbmVTb3VyY2VtYXAgfSBmcm9tICcuL3V0aWxzJ1xuXG5leHBvcnQgKiBmcm9tICcuL2V4dGVybmFsaXplJ1xuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVTZXJ2ZXIge1xuICBwcml2YXRlIGZldGNoUHJvbWlzZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPEZldGNoUmVzdWx0Pj4oKVxuICBwcml2YXRlIHRyYW5zZm9ybVByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPj4oKVxuXG4gIGZldGNoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywge1xuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVzdWx0OiBGZXRjaFJlc3VsdFxuICB9PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZlcjogVml0ZURldlNlcnZlcixcbiAgICBwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVTZXJ2ZXJPcHRpb25zID0ge30sXG4gICkge31cblxuICBzaG91bGRFeHRlcm5hbGl6ZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHNob3VsZEV4dGVybmFsaXplKGlkLCB0aGlzLm9wdGlvbnMuZGVwcylcbiAgfVxuXG4gIGFzeW5jIHJlc29sdmVJZChpZDogc3RyaW5nLCBpbXBvcnRlcj86IHN0cmluZyk6IFByb21pc2U8Vml0ZU5vZGVSZXNvbHZlSWQgfCBudWxsPiB7XG4gICAgcmV0dXJuIHRoaXMuc2VydmVyLnBsdWdpbkNvbnRhaW5lci5yZXNvbHZlSWQoaWQsIGltcG9ydGVyLCB7IHNzcjogdHJ1ZSB9KVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMuZmV0Y2hQcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLnNldChpZCxcbiAgICAgICAgdGhpcy5fZmV0Y2hNb2R1bGUoaWQpXG4gICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc291cmNlbWFwICE9PSB0cnVlID8geyAuLi5yLCBtYXA6IHVuZGVmaW5lZCB9IDogclxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZXRjaFByb21pc2VNYXAuZGVsZXRlKGlkKVxuICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaFByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGFzeW5jIHRyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIC8vIHJldXNlIHRyYW5zZm9ybSBmb3IgY29uY3VycmVudCByZXF1ZXN0c1xuICAgIGlmICghdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5nZXQoaWQpIVxuICB9XG5cbiAgZ2V0VHJhbnNmb3JtTW9kZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2l0aG91dFF1ZXJ5ID0gaWQuc3BsaXQoJz8nKVswXVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy53ZWI/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICd3ZWInXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy5zc3I/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICdzc3InXG5cbiAgICBpZiAod2l0aG91dFF1ZXJ5Lm1hdGNoKC9cXC4oW2NtXT9banRdc3g/fGpzb24pJC8pKVxuICAgICAgcmV0dXJuICdzc3InXG4gICAgcmV0dXJuICd3ZWInXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9mZXRjaE1vZHVsZShpZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaFJlc3VsdD4ge1xuICAgIGxldCByZXN1bHQ6IEZldGNoUmVzdWx0XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRvRmlsZVBhdGgoaWQsIHRoaXMuc2VydmVyLmNvbmZpZy5yb290KVxuXG4gICAgY29uc3QgbW9kdWxlID0gdGhpcy5zZXJ2ZXIubW9kdWxlR3JhcGguZ2V0TW9kdWxlQnlJZChpZClcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBtb2R1bGU/Lmxhc3RITVJUaW1lc3RhbXAgfHwgRGF0ZS5ub3coKVxuICAgIGNvbnN0IGNhY2hlID0gdGhpcy5mZXRjaENhY2hlLmdldChmaWxlUGF0aClcbiAgICBpZiAodGltZXN0YW1wICYmIGNhY2hlICYmIGNhY2hlLnRpbWVzdGFtcCA+PSB0aW1lc3RhbXApXG4gICAgICByZXR1cm4gY2FjaGUucmVzdWx0XG5cbiAgICBjb25zdCBleHRlcm5hbGl6ZSA9IGF3YWl0IHRoaXMuc2hvdWxkRXh0ZXJuYWxpemUoZmlsZVBhdGgpXG4gICAgaWYgKGV4dGVybmFsaXplKSB7XG4gICAgICByZXN1bHQgPSB7IGV4dGVybmFsaXplIH1cbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICBjb25zdCByID0gYXdhaXQgdGhpcy5fdHJhbnNmb3JtUmVxdWVzdChpZClcbiAgICAgIHJlc3VsdCA9IHsgY29kZTogcj8uY29kZSwgbWFwOiByPy5tYXAgYXMgdW5rbm93biBhcyBSYXdTb3VyY2VNYXAgfVxuICAgIH1cblxuICAgIHRoaXMuZmV0Y2hDYWNoZS5zZXQoZmlsZVBhdGgsIHtcbiAgICAgIHRpbWVzdGFtcCxcbiAgICAgIHJlc3VsdCxcbiAgICB9KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG5cbiAgcHJpdmF0ZSBhc3luYyBfdHJhbnNmb3JtUmVxdWVzdChpZDogc3RyaW5nKSB7XG4gICAgbGV0IHJlc3VsdDogVHJhbnNmb3JtUmVzdWx0IHwgbnVsbCA9IG51bGxcblxuICAgIGlmICh0aGlzLmdldFRyYW5zZm9ybU1vZGUoaWQpID09PSAnd2ViJykge1xuICAgICAgLy8gZm9yIGNvbXBvbmVudHMgbGlrZSBWdWUsIHdlIHdhbnQgdG8gdXNlIHRoZSBjbGllbnQgc2lkZVxuICAgICAgLy8gcGx1Z2lucyBidXQgdGhlbiBjb252ZXJ0IHRoZSBjb2RlIHRvIGJlIGNvbnN1bWVkIGJ5IHRoZSBzZXJ2ZXJcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VydmVyLnRyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICBpZiAocmVzdWx0KVxuICAgICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci5zc3JUcmFuc2Zvcm0ocmVzdWx0LmNvZGUsIHJlc3VsdC5tYXAsIGlkKVxuICAgIH1cbiAgICBlbHNlIHtcbiAgICAgIHJlc3VsdCA9IGF3YWl0IHRoaXMuc2VydmVyLnRyYW5zZm9ybVJlcXVlc3QoaWQsIHsgc3NyOiB0cnVlIH0pXG4gICAgfVxuXG4gICAgY29uc3Qgc291cmNlbWFwID0gdGhpcy5vcHRpb25zLnNvdXJjZW1hcCA/PyAnaW5saW5lJ1xuICAgIGlmIChzb3VyY2VtYXAgPT09ICdpbmxpbmUnICYmIHJlc3VsdCAmJiAhaWQuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKVxuICAgICAgd2l0aElubGluZVNvdXJjZW1hcChyZXN1bHQpXG5cbiAgICByZXR1cm4gcmVzdWx0XG4gIH1cbn1cbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7QUFHQSxNQUFNLFVBQVUsR0FBRyxvREFBb0QsQ0FBQztBQUN4RSxNQUFNLGFBQWEsR0FBRyxrQkFBa0IsQ0FBQztBQUN6QyxNQUFNLGFBQWEsR0FBRztBQUN0QixFQUFFLFVBQVU7QUFDWixFQUFFLE9BQU87QUFDVCxFQUFFLFVBQVU7QUFDWixFQUFFLGFBQWE7QUFDZixDQUFDLENBQUM7QUFDRixNQUFNLFlBQVksR0FBRztBQUNyQixFQUFFLFlBQVk7QUFDZCxFQUFFLFFBQVE7QUFDVixDQUFDLENBQUM7QUFDSyxTQUFTLGVBQWUsQ0FBQyxFQUFFLEVBQUU7QUFDcEMsRUFBRSxJQUFJLEVBQUUsQ0FBQyxLQUFLLENBQUMsVUFBVSxDQUFDLEVBQUU7QUFDNUIsSUFBSSxLQUFLLE1BQU0sQ0FBQyxJQUFJO0FBQ3BCLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsTUFBTSxDQUFDO0FBQ3BDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsU0FBUyxDQUFDO0FBQ3ZDLE1BQU0sRUFBRSxDQUFDLE9BQU8sQ0FBQyxVQUFVLEVBQUUsS0FBSyxDQUFDO0FBQ25DLEtBQUssRUFBRTtBQUNQLE1BQU0sSUFBSSxVQUFVLENB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
|
|
195
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VydmVyLmpzIiwic291cmNlcyI6WyIuLi9zcmMvZXh0ZXJuYWxpemUudHMiLCIuLi9zcmMvc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGV4aXN0c1N5bmMgfSBmcm9tICdmcydcbmltcG9ydCB7IGlzTm9kZUJ1aWx0aW4sIGlzVmFsaWROb2RlSW1wb3J0IH0gZnJvbSAnbWxseSdcbmltcG9ydCB0eXBlIHsgRGVwc0hhbmRsaW5nT3B0aW9ucyB9IGZyb20gJy4vdHlwZXMnXG5pbXBvcnQgeyBzbGFzaCB9IGZyb20gJy4vdXRpbHMnXG5cbmNvbnN0IEVTTV9FWFRfUkUgPSAvXFwuKGVzfGVzbXxlc20tYnJvd3Nlcnxlc20tYnVuZGxlcnxlczZ8bW9kdWxlKVxcLmpzJC9cbmNvbnN0IEVTTV9GT0xERVJfUkUgPSAvXFwvZXNtXFwvKC4qXFwuanMpJC9cblxuY29uc3QgZGVmYXVsdElubGluZSA9IFtcbiAgL3ZpcnR1YWw6LyxcbiAgL1xcLnRzJC8sXG4gIEVTTV9FWFRfUkUsXG4gIEVTTV9GT0xERVJfUkUsXG5dXG5cbmNvbnN0IGRlcHNFeHRlcm5hbCA9IFtcbiAgL1xcLmNqc1xcLmpzJC8sXG4gIC9cXC5tanMkLyxcbl1cblxuZXhwb3J0IGZ1bmN0aW9uIGd1ZXNzQ0pTdmVyc2lvbihpZDogc3RyaW5nKTogc3RyaW5nIHwgdW5kZWZpbmVkIHtcbiAgaWYgKGlkLm1hdGNoKEVTTV9FWFRfUkUpKSB7XG4gICAgZm9yIChjb25zdCBpIG9mIFtcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5tanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy51bWQuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5janMuanMnKSxcbiAgICAgIGlkLnJlcGxhY2UoRVNNX0VYVF9SRSwgJy5qcycpLFxuICAgIF0pIHtcbiAgICAgIGlmIChleGlzdHNTeW5jKGkpKVxuICAgICAgICByZXR1cm4gaVxuICAgIH1cbiAgfVxuICBpZiAoaWQubWF0Y2goRVNNX0ZPTERFUl9SRSkpIHtcbiAgICBmb3IgKGNvbnN0IGkgb2YgW1xuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL3VtZC8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnL2Nqcy8kMScpLFxuICAgICAgaWQucmVwbGFjZShFU01fRk9MREVSX1JFLCAnLyQxJyksXG4gICAgXSkge1xuICAgICAgaWYgKGV4aXN0c1N5bmMoaSkpXG4gICAgICAgIHJldHVybiBpXG4gICAgfVxuICB9XG59XG5cbmV4cG9ydCBhc3luYyBmdW5jdGlvbiBzaG91bGRFeHRlcm5hbGl6ZShcbiAgaWQ6IHN0cmluZyxcbiAgb3B0aW9ucz86IERlcHNIYW5kbGluZ09wdGlvbnMsXG4gIGNhY2hlID0gbmV3IE1hcDxzdHJpbmcsIFByb21pc2U8c3RyaW5nIHwgZmFsc2U+PigpLFxuKSB7XG4gIGlmICghY2FjaGUuaGFzKGlkKSlcbiAgICBjYWNoZS5zZXQoaWQsIF9zaG91bGRFeHRlcm5hbGl6ZShpZCwgb3B0aW9ucykpXG4gIHJldHVybiBjYWNoZS5nZXQoaWQpIVxufVxuXG5hc3luYyBmdW5jdGlvbiBfc2hvdWxkRXh0ZXJuYWxpemUoXG4gIGlkOiBzdHJpbmcsXG4gIG9wdGlvbnM/OiBEZXBzSGFuZGxpbmdPcHRpb25zLFxuKTogUHJvbWlzZTxzdHJpbmcgfCBmYWxzZT4ge1xuICBpZiAoaXNOb2RlQnVpbHRpbihpZCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgLy8gZGF0YTogc2hvdWxkIGJlIHByb2Nlc3NlZCBieSBuYXRpdmUgaW1wb3J0LFxuICAvLyBzaW5jZSBpdCBpcyBhIGZlYXR1cmUgb2YgRVNNXG4gIGlmIChpZC5zdGFydHNXaXRoKCdkYXRhOicpKVxuICAgIHJldHVybiBpZFxuXG4gIGlkID0gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChpZClcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIG9wdGlvbnM/LmlubGluZSkpXG4gICAgcmV0dXJuIGZhbHNlXG4gIGlmIChtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZCwgb3B0aW9ucz8uZXh0ZXJuYWwpKVxuICAgIHJldHVybiBpZFxuXG4gIGNvbnN0IGlzTm9kZU1vZHVsZSA9IGlkLmluY2x1ZGVzKCcvbm9kZV9tb2R1bGVzLycpXG4gIGNvbnN0IGd1ZXNzQ0pTID0gaXNOb2RlTW9kdWxlICYmIG9wdGlvbnM/LmZhbGxiYWNrQ0pTXG4gIGlkID0gZ3Vlc3NDSlMgPyBndWVzc0NKU3ZlcnNpb24oaWQpIHx8IGlkIDogaWRcblxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlZmF1bHRJbmxpbmUpKVxuICAgIHJldHVybiBmYWxzZVxuICBpZiAobWF0Y2hFeHRlcm5hbGl6ZVBhdHRlcm4oaWQsIGRlcHNFeHRlcm5hbCkpXG4gICAgcmV0dXJuIGlkXG5cbiAgY29uc3QgaXNEaXN0ID0gaWQuaW5jbHVkZXMoJy9kaXN0LycpXG4gIGlmICgoaXNOb2RlTW9kdWxlIHx8IGlzRGlzdCkgJiYgYXdhaXQgaXNWYWxpZE5vZGVJbXBvcnQoaWQpKVxuICAgIHJldHVybiBpZFxuXG4gIHJldHVybiBmYWxzZVxufVxuXG5mdW5jdGlvbiBtYXRjaEV4dGVybmFsaXplUGF0dGVybihpZDogc3RyaW5nLCBwYXR0ZXJucz86IChzdHJpbmcgfCBSZWdFeHApW10pIHtcbiAgaWYgKCFwYXR0ZXJucylcbiAgICByZXR1cm4gZmFsc2VcbiAgZm9yIChjb25zdCBleCBvZiBwYXR0ZXJucykge1xuICAgIGlmICh0eXBlb2YgZXggPT09ICdzdHJpbmcnKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoYC9ub2RlX21vZHVsZXMvJHtleH0vYCkpXG4gICAgICAgIHJldHVybiB0cnVlXG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgaWYgKGV4LnRlc3QoaWQpKVxuICAgICAgICByZXR1cm4gdHJ1ZVxuICAgIH1cbiAgfVxuICByZXR1cm4gZmFsc2Vcbn1cblxuZnVuY3Rpb24gcGF0Y2hXaW5kb3dzSW1wb3J0UGF0aChwYXRoOiBzdHJpbmcpIHtcbiAgaWYgKHBhdGgubWF0Y2goL15cXHc6XFxcXC8pKVxuICAgIHJldHVybiBgZmlsZTovLy8ke3NsYXNoKHBhdGgpfWBcbiAgZWxzZSBpZiAocGF0aC5tYXRjaCgvXlxcdzpcXC8vKSlcbiAgICByZXR1cm4gYGZpbGU6Ly8vJHtwYXRofWBcbiAgZWxzZVxuICAgIHJldHVybiBwYXRoXG59XG4iLCJpbXBvcnQgeyBqb2luIH0gZnJvbSAncGF0aGUnXG5pbXBvcnQgdHlwZSB7IFRyYW5zZm9ybVJlc3VsdCwgVml0ZURldlNlcnZlciB9IGZyb20gJ3ZpdGUnXG5pbXBvcnQgdHlwZSB7IEZldGNoUmVzdWx0LCBSYXdTb3VyY2VNYXAsIFZpdGVOb2RlUmVzb2x2ZUlkLCBWaXRlTm9kZVNlcnZlck9wdGlvbnMgfSBmcm9tICcuL3R5cGVzJ1xuaW1wb3J0IHsgc2hvdWxkRXh0ZXJuYWxpemUgfSBmcm9tICcuL2V4dGVybmFsaXplJ1xuaW1wb3J0IHsgdG9GaWxlUGF0aCwgd2l0aElubGluZVNvdXJjZW1hcCB9IGZyb20gJy4vdXRpbHMnXG5cbmV4cG9ydCAqIGZyb20gJy4vZXh0ZXJuYWxpemUnXG5cbi8vIHN0b3JlIHRoZSBvcmlnaW5hbCByZWZlcmVuY2UgdG8gYXZvaWQgaXQgYmVlbiBtb2NrZWRcbmNvbnN0IFJlYWxEYXRlID0gRGF0ZVxuXG5leHBvcnQgY2xhc3MgVml0ZU5vZGVTZXJ2ZXIge1xuICBwcml2YXRlIGZldGNoUHJvbWlzZU1hcCA9IG5ldyBNYXA8c3RyaW5nLCBQcm9taXNlPEZldGNoUmVzdWx0Pj4oKVxuICBwcml2YXRlIHRyYW5zZm9ybVByb21pc2VNYXAgPSBuZXcgTWFwPHN0cmluZywgUHJvbWlzZTxUcmFuc2Zvcm1SZXN1bHQgfCBudWxsIHwgdW5kZWZpbmVkPj4oKVxuXG4gIGZldGNoQ2FjaGUgPSBuZXcgTWFwPHN0cmluZywge1xuICAgIHRpbWVzdGFtcDogbnVtYmVyXG4gICAgcmVzdWx0OiBGZXRjaFJlc3VsdFxuICB9PigpXG5cbiAgY29uc3RydWN0b3IoXG4gICAgcHVibGljIHNlcnZlcjogVml0ZURldlNlcnZlcixcbiAgICBwdWJsaWMgb3B0aW9uczogVml0ZU5vZGVTZXJ2ZXJPcHRpb25zID0ge30sXG4gICkge31cblxuICBzaG91bGRFeHRlcm5hbGl6ZShpZDogc3RyaW5nKSB7XG4gICAgcmV0dXJuIHNob3VsZEV4dGVybmFsaXplKGlkLCB0aGlzLm9wdGlvbnMuZGVwcylcbiAgfVxuXG4gIGFzeW5jIHJlc29sdmVJZChpZDogc3RyaW5nLCBpbXBvcnRlcj86IHN0cmluZyk6IFByb21pc2U8Vml0ZU5vZGVSZXNvbHZlSWQgfCBudWxsPiB7XG4gICAgaWYgKGltcG9ydGVyICYmICFpbXBvcnRlci5zdGFydHNXaXRoKHRoaXMuc2VydmVyLmNvbmZpZy5yb290KSlcbiAgICAgIGltcG9ydGVyID0gam9pbih0aGlzLnNlcnZlci5jb25maWcucm9vdCwgaW1wb3J0ZXIpXG4gICAgcmV0dXJuIHRoaXMuc2VydmVyLnBsdWdpbkNvbnRhaW5lci5yZXNvbHZlSWQoaWQsIGltcG9ydGVyLCB7IHNzcjogdHJ1ZSB9KVxuICB9XG5cbiAgYXN5bmMgZmV0Y2hNb2R1bGUoaWQ6IHN0cmluZyk6IFByb21pc2U8RmV0Y2hSZXN1bHQ+IHtcbiAgICAvLyByZXVzZSB0cmFuc2Zvcm0gZm9yIGNvbmN1cnJlbnQgcmVxdWVzdHNcbiAgICBpZiAoIXRoaXMuZmV0Y2hQcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMuZmV0Y2hQcm9taXNlTWFwLnNldChpZCxcbiAgICAgICAgdGhpcy5fZmV0Y2hNb2R1bGUoaWQpXG4gICAgICAgICAgLnRoZW4oKHIpID0+IHtcbiAgICAgICAgICAgIHJldHVybiB0aGlzLm9wdGlvbnMuc291cmNlbWFwICE9PSB0cnVlID8geyAuLi5yLCBtYXA6IHVuZGVmaW5lZCB9IDogclxuICAgICAgICAgIH0pXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy5mZXRjaFByb21pc2VNYXAuZGVsZXRlKGlkKVxuICAgICAgICAgIH0pLFxuICAgICAgKVxuICAgIH1cbiAgICByZXR1cm4gdGhpcy5mZXRjaFByb21pc2VNYXAuZ2V0KGlkKSFcbiAgfVxuXG4gIGFzeW5jIHRyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIC8vIHJldXNlIHRyYW5zZm9ybSBmb3IgY29uY3VycmVudCByZXF1ZXN0c1xuICAgIGlmICghdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmhhcyhpZCkpIHtcbiAgICAgIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5zZXQoaWQsXG4gICAgICAgIHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICAgICAgLmZpbmFsbHkoKCkgPT4ge1xuICAgICAgICAgICAgdGhpcy50cmFuc2Zvcm1Qcm9taXNlTWFwLmRlbGV0ZShpZClcbiAgICAgICAgICB9KSxcbiAgICAgIClcbiAgICB9XG4gICAgcmV0dXJuIHRoaXMudHJhbnNmb3JtUHJvbWlzZU1hcC5nZXQoaWQpIVxuICB9XG5cbiAgZ2V0VHJhbnNmb3JtTW9kZShpZDogc3RyaW5nKSB7XG4gICAgY29uc3Qgd2l0aG91dFF1ZXJ5ID0gaWQuc3BsaXQoJz8nKVswXVxuXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy53ZWI/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICd3ZWInXG4gICAgaWYgKHRoaXMub3B0aW9ucy50cmFuc2Zvcm1Nb2RlPy5zc3I/LnNvbWUociA9PiB3aXRob3V0UXVlcnkubWF0Y2gocikpKVxuICAgICAgcmV0dXJuICdzc3InXG5cbiAgICBpZiAod2l0aG91dFF1ZXJ5Lm1hdGNoKC9cXC4oW2NtXT9banRdc3g/fGpzb24pJC8pKVxuICAgICAgcmV0dXJuICdzc3InXG4gICAgcmV0dXJuICd3ZWInXG4gIH1cblxuICBwcml2YXRlIGFzeW5jIF9mZXRjaE1vZHVsZShpZDogc3RyaW5nKTogUHJvbWlzZTxGZXRjaFJlc3VsdD4ge1xuICAgIGxldCByZXN1bHQ6IEZldGNoUmVzdWx0XG5cbiAgICBjb25zdCBmaWxlUGF0aCA9IHRvRmlsZVBhdGgoaWQsIHRoaXMuc2VydmVyLmNvbmZpZy5yb290KVxuXG4gICAgY29uc3QgbW9kdWxlID0gdGhpcy5zZXJ2ZXIubW9kdWxlR3JhcGguZ2V0TW9kdWxlQnlJZChpZClcbiAgICBjb25zdCB0aW1lc3RhbXAgPSBtb2R1bGU/Lmxhc3RITVJUaW1lc3RhbXAgfHwgUmVhbERhdGUubm93KClcbiAgICBjb25zdCBjYWNoZSA9IHRoaXMuZmV0Y2hDYWNoZS5nZXQoZmlsZVBhdGgpXG4gICAgaWYgKHRpbWVzdGFtcCAmJiBjYWNoZSAmJiBjYWNoZS50aW1lc3RhbXAgPj0gdGltZXN0YW1wKVxuICAgICAgcmV0dXJuIGNhY2hlLnJlc3VsdFxuXG4gICAgY29uc3QgZXh0ZXJuYWxpemUgPSBhd2FpdCB0aGlzLnNob3VsZEV4dGVybmFsaXplKGZpbGVQYXRoKVxuICAgIGlmIChleHRlcm5hbGl6ZSkge1xuICAgICAgcmVzdWx0ID0geyBleHRlcm5hbGl6ZSB9XG4gICAgfVxuICAgIGVsc2Uge1xuICAgICAgY29uc3QgciA9IGF3YWl0IHRoaXMuX3RyYW5zZm9ybVJlcXVlc3QoaWQpXG4gICAgICByZXN1bHQgPSB7IGNvZGU6IHI/LmNvZGUsIG1hcDogcj8ubWFwIGFzIHVua25vd24gYXMgUmF3U291cmNlTWFwIH1cbiAgICB9XG5cbiAgICB0aGlzLmZldGNoQ2FjaGUuc2V0KGZpbGVQYXRoLCB7XG4gICAgICB0aW1lc3RhbXAsXG4gICAgICByZXN1bHQsXG4gICAgfSlcblxuICAgIHJldHVybiByZXN1bHRcbiAgfVxuXG4gIHByaXZhdGUgYXN5bmMgX3RyYW5zZm9ybVJlcXVlc3QoaWQ6IHN0cmluZykge1xuICAgIGxldCByZXN1bHQ6IFRyYW5zZm9ybVJlc3VsdCB8IG51bGwgPSBudWxsXG5cbiAgICBpZiAodGhpcy5nZXRUcmFuc2Zvcm1Nb2RlKGlkKSA9PT0gJ3dlYicpIHtcbiAgICAgIC8vIGZvciBjb21wb25lbnRzIGxpa2UgVnVlLCB3ZSB3YW50IHRvIHVzZSB0aGUgY2xpZW50IHNpZGVcbiAgICAgIC8vIHBsdWdpbnMgYnV0IHRoZW4gY29udmVydCB0aGUgY29kZSB0byBiZSBjb25zdW1lZCBieSB0aGUgc2VydmVyXG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkKVxuICAgICAgaWYgKHJlc3VsdClcbiAgICAgICAgcmVzdWx0ID0gYXdhaXQgdGhpcy5zZXJ2ZXIuc3NyVHJhbnNmb3JtKHJlc3VsdC5jb2RlLCByZXN1bHQubWFwLCBpZClcbiAgICB9XG4gICAgZWxzZSB7XG4gICAgICByZXN1bHQgPSBhd2FpdCB0aGlzLnNlcnZlci50cmFuc2Zvcm1SZXF1ZXN0KGlkLCB7IHNzcjogdHJ1ZSB9KVxuICAgIH1cblxuICAgIGNvbnN0IHNvdXJjZW1hcCA9IHRoaXMub3B0aW9ucy5zb3VyY2VtYXAgPz8gJ2lubGluZSdcbiAgICBpZiAoc291cmNlbWFwID09PSAnaW5saW5lJyAmJiByZXN1bHQgJiYgIWlkLmluY2x1ZGVzKCdub2RlX21vZHVsZXMnKSlcbiAgICAgIHdpdGhJbmxpbmVTb3VyY2VtYXAocmVzdWx0KVxuXG4gICAgcmV0dXJuIHJlc3VsdFxuICB9XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7O0FBR0EsTUFBTSxVQUFVLEdBQUcsb0RBQW9ELENBQUM7QUFDeEUsTUFBTSxhQUFhLEdBQUcsa0JBQWtCLENBQUM7QUFDekMsTUFBTSxhQUFhLEdBQUc7QUFDdEIsRUFBRSxVQUFVO0FBQ1osRUFBRSxPQUFPO0FBQ1QsRUFBRSxVQUFVO0FBQ1osRUFBRSxhQUFhO0FBQ2YsQ0FBQyxDQUFDO0FBQ0YsTUFBTSxZQUFZLEdBQUc7QUFDckIsRUFBRSxZQUFZO0FBQ2QsRUFBRSxRQUFRO0FBQ1YsQ0FBQyxDQUFDO0FBQ0ssU0FBUyxlQUFlLENBQUMsRUFBRSxFQUFFO0FBQ3BDLEVBQUUsSUFBSSxFQUFFLENBQUMsS0FB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
|
package/index.d.ts
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
export { DepsHandlingOptions, FetchFunction, FetchResult, ModuleCache, RawSourceMap, ResolveIdFunction, StartOfSourceMap, ViteNodeResolveId, ViteNodeRunnerOptions, ViteNodeServerOptions } from './types.js';
|
|
1
|
+
export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-7101d113.js';
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "vite-node",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.7.1",
|
|
4
4
|
"description": "Vite as Node.js runtime",
|
|
5
5
|
"homepage": "https://github.com/vitest-dev/vitest#readme",
|
|
6
6
|
"bugs": {
|
|
@@ -57,7 +57,7 @@
|
|
|
57
57
|
},
|
|
58
58
|
"devDependencies": {
|
|
59
59
|
"@types/minimist": "^1.2.2",
|
|
60
|
-
"rollup": "^2.70.
|
|
60
|
+
"rollup": "^2.70.1"
|
|
61
61
|
},
|
|
62
62
|
"engines": {
|
|
63
63
|
"node": ">=14.14.0"
|
|
@@ -67,5 +67,5 @@
|
|
|
67
67
|
"dev": "rollup -c --watch --watch.include=src/**",
|
|
68
68
|
"typecheck": "tsc --noEmit"
|
|
69
69
|
},
|
|
70
|
-
"readme": "# vite-node\n\n[](https://www.npmjs.com/package/vite-node)\n\nVite as Node runtime. The engine powers [Vitest](https://github.com/vitest-dev/vitest).\n\n## Features\n\n- Out-of-box ESM & TypeScript support (possible for more with plugins)\n- Top-level await\n- Vite plugins, resolve, aliasing\n- Respect `vite.config.ts`\n- Shims for `__dirname` and `__filename` in ESM\n- Access to native node modules like `fs`, `path`, etc.\n\n## CLI Usage\n\nRun JS/TS file on Node.js using Vite's resolvers and transformers.\n\n```bash\nnpx vite-node index.ts\n```\n\nOptions:\n\n```bash\nnpx vite-node -h\n```\n\n## Programmatic Usage\n\nIn Vite Node, the server and runner (client) are separated, so you can integrate them in different contexts (workers, cross-process, or remote) if needed. The demo below shows a simple example of having the server and running in the same context\n\n```ts\nimport { createServer } from 'vite'\nimport { ViteNodeServer } from 'vite-node/server'\nimport { ViteNodeRunner } from 'vite-node/client'\n\n// create vite server\nconst server = await createServer()\n// this is need to initialize the plugins\nawait server.pluginContainer.buildStart({})\n\n// create vite-node server\nconst node = new ViteNodeServer(server)\n\n// create vite-node runner\nconst runner = new ViteNodeRunner({\n root: server.config.root,\n base: server.config.base,\n // when having the server and runner in a different context,\n // you will need to handle the communication between them\n // and pass to this function\n fetchModule(id) {\n return node.fetchModule(id)\n },\n})\n\n// execute the file\nawait runner.executeFile('./example.ts')\n\n// close the vite server\nawait server.close()\n```\n\n## Credits\n\nBased on [@pi0](https://github.com/pi0)'s brilliant idea of having a Vite server as the on-demand transforming service for [Nuxt's Vite SSR](https://github.com/nuxt/vite/pull/201).\n\nThanks [@brillout](https://github.com/brillout) for kindly sharing this package name.\n\n## Sponsors\n\n<p align=\"center\">\n <a href=\"https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg\">\n <img src='https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg'/>\n </a>\n</p>\n\n## License\n\n[MIT](./LICENSE) License © 2021 [Anthony Fu](https://github.com/antfu)\n"
|
|
70
|
+
"readme": "# vite-node\n\n[](https://www.npmjs.com/package/vite-node)\n\nVite as Node runtime. The engine powers [Vitest](https://github.com/vitest-dev/vitest).\n\n## Features\n\n- Out-of-box ESM & TypeScript support (possible for more with plugins)\n- Top-level await\n- Vite plugins, resolve, aliasing\n- Respect `vite.config.ts`\n- Shims for `__dirname` and `__filename` in ESM\n- Access to native node modules like `fs`, `path`, etc.\n\n## CLI Usage\n\nRun JS/TS file on Node.js using Vite's resolvers and transformers.\n\n```bash\nnpx vite-node index.ts\n```\n\nOptions:\n\n```bash\nnpx vite-node -h\n```\n\n## Programmatic Usage\n\nIn Vite Node, the server and runner (client) are separated, so you can integrate them in different contexts (workers, cross-process, or remote) if needed. The demo below shows a simple example of having the server and running in the same context\n\n```ts\nimport { createServer } from 'vite'\nimport { ViteNodeServer } from 'vite-node/server'\nimport { ViteNodeRunner } from 'vite-node/client'\n\n// create vite server\nconst server = await createServer()\n// this is need to initialize the plugins\nawait server.pluginContainer.buildStart({})\n\n// create vite-node server\nconst node = new ViteNodeServer(server)\n\n// create vite-node runner\nconst runner = new ViteNodeRunner({\n root: server.config.root,\n base: server.config.base,\n // when having the server and runner in a different context,\n // you will need to handle the communication between them\n // and pass to this function\n fetchModule(id) {\n return node.fetchModule(id)\n },\n resolveId(id, importer) {\n return node.resolveId(id, importer)\n },\n})\n\n// execute the file\nawait runner.executeFile('./example.ts')\n\n// close the vite server\nawait server.close()\n```\n\n## Credits\n\nBased on [@pi0](https://github.com/pi0)'s brilliant idea of having a Vite server as the on-demand transforming service for [Nuxt's Vite SSR](https://github.com/nuxt/vite/pull/201).\n\nThanks [@brillout](https://github.com/brillout) for kindly sharing this package name.\n\n## Sponsors\n\n<p align=\"center\">\n <a href=\"https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg\">\n <img src='https://cdn.jsdelivr.net/gh/antfu/static/sponsors.svg'/>\n </a>\n</p>\n\n## License\n\n[MIT](./LICENSE) License © 2021 [Anthony Fu](https://github.com/antfu)\n"
|
|
71
71
|
}
|
package/server.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import { ViteDevServer, TransformResult } from 'vite';
|
|
2
|
-
import { DepsHandlingOptions, ViteNodeServerOptions, FetchResult, ViteNodeResolveId } from './types.js';
|
|
2
|
+
import { D as DepsHandlingOptions, e as ViteNodeServerOptions, F as FetchResult, d as ViteNodeResolveId } from './types-7101d113.js';
|
|
3
3
|
|
|
4
4
|
declare function guessCJSversion(id: string): string | undefined;
|
|
5
5
|
declare function shouldExternalize(id: string, options?: DepsHandlingOptions, cache?: Map<string, Promise<string | false>>): Promise<string | false>;
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
declare const DEFAULT_REQUEST_STUBS: {
|
|
2
|
+
'/@vite/client': {
|
|
3
|
+
injectQuery: (id: string) => string;
|
|
4
|
+
createHotContext(): {
|
|
5
|
+
accept: () => void;
|
|
6
|
+
prune: () => void;
|
|
7
|
+
};
|
|
8
|
+
updateStyle(): void;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
declare class ModuleCacheMap extends Map<string, ModuleCache> {
|
|
12
|
+
normalizePath(fsPath: string): string;
|
|
13
|
+
set(fsPath: string, mod: Partial<ModuleCache>): this;
|
|
14
|
+
get(fsPath: string): ModuleCache | undefined;
|
|
15
|
+
delete(fsPath: string): boolean;
|
|
16
|
+
}
|
|
17
|
+
declare class ViteNodeRunner {
|
|
18
|
+
options: ViteNodeRunnerOptions;
|
|
19
|
+
root: string;
|
|
20
|
+
/**
|
|
21
|
+
* Holds the cache of modules
|
|
22
|
+
* Keys of the map are filepaths, or plain package names
|
|
23
|
+
*/
|
|
24
|
+
moduleCache: ModuleCacheMap;
|
|
25
|
+
constructor(options: ViteNodeRunnerOptions);
|
|
26
|
+
executeFile(file: string): Promise<any>;
|
|
27
|
+
executeId(id: string): Promise<any>;
|
|
28
|
+
cachedRequest(rawId: string, callstack: string[]): Promise<any>;
|
|
29
|
+
directRequest(id: string, fsPath: string, callstack: string[]): Promise<any>;
|
|
30
|
+
prepareContext(context: Record<string, any>): Record<string, any>;
|
|
31
|
+
shouldResolveId(dep: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Define if a module should be interop-ed
|
|
34
|
+
* This function mostly for the ability to override by subclass
|
|
35
|
+
*/
|
|
36
|
+
shouldInterop(path: string, mod: any): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Import a module and interop it
|
|
39
|
+
*/
|
|
40
|
+
interopedImport(path: string): Promise<any>;
|
|
41
|
+
hasNestedDefault(target: any): any;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
interface DepsHandlingOptions {
|
|
45
|
+
external?: (string | RegExp)[];
|
|
46
|
+
inline?: (string | RegExp)[];
|
|
47
|
+
/**
|
|
48
|
+
* Try to guess the CJS version of a package when it's invalid ESM
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
fallbackCJS?: boolean;
|
|
52
|
+
}
|
|
53
|
+
interface StartOfSourceMap {
|
|
54
|
+
file?: string;
|
|
55
|
+
sourceRoot?: string;
|
|
56
|
+
}
|
|
57
|
+
interface RawSourceMap extends StartOfSourceMap {
|
|
58
|
+
version: string;
|
|
59
|
+
sources: string[];
|
|
60
|
+
names: string[];
|
|
61
|
+
sourcesContent?: string[];
|
|
62
|
+
mappings: string;
|
|
63
|
+
}
|
|
64
|
+
interface FetchResult {
|
|
65
|
+
code?: string;
|
|
66
|
+
externalize?: string;
|
|
67
|
+
map?: RawSourceMap;
|
|
68
|
+
}
|
|
69
|
+
declare type FetchFunction = (id: string) => Promise<FetchResult>;
|
|
70
|
+
declare type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
|
|
71
|
+
interface ModuleCache {
|
|
72
|
+
promise?: Promise<any>;
|
|
73
|
+
exports?: any;
|
|
74
|
+
code?: string;
|
|
75
|
+
}
|
|
76
|
+
interface ViteNodeRunnerOptions {
|
|
77
|
+
root: string;
|
|
78
|
+
fetchModule: FetchFunction;
|
|
79
|
+
resolveId?: ResolveIdFunction;
|
|
80
|
+
base?: string;
|
|
81
|
+
moduleCache?: ModuleCacheMap;
|
|
82
|
+
interopDefault?: boolean;
|
|
83
|
+
requestStubs?: Record<string, any>;
|
|
84
|
+
}
|
|
85
|
+
interface ViteNodeResolveId {
|
|
86
|
+
external?: boolean | 'absolute' | 'relative';
|
|
87
|
+
id: string;
|
|
88
|
+
meta?: Record<string, any> | null;
|
|
89
|
+
moduleSideEffects?: boolean | 'no-treeshake' | null;
|
|
90
|
+
syntheticNamedExports?: boolean | string | null;
|
|
91
|
+
}
|
|
92
|
+
interface ViteNodeServerOptions {
|
|
93
|
+
/**
|
|
94
|
+
* Inject inline sourcemap to modules
|
|
95
|
+
* @default 'inline'
|
|
96
|
+
*/
|
|
97
|
+
sourcemap?: 'inline' | boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Deps handling
|
|
100
|
+
*/
|
|
101
|
+
deps?: DepsHandlingOptions;
|
|
102
|
+
/**
|
|
103
|
+
* Transform method for modules
|
|
104
|
+
*/
|
|
105
|
+
transformMode?: {
|
|
106
|
+
ssr?: RegExp[];
|
|
107
|
+
web?: RegExp[];
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { DepsHandlingOptions as D, FetchResult as F, ModuleCache as M, RawSourceMap as R, StartOfSourceMap as S, ViteNodeRunnerOptions as V, FetchFunction as a, ResolveIdFunction as b, ViteNodeResolveId as c, ViteNodeServerOptions as d, DEFAULT_REQUEST_STUBS as e, ModuleCacheMap as f, ViteNodeRunner as g };
|
|
@@ -0,0 +1,111 @@
|
|
|
1
|
+
declare const DEFAULT_REQUEST_STUBS: {
|
|
2
|
+
'/@vite/client': {
|
|
3
|
+
injectQuery: (id: string) => string;
|
|
4
|
+
createHotContext(): {
|
|
5
|
+
accept: () => void;
|
|
6
|
+
prune: () => void;
|
|
7
|
+
};
|
|
8
|
+
updateStyle(): void;
|
|
9
|
+
};
|
|
10
|
+
};
|
|
11
|
+
declare class ModuleCacheMap extends Map<string, ModuleCache> {
|
|
12
|
+
normalizePath(fsPath: string): string;
|
|
13
|
+
set(fsPath: string, mod: Partial<ModuleCache>): this;
|
|
14
|
+
get(fsPath: string): ModuleCache | undefined;
|
|
15
|
+
delete(fsPath: string): boolean;
|
|
16
|
+
}
|
|
17
|
+
declare class ViteNodeRunner {
|
|
18
|
+
options: ViteNodeRunnerOptions;
|
|
19
|
+
root: string;
|
|
20
|
+
/**
|
|
21
|
+
* Holds the cache of modules
|
|
22
|
+
* Keys of the map are filepaths, or plain package names
|
|
23
|
+
*/
|
|
24
|
+
moduleCache: ModuleCacheMap;
|
|
25
|
+
constructor(options: ViteNodeRunnerOptions);
|
|
26
|
+
executeFile(file: string): Promise<any>;
|
|
27
|
+
executeId(id: string): Promise<any>;
|
|
28
|
+
cachedRequest(rawId: string, callstack: string[]): Promise<any>;
|
|
29
|
+
directRequest(id: string, fsPath: string, callstack: string[]): Promise<any>;
|
|
30
|
+
prepareContext(context: Record<string, any>): Record<string, any>;
|
|
31
|
+
shouldResolveId(dep: string): boolean;
|
|
32
|
+
/**
|
|
33
|
+
* Define if a module should be interop-ed
|
|
34
|
+
* This function mostly for the ability to override by subclass
|
|
35
|
+
*/
|
|
36
|
+
shouldInterop(path: string, mod: any): boolean;
|
|
37
|
+
/**
|
|
38
|
+
* Import a module and interop it
|
|
39
|
+
*/
|
|
40
|
+
interopedImport(path: string): Promise<any>;
|
|
41
|
+
hasNestedDefault(target: any): any;
|
|
42
|
+
}
|
|
43
|
+
|
|
44
|
+
interface DepsHandlingOptions {
|
|
45
|
+
external?: (string | RegExp)[];
|
|
46
|
+
inline?: (string | RegExp)[];
|
|
47
|
+
/**
|
|
48
|
+
* Try to guess the CJS version of a package when it's invalid ESM
|
|
49
|
+
* @default false
|
|
50
|
+
*/
|
|
51
|
+
fallbackCJS?: boolean;
|
|
52
|
+
}
|
|
53
|
+
interface StartOfSourceMap {
|
|
54
|
+
file?: string;
|
|
55
|
+
sourceRoot?: string;
|
|
56
|
+
}
|
|
57
|
+
interface RawSourceMap extends StartOfSourceMap {
|
|
58
|
+
version: string;
|
|
59
|
+
sources: string[];
|
|
60
|
+
names: string[];
|
|
61
|
+
sourcesContent?: string[];
|
|
62
|
+
mappings: string;
|
|
63
|
+
}
|
|
64
|
+
interface FetchResult {
|
|
65
|
+
code?: string;
|
|
66
|
+
externalize?: string;
|
|
67
|
+
map?: RawSourceMap;
|
|
68
|
+
}
|
|
69
|
+
declare type FetchFunction = (id: string) => Promise<FetchResult>;
|
|
70
|
+
declare type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
|
|
71
|
+
interface ModuleCache {
|
|
72
|
+
promise?: Promise<any>;
|
|
73
|
+
exports?: any;
|
|
74
|
+
code?: string;
|
|
75
|
+
}
|
|
76
|
+
interface ViteNodeRunnerOptions {
|
|
77
|
+
root: string;
|
|
78
|
+
fetchModule: FetchFunction;
|
|
79
|
+
resolveId?: ResolveIdFunction;
|
|
80
|
+
base?: string;
|
|
81
|
+
moduleCache?: ModuleCacheMap;
|
|
82
|
+
interopDefault?: boolean;
|
|
83
|
+
requestStubs?: Record<string, any>;
|
|
84
|
+
}
|
|
85
|
+
interface ViteNodeResolveId {
|
|
86
|
+
external?: boolean | 'absolute' | 'relative';
|
|
87
|
+
id: string;
|
|
88
|
+
meta?: Record<string, any> | null;
|
|
89
|
+
moduleSideEffects?: boolean | 'no-treeshake' | null;
|
|
90
|
+
syntheticNamedExports?: boolean | string | null;
|
|
91
|
+
}
|
|
92
|
+
interface ViteNodeServerOptions {
|
|
93
|
+
/**
|
|
94
|
+
* Inject inline sourcemap to modules
|
|
95
|
+
* @default 'inline'
|
|
96
|
+
*/
|
|
97
|
+
sourcemap?: 'inline' | boolean;
|
|
98
|
+
/**
|
|
99
|
+
* Deps handling
|
|
100
|
+
*/
|
|
101
|
+
deps?: DepsHandlingOptions;
|
|
102
|
+
/**
|
|
103
|
+
* Transform method for modules
|
|
104
|
+
*/
|
|
105
|
+
transformMode?: {
|
|
106
|
+
ssr?: RegExp[];
|
|
107
|
+
web?: RegExp[];
|
|
108
|
+
};
|
|
109
|
+
}
|
|
110
|
+
|
|
111
|
+
export { DepsHandlingOptions as D, FetchResult as F, ModuleCacheMap as M, RawSourceMap as R, StartOfSourceMap as S, ViteNodeRunnerOptions as V, FetchFunction as a, ResolveIdFunction as b, ModuleCache as c, ViteNodeResolveId as d, ViteNodeServerOptions as e, DEFAULT_REQUEST_STUBS as f, ViteNodeRunner as g };
|
package/types.d.ts
CHANGED
|
@@ -1,68 +1 @@
|
|
|
1
|
-
|
|
2
|
-
external?: (string | RegExp)[];
|
|
3
|
-
inline?: (string | RegExp)[];
|
|
4
|
-
/**
|
|
5
|
-
* Try to guess the CJS version of a package when it's invalid ESM
|
|
6
|
-
* @default true
|
|
7
|
-
*/
|
|
8
|
-
fallbackCJS?: boolean;
|
|
9
|
-
}
|
|
10
|
-
interface StartOfSourceMap {
|
|
11
|
-
file?: string;
|
|
12
|
-
sourceRoot?: string;
|
|
13
|
-
}
|
|
14
|
-
interface RawSourceMap extends StartOfSourceMap {
|
|
15
|
-
version: string;
|
|
16
|
-
sources: string[];
|
|
17
|
-
names: string[];
|
|
18
|
-
sourcesContent?: string[];
|
|
19
|
-
mappings: string;
|
|
20
|
-
}
|
|
21
|
-
interface FetchResult {
|
|
22
|
-
code?: string;
|
|
23
|
-
externalize?: string;
|
|
24
|
-
map?: RawSourceMap;
|
|
25
|
-
}
|
|
26
|
-
declare type FetchFunction = (id: string) => Promise<FetchResult>;
|
|
27
|
-
declare type ResolveIdFunction = (id: string, importer?: string) => Promise<ViteNodeResolveId | null>;
|
|
28
|
-
interface ModuleCache {
|
|
29
|
-
promise?: Promise<any>;
|
|
30
|
-
exports?: any;
|
|
31
|
-
code?: string;
|
|
32
|
-
}
|
|
33
|
-
interface ViteNodeRunnerOptions {
|
|
34
|
-
fetchModule: FetchFunction;
|
|
35
|
-
resolveId: ResolveIdFunction;
|
|
36
|
-
root: string;
|
|
37
|
-
base?: string;
|
|
38
|
-
moduleCache?: Map<string, ModuleCache>;
|
|
39
|
-
interopDefault?: boolean;
|
|
40
|
-
requestStubs?: Record<string, any>;
|
|
41
|
-
}
|
|
42
|
-
interface ViteNodeResolveId {
|
|
43
|
-
external?: boolean | 'absolute' | 'relative';
|
|
44
|
-
id: string;
|
|
45
|
-
meta?: Record<string, any> | null;
|
|
46
|
-
moduleSideEffects?: boolean | 'no-treeshake' | null;
|
|
47
|
-
syntheticNamedExports?: boolean | string | null;
|
|
48
|
-
}
|
|
49
|
-
interface ViteNodeServerOptions {
|
|
50
|
-
/**
|
|
51
|
-
* Inject inline sourcemap to modules
|
|
52
|
-
* @default 'inline'
|
|
53
|
-
*/
|
|
54
|
-
sourcemap?: 'inline' | boolean;
|
|
55
|
-
/**
|
|
56
|
-
* Deps handling
|
|
57
|
-
*/
|
|
58
|
-
deps?: DepsHandlingOptions;
|
|
59
|
-
/**
|
|
60
|
-
* Transform method for modules
|
|
61
|
-
*/
|
|
62
|
-
transformMode?: {
|
|
63
|
-
ssr?: RegExp[];
|
|
64
|
-
web?: RegExp[];
|
|
65
|
-
};
|
|
66
|
-
}
|
|
67
|
-
|
|
68
|
-
export { DepsHandlingOptions, FetchFunction, FetchResult, ModuleCache, RawSourceMap, ResolveIdFunction, StartOfSourceMap, ViteNodeResolveId, ViteNodeRunnerOptions, ViteNodeServerOptions };
|
|
1
|
+
export { D as DepsHandlingOptions, a as FetchFunction, F as FetchResult, c as ModuleCache, M as ModuleCacheMap, R as RawSourceMap, b as ResolveIdFunction, S as StartOfSourceMap, d as ViteNodeResolveId, V as ViteNodeRunnerOptions, e as ViteNodeServerOptions } from './types-7101d113.js';
|