vite-plugin-react-server 1.4.2 → 1.4.4
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 +48 -313
- package/dist/package.json +123 -13
- package/dist/plugin/bundle/deferredStaticGeneration.js +14 -39
- package/dist/plugin/bundle/manifests.js +30 -48
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.d.ts.map +1 -1
- package/dist/plugin/config/autoDiscover/resolveAutoDiscover.js +4 -1
- package/dist/plugin/config/envPrefixFromConfig.js +12 -7
- package/dist/plugin/config/getCondition.d.ts.map +1 -1
- package/dist/plugin/config/getCondition.js +7 -5
- package/dist/plugin/dev-server/virtualRscHmrPlugin.js +23 -23
- package/dist/plugin/environments/createBuildEventPlugin.js +88 -98
- package/dist/plugin/environments/createEnvironmentPlugin.js +222 -250
- package/dist/plugin/helpers/createRscRenderHelpers.js +33 -34
- package/dist/plugin/helpers/createSharedLoader.d.ts.map +1 -1
- package/dist/plugin/helpers/createSharedLoader.js +4 -2
- package/dist/plugin/helpers/headlessStreamReuseHandler.js +30 -22
- package/dist/plugin/helpers/headlessStreamState.js +15 -28
- package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -1
- package/dist/plugin/helpers/resolveComponent.js +4 -2
- package/dist/plugin/index.client.d.ts +5 -0
- package/dist/plugin/index.client.d.ts.map +1 -0
- package/dist/plugin/index.client.js +4 -0
- package/dist/plugin/index.d.ts +4 -3
- package/dist/plugin/index.d.ts.map +1 -1
- package/dist/plugin/index.js +10 -5
- package/dist/plugin/index.server.d.ts +5 -0
- package/dist/plugin/index.server.d.ts.map +1 -0
- package/dist/plugin/index.server.js +4 -0
- package/dist/plugin/metrics/createWorkerStartupMetrics.js +31 -13
- package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +41 -38
- package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +43 -46
- package/dist/plugin/plugin.client.js +2 -2
- package/dist/plugin/plugin.server.js +2 -2
- package/dist/plugin/react-static/createBuildLoader.client.js +12 -6
- package/dist/plugin/react-static/createBuildLoader.server.js +255 -235
- package/dist/plugin/react-static/plugin.client.js +684 -770
- package/dist/plugin/react-static/plugin.server.js +517 -603
- package/dist/plugin/react-static/processCssFilesForPages.js +103 -88
- package/dist/plugin/react-static/renderPage.client.js +455 -529
- package/dist/plugin/react-static/renderPage.server.js +485 -508
- package/dist/plugin/react-static/renderPagesBatched.js +277 -275
- package/dist/plugin/react-static/rscToHtmlStream.client.js +48 -29
- package/dist/plugin/react-static/rscToHtmlStream.server.js +62 -37
- package/dist/plugin/react-static/temporaryReferences.server.js +11 -2
- package/dist/plugin/stream/createMainThreadHandlers.js +40 -31
- package/dist/plugin/stream/renderRscStream.server.d.ts.map +1 -1
- package/dist/plugin/stream/renderRscStream.server.js +127 -144
- package/dist/plugin/transformer/createTransformerPlugin.js +226 -265
- package/dist/plugin/utils/checkReactVersion.d.ts +7 -0
- package/dist/plugin/utils/checkReactVersion.d.ts.map +1 -0
- package/dist/plugin/utils/checkReactVersion.js +23 -0
- package/dist/plugin/utils/envUrls.node.js +12 -11
- package/dist/plugin/vendor/vendor-alias.js +84 -114
- package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
- package/dist/plugin/vendor/vendor.client.js +1 -3
- package/dist/plugin/worker/rsc/handleRscRender.d.ts.map +1 -1
- package/dist/plugin/worker/rsc/handleRscRender.js +3 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +123 -13
- package/plugin/config/autoDiscover/resolveAutoDiscover.ts +4 -0
- package/plugin/config/getCondition.ts +6 -4
- package/plugin/helpers/createRscRenderHelpers.ts +1 -1
- package/plugin/helpers/createSharedLoader.ts +6 -1
- package/plugin/helpers/resolveComponent.ts +6 -1
- package/plugin/index.client.ts +4 -0
- package/plugin/index.server.ts +4 -0
- package/plugin/index.ts +12 -5
- package/plugin/plugin.client.ts +1 -1
- package/plugin/plugin.server.ts +1 -1
- package/plugin/stream/renderRscStream.server.ts +3 -0
- package/plugin/utils/checkReactVersion.ts +28 -0
- package/plugin/vendor/vendor.client.ts +0 -2
- package/plugin/worker/rsc/handleRscRender.ts +2 -0
- package/scripts/generate-toc.mjs +27 -294
|
@@ -1,54 +1,36 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
});
|
|
10
|
-
}
|
|
11
|
-
return serverManifestPromise;
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { perEnvironmentState } from 'vite';
|
|
7
|
+
|
|
8
|
+
const signalServerManifestReady = (manifest) => {
|
|
12
9
|
};
|
|
13
|
-
export const signalServerManifestReady = (manifest) => {
|
|
14
|
-
if (serverManifestResolve) {
|
|
15
|
-
serverManifestResolve(manifest);
|
|
16
|
-
serverManifestResolve = null;
|
|
17
|
-
}
|
|
18
|
-
};
|
|
19
|
-
// Reset the wait mechanism (for test isolation)
|
|
20
|
-
export const resetServerManifestWait = () => {
|
|
21
|
-
serverManifestResolve = null;
|
|
22
|
-
serverManifestPromise = null;
|
|
23
|
-
};
|
|
24
|
-
// Shared state between environments using Vite's perEnvironmentState API
|
|
25
10
|
const createSharedManifestStore = perEnvironmentState(() => ({
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
11
|
+
server: null,
|
|
12
|
+
client: null,
|
|
13
|
+
static: null
|
|
29
14
|
}));
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
static: null,
|
|
15
|
+
const manifests = {
|
|
16
|
+
server: null,
|
|
17
|
+
client: null,
|
|
18
|
+
static: null
|
|
35
19
|
};
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
manifests[name] = manifest;
|
|
20
|
+
const addManifest = (name) => (manifest) => {
|
|
21
|
+
manifests[name] = manifest;
|
|
39
22
|
};
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
console.warn(`[manifests] Could not update shared state for ${name}: ${error}`);
|
|
53
|
-
}
|
|
23
|
+
const addStaticManifest = addManifest("static");
|
|
24
|
+
const addServerManifest = addManifest("server");
|
|
25
|
+
const getSharedManifestStore = (context) => createSharedManifestStore(context);
|
|
26
|
+
const updateSharedManifest = (context, name, manifest) => {
|
|
27
|
+
try {
|
|
28
|
+
const sharedState = createSharedManifestStore(context);
|
|
29
|
+
sharedState[name] = manifest;
|
|
30
|
+
} catch (error) {
|
|
31
|
+
console.warn(`[manifests] Could not update shared state for ${name}: ${error}`);
|
|
32
|
+
}
|
|
54
33
|
};
|
|
34
|
+
|
|
35
|
+
export { addManifest, addServerManifest, addStaticManifest, getSharedManifestStore, manifests, signalServerManifestReady, updateSharedManifest };
|
|
36
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibWFuaWZlc3RzLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vYnVuZGxlL21hbmlmZXN0cy50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IE1hbmlmZXN0IH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IHBlckVudmlyb25tZW50U3RhdGUgfSBmcm9tIFwidml0ZVwiO1xuXG4vLyBQcm9taXNlLWJhc2VkIHdhaXQgbWVjaGFuaXNtIGZvciBzZXJ2ZXIgbWFuaWZlc3RcbmxldCBzZXJ2ZXJNYW5pZmVzdFJlc29sdmU6ICgobWFuaWZlc3Q6IE1hbmlmZXN0KSA9PiB2b2lkKSB8IG51bGwgPSBudWxsO1xubGV0IHNlcnZlck1hbmlmZXN0UHJvbWlzZTogUHJvbWlzZTxNYW5pZmVzdD4gfCBudWxsID0gbnVsbDtcblxuZXhwb3J0IGNvbnN0IHdhaXRGb3JTZXJ2ZXJNYW5pZmVzdCA9ICgpOiBQcm9taXNlPE1hbmlmZXN0PiA9PiB7XG4gIGlmICghc2VydmVyTWFuaWZlc3RQcm9taXNlKSB7XG4gICAgc2VydmVyTWFuaWZlc3RQcm9taXNlID0gbmV3IFByb21pc2UoKHJlc29sdmUpID0+IHtcbiAgICAgIHNlcnZlck1hbmlmZXN0UmVzb2x2ZSA9IHJlc29sdmU7XG4gICAgfSk7XG4gIH1cbiAgcmV0dXJuIHNlcnZlck1hbmlmZXN0UHJvbWlzZTtcbn07XG5cbmV4cG9ydCBjb25zdCBzaWduYWxTZXJ2ZXJNYW5pZmVzdFJlYWR5ID0gKG1hbmlmZXN0OiBNYW5pZmVzdCk6IHZvaWQgPT4ge1xuICBpZiAoc2VydmVyTWFuaWZlc3RSZXNvbHZlKSB7XG4gICAgc2VydmVyTWFuaWZlc3RSZXNvbHZlKG1hbmlmZXN0KTtcbiAgICBzZXJ2ZXJNYW5pZmVzdFJlc29sdmUgPSBudWxsO1xuICB9XG59O1xuXG4vLyBSZXNldCB0aGUgd2FpdCBtZWNoYW5pc20gKGZvciB0ZXN0IGlzb2xhdGlvbilcbmV4cG9ydCBjb25zdCByZXNldFNlcnZlck1hbmlmZXN0V2FpdCA9ICgpOiB2b2lkID0+IHtcbiAgc2VydmVyTWFuaWZlc3RSZXNvbHZlID0gbnVsbDtcbiAgc2VydmVyTWFuaWZlc3RQcm9taXNlID0gbnVsbDtcbn07XG5cbi8vIFNoYXJlZCBzdGF0ZSBiZXR3ZWVuIGVudmlyb25tZW50cyB1c2luZyBWaXRlJ3MgcGVyRW52aXJvbm1lbnRTdGF0ZSBBUElcbmNvbnN0IGNyZWF0ZVNoYXJlZE1hbmlmZXN0U3RvcmUgPSBwZXJFbnZpcm9ubWVudFN0YXRlPHtcbiAgc2VydmVyOiBNYW5pZmVzdCB8IG51bGw7XG4gIGNsaWVudDogTWFuaWZlc3QgfCBudWxsO1xuICBzdGF0aWM6IE1hbmlmZXN0IHwgbnVsbDtcbn0+KCgpID0+ICh7XG4gIHNlcnZlcjogbnVsbCxcbiAgY2xpZW50OiBudWxsLFxuICBzdGF0aWM6IG51bGwsXG59KSk7XG5cbi8vIExlZ2FjeSBleHBvcnQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbmV4cG9ydCBjb25zdCBtYW5pZmVzdHMgPSB7XG4gIHNlcnZlcjogbnVsbCxcbiAgY2xpZW50OiBudWxsLFxuICBzdGF0aWM6IG51bGwsXG59IGFzIHtcbiAgc2VydmVyOiBNYW5pZmVzdCB8IG51bGw7XG4gIGNsaWVudDogTWFuaWZlc3QgfCBudWxsO1xuICBzdGF0aWM6IE1hbmlmZXN0IHwgbnVsbDtcbn07XG5cbmV4cG9ydCBjb25zdCBhZGRNYW5pZmVzdCA9XG4gIChuYW1lOiBcInNlcnZlclwiIHwgXCJjbGllbnRcIiB8IFwic3RhdGljXCIpID0+IChtYW5pZmVzdDogTWFuaWZlc3QpID0+IHtcbiAgICAvLyBVcGRhdGUgdGhlIGxlZ2FjeSBtYW5pZmVzdHNcbiAgICBtYW5pZmVzdHNbbmFtZV0gPSBtYW5pZmVzdDtcbiAgfTtcblxuZXhwb3J0IGNvbnN0IGFkZFN0YXRpY01hbmlmZXN0ID0gYWRkTWFuaWZlc3QoXCJzdGF0aWNcIik7XG5leHBvcnQgY29uc3QgYWRkQ2xpZW50TWFuaWZlc3QgPSBhZGRNYW5pZmVzdChcImNsaWVudFwiKTtcbmV4cG9ydCBjb25zdCBhZGRTZXJ2ZXJNYW5pZmVzdCA9IGFkZE1hbmlmZXN0KFwic2VydmVyXCIpO1xuXG4vLyBOZXcgZnVuY3Rpb24gdG8gZ2V0IHRoZSBzaGFyZWQgc3RhdGUgZGlyZWN0bHkgKHJlcXVpcmVzIHBsdWdpbiBjb250ZXh0KVxuZXhwb3J0IGNvbnN0IGdldFNoYXJlZE1hbmlmZXN0U3RvcmUgPSAoY29udGV4dDogYW55KSA9PiBjcmVhdGVTaGFyZWRNYW5pZmVzdFN0b3JlKGNvbnRleHQpO1xuXG4vLyBOZXcgZnVuY3Rpb24gdG8gdXBkYXRlIHNoYXJlZCBzdGF0ZSAocmVxdWlyZXMgcGx1Z2luIGNvbnRleHQpXG5leHBvcnQgY29uc3QgdXBkYXRlU2hhcmVkTWFuaWZlc3QgPSAoY29udGV4dDogYW55LCBuYW1lOiBcInNlcnZlclwiIHwgXCJjbGllbnRcIiB8IFwic3RhdGljXCIsIG1hbmlmZXN0OiBNYW5pZmVzdCkgPT4ge1xuICB0cnkge1xuICAgIGNvbnN0IHNoYXJlZFN0YXRlID0gY3JlYXRlU2hhcmVkTWFuaWZlc3RTdG9yZShjb250ZXh0KTtcbiAgICBzaGFyZWRTdGF0ZVtuYW1lXSA9IG1hbmlmZXN0O1xuICB9IGNhdGNoIChlcnJvcikge1xuICAgIGNvbnNvbGUud2FybihgW21hbmlmZXN0c10gQ291bGQgbm90IHVwZGF0ZSBzaGFyZWQgc3RhdGUgZm9yICR7bmFtZX06ICR7ZXJyb3J9YCk7XG4gIH1cbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQWdCYSxNQUFBLHlCQUFBLEdBQTRCLENBQUMsUUFBNkIsS0FBQTtBQUt2RTtBQVNBLE1BQU0seUJBQUEsR0FBNEIsb0JBSS9CLE9BQU87QUFBQSxFQUNSLE1BQVEsRUFBQSxJQUFBO0FBQUEsRUFDUixNQUFRLEVBQUEsSUFBQTtBQUFBLEVBQ1IsTUFBUSxFQUFBO0FBQ1YsQ0FBRSxDQUFBLENBQUE7QUFHSyxNQUFNLFNBQVksR0FBQTtBQUFBLEVBQ3ZCLE1BQVEsRUFBQSxJQUFBO0FBQUEsRUFDUixNQUFRLEVBQUEsSUFBQTtBQUFBLEVBQ1IsTUFBUSxFQUFBO0FBQ1Y7QUFNTyxNQUFNLFdBQ1gsR0FBQSxDQUFDLElBQXlDLEtBQUEsQ0FBQyxRQUF1QixLQUFBO0FBRWhFLEVBQUEsU0FBQSxDQUFVLElBQUksQ0FBSSxHQUFBLFFBQUE7QUFDcEI7QUFFVyxNQUFBLGlCQUFBLEdBQW9CLFlBQVksUUFBUTtBQUV4QyxNQUFBLGlCQUFBLEdBQW9CLFlBQVksUUFBUTtBQUc5QyxNQUFNLHNCQUF5QixHQUFBLENBQUMsT0FBaUIsS0FBQSx5QkFBQSxDQUEwQixPQUFPO0FBR2xGLE1BQU0sb0JBQXVCLEdBQUEsQ0FBQyxPQUFjLEVBQUEsSUFBQSxFQUFzQyxRQUF1QixLQUFBO0FBQzlHLEVBQUksSUFBQTtBQUNGLElBQU0sTUFBQSxXQUFBLEdBQWMsMEJBQTBCLE9BQU8sQ0FBQTtBQUNyRCxJQUFBLFdBQUEsQ0FBWSxJQUFJLENBQUksR0FBQSxRQUFBO0FBQUEsV0FDYixLQUFPLEVBQUE7QUFDZCxJQUFBLE9BQUEsQ0FBUSxJQUFLLENBQUEsQ0FBQSw4Q0FBQSxFQUFpRCxJQUFJLENBQUEsRUFBQSxFQUFLLEtBQUssQ0FBRSxDQUFBLENBQUE7QUFBQTtBQUVsRjs7OzsifQ==
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAOnD,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,IAAI,CACf,mBAAmB,EACjB,OAAO,GACP,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,MAAM,GACN,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,cAAc,CACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,wBAAwB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,eAAO,MAAM,mBAAmB,EAAE,
|
|
1
|
+
{"version":3,"file":"resolveAutoDiscover.d.ts","sourceRoot":"","sources":["../../../../plugin/config/autoDiscover/resolveAutoDiscover.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,SAAS,EAAE,KAAK,UAAU,EAAE,MAAM,MAAM,CAAC;AACvD,OAAO,KAAK,EAAE,mBAAmB,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG/E,OAAO,KAAK,EAAE,MAAM,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAOnD,KAAK,wBAAwB,GAAG;IAC9B,MAAM,EAAE,UAAU,GAAG,cAAc,CAAC;IACpC,SAAS,EAAE,SAAS,CAAC;IACrB,WAAW,EAAE,IAAI,CACf,mBAAmB,EACjB,OAAO,GACP,YAAY,GACZ,aAAa,GACb,aAAa,GACb,aAAa,GACb,YAAY,GACZ,gBAAgB,GAChB,MAAM,GACN,OAAO,GACP,gBAAgB,GAChB,eAAe,GACf,gBAAgB,GAChB,iBAAiB,GACjB,gBAAgB,GAChB,gBAAgB,GAChB,MAAM,GACN,MAAM,GACN,SAAS,GACT,gBAAgB,GAChB,cAAc,CACjB,CAAC;IACF,MAAM,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,KAAK,yBAAyB,GAC1B;IACE,IAAI,EAAE,SAAS,CAAC;IAChB,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,EAAE,mBAAmB,CAAC;IACzC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf,GACD;IACE,IAAI,EAAE,OAAO,CAAC;IACd,KAAK,EAAE,OAAO,CAAC;IACf,EAAE,EAAE,MAAM,CAAC;IACX,mBAAmB,CAAC,EAAE,KAAK,CAAC;CAC7B,CAAC;AAEN,MAAM,MAAM,qBAAqB,GAAG,CAClC,KAAK,EAAE,wBAAwB,KAC5B,OAAO,CAAC,yBAAyB,CAAC,CAAC;AAExC,eAAO,MAAM,mBAAmB,EAAE,qBA2J/B,CAAC"}
|
|
@@ -93,6 +93,9 @@ const resolveAutoDiscover = async function _resolveAutoDiscover({
|
|
|
93
93
|
...clientEntry,
|
|
94
94
|
...cssInputs
|
|
95
95
|
};
|
|
96
|
+
if (Object.keys(clientInputsCollection).length === 0) {
|
|
97
|
+
Object.assign(clientInputsCollection, indexHtmlInputs);
|
|
98
|
+
}
|
|
96
99
|
const serverInputsCollection = {
|
|
97
100
|
...clientInputsCollection,
|
|
98
101
|
...customWorkerInputs,
|
|
@@ -125,4 +128,4 @@ const resolveAutoDiscover = async function _resolveAutoDiscover({
|
|
|
125
128
|
};
|
|
126
129
|
|
|
127
130
|
export { resolveAutoDiscover };
|
|
128
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUF1dG9EaXNjb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGx1Z2luL2NvbmZpZy9hdXRvRGlzY292ZXIvcmVzb2x2ZUF1dG9EaXNjb3Zlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENvbmZpZ0VudiwgdHlwZSBVc2VyQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB0eXBlIHsgQXV0b0Rpc2NvdmVyZWRGaWxlcywgUmVzb2x2ZWRVc2VyT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUJ1aWxkUGFnZXMgfSBmcm9tIFwiLi9yZXNvbHZlQnVpbGRQYWdlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZVBhZ2VzIH0gZnJvbSBcIi4uL3Jlc29sdmVQYWdlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIsIFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9jcmVhdGVHbG9iQXV0b0Rpc2NvdmVyLmpzXCI7XG5pbXBvcnQgeyBjdXN0b21Xb3JrZXJGaWxlcyB9IGZyb20gXCIuL2N1c3RvbVdvcmtlckZpbGVzLmpzXCI7XG5pbXBvcnQgeyBwYWdlQW5kUHJvcEZpbGVzIH0gZnJvbSBcIi4vcGFnZUFuZFByb3BGaWxlcy5qc1wiO1xuXG5cblxudHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHMgPSB7XG4gIGNvbmZpZzogVXNlckNvbmZpZyB8IFJlc29sdmVkQ29uZmlnO1xuICBjb25maWdFbnY6IENvbmZpZ0VudjtcbiAgdXNlck9wdGlvbnM6IFBpY2s8XG4gICAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwic2VydmVyRW50cnlcIlxuICAgIHwgXCJjbGllbnRFbnRyeVwiXG4gICAgfCBcInByb2plY3RSb290XCJcbiAgICB8IFwibW9kdWxlQmFzZVwiXG4gICAgfCBcIm1vZHVsZUJhc2VQYXRoXCJcbiAgICB8IFwiUGFnZVwiXG4gICAgfCBcInByb3BzXCJcbiAgICB8IFwiaHRtbFdvcmtlclBhdGhcIlxuICAgIHwgXCJyc2NXb3JrZXJQYXRoXCJcbiAgICB8IFwicGFnZUV4cG9ydE5hbWVcIlxuICAgIHwgXCJwcm9wc0V4cG9ydE5hbWVcIlxuICAgIHwgXCJodG1sRXhwb3J0TmFtZVwiXG4gICAgfCBcInJvb3RFeHBvcnROYW1lXCJcbiAgICB8IFwiUm9vdFwiXG4gICAgfCBcIkh0bWxcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwicGFuaWNUaHJlc2hvbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICA+O1xuICBsb2dnZXI6IExvZ2dlcjtcbn07XG5cbnR5cGUgUmVzb2x2ZUF1dG9EaXNjb3ZlclJldHVybiA9XG4gIHwge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCI7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczogQXV0b0Rpc2NvdmVyZWRGaWxlcztcbiAgICAgIGVycm9yPzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZXJyb3JcIjtcbiAgICAgIGVycm9yOiB1bmtub3duO1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM/OiBuZXZlcjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyRm4gPSAoXG4gIHByb3BzOiBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHNcbikgPT4gUHJvbWlzZTxSZXNvbHZlQXV0b0Rpc2NvdmVyUmV0dXJuPjtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVBdXRvRGlzY292ZXI6IFJlc29sdmVBdXRvRGlzY292ZXJGbiA9XG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlQXV0b0Rpc2NvdmVyKHtcbiAgICBjb25maWcsXG4gICAgY29uZmlnRW52LFxuICAgIHVzZXJPcHRpb25zLFxuICAgIGxvZ2dlcixcbiAgfSkge1xuICAgIGNvbnN0IGVudklkID0gYCR7Y29uZmlnRW52LmNvbW1hbmR9LSR7Y29uZmlnRW52Lm1vZGV9YDtcbiAgICBcblxuICAgIFxuICAgIFxuICAgIFxuXG4gICAgY29uc3QgY29uZmlnSW5wdXRSZWNvcmQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uZmlnSW5wdXRSZWNvcmRbXG4gICAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dClbMF1cbiAgICAgIF0gPSBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmZpZy5idWlsZD8ucm9sbHVwT3B0aW9ucz8uaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0XG4gICAgICApKSB7XG4gICAgICAgIGNvbmZpZ0lucHV0UmVjb3JkW3VzZXJPcHRpb25zLm5vcm1hbGl6ZXIodmFsdWUpWzBdXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlckVudHJ5ID1cbiAgICAgIHR5cGVvZiB1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhbdXNlck9wdGlvbnMubm9ybWFsaXplcih1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSldKVxuICAgICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBpbmRleEh0bWxJbnB1dHMgPSB7IGluZGV4OiBcImluZGV4Lmh0bWxcIiB9O1xuXG4gICAgY29uc3QgY2xpZW50RW50cnkgPVxuICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLmNsaWVudEVudHJ5ID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFt1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLmNsaWVudEVudHJ5KV0pXG4gICAgICAgIDoge307XG5cbiAgICBjb25zdCB7IHR5cGUsIGVycm9yLCBwYWdlcyB9ID0gYXdhaXQgcmVzb2x2ZVBhZ2VzKHVzZXJPcHRpb25zLmJ1aWxkLnBhZ2VzKTtcblxuICAgIGlmICh0eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGlkOiBlbnZJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY2xpZW50RW50cnkpO1xuICAgIGNvbnN0IHNlcnZlckZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuc2VydmVyRW50cnkpO1xuICAgIGNvbnN0IGNzc0ZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY3NzRW50cnkpO1xuICAgIGNvbnN0IGpzb25GaWxlcyA9IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIodXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmpzb25FbnRyeSk7XG4gICAgY29uc3QgaHRtbEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4uc291cmNlKTtcblxuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVzb2x2ZUJ1aWxkUGFnZXMoe1xuICAgICAgcGFnZXMsXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICAgIGxvZ2dlcixcbiAgICB9KTtcblxuIFxuXG4gICAgY29uc3QgY3VzdG9tV29ya2VySW5wdXRzID0gY3VzdG9tV29ya2VyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudElucHV0cyA9IGF3YWl0IGNsaWVudEZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBzZXJ2ZXJBY3Rpb25zID0gYXdhaXQgc2VydmVyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFnZUFuZFByb3BJbnB1dHMgPSBwYWdlQW5kUHJvcEZpbGVzKHtcbiAgICAgIGZpbGVzLFxuICAgICAgaW5wdXRzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzc0lucHV0cyA9IGF3YWl0IGNzc0ZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGpzb25JbnB1dHMgPSBhd2FpdCBqc29uRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaHRtbElucHV0cyA9IGF3YWl0IGh0bWxGaWxlcyh7XG4gICAgICBpbnB1dHM6IHt9LFxuICAgICAgdXNlck9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIFJvb3QgYW5kIEh0bWwgY29tcG9uZW50cyB0byBpbnB1dHNcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRJbnB1dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIC8vIEFkZCBSb290IGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW3Jvb3RLZXksIHJvb3RWYWx1ZV0gb2YgZmlsZXMucm9vdE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbcm9vdEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW3Jvb3RLZXldID0gcm9vdFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBIdG1sIGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW2h0bWxLZXksIGh0bWxWYWx1ZV0gb2YgZmlsZXMuaHRtbE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbaHRtbEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW2h0bWxLZXldID0gaHRtbFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgXG4gICAgLy8gU2VwYXJhdGUgY2xpZW50IGFuZCBzZXJ2ZXIgaW5wdXRzXG4gICAgY29uc3QgY2xpZW50SW5wdXRzQ29sbGVjdGlvbiA9IHtcbiAgICAgIC4uLmNvbmZpZ0lucHV0UmVjb3JkLFxuICAgICAgLi4uY2xpZW50SW5wdXRzLFxuICAgICAgLi4uY2xpZW50RW50cnksXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgfTtcbiAgICBcbiAgICBjb25zdCBzZXJ2ZXJJbnB1dHNDb2xsZWN0aW9uID0ge1xuICAgICAgLi4uY2xpZW50SW5wdXRzQ29sbGVjdGlvbixcbiAgICAgIC4uLmN1c3RvbVdvcmtlcklucHV0cyxcbiAgICAgIC4uLnBhZ2VBbmRQcm9wSW5wdXRzLFxuICAgICAgLi4uY3NzSW5wdXRzLFxuICAgICAgLi4uc2VydmVyQWN0aW9ucyxcbiAgICAgIC4uLnNlcnZlckVudHJ5LFxuICAgICAgLi4uanNvbklucHV0cyxcbiAgICAgIC4uLmN1c3RvbUNvbXBvbmVudElucHV0cywgLy8gQWRkIGN1c3RvbSBjb21wb25lbnRzIHRvIHNlcnZlciBidWlsZFxuICAgIH07XG5cbiAgICByZXR1cm4ge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCIsXG4gICAgICBpZDogZW52SWQsXG4gICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgIC4uLmZpbGVzLFxuICAgICAgICB3b3JrZXJQYXRoczogY3VzdG9tV29ya2VySW5wdXRzLFxuICAgICAgICBzZXJ2ZXJFbnRyeSxcbiAgICAgICAgY2xpZW50RW50cnksXG4gICAgICAgIHN0YXRpY0lucHV0czoge1xuICAgICAgICAgIC4uLmluZGV4SHRtbElucHV0cyxcbiAgICAgICAgICAuLi5odG1sSW5wdXRzLFxuICAgICAgICAgIC4uLmNsaWVudElucHV0c0NvbGxlY3Rpb25cbiAgICAgICAgfSxcbiAgICAgICAgY2xpZW50SW5wdXRzOiBjbGllbnRJbnB1dHNDb2xsZWN0aW9uLFxuICAgICAgICBzZXJ2ZXJJbnB1dHM6IHNlcnZlcklucHV0c0NvbGxlY3Rpb24sXG4gICAgICAgIHNlcnZlckFjdGlvbnMsXG4gICAgICB9LFxuICAgIH07XG4gIH07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBMERhLE1BQUEsbUJBQUEsR0FDWCxlQUFlLG9CQUFxQixDQUFBO0FBQUEsRUFDbEMsTUFBQTtBQUFBLEVBQ0EsU0FBQTtBQUFBLEVBQ0EsV0FBQTtBQUFBLEVBQ0E7QUFDRixDQUFHLEVBQUE7QUFDRCxFQUFBLE1BQU0sUUFBUSxDQUFHLEVBQUEsU0FBQSxDQUFVLE9BQU8sQ0FBQSxDQUFBLEVBQUksVUFBVSxJQUFJLENBQUEsQ0FBQTtBQU9wRCxFQUFBLE1BQU0sb0JBQW9CLEVBQUM7QUFDM0IsRUFBQSxJQUFJLE9BQU8sTUFBQSxDQUFPLEtBQU8sRUFBQSxhQUFBLEVBQWUsVUFBVSxRQUFVLEVBQUE7QUFDMUQsSUFBQSxpQkFBQSxDQUNFLFdBQVksQ0FBQSxVQUFBLENBQVcsTUFBTyxDQUFBLEtBQUEsRUFBTyxhQUFlLEVBQUEsS0FBSyxDQUFFLENBQUEsQ0FBQyxDQUM5RCxDQUFBLEdBQUksTUFBTyxDQUFBLEtBQUEsRUFBTyxh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
|
|
131
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVzb2x2ZUF1dG9EaXNjb3Zlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vLi4vcGx1Z2luL2NvbmZpZy9hdXRvRGlzY292ZXIvcmVzb2x2ZUF1dG9EaXNjb3Zlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyB0eXBlIENvbmZpZ0VudiwgdHlwZSBVc2VyQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB0eXBlIHsgQXV0b0Rpc2NvdmVyZWRGaWxlcywgUmVzb2x2ZWRVc2VyT3B0aW9ucyB9IGZyb20gXCIuLi8uLi90eXBlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZUJ1aWxkUGFnZXMgfSBmcm9tIFwiLi9yZXNvbHZlQnVpbGRQYWdlcy5qc1wiO1xuaW1wb3J0IHsgcmVzb2x2ZVBhZ2VzIH0gZnJvbSBcIi4uL3Jlc29sdmVQYWdlcy5qc1wiO1xuaW1wb3J0IHR5cGUgeyBMb2dnZXIsIFJlc29sdmVkQ29uZmlnIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIgfSBmcm9tIFwiLi9jcmVhdGVHbG9iQXV0b0Rpc2NvdmVyLmpzXCI7XG5pbXBvcnQgeyBjdXN0b21Xb3JrZXJGaWxlcyB9IGZyb20gXCIuL2N1c3RvbVdvcmtlckZpbGVzLmpzXCI7XG5pbXBvcnQgeyBwYWdlQW5kUHJvcEZpbGVzIH0gZnJvbSBcIi4vcGFnZUFuZFByb3BGaWxlcy5qc1wiO1xuXG5cblxudHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHMgPSB7XG4gIGNvbmZpZzogVXNlckNvbmZpZyB8IFJlc29sdmVkQ29uZmlnO1xuICBjb25maWdFbnY6IENvbmZpZ0VudjtcbiAgdXNlck9wdGlvbnM6IFBpY2s8XG4gICAgUmVzb2x2ZWRVc2VyT3B0aW9ucyxcbiAgICB8IFwiYnVpbGRcIlxuICAgIHwgXCJub3JtYWxpemVyXCJcbiAgICB8IFwic2VydmVyRW50cnlcIlxuICAgIHwgXCJjbGllbnRFbnRyeVwiXG4gICAgfCBcInByb2plY3RSb290XCJcbiAgICB8IFwibW9kdWxlQmFzZVwiXG4gICAgfCBcIm1vZHVsZUJhc2VQYXRoXCJcbiAgICB8IFwiUGFnZVwiXG4gICAgfCBcInByb3BzXCJcbiAgICB8IFwiaHRtbFdvcmtlclBhdGhcIlxuICAgIHwgXCJyc2NXb3JrZXJQYXRoXCJcbiAgICB8IFwicGFnZUV4cG9ydE5hbWVcIlxuICAgIHwgXCJwcm9wc0V4cG9ydE5hbWVcIlxuICAgIHwgXCJodG1sRXhwb3J0TmFtZVwiXG4gICAgfCBcInJvb3RFeHBvcnROYW1lXCJcbiAgICB8IFwiUm9vdFwiXG4gICAgfCBcIkh0bWxcIlxuICAgIHwgXCJ2ZXJib3NlXCJcbiAgICB8IFwicGFuaWNUaHJlc2hvbGRcIlxuICAgIHwgXCJhdXRvRGlzY292ZXJcIlxuICA+O1xuICBsb2dnZXI6IExvZ2dlcjtcbn07XG5cbnR5cGUgUmVzb2x2ZUF1dG9EaXNjb3ZlclJldHVybiA9XG4gIHwge1xuICAgICAgdHlwZTogXCJzdWNjZXNzXCI7XG4gICAgICBpZDogc3RyaW5nO1xuICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczogQXV0b0Rpc2NvdmVyZWRGaWxlcztcbiAgICAgIGVycm9yPzogbmV2ZXI7XG4gICAgfVxuICB8IHtcbiAgICAgIHR5cGU6IFwiZXJyb3JcIjtcbiAgICAgIGVycm9yOiB1bmtub3duO1xuICAgICAgaWQ6IHN0cmluZztcbiAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM/OiBuZXZlcjtcbiAgICB9O1xuXG5leHBvcnQgdHlwZSBSZXNvbHZlQXV0b0Rpc2NvdmVyRm4gPSAoXG4gIHByb3BzOiBSZXNvbHZlQXV0b0Rpc2NvdmVyUHJvcHNcbikgPT4gUHJvbWlzZTxSZXNvbHZlQXV0b0Rpc2NvdmVyUmV0dXJuPjtcblxuZXhwb3J0IGNvbnN0IHJlc29sdmVBdXRvRGlzY292ZXI6IFJlc29sdmVBdXRvRGlzY292ZXJGbiA9XG4gIGFzeW5jIGZ1bmN0aW9uIF9yZXNvbHZlQXV0b0Rpc2NvdmVyKHtcbiAgICBjb25maWcsXG4gICAgY29uZmlnRW52LFxuICAgIHVzZXJPcHRpb25zLFxuICAgIGxvZ2dlcixcbiAgfSkge1xuICAgIGNvbnN0IGVudklkID0gYCR7Y29uZmlnRW52LmNvbW1hbmR9LSR7Y29uZmlnRW52Lm1vZGV9YDtcbiAgICBcblxuICAgIFxuICAgIFxuICAgIFxuXG4gICAgY29uc3QgY29uZmlnSW5wdXRSZWNvcmQgPSB7fSBhcyBSZWNvcmQ8c3RyaW5nLCBzdHJpbmc+O1xuICAgIGlmICh0eXBlb2YgY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dCA9PT0gXCJzdHJpbmdcIikge1xuICAgICAgY29uZmlnSW5wdXRSZWNvcmRbXG4gICAgICAgIHVzZXJPcHRpb25zLm5vcm1hbGl6ZXIoY29uZmlnLmJ1aWxkPy5yb2xsdXBPcHRpb25zPy5pbnB1dClbMF1cbiAgICAgIF0gPSBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0O1xuICAgIH0gZWxzZSBpZiAodHlwZW9mIGNvbmZpZy5idWlsZD8ucm9sbHVwT3B0aW9ucz8uaW5wdXQgPT09IFwib2JqZWN0XCIpIHtcbiAgICAgIGZvciAoY29uc3QgWywgdmFsdWVdIG9mIE9iamVjdC5lbnRyaWVzKFxuICAgICAgICBjb25maWcuYnVpbGQ/LnJvbGx1cE9wdGlvbnM/LmlucHV0XG4gICAgICApKSB7XG4gICAgICAgIGNvbmZpZ0lucHV0UmVjb3JkW3VzZXJPcHRpb25zLm5vcm1hbGl6ZXIodmFsdWUpWzBdXSA9IHZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIGNvbnN0IHNlcnZlckVudHJ5ID1cbiAgICAgIHR5cGVvZiB1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSA9PT0gXCJzdHJpbmdcIlxuICAgICAgICA/IE9iamVjdC5mcm9tRW50cmllcyhbdXNlck9wdGlvbnMubm9ybWFsaXplcih1c2VyT3B0aW9ucy5zZXJ2ZXJFbnRyeSldKVxuICAgICAgICA6IG51bGw7XG5cbiAgICBjb25zdCBpbmRleEh0bWxJbnB1dHMgPSB7IGluZGV4OiBcImluZGV4Lmh0bWxcIiB9O1xuXG4gICAgY29uc3QgY2xpZW50RW50cnkgPVxuICAgICAgdHlwZW9mIHVzZXJPcHRpb25zLmNsaWVudEVudHJ5ID09PSBcInN0cmluZ1wiXG4gICAgICAgID8gT2JqZWN0LmZyb21FbnRyaWVzKFt1c2VyT3B0aW9ucy5ub3JtYWxpemVyKHVzZXJPcHRpb25zLmNsaWVudEVudHJ5KV0pXG4gICAgICAgIDoge307XG5cbiAgICBjb25zdCB7IHR5cGUsIGVycm9yLCBwYWdlcyB9ID0gYXdhaXQgcmVzb2x2ZVBhZ2VzKHVzZXJPcHRpb25zLmJ1aWxkLnBhZ2VzKTtcblxuICAgIGlmICh0eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgIHJldHVybiB7XG4gICAgICAgIHR5cGU6IFwiZXJyb3JcIixcbiAgICAgICAgZXJyb3IsXG4gICAgICAgIGlkOiBlbnZJZCxcbiAgICAgIH07XG4gICAgfVxuICAgIGNvbnN0IGNsaWVudEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY2xpZW50RW50cnkpO1xuICAgIGNvbnN0IHNlcnZlckZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuc2VydmVyRW50cnkpO1xuICAgIGNvbnN0IGNzc0ZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuY3NzRW50cnkpO1xuICAgIGNvbnN0IGpzb25GaWxlcyA9IGNyZWF0ZUdsb2JBdXRvRGlzY292ZXIodXNlck9wdGlvbnMuYXV0b0Rpc2NvdmVyLmpzb25FbnRyeSk7XG4gICAgY29uc3QgaHRtbEZpbGVzID0gY3JlYXRlR2xvYkF1dG9EaXNjb3Zlcih1c2VyT3B0aW9ucy5hdXRvRGlzY292ZXIuaHRtbFBhdHRlcm4uc291cmNlKTtcblxuICAgIGNvbnN0IGZpbGVzID0gYXdhaXQgcmVzb2x2ZUJ1aWxkUGFnZXMoe1xuICAgICAgcGFnZXMsXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICAgIGxvZ2dlcixcbiAgICB9KTtcblxuIFxuXG4gICAgY29uc3QgY3VzdG9tV29ya2VySW5wdXRzID0gY3VzdG9tV29ya2VyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuICAgIGNvbnN0IGNsaWVudElucHV0cyA9IGF3YWl0IGNsaWVudEZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcbiAgICBjb25zdCBzZXJ2ZXJBY3Rpb25zID0gYXdhaXQgc2VydmVyRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgcGFnZUFuZFByb3BJbnB1dHMgPSBwYWdlQW5kUHJvcEZpbGVzKHtcbiAgICAgIGZpbGVzLFxuICAgICAgaW5wdXRzOiB7fSxcbiAgICB9KTtcblxuICAgIGNvbnN0IGNzc0lucHV0cyA9IGF3YWl0IGNzc0ZpbGVzKHtcbiAgICAgIGlucHV0czoge30sXG4gICAgICB1c2VyT3B0aW9ucyxcbiAgICB9KTtcblxuICAgIGNvbnN0IGpzb25JbnB1dHMgPSBhd2FpdCBqc29uRmlsZXMoe1xuICAgICAgaW5wdXRzOiB7fSxcbiAgICAgIHVzZXJPcHRpb25zLFxuICAgIH0pO1xuXG4gICAgY29uc3QgaHRtbElucHV0cyA9IGF3YWl0IGh0bWxGaWxlcyh7XG4gICAgICBpbnB1dHM6IHt9LFxuICAgICAgdXNlck9wdGlvbnMsXG4gICAgfSk7XG5cbiAgICAvLyBBZGQgY3VzdG9tIFJvb3QgYW5kIEh0bWwgY29tcG9uZW50cyB0byBpbnB1dHNcbiAgICBjb25zdCBjdXN0b21Db21wb25lbnRJbnB1dHM6IFJlY29yZDxzdHJpbmcsIHN0cmluZz4gPSB7fTtcblxuICAgIC8vIEFkZCBSb290IGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW3Jvb3RLZXksIHJvb3RWYWx1ZV0gb2YgZmlsZXMucm9vdE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbcm9vdEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW3Jvb3RLZXldID0gcm9vdFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuICAgIC8vIEFkZCBIdG1sIGNvbXBvbmVudHMgZnJvbSByZXNvbHZlZCBidWlsZCBwYWdlc1xuICAgIGZvciAoY29uc3QgW2h0bWxLZXksIGh0bWxWYWx1ZV0gb2YgZmlsZXMuaHRtbE1hcCkge1xuICAgICAgaWYgKCFjdXN0b21Db21wb25lbnRJbnB1dHNbaHRtbEtleV0pIHtcbiAgICAgICAgY3VzdG9tQ29tcG9uZW50SW5wdXRzW2h0bWxLZXldID0gaHRtbFZhbHVlO1xuICAgICAgfVxuICAgIH1cblxuXG4gICAgXG4gICAgLy8gU2VwYXJhdGUgY2xpZW50IGFuZCBzZXJ2ZXIgaW5wdXRzXG4gICAgY29uc3QgY2xpZW50SW5wdXRzQ29sbGVjdGlvbiA9IHtcbiAgICAgIC4uLmNvbmZpZ0lucHV0UmVjb3JkLFxuICAgICAgLi4uY2xpZW50SW5wdXRzLFxuICAgICAgLi4uY2xpZW50RW50cnksXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgfTtcbiAgICAvLyBJZiBubyBjbGllbnQgZW50cmllcyBmb3VuZCwgZmFsbCBiYWNrIHRvIGluZGV4Lmh0bWwgc28gU1NSIGVudmlyb25tZW50IGhhcyBpbnB1dHNcbiAgICBpZiAoT2JqZWN0LmtleXMoY2xpZW50SW5wdXRzQ29sbGVjdGlvbikubGVuZ3RoID09PSAwKSB7XG4gICAgICBPYmplY3QuYXNzaWduKGNsaWVudElucHV0c0NvbGxlY3Rpb24sIGluZGV4SHRtbElucHV0cyk7XG4gICAgfVxuICAgIFxuICAgIGNvbnN0IHNlcnZlcklucHV0c0NvbGxlY3Rpb24gPSB7XG4gICAgICAuLi5jbGllbnRJbnB1dHNDb2xsZWN0aW9uLFxuICAgICAgLi4uY3VzdG9tV29ya2VySW5wdXRzLFxuICAgICAgLi4ucGFnZUFuZFByb3BJbnB1dHMsXG4gICAgICAuLi5jc3NJbnB1dHMsXG4gICAgICAuLi5zZXJ2ZXJBY3Rpb25zLFxuICAgICAgLi4uc2VydmVyRW50cnksXG4gICAgICAuLi5qc29uSW5wdXRzLFxuICAgICAgLi4uY3VzdG9tQ29tcG9uZW50SW5wdXRzLCAvLyBBZGQgY3VzdG9tIGNvbXBvbmVudHMgdG8gc2VydmVyIGJ1aWxkXG4gICAgfTtcblxuICAgIHJldHVybiB7XG4gICAgICB0eXBlOiBcInN1Y2Nlc3NcIixcbiAgICAgIGlkOiBlbnZJZCxcbiAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IHtcbiAgICAgICAgLi4uZmlsZXMsXG4gICAgICAgIHdvcmtlclBhdGhzOiBjdXN0b21Xb3JrZXJJbnB1dHMsXG4gICAgICAgIHNlcnZlckVudHJ5LFxuICAgICAgICBjbGllbnRFbnRyeSxcbiAgICAgICAgc3RhdGljSW5wdXRzOiB7XG4gICAgICAgICAgLi4uaW5kZXhIdG1sSW5wdXRzLFxuICAgICAgICAgIC4uLmh0bWxJbnB1dHMsXG4gICAgICAgICAgLi4uY2xpZW50SW5wdXRzQ29sbGVjdGlvblxuICAgICAgICB9LFxuICAgICAgICBjbGllbnRJbnB1dHM6IGNsaWVudElucHV0c0NvbGxlY3Rpb24sXG4gICAgICAgIHNlcnZlcklucHV0czogc2VydmVySW5wdXRzQ29sbGVjdGlvbixcbiAgICAgICAgc2VydmVyQWN0aW9ucyxcbiAgICAgIH0sXG4gICAgfTtcbiAgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUEwRGEsTUFBQSxtQkFBQSxHQUNYLGVBQWUsb0JBQXFCLENBQUE7QUFBQSxFQUNsQyxNQUFBO0FBQUEsRUFDQSxTQUFBO0FBQUEsRUFDQSxXQUFBO0FBQUEsRUFDQTtBQUNGLENBQUcsRUFBQTtBQUNELEVBQUEsTUFBTSxRQUFRLENBQUcsRUFBQSxTQUFBLENBQVUsT0FBTyxDQUFBLENBQUEsRUFBSSxVQUFVLElBQUksQ0FBQSxDQUFBO0FB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
|
|
@@ -1,8 +1,13 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { DEFAULT_CONFIG } from './defaults.js';
|
|
7
|
+
|
|
8
|
+
function envPrefixFromConfig(config) {
|
|
9
|
+
return typeof config.envPrefix === "string" ? config.envPrefix : Array.isArray(config.envPrefix) ? config.envPrefix[0] : DEFAULT_CONFIG.ENV_PREFIX;
|
|
8
10
|
}
|
|
11
|
+
|
|
12
|
+
export { envPrefixFromConfig };
|
|
13
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZW52UHJlZml4RnJvbUNvbmZpZy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2NvbmZpZy9lbnZQcmVmaXhGcm9tQ29uZmlnLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUmVzb2x2ZWRDb25maWcgfSBmcm9tIFwidml0ZVwiO1xuaW1wb3J0IHsgREVGQVVMVF9DT05GSUcgfSBmcm9tIFwiLi9kZWZhdWx0cy5qc1wiO1xuXG5leHBvcnQgZnVuY3Rpb24gZW52UHJlZml4RnJvbUNvbmZpZyhjb25maWc6IFBpY2s8UmVzb2x2ZWRDb25maWcsIFwiZW52UHJlZml4XCI+KSB7XG4gIHJldHVybiB0eXBlb2YgY29uZmlnLmVudlByZWZpeCA9PT0gXCJzdHJpbmdcIlxuICAgID8gY29uZmlnLmVudlByZWZpeFxuICAgIDogQXJyYXkuaXNBcnJheShjb25maWcuZW52UHJlZml4KVxuICAgID8gY29uZmlnLmVudlByZWZpeFswXVxuICAgIDogREVGQVVMVF9DT05GSUcuRU5WX1BSRUZJWDtcbn0iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7OztBQUdPLFNBQVMsb0JBQW9CLE1BQTJDLEVBQUE7QUFDN0UsRUFBQSxPQUFPLE9BQU8sTUFBQSxDQUFPLFNBQWMsS0FBQSxRQUFBLEdBQy9CLE9BQU8sU0FDUCxHQUFBLEtBQUEsQ0FBTSxPQUFRLENBQUEsTUFBQSxDQUFPLFNBQVMsQ0FDOUIsR0FBQSxNQUFBLENBQU8sU0FBVSxDQUFBLENBQUMsSUFDbEIsY0FBZSxDQUFBLFVBQUE7QUFDckI7Ozs7In0=
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAsGA;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAAM,EAUzC,CAAC;AASF,eAAO,MAAM,6BAA6B,QAAO,MAAM,EAKtD,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,IAwBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAC5B,cAAc,GACd,cAAc,GACd,SAWH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,GAAG,QAAQ,EAAE,gBAAgB,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,QAAQ,EAC9H,SAAQ,MAA2B,EACnC,gBACI,GAAG,MAAM,QAAQ,GACjB,GAAG,MAAM,QAAiD,KAC7D,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAAQ,GAAG,gBAS1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,IAAI,IAAI;IACnD,SAAS,EAAE,cAAc,CAAC;CAC3B,
|
|
1
|
+
{"version":3,"file":"getCondition.d.ts","sourceRoot":"","sources":["../../../plugin/config/getCondition.ts"],"names":[],"mappings":"AAsGA;;GAEG;AACH,eAAO,MAAM,gBAAgB,QAAO,MAAM,EAUzC,CAAC;AASF,eAAO,MAAM,6BAA6B,QAAO,MAAM,EAKtD,CAAC;AAEF,eAAO,MAAM,8BAA8B,QAAO,IAwBjD,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,mBAAmB,QAC5B,cAAc,GACd,cAAc,GACd,SAWH,CAAC;AAEF;;GAEG;AACH,eAAO,MAAM,YAAY,GAAI,MAAM,SAAS,MAAM,GAAG,QAAQ,EAAE,gBAAgB,SAAS,GAAG,MAAM,GAAG,MAAM,EAAE,GAAG,GAAG,MAAM,QAAQ,EAC9H,SAAQ,MAA2B,EACnC,gBACI,GAAG,MAAM,QAAQ,GACjB,GAAG,MAAM,QAAiD,KAC7D,GAAG,MAAM,QAAQ,GAAG,GAAG,MAAM,QAAQ,GAAG,gBAS1C,CAAC;AAEF;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,OAAO,CAAC,IAAI,IAAI;IACnD,SAAS,EAAE,cAAc,CAAC;CAC3B,CASA;AAED,wBAAgB,oBAAoB,IAAI,OAAO,CAAC,IAAI,IAAI;IACtD,SAAS,EAAE,cAAc,CAAC;CAC3B,CASA;AAED;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAO,OACA,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,sBAAsB,QAAO,OACA,CAAC;AAE3C;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,OAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,uBAAuB,QAAO,OAG1C,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,wBAAwB,QAAO,MAAM,EAIjD,CAAC;AAEF;;;GAGG;AACH,eAAO,MAAM,SAAS,6CAAwB,CAAC"}
|
|
@@ -131,17 +131,19 @@ const getCondition = (prefix = "react-", defaultReturn = `${prefix}client`) => {
|
|
|
131
131
|
function assertReactServer() {
|
|
132
132
|
const currentCondition = getCurrentCondition();
|
|
133
133
|
if (currentCondition !== "react-server") {
|
|
134
|
-
|
|
135
|
-
`Condition mismatch
|
|
134
|
+
console.warn(
|
|
135
|
+
`[vite-plugin-react-server] Condition mismatch: expected react-server. Set NODE_OPTIONS="--conditions=react-server"`
|
|
136
136
|
);
|
|
137
|
+
return;
|
|
137
138
|
}
|
|
138
139
|
}
|
|
139
140
|
function assertNonReactServer() {
|
|
140
141
|
const currentCondition = getCurrentCondition();
|
|
141
142
|
if (currentCondition === "react-server") {
|
|
142
|
-
|
|
143
|
-
`Condition mismatch
|
|
143
|
+
console.warn(
|
|
144
|
+
`[vite-plugin-react-server] Condition mismatch: unexpected react-server condition on this module.`
|
|
144
145
|
);
|
|
146
|
+
return;
|
|
145
147
|
}
|
|
146
148
|
}
|
|
147
149
|
const isReactServerCondition = () => getCurrentCondition() === "react-server";
|
|
@@ -162,4 +164,4 @@ const getNodeOptionsConditions = () => {
|
|
|
162
164
|
const condition = getCurrentCondition();
|
|
163
165
|
|
|
164
166
|
export { assertNonReactServer, assertReactServer, condition, detectReactConditionAmbiguity, getAllConditions, getCondition, getCurrentCondition, getNodeOptionsConditions, hasReactClientCondition, hasReactServerCondition, isReactClientCondition, isReactServerCondition, warnIfAmbiguousReactConditions };
|
|
165
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZGl0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vY29uZmlnL2dldENvbmRpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBkbyBub3QgaW1wb3J0IE5vZGUtb25seSBtb2R1bGVzIGhlcmUgKGUuZy4sICdub2RlOndvcmtlcl90aHJlYWRzJykuXG4vLyBUaGlzIGZpbGUgaXMgY29uc3VtZWQgaW4gYm90aCBzZXJ2ZXIgYW5kIGNsaWVudCBwbHVnaW4gY29udGV4dHMuXG5cbi8qKlxuICogVG9rZW5pemVzIE5PREVfT1BUSU9OUyBzdHJpbmcgaW50byBpbmRpdmlkdWFsIGFyZ3VtZW50c1xuICogSGFuZGxlcyBxdW90ZWQgc3RyaW5ncywgc3BhY2VzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXJzXG4gKi9cbmNvbnN0IHRva2VuaXplTm9kZU9wdGlvbnMgPSAoKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBub2RlT3B0aW9ucyA9IHByb2Nlc3MuZW52W1wiTk9ERV9PUFRJT05TXCJdIHx8IFwiXCI7XG4gIGlmICghbm9kZU9wdGlvbnMudHJpbSgpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgdG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgY3VycmVudCA9IFwiXCI7XG4gIGxldCBpblF1b3RlcyA9IGZhbHNlO1xuICBsZXQgcXVvdGVDaGFyID0gXCJcIjtcbiAgbGV0IGkgPSAwO1xuXG4gIHdoaWxlIChpIDwgbm9kZU9wdGlvbnMubGVuZ3RoKSB7XG4gICAgY29uc3QgY2hhciA9IG5vZGVPcHRpb25zW2ldO1xuXG4gICAgaWYgKGluUXVvdGVzKSB7XG4gICAgICBpZiAoY2hhciA9PT0gcXVvdGVDaGFyKSB7XG4gICAgICAgIGluUXVvdGVzID0gZmFsc2U7XG4gICAgICAgIHF1b3RlQ2hhciA9IFwiXCI7XG4gICAgICAgIGlmIChjdXJyZW50LnRyaW0oKSkge1xuICAgICAgICAgIHRva2Vucy5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgICAgICAgICBjdXJyZW50ID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudCArPSBjaGFyO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY2hhciA9PT0gJ1wiJyB8fCBjaGFyID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudC50cmltKCkpIHtcbiAgICAgICAgICB0b2tlbnMucHVzaChjdXJyZW50LnRyaW0oKSk7XG4gICAgICAgICAgY3VycmVudCA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaW5RdW90ZXMgPSB0cnVlO1xuICAgICAgICBxdW90ZUNoYXIgPSBjaGFyO1xuICAgICAgfSBlbHNlIGlmIChjaGFyID09PSBcIiBcIiB8fCBjaGFyID09PSBcIlxcdFwiIHx8IGNoYXIgPT09IFwiXFxuXCIpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQudHJpbSgpKSB7XG4gICAgICAgICAgdG9rZW5zLnB1c2goY3VycmVudC50cmltKCkpO1xuICAgICAgICAgIGN1cnJlbnQgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50ICs9IGNoYXI7XG4gICAgICB9XG4gICAgfVxuICAgIGkrKztcbiAgfVxuXG4gIGlmIChjdXJyZW50LnRyaW0oKSkge1xuICAgIHRva2Vucy5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnMuZmlsdGVyKEJvb2xlYW4pO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBmb3IgY29uZGl0aW9ucyBhbmQgb3RoZXIgZmxhZ3NcbiAqL1xuY29uc3QgcGFyc2VOb2RlQXJncyA9IChhcmdzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmbGFncyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGFyZyA9IGFyZ3NbaV07XG5cbiAgICBpZiAoYXJnID09PSBcIi0tY29uZGl0aW9uc1wiIHx8IGFyZyA9PT0gXCItQ1wiKSB7XG4gICAgICAvLyBOZXh0IGFyZ3VtZW50IGlzIHRoZSBjb25kaXRpb24gdmFsdWVcbiAgICAgIGlmIChpICsgMSA8IGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvblZhbHVlID0gYXJnc1tpICsgMV07XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChcbiAgICAgICAgICAuLi5jb25kaXRpb25WYWx1ZVxuICAgICAgICAgICAgLnNwbGl0KFwiLFwiKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gYy50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICk7XG4gICAgICAgIGkrKzsgLy8gU2tpcCB0aGUgbmV4dCBhcmd1bWVudCBzaW5jZSB3ZSBjb25zdW1lZCBpdFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnLnN0YXJ0c1dpdGgoXCItLWNvbmRpdGlvbnM9XCIpKSB7XG4gICAgICAvLyBDb25kaXRpb24gdmFsdWUgaXMgcGFydCBvZiB0aGUgc2FtZSBhcmd1bWVudFxuICAgICAgY29uc3QgY29uZGl0aW9uVmFsdWUgPSBhcmcuc3Vic3RyaW5nKFwiLS1jb25kaXRpb25zPVwiLmxlbmd0aCk7XG4gICAgICBjb25kaXRpb25zLnB1c2goXG4gICAgICAgIC4uLmNvbmRpdGlvblZhbHVlXG4gICAgICAgICAgLnNwbGl0KFwiLFwiKVxuICAgICAgICAgIC5tYXAoKGMpID0+IGMudHJpbSgpKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhcmcgPT09IFwiLS1uby1hZGRvbnNcIikge1xuICAgICAgZmxhZ3MuYWRkKFwibm8tYWRkb25zXCIpO1xuICAgIH0gZWxzZSBpZiAoYXJnLnN0YXJ0c1dpdGgoXCItLVwiKSkge1xuICAgICAgLy8gT3RoZXIgZmxhZ3NcbiAgICAgIGZsYWdzLmFkZChhcmcpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGNvbmRpdGlvbnMsIGZsYWdzIH07XG59O1xuXG4vKipcbiAqIEdldHMgYWxsIGNvbmRpdGlvbnMgZnJvbSBib3RoIE5PREVfT1BUSU9OUyBhbmQgY29tbWFuZC1saW5lIGFyZ3VtZW50c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QWxsQ29uZGl0aW9ucyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gIC8vIFBhcnNlIE5PREVfT1BUSU9OU1xuICBjb25zdCBub2RlT3B0aW9uc1Rva2VucyA9IHRva2VuaXplTm9kZU9wdGlvbnMoKTtcbiAgY29uc3QgeyBjb25kaXRpb25zOiBlbnZDb25kaXRpb25zIH0gPSBwYXJzZU5vZGVBcmdzKG5vZGVPcHRpb25zVG9rZW5zKTtcblxuICAvLyBQYXJzZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4gIGNvbnN0IHsgY29uZGl0aW9uczogY2xpQ29uZGl0aW9ucyB9ID0gcGFyc2VOb2RlQXJncyhwcm9jZXNzLmV4ZWNBcmd2KTtcblxuICAvLyBDb21iaW5lIGFsbCBjb25kaXRpb25zXG4gIHJldHVybiBbLi4uZW52Q29uZGl0aW9ucywgLi4uY2xpQ29uZGl0aW9uc107XG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbWJpZ3VpdHkgZGV0ZWN0aW9uIGFuZCB3YXJuaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXQgZGlkV2FybkFtYmlndW91c0NvbmRpdGlvbnMgPSBmYWxzZTtcbi8vIHJlYWN0LXN0YXRpYyBkb2VzIG5vdCBleGlzdHMsIGJlY2F1c2UgeW91IHN0aWxsIG5lZWQgY29uZGl0aW9uIHJlYWN0LXNlcnZlciBmb3IgdGhlIC5zdGF0aWMgaW1wb3J0cyB0byB3b3JrLlxuY29uc3QgcmVhY3RDb25kaXRpb25TZXQgPSBuZXcgU2V0KFtcInJlYWN0LXNlcnZlclwiLCBcInJlYWN0LWNsaWVudFwiXSk7XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RSZWFjdENvbmRpdGlvbkFtYmlndWl0eSA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIGNvbnN0IGZvdW5kID0gY29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IHJlYWN0Q29uZGl0aW9uU2V0LmhhcyhjKSk7XG4gIGNvbnN0IHVuaXF1ZSA9IEFycmF5LmZyb20obmV3IFNldChmb3VuZCkpO1xuICByZXR1cm4gdW5pcXVlO1xufTtcblxuZXhwb3J0IGNvbnN0IHdhcm5JZkFtYmlndW91c1JlYWN0Q29uZGl0aW9ucyA9ICgpOiB2b2lkID0+IHtcbiAgaWYgKGRpZFdhcm5BbWJpZ3VvdXNDb25kaXRpb25zKSByZXR1cm47XG4gIGNvbnN0IHVuaXF1ZSA9IGRldGVjdFJlYWN0Q29uZGl0aW9uQW1iaWd1aXR5KCk7XG4gIGlmICh1bmlxdWUuaW5jbHVkZXMoXCJyZWFjdC1zZXJ2ZXJcIikgJiYgdW5pcXVlLmluY2x1ZGVzKFwicmVhY3QtY2xpZW50XCIpKSB7XG4gICAgZGlkV2FybkFtYmlndW91c0NvbmRpdGlvbnMgPSB0cnVlO1xuICAgIGNvbnN0IG5vZGVPcHRpb25zID0gcHJvY2Vzcy5lbnZbXCJOT0RFX09QVElPTlNcIl0gfHwgXCJcIjtcbiAgICBjb25zdCBhcmd2ID0gcHJvY2Vzcy5leGVjQXJndi5qb2luKFwiIFwiKTtcbiAgICBjb25zdCBtc2cgPVxuICAgICAgYEJvdGggcmVhY3Qtc2VydmVyIGFuZCByZWFjdC1jbGllbnQgY29uZGl0aW9ucyBkZXRlY3RlZCBpbiBOT0RFX09QVElPTlMvZXhlY0FyZ3YuIGAgK1xuICAgICAgYFRoaXMgY2FuIGxlYWQgdG8gYW1iaWd1b3VzIHJlc29sdXRpb24uIEZvdW5kOiBbJHt1bmlxdWUuam9pbihcIiwgXCIpfV1cXG5gICtcbiAgICAgIGBOT0RFX09QVElPTlM9XCIke25vZGVPcHRpb25zfVwiXFxuZXhlY0FyZ3Y9XCIke2FyZ3Z9XCJcXG5gICtcbiAgICAgIGBUaXA6IHNldCBleGFjdGx5IG9uZSBjb25kaXRpb24gb3IgbGV0IHRoZSBwbHVnaW4gbWFuYWdlIHdvcmtlciBjb25kaXRpb25zLmA7XG4gICAgLy8gVXNlIHByb2Nlc3MuZW1pdFdhcm5pbmcgdG8gYXZvaWQgdGhyb3dpbmdcbiAgICB0cnkge1xuICAgICAgcHJvY2Vzcy5lbWl0V2FybmluZyhtc2csIHtcbiAgICAgICAgY29kZTogXCJWUFJTX0NPTkRJVElPTl9BTUJJR1VJVFlcIixcbiAgICAgICAgZGV0YWlsOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlciBkZXRlY3RlZCBjb25mbGljdGluZyBjb25kaXRpb25zXCIsXG4gICAgICB9IGFzIGFueSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBGYWxsYmFja1xuXG4gICAgICBjb25zb2xlLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdICR7bXNnfWApO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBHZXRzIHRoZSBjdXJyZW50IGNvbmRpdGlvbiwgZGVmYXVsdGluZyB0byBcInJlYWN0LWNsaWVudFwiIGlmIG5vIGNvbmRpdGlvbnMgYXJlIHNldFxuICovXG5leHBvcnQgY29uc3QgZ2V0Q3VycmVudENvbmRpdGlvbiA9ICgpOlxuICB8IFwicmVhY3Qtc2VydmVyXCJcbiAgfCBcInJlYWN0LWNsaWVudFwiXG4gIHwgdW5kZWZpbmVkID0+IHtcbiAgLy8gV2FybiBpZiB3ZSBkZXRlY3QgYm90aCBjb25kaXRpb25zIHByZXNlbnRcbiAgd2FybklmQW1iaWd1b3VzUmVhY3RDb25kaXRpb25zKCk7XG5cbiAgLy8gQ2hlY2sgYm90aCBOT0RFX09QVElPTlMgYW5kIGV4ZWNBcmd2IGZvciBjb25kaXRpb25zXG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIGlmIChjb25kaXRpb25zLmluY2x1ZGVzKFwicmVhY3Qtc2VydmVyXCIpKSByZXR1cm4gXCJyZWFjdC1zZXJ2ZXJcIjtcbiAgaWYgKGNvbmRpdGlvbnMuaW5jbHVkZXMoXCJyZWFjdC1jbGllbnRcIikpIHJldHVybiBcInJlYWN0LWNsaWVudFwiO1xuXG4gIC8vIERlZmF1bHQgdG8gcmVhY3QtY2xpZW50IHdoZW4gbm90aGluZyBpcyBzZXRcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUgY29uZGl0aW9uIHdpdGggYSBjdXN0b20gcHJlZml4XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb25kaXRpb24gPSA8UHJlZml4IGV4dGVuZHMgc3RyaW5nID0gXCJyZWFjdC1cIiwgRGVmYXVsdENvbmRpdGlvbiBleHRlbmRzIGAke1ByZWZpeH0ke3N0cmluZ31gID0gYCR7UHJlZml4fWNsaWVudGA+KFxuICBwcmVmaXg6IFByZWZpeCA9IFwicmVhY3QtXCIgYXMgUHJlZml4LFxuICBkZWZhdWx0UmV0dXJuOlxuICAgIHwgYCR7UHJlZml4fXNlcnZlcmBcbiAgICB8IGAke1ByZWZpeH1jbGllbnRgID0gYCR7cHJlZml4fWNsaWVudGAgYXMgYCR7UHJlZml4fWNsaWVudGBcbik6IGAke1ByZWZpeH1jbGllbnRgIHwgYCR7UHJlZml4fXNlcnZlcmAgfCBEZWZhdWx0Q29uZGl0aW9uID0+IHtcbiAgY29uc3QgY29uZGl0aW9uID0gZ2V0Q3VycmVudENvbmRpdGlvbigpO1xuICBpZiAoY29uZGl0aW9uID09PSBcInJlYWN0LXNlcnZlclwiKSB7XG4gICAgcmV0dXJuIGAke3ByZWZpeH1zZXJ2ZXJgIGFzIGAke1ByZWZpeH1zZXJ2ZXJgO1xuICB9XG4gIGlmIChjb25kaXRpb24gPT09IFwicmVhY3QtY2xpZW50XCIpIHtcbiAgICByZXR1cm4gYCR7cHJlZml4fWNsaWVudGAgYXMgYCR7UHJlZml4fWNsaWVudGA7XG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRSZXR1cm47XG59O1xuXG4vKipcbiAqIEFzc2VydHMgdGhhdCB0aGUgY3VycmVudCBjb25kaXRpb24gaXMgcmVhY3Qtc2VydmVyXG4gKiBUaHJvd3MgYW4gZXJyb3Igd2l0aCBhIGRlc2NyaXB0aXZlIG1lc3NhZ2UgaWYgbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRSZWFjdFNlcnZlcigpOiBhc3NlcnRzIHRoaXMgaXMge1xuICBjb25kaXRpb246IFwicmVhY3Qtc2VydmVyXCI7XG59IHtcbiAgY29uc3QgY3VycmVudENvbmRpdGlvbiA9IGdldEN1cnJlbnRDb25kaXRpb24oKTtcbiAgaWYgKGN1cnJlbnRDb25kaXRpb24gIT09IFwicmVhY3Qtc2VydmVyXCIpIHtcbiAgICAvLyBEZWJ1Zy1vbmx5OiBhdm9pZCBOb2RlLW9ubHkgQVBJcyB0byBrZWVwIHRoaXMgZmlsZSBicm93c2VyLXNhZmVcbiAgICB0aHJvdyBuZXcgRXJyb3IoXG4gICAgICBgQ29uZGl0aW9uIG1pc21hdGNoLCBzaG91bGQgYmUgcmVhY3Qtc2VydmVyLiBTZXQgTk9ERV9PUFRJT05TPVwiLS1jb25kaXRpb25zPXJlYWN0LXNlcnZlclwiIG9yIC0tY29uZGl0aW9ucz1yZWFjdC1zZXJ2ZXJgXG4gICAgKTtcbiAgfVxufVxuXG5leHBvcnQgZnVuY3Rpb24gYXNzZXJ0Tm9uUmVhY3RTZXJ2ZXIoKTogYXNzZXJ0cyB0aGlzIGlzIHtcbiAgY29uZGl0aW9uOiBcInJlYWN0LWNsaWVudFwiO1xufSB7XG4gIGNvbnN0IGN1cnJlbnRDb25kaXRpb24gPSBnZXRDdXJyZW50Q29uZGl0aW9uKCk7XG4gIGlmIChjdXJyZW50Q29uZGl0aW9uID09PSBcInJlYWN0LXNlcnZlclwiKSB7XG4gICAgLy8gRGVidWctb25seTogYXZvaWQgTm9kZS1vbmx5IEFQSXMgdG8ga2VlcCB0aGlzIGZpbGUgYnJvd3Nlci1zYWZlXG4gICAgdGhyb3cgbmV3IEVycm9yKFxuICAgICAgYENvbmRpdGlvbiBtaXNtYXRjaCwgc2hvdWxkIG5vdCBiZSByZWFjdC1zZXJ2ZXIuIFJlbW92ZSBOT0RFX09QVElPTlM9XCItLWNvbmRpdGlvbnM9cmVhY3Qtc2VydmVyXCIgb3IgLS1jb25kaXRpb25zPXJlYWN0LXNlcnZlcmBcbiAgICApO1xuICB9XG59XG5cbi8qKlxuICogQ2hlY2tzIGlmIHRoZSBjdXJyZW50IGNvbmRpdGlvbiBpcyByZWFjdC1zZXJ2ZXIgKHN0cmljdCAtIHJlcXVpcmVzIGJvdGggTk9ERV9PUFRJT05TIGFuZCBleGVjQXJndilcbiAqIFVzZSB0aGlzIGZvciBSZWFjdCBTZXJ2ZXIgRE9NIGNvbXBhdGliaWxpdHkgY2hlY2tzXG4gKi9cbmV4cG9ydCBjb25zdCBpc1JlYWN0U2VydmVyQ29uZGl0aW9uID0gKCk6IGJvb2xlYW4gPT5cbiAgZ2V0Q3VycmVudENvbmRpdGlvbigpID09PSBcInJlYWN0LXNlcnZlclwiO1xuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBjb25kaXRpb24gaXMgcmVhY3QtY2xpZW50IChzdHJpY3QgLSByZXF1aXJlcyBib3RoIE5PREVfT1BUSU9OUyBhbmQgZXhlY0FyZ3YpXG4gKiBVc2UgdGhpcyBmb3IgUmVhY3QgU2VydmVyIERPTSBjb21wYXRpYmlsaXR5IGNoZWNrc1xuICovXG5leHBvcnQgY29uc3QgaXNSZWFjdENsaWVudENvbmRpdGlvbiA9ICgpOiBib29sZWFuID0+XG4gIGdldEN1cnJlbnRDb25kaXRpb24oKSA9PT0gXCJyZWFjdC1jbGllbnRcIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgcmVhY3Qtc2VydmVyIGNvbmRpdGlvbiBpcyBwcmVzZW50IGluIGVpdGhlciBOT0RFX09QVElPTlMgT1IgZXhlY0FyZ3YgKGxlbmllbnQpXG4gKiBVc2UgdGhpcyBmb3IgcGx1Z2luIGludGVybmFsIGVudmlyb25tZW50IGdhdGluZ1xuICovXG5leHBvcnQgY29uc3QgaGFzUmVhY3RTZXJ2ZXJDb25kaXRpb24gPSAoKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGFsbENvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIHJldHVybiBhbGxDb25kaXRpb25zLmluY2x1ZGVzKFwicmVhY3Qtc2VydmVyXCIpO1xufTtcblxuLyoqXG4gKiBDaGVja3MgaWYgcmVhY3QtY2xpZW50IGNvbmRpdGlvbiBpcyBwcmVzZW50IGluIGVpdGhlciBOT0RFX09QVElPTlMgT1IgZXhlY0FyZ3YgKGxlbmllbnQpXG4gKiBVc2UgdGhpcyBmb3IgcGx1Z2luIGludGVybmFsIGVudmlyb25tZW50IGdhdGluZyAgXG4gKi9cbmV4cG9ydCBjb25zdCBoYXNSZWFjdENsaWVudENvbmRpdGlvbiA9ICgpOiBib29sZWFuID0+IHtcbiAgY29uc3QgYWxsQ29uZGl0aW9ucyA9IGdldEFsbENvbmRpdGlvbnMoKTtcbiAgcmV0dXJuIGFsbENvbmRpdGlvbnMuaW5jbHVkZXMoXCJyZWFjdC1jbGllbnRcIik7XG59O1xuXG4vKipcbiAqIExlZ2FjeSBmdW5jdGlvbiBmb3IgYmFja3dhcmQgY29tcGF0aWJpbGl0eVxuICogQGRlcHJlY2F0ZWQgVXNlIGdldEFsbENvbmRpdGlvbnMoKSBpbnN0ZWFkXG4gKi9cbmV4cG9ydCBjb25zdCBnZXROb2RlT3B0aW9uc0NvbmRpdGlvbnMgPSAoKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBub2RlT3B0aW9uc1Rva2VucyA9IHRva2VuaXplTm9kZU9wdGlvbnMoKTtcbiAgY29uc3QgeyBjb25kaXRpb25zIH0gPSBwYXJzZU5vZGVBcmdzKG5vZGVPcHRpb25zVG9rZW5zKTtcbiAgcmV0dXJuIGNvbmRpdGlvbnM7XG59O1xuXG4vKipcbiAqIExlZ2FjeSBleHBvcnQgZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIEBkZXByZWNhdGVkIFVzZSBnZXRDdXJyZW50Q29uZGl0aW9uKCkgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgY29uZGl0aW9uID0gZ2V0Q3VycmVudENvbmRpdGlvbigpO1xuIl0sIm5hbWVzIjpbImNvbmRpdGlvbiJdLCJtYXBw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
|
|
167
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiZ2V0Q29uZGl0aW9uLmpzIiwic291cmNlcyI6WyIuLi8uLi8uLi9wbHVnaW4vY29uZmlnL2dldENvbmRpdGlvbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyIvLyBOb3RlOiBkbyBub3QgaW1wb3J0IE5vZGUtb25seSBtb2R1bGVzIGhlcmUgKGUuZy4sICdub2RlOndvcmtlcl90aHJlYWRzJykuXG4vLyBUaGlzIGZpbGUgaXMgY29uc3VtZWQgaW4gYm90aCBzZXJ2ZXIgYW5kIGNsaWVudCBwbHVnaW4gY29udGV4dHMuXG5cbi8qKlxuICogVG9rZW5pemVzIE5PREVfT1BUSU9OUyBzdHJpbmcgaW50byBpbmRpdmlkdWFsIGFyZ3VtZW50c1xuICogSGFuZGxlcyBxdW90ZWQgc3RyaW5ncywgc3BhY2VzLCBhbmQgc3BlY2lhbCBjaGFyYWN0ZXJzXG4gKi9cbmNvbnN0IHRva2VuaXplTm9kZU9wdGlvbnMgPSAoKTogc3RyaW5nW10gPT4ge1xuICBjb25zdCBub2RlT3B0aW9ucyA9IHByb2Nlc3MuZW52W1wiTk9ERV9PUFRJT05TXCJdIHx8IFwiXCI7XG4gIGlmICghbm9kZU9wdGlvbnMudHJpbSgpKSB7XG4gICAgcmV0dXJuIFtdO1xuICB9XG5cbiAgY29uc3QgdG9rZW5zOiBzdHJpbmdbXSA9IFtdO1xuICBsZXQgY3VycmVudCA9IFwiXCI7XG4gIGxldCBpblF1b3RlcyA9IGZhbHNlO1xuICBsZXQgcXVvdGVDaGFyID0gXCJcIjtcbiAgbGV0IGkgPSAwO1xuXG4gIHdoaWxlIChpIDwgbm9kZU9wdGlvbnMubGVuZ3RoKSB7XG4gICAgY29uc3QgY2hhciA9IG5vZGVPcHRpb25zW2ldO1xuXG4gICAgaWYgKGluUXVvdGVzKSB7XG4gICAgICBpZiAoY2hhciA9PT0gcXVvdGVDaGFyKSB7XG4gICAgICAgIGluUXVvdGVzID0gZmFsc2U7XG4gICAgICAgIHF1b3RlQ2hhciA9IFwiXCI7XG4gICAgICAgIGlmIChjdXJyZW50LnRyaW0oKSkge1xuICAgICAgICAgIHRva2Vucy5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgICAgICAgICBjdXJyZW50ID0gXCJcIjtcbiAgICAgICAgfVxuICAgICAgfSBlbHNlIHtcbiAgICAgICAgY3VycmVudCArPSBjaGFyO1xuICAgICAgfVxuICAgIH0gZWxzZSB7XG4gICAgICBpZiAoY2hhciA9PT0gJ1wiJyB8fCBjaGFyID09PSBcIidcIikge1xuICAgICAgICBpZiAoY3VycmVudC50cmltKCkpIHtcbiAgICAgICAgICB0b2tlbnMucHVzaChjdXJyZW50LnRyaW0oKSk7XG4gICAgICAgICAgY3VycmVudCA9IFwiXCI7XG4gICAgICAgIH1cbiAgICAgICAgaW5RdW90ZXMgPSB0cnVlO1xuICAgICAgICBxdW90ZUNoYXIgPSBjaGFyO1xuICAgICAgfSBlbHNlIGlmIChjaGFyID09PSBcIiBcIiB8fCBjaGFyID09PSBcIlxcdFwiIHx8IGNoYXIgPT09IFwiXFxuXCIpIHtcbiAgICAgICAgaWYgKGN1cnJlbnQudHJpbSgpKSB7XG4gICAgICAgICAgdG9rZW5zLnB1c2goY3VycmVudC50cmltKCkpO1xuICAgICAgICAgIGN1cnJlbnQgPSBcIlwiO1xuICAgICAgICB9XG4gICAgICB9IGVsc2Uge1xuICAgICAgICBjdXJyZW50ICs9IGNoYXI7XG4gICAgICB9XG4gICAgfVxuICAgIGkrKztcbiAgfVxuXG4gIGlmIChjdXJyZW50LnRyaW0oKSkge1xuICAgIHRva2Vucy5wdXNoKGN1cnJlbnQudHJpbSgpKTtcbiAgfVxuXG4gIHJldHVybiB0b2tlbnMuZmlsdGVyKEJvb2xlYW4pO1xufTtcblxuLyoqXG4gKiBQYXJzZXMgY29tbWFuZC1saW5lIGFyZ3VtZW50cyBmb3IgY29uZGl0aW9ucyBhbmQgb3RoZXIgZmxhZ3NcbiAqL1xuY29uc3QgcGFyc2VOb2RlQXJncyA9IChhcmdzOiBzdHJpbmdbXSkgPT4ge1xuICBjb25zdCBjb25kaXRpb25zOiBzdHJpbmdbXSA9IFtdO1xuICBjb25zdCBmbGFncyA9IG5ldyBTZXQ8c3RyaW5nPigpO1xuXG4gIGZvciAobGV0IGkgPSAwOyBpIDwgYXJncy5sZW5ndGg7IGkrKykge1xuICAgIGNvbnN0IGFyZyA9IGFyZ3NbaV07XG5cbiAgICBpZiAoYXJnID09PSBcIi0tY29uZGl0aW9uc1wiIHx8IGFyZyA9PT0gXCItQ1wiKSB7XG4gICAgICAvLyBOZXh0IGFyZ3VtZW50IGlzIHRoZSBjb25kaXRpb24gdmFsdWVcbiAgICAgIGlmIChpICsgMSA8IGFyZ3MubGVuZ3RoKSB7XG4gICAgICAgIGNvbnN0IGNvbmRpdGlvblZhbHVlID0gYXJnc1tpICsgMV07XG4gICAgICAgIGNvbmRpdGlvbnMucHVzaChcbiAgICAgICAgICAuLi5jb25kaXRpb25WYWx1ZVxuICAgICAgICAgICAgLnNwbGl0KFwiLFwiKVxuICAgICAgICAgICAgLm1hcCgoYykgPT4gYy50cmltKCkpXG4gICAgICAgICAgICAuZmlsdGVyKEJvb2xlYW4pXG4gICAgICAgICk7XG4gICAgICAgIGkrKzsgLy8gU2tpcCB0aGUgbmV4dCBhcmd1bWVudCBzaW5jZSB3ZSBjb25zdW1lZCBpdFxuICAgICAgfVxuICAgIH0gZWxzZSBpZiAoYXJnLnN0YXJ0c1dpdGgoXCItLWNvbmRpdGlvbnM9XCIpKSB7XG4gICAgICAvLyBDb25kaXRpb24gdmFsdWUgaXMgcGFydCBvZiB0aGUgc2FtZSBhcmd1bWVudFxuICAgICAgY29uc3QgY29uZGl0aW9uVmFsdWUgPSBhcmcuc3Vic3RyaW5nKFwiLS1jb25kaXRpb25zPVwiLmxlbmd0aCk7XG4gICAgICBjb25kaXRpb25zLnB1c2goXG4gICAgICAgIC4uLmNvbmRpdGlvblZhbHVlXG4gICAgICAgICAgLnNwbGl0KFwiLFwiKVxuICAgICAgICAgIC5tYXAoKGMpID0+IGMudHJpbSgpKVxuICAgICAgICAgIC5maWx0ZXIoQm9vbGVhbilcbiAgICAgICk7XG4gICAgfSBlbHNlIGlmIChhcmcgPT09IFwiLS1uby1hZGRvbnNcIikge1xuICAgICAgZmxhZ3MuYWRkKFwibm8tYWRkb25zXCIpO1xuICAgIH0gZWxzZSBpZiAoYXJnLnN0YXJ0c1dpdGgoXCItLVwiKSkge1xuICAgICAgLy8gT3RoZXIgZmxhZ3NcbiAgICAgIGZsYWdzLmFkZChhcmcpO1xuICAgIH1cbiAgfVxuXG4gIHJldHVybiB7IGNvbmRpdGlvbnMsIGZsYWdzIH07XG59O1xuXG4vKipcbiAqIEdldHMgYWxsIGNvbmRpdGlvbnMgZnJvbSBib3RoIE5PREVfT1BUSU9OUyBhbmQgY29tbWFuZC1saW5lIGFyZ3VtZW50c1xuICovXG5leHBvcnQgY29uc3QgZ2V0QWxsQ29uZGl0aW9ucyA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gIC8vIFBhcnNlIE5PREVfT1BUSU9OU1xuICBjb25zdCBub2RlT3B0aW9uc1Rva2VucyA9IHRva2VuaXplTm9kZU9wdGlvbnMoKTtcbiAgY29uc3QgeyBjb25kaXRpb25zOiBlbnZDb25kaXRpb25zIH0gPSBwYXJzZU5vZGVBcmdzKG5vZGVPcHRpb25zVG9rZW5zKTtcblxuICAvLyBQYXJzZSBjb21tYW5kLWxpbmUgYXJndW1lbnRzXG4gIGNvbnN0IHsgY29uZGl0aW9uczogY2xpQ29uZGl0aW9ucyB9ID0gcGFyc2VOb2RlQXJncyhwcm9jZXNzLmV4ZWNBcmd2KTtcblxuICAvLyBDb21iaW5lIGFsbCBjb25kaXRpb25zXG4gIHJldHVybiBbLi4uZW52Q29uZGl0aW9ucywgLi4uY2xpQ29uZGl0aW9uc107XG59O1xuXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG4vLyBBbWJpZ3VpdHkgZGV0ZWN0aW9uIGFuZCB3YXJuaW5nXG4vLyAtLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tLS0tXG5sZXQgZGlkV2FybkFtYmlndW91c0NvbmRpdGlvbnMgPSBmYWxzZTtcbi8vIHJlYWN0LXN0YXRpYyBkb2VzIG5vdCBleGlzdHMsIGJlY2F1c2UgeW91IHN0aWxsIG5lZWQgY29uZGl0aW9uIHJlYWN0LXNlcnZlciBmb3IgdGhlIC5zdGF0aWMgaW1wb3J0cyB0byB3b3JrLlxuY29uc3QgcmVhY3RDb25kaXRpb25TZXQgPSBuZXcgU2V0KFtcInJlYWN0LXNlcnZlclwiLCBcInJlYWN0LWNsaWVudFwiXSk7XG5cbmV4cG9ydCBjb25zdCBkZXRlY3RSZWFjdENvbmRpdGlvbkFtYmlndWl0eSA9ICgpOiBzdHJpbmdbXSA9PiB7XG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIGNvbnN0IGZvdW5kID0gY29uZGl0aW9ucy5maWx0ZXIoKGMpID0+IHJlYWN0Q29uZGl0aW9uU2V0LmhhcyhjKSk7XG4gIGNvbnN0IHVuaXF1ZSA9IEFycmF5LmZyb20obmV3IFNldChmb3VuZCkpO1xuICByZXR1cm4gdW5pcXVlO1xufTtcblxuZXhwb3J0IGNvbnN0IHdhcm5JZkFtYmlndW91c1JlYWN0Q29uZGl0aW9ucyA9ICgpOiB2b2lkID0+IHtcbiAgaWYgKGRpZFdhcm5BbWJpZ3VvdXNDb25kaXRpb25zKSByZXR1cm47XG4gIGNvbnN0IHVuaXF1ZSA9IGRldGVjdFJlYWN0Q29uZGl0aW9uQW1iaWd1aXR5KCk7XG4gIGlmICh1bmlxdWUuaW5jbHVkZXMoXCJyZWFjdC1zZXJ2ZXJcIikgJiYgdW5pcXVlLmluY2x1ZGVzKFwicmVhY3QtY2xpZW50XCIpKSB7XG4gICAgZGlkV2FybkFtYmlndW91c0NvbmRpdGlvbnMgPSB0cnVlO1xuICAgIGNvbnN0IG5vZGVPcHRpb25zID0gcHJvY2Vzcy5lbnZbXCJOT0RFX09QVElPTlNcIl0gfHwgXCJcIjtcbiAgICBjb25zdCBhcmd2ID0gcHJvY2Vzcy5leGVjQXJndi5qb2luKFwiIFwiKTtcbiAgICBjb25zdCBtc2cgPVxuICAgICAgYEJvdGggcmVhY3Qtc2VydmVyIGFuZCByZWFjdC1jbGllbnQgY29uZGl0aW9ucyBkZXRlY3RlZCBpbiBOT0RFX09QVElPTlMvZXhlY0FyZ3YuIGAgK1xuICAgICAgYFRoaXMgY2FuIGxlYWQgdG8gYW1iaWd1b3VzIHJlc29sdXRpb24uIEZvdW5kOiBbJHt1bmlxdWUuam9pbihcIiwgXCIpfV1cXG5gICtcbiAgICAgIGBOT0RFX09QVElPTlM9XCIke25vZGVPcHRpb25zfVwiXFxuZXhlY0FyZ3Y9XCIke2FyZ3Z9XCJcXG5gICtcbiAgICAgIGBUaXA6IHNldCBleGFjdGx5IG9uZSBjb25kaXRpb24gb3IgbGV0IHRoZSBwbHVnaW4gbWFuYWdlIHdvcmtlciBjb25kaXRpb25zLmA7XG4gICAgLy8gVXNlIHByb2Nlc3MuZW1pdFdhcm5pbmcgdG8gYXZvaWQgdGhyb3dpbmdcbiAgICB0cnkge1xuICAgICAgcHJvY2Vzcy5lbWl0V2FybmluZyhtc2csIHtcbiAgICAgICAgY29kZTogXCJWUFJTX0NPTkRJVElPTl9BTUJJR1VJVFlcIixcbiAgICAgICAgZGV0YWlsOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlciBkZXRlY3RlZCBjb25mbGljdGluZyBjb25kaXRpb25zXCIsXG4gICAgICB9IGFzIGFueSk7XG4gICAgfSBjYXRjaCB7XG4gICAgICAvLyBGYWxsYmFja1xuXG4gICAgICBjb25zb2xlLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdICR7bXNnfWApO1xuICAgIH1cbiAgfVxufTtcblxuLyoqXG4gKiBHZXRzIHRoZSBjdXJyZW50IGNvbmRpdGlvbiwgZGVmYXVsdGluZyB0byBcInJlYWN0LWNsaWVudFwiIGlmIG5vIGNvbmRpdGlvbnMgYXJlIHNldFxuICovXG5leHBvcnQgY29uc3QgZ2V0Q3VycmVudENvbmRpdGlvbiA9ICgpOlxuICB8IFwicmVhY3Qtc2VydmVyXCJcbiAgfCBcInJlYWN0LWNsaWVudFwiXG4gIHwgdW5kZWZpbmVkID0+IHtcbiAgLy8gV2FybiBpZiB3ZSBkZXRlY3QgYm90aCBjb25kaXRpb25zIHByZXNlbnRcbiAgd2FybklmQW1iaWd1b3VzUmVhY3RDb25kaXRpb25zKCk7XG5cbiAgLy8gQ2hlY2sgYm90aCBOT0RFX09QVElPTlMgYW5kIGV4ZWNBcmd2IGZvciBjb25kaXRpb25zXG4gIGNvbnN0IGNvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIGlmIChjb25kaXRpb25zLmluY2x1ZGVzKFwicmVhY3Qtc2VydmVyXCIpKSByZXR1cm4gXCJyZWFjdC1zZXJ2ZXJcIjtcbiAgaWYgKGNvbmRpdGlvbnMuaW5jbHVkZXMoXCJyZWFjdC1jbGllbnRcIikpIHJldHVybiBcInJlYWN0LWNsaWVudFwiO1xuXG4gIC8vIERlZmF1bHQgdG8gcmVhY3QtY2xpZW50IHdoZW4gbm90aGluZyBpcyBzZXRcbiAgcmV0dXJuIHVuZGVmaW5lZDtcbn07XG5cbi8qKlxuICogR2V0cyB0aGUgY29uZGl0aW9uIHdpdGggYSBjdXN0b20gcHJlZml4XG4gKi9cbmV4cG9ydCBjb25zdCBnZXRDb25kaXRpb24gPSA8UHJlZml4IGV4dGVuZHMgc3RyaW5nID0gXCJyZWFjdC1cIiwgRGVmYXVsdENvbmRpdGlvbiBleHRlbmRzIGAke1ByZWZpeH0ke3N0cmluZ31gID0gYCR7UHJlZml4fWNsaWVudGA+KFxuICBwcmVmaXg6IFByZWZpeCA9IFwicmVhY3QtXCIgYXMgUHJlZml4LFxuICBkZWZhdWx0UmV0dXJuOlxuICAgIHwgYCR7UHJlZml4fXNlcnZlcmBcbiAgICB8IGAke1ByZWZpeH1jbGllbnRgID0gYCR7cHJlZml4fWNsaWVudGAgYXMgYCR7UHJlZml4fWNsaWVudGBcbik6IGAke1ByZWZpeH1jbGllbnRgIHwgYCR7UHJlZml4fXNlcnZlcmAgfCBEZWZhdWx0Q29uZGl0aW9uID0+IHtcbiAgY29uc3QgY29uZGl0aW9uID0gZ2V0Q3VycmVudENvbmRpdGlvbigpO1xuICBpZiAoY29uZGl0aW9uID09PSBcInJlYWN0LXNlcnZlclwiKSB7XG4gICAgcmV0dXJuIGAke3ByZWZpeH1zZXJ2ZXJgIGFzIGAke1ByZWZpeH1zZXJ2ZXJgO1xuICB9XG4gIGlmIChjb25kaXRpb24gPT09IFwicmVhY3QtY2xpZW50XCIpIHtcbiAgICByZXR1cm4gYCR7cHJlZml4fWNsaWVudGAgYXMgYCR7UHJlZml4fWNsaWVudGA7XG4gIH1cbiAgcmV0dXJuIGRlZmF1bHRSZXR1cm47XG59O1xuXG4vKipcbiAqIEFzc2VydHMgdGhhdCB0aGUgY3VycmVudCBjb25kaXRpb24gaXMgcmVhY3Qtc2VydmVyXG4gKiBUaHJvd3MgYW4gZXJyb3Igd2l0aCBhIGRlc2NyaXB0aXZlIG1lc3NhZ2UgaWYgbm90XG4gKi9cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnRSZWFjdFNlcnZlcigpOiBhc3NlcnRzIHRoaXMgaXMge1xuICBjb25kaXRpb246IFwicmVhY3Qtc2VydmVyXCI7XG59IHtcbiAgY29uc3QgY3VycmVudENvbmRpdGlvbiA9IGdldEN1cnJlbnRDb25kaXRpb24oKTtcbiAgaWYgKGN1cnJlbnRDb25kaXRpb24gIT09IFwicmVhY3Qtc2VydmVyXCIpIHtcbiAgICAvLyBEZWJ1Zy1vbmx5OiBhdm9pZCBOb2RlLW9ubHkgQVBJcyB0byBrZWVwIHRoaXMgZmlsZSBicm93c2VyLXNhZmVcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gQ29uZGl0aW9uIG1pc21hdGNoOiBleHBlY3RlZCByZWFjdC1zZXJ2ZXIuIFNldCBOT0RFX09QVElPTlM9XCItLWNvbmRpdGlvbnM9cmVhY3Qtc2VydmVyXCJgXG4gICAgKTtcbiAgICByZXR1cm47IC8vIERvbid0IHRocm93IOKAlCBWaXRlIDcgbWF5IGxvYWQgYm90aCBjb25kaXRpb24gdmFyaWFudHMgZHVyaW5nIGNvbmZpZyBidW5kbGluZ1xuICB9XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBhc3NlcnROb25SZWFjdFNlcnZlcigpOiBhc3NlcnRzIHRoaXMgaXMge1xuICBjb25kaXRpb246IFwicmVhY3QtY2xpZW50XCI7XG59IHtcbiAgY29uc3QgY3VycmVudENvbmRpdGlvbiA9IGdldEN1cnJlbnRDb25kaXRpb24oKTtcbiAgaWYgKGN1cnJlbnRDb25kaXRpb24gPT09IFwicmVhY3Qtc2VydmVyXCIpIHtcbiAgICAvLyBEZWJ1Zy1vbmx5OiBhdm9pZCBOb2RlLW9ubHkgQVBJcyB0byBrZWVwIHRoaXMgZmlsZSBicm93c2VyLXNhZmVcbiAgICBjb25zb2xlLndhcm4oXG4gICAgICBgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gQ29uZGl0aW9uIG1pc21hdGNoOiB1bmV4cGVjdGVkIHJlYWN0LXNlcnZlciBjb25kaXRpb24gb24gdGhpcyBtb2R1bGUuYFxuICAgICk7XG4gICAgcmV0dXJuOyAvLyBEb24ndCB0aHJvdyDigJQgVml0ZSA3IG1heSBsb2FkIGJvdGggY29uZGl0aW9uIHZhcmlhbnRzIGR1cmluZyBjb25maWcgYnVuZGxpbmdcbiAgfVxufVxuXG4vKipcbiAqIENoZWNrcyBpZiB0aGUgY3VycmVudCBjb25kaXRpb24gaXMgcmVhY3Qtc2VydmVyIChzdHJpY3QgLSByZXF1aXJlcyBib3RoIE5PREVfT1BUSU9OUyBhbmQgZXhlY0FyZ3YpXG4gKiBVc2UgdGhpcyBmb3IgUmVhY3QgU2VydmVyIERPTSBjb21wYXRpYmlsaXR5IGNoZWNrc1xuICovXG5leHBvcnQgY29uc3QgaXNSZWFjdFNlcnZlckNvbmRpdGlvbiA9ICgpOiBib29sZWFuID0+XG4gIGdldEN1cnJlbnRDb25kaXRpb24oKSA9PT0gXCJyZWFjdC1zZXJ2ZXJcIjtcblxuLyoqXG4gKiBDaGVja3MgaWYgdGhlIGN1cnJlbnQgY29uZGl0aW9uIGlzIHJlYWN0LWNsaWVudCAoc3RyaWN0IC0gcmVxdWlyZXMgYm90aCBOT0RFX09QVElPTlMgYW5kIGV4ZWNBcmd2KVxuICogVXNlIHRoaXMgZm9yIFJlYWN0IFNlcnZlciBET00gY29tcGF0aWJpbGl0eSBjaGVja3NcbiAqL1xuZXhwb3J0IGNvbnN0IGlzUmVhY3RDbGllbnRDb25kaXRpb24gPSAoKTogYm9vbGVhbiA9PlxuICBnZXRDdXJyZW50Q29uZGl0aW9uKCkgPT09IFwicmVhY3QtY2xpZW50XCI7XG5cbi8qKlxuICogQ2hlY2tzIGlmIHJlYWN0LXNlcnZlciBjb25kaXRpb24gaXMgcHJlc2VudCBpbiBlaXRoZXIgTk9ERV9PUFRJT05TIE9SIGV4ZWNBcmd2IChsZW5pZW50KVxuICogVXNlIHRoaXMgZm9yIHBsdWdpbiBpbnRlcm5hbCBlbnZpcm9ubWVudCBnYXRpbmdcbiAqL1xuZXhwb3J0IGNvbnN0IGhhc1JlYWN0U2VydmVyQ29uZGl0aW9uID0gKCk6IGJvb2xlYW4gPT4ge1xuICBjb25zdCBhbGxDb25kaXRpb25zID0gZ2V0QWxsQ29uZGl0aW9ucygpO1xuICByZXR1cm4gYWxsQ29uZGl0aW9ucy5pbmNsdWRlcyhcInJlYWN0LXNlcnZlclwiKTtcbn07XG5cbi8qKlxuICogQ2hlY2tzIGlmIHJlYWN0LWNsaWVudCBjb25kaXRpb24gaXMgcHJlc2VudCBpbiBlaXRoZXIgTk9ERV9PUFRJT05TIE9SIGV4ZWNBcmd2IChsZW5pZW50KVxuICogVXNlIHRoaXMgZm9yIHBsdWdpbiBpbnRlcm5hbCBlbnZpcm9ubWVudCBnYXRpbmcgIFxuICovXG5leHBvcnQgY29uc3QgaGFzUmVhY3RDbGllbnRDb25kaXRpb24gPSAoKTogYm9vbGVhbiA9PiB7XG4gIGNvbnN0IGFsbENvbmRpdGlvbnMgPSBnZXRBbGxDb25kaXRpb25zKCk7XG4gIHJldHVybiBhbGxDb25kaXRpb25zLmluY2x1ZGVzKFwicmVhY3QtY2xpZW50XCIpO1xufTtcblxuLyoqXG4gKiBMZWdhY3kgZnVuY3Rpb24gZm9yIGJhY2t3YXJkIGNvbXBhdGliaWxpdHlcbiAqIEBkZXByZWNhdGVkIFVzZSBnZXRBbGxDb25kaXRpb25zKCkgaW5zdGVhZFxuICovXG5leHBvcnQgY29uc3QgZ2V0Tm9kZU9wdGlvbnNDb25kaXRpb25zID0gKCk6IHN0cmluZ1tdID0+IHtcbiAgY29uc3Qgbm9kZU9wdGlvbnNUb2tlbnMgPSB0b2tlbml6ZU5vZGVPcHRpb25zKCk7XG4gIGNvbnN0IHsgY29uZGl0aW9ucyB9ID0gcGFyc2VOb2RlQXJncyhub2RlT3B0aW9uc1Rva2Vucyk7XG4gIHJldHVybiBjb25kaXRpb25zO1xufTtcblxuLyoqXG4gKiBMZWdhY3kgZXhwb3J0IGZvciBiYWNrd2FyZCBjb21wYXRpYmlsaXR5XG4gKiBAZGVwcmVjYXRlZCBVc2UgZ2V0Q3VycmVudENvbmRpdGlvbigpIGluc3RlYWRcbiAqL1xuZXhwb3J0IGNvbnN0IGNvbmRpdGlvbiA9IGdldEN1cnJlbnRDb25kaXRpb24oKTtcbiJdLCJuYW1lcyI6WyJjb25kaXRpb24iXSwibWFwcGluZ3MiOiI7Ozs7O0FBT0EsTUFBTSxzQkFBc0IsTUFBZ0I7QUFDMUMsRUFBQSxNQUFNLFdBQWMsR0FBQSxPQUFBLENBQVEsR0FBSSxDQUFBLGNBQWMsQ0FBSyxJQUFBLEVBQUE7QUFDbkQsRUFBSSxJQUFBLENBQUMsV0FBWSxDQUFBLElBQUEsRUFBUSxFQUFBO0FBQ3ZCLElBQUEsT0FBTyxFQUFDO0FBQUE7QUFHVixFQUFBLE1BQU0sU0FBbUIsRUFBQztBQUMxQixFQUFBLElBQUksT0FBVSxHQUFBLEVBQUE7QUFDZCxFQUFBLElBQUksUUFBVyxHQUFBLEtBQUE7QUFDZixFQUFBLElBQUksU0FBWSxHQUFBLEVBQUE7QUFDaEIsRUFBQSxJQUFJLENBQUksR0FBQSxDQUFBO0FBRVIsRUFBTyxPQUFBLENBQUEsR0FBSSxZQUFZLE1BQVEsRUFBQTtBQUM3QixJQUFNLE1BQUEsSUFBQSxHQUFPLFlBQVksQ0FBQyxDQUFBO0FBRTFCLElBQUEsSUFBSSxRQUFVLEVBQUE7QUFDWixNQUFBLElBQUksU0FBUyxTQUFXLEVBQUE7QUFDdEIsUUFBVyxRQUFBLEdBQUEsS0FBQTtBQUNYLFFBQVksU0FBQSxHQUFBLEVBQUE7QUFDWixRQUFJLElBQUEsT0FBQSxDQUFRLE1BQVEsRUFBQTtBQUNsQixVQUFPLE1BQUEsQ0FBQSxJQUFBLENBQUssT0FBUSxDQUFBLElBQUEsRUFBTSxDQUFBO0FBQzFCLFVBQVUsT0FBQSxHQUFBLEVBQUE7QUFBQTtBQUNaLE9BQ0ssTUFBQTtBQUNMLFFBQVcsT0FBQSxJQUFBLElBQUE7QUFBQTtBQUNiLEtBQ0ssTUFBQTtBQUNMLE1BQUksSUFBQSxJQUFBLEtBQVMsR0FBTyxJQUFBLElBQUEsS0FBUyxHQUFLLEVBQUE7QUFD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
|
|
@@ -1,11 +1,13 @@
|
|
|
1
|
-
const VIRTUAL_RSC_HMR = 'virtual:react-server/hmr';
|
|
2
|
-
const RESOLVED_VIRTUAL_RSC_HMR = '\0' + VIRTUAL_RSC_HMR;
|
|
3
1
|
/**
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
7
5
|
*/
|
|
8
|
-
const
|
|
6
|
+
const VIRTUAL_RSC_HMR = "virtual:react-server/hmr";
|
|
7
|
+
const RESOLVED_VIRTUAL_RSC_HMR = "\0" + VIRTUAL_RSC_HMR;
|
|
8
|
+
const VIRTUAL_RSC_HMR_SOURCE = (
|
|
9
|
+
/* js */
|
|
10
|
+
`
|
|
9
11
|
import { useEffect, useCallback } from "react";
|
|
10
12
|
|
|
11
13
|
const RSC_HMR_EVENT = 'vite-plugin-react-server:server-component-update';
|
|
@@ -60,21 +62,19 @@ export function setupRscHmr(options = {}) {
|
|
|
60
62
|
console.log('[RSC HMR] Listening for server component updates');
|
|
61
63
|
}
|
|
62
64
|
}
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
load(id) {
|
|
76
|
-
if (id === RESOLVED_VIRTUAL_RSC_HMR)
|
|
77
|
-
return VIRTUAL_RSC_HMR_SOURCE;
|
|
78
|
-
},
|
|
79
|
-
};
|
|
65
|
+
`
|
|
66
|
+
);
|
|
67
|
+
function virtualRscHmrPlugin() {
|
|
68
|
+
return {
|
|
69
|
+
name: "vite-plugin-react-server:virtual-rsc-hmr",
|
|
70
|
+
resolveId(id) {
|
|
71
|
+
if (id === VIRTUAL_RSC_HMR) return RESOLVED_VIRTUAL_RSC_HMR;
|
|
72
|
+
},
|
|
73
|
+
load(id) {
|
|
74
|
+
if (id === RESOLVED_VIRTUAL_RSC_HMR) return VIRTUAL_RSC_HMR_SOURCE;
|
|
75
|
+
}
|
|
76
|
+
};
|
|
80
77
|
}
|
|
78
|
+
|
|
79
|
+
export { virtualRscHmrPlugin };
|
|
80
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmlydHVhbFJzY0htclBsdWdpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvdmlydHVhbFJzY0htclBsdWdpbi50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFBsdWdpbiB9IGZyb20gXCJ2aXRlXCI7XG5cbmNvbnN0IFZJUlRVQUxfUlNDX0hNUiA9ICd2aXJ0dWFsOnJlYWN0LXNlcnZlci9obXInO1xuY29uc3QgUkVTT0xWRURfVklSVFVBTF9SU0NfSE1SID0gJ1xcMCcgKyBWSVJUVUFMX1JTQ19ITVI7XG5cbi8qKlxuICogVmlydHVhbCBtb2R1bGUgc291cmNlIGZvciBgdmlydHVhbDpyZWFjdC1zZXJ2ZXIvaG1yYC5cbiAqIFNlbGYtY29udGFpbmVkIOKAlCBubyBpbXBvcnRzIGZyb20gdGhlIHBsdWdpbiBwYWNrYWdlLCBzbyBubyBkZXAgcmUtb3B0aW1pemF0aW9uLlxuICogSE1SIGNvZGUgaXMgZGVhZC1jb2RlIGVsaW1pbmF0ZWQgaW4gcHJvZHVjdGlvbiBidWlsZHMgKGltcG9ydC5tZXRhLmhvdCBpcyB1bmRlZmluZWQpLlxuICovXG5jb25zdCBWSVJUVUFMX1JTQ19ITVJfU09VUkNFID0gLyoganMgKi9gXG5pbXBvcnQgeyB1c2VFZmZlY3QsIHVzZUNhbGxiYWNrIH0gZnJvbSBcInJlYWN0XCI7XG5cbmNvbnN0IFJTQ19ITVJfRVZFTlQgPSAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJztcblxuZXhwb3J0IHsgUlNDX0hNUl9FVkVOVCB9O1xuXG5leHBvcnQgZnVuY3Rpb24gdXNlUnNjSG1yKHJlZmV0Y2gsIG9wdGlvbnMgPSB7fSkge1xuICBjb25zdCB7IHZlcmJvc2UgPSB0cnVlLCBmaWx0ZXIgfSA9IG9wdGlvbnM7XG5cbiAgY29uc3QgaGFuZGxlciA9IHVzZUNhbGxiYWNrKFxuICAgIChkYXRhKSA9PiB7XG4gICAgICBpZiAoZmlsdGVyICYmICFmaWx0ZXIoZGF0YSkpIHJldHVybjtcbiAgICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICAgIGNvbnNvbGUubG9nKCdbUlNDIEhNUl0gU2VydmVyIGNvbXBvbmVudCB1cGRhdGVkOicsIGRhdGEuZmlsZSk7XG4gICAgICB9XG4gICAgICByZWZldGNoKHdpbmRvdy5sb2NhdGlvbi5wYXRobmFtZSk7XG4gICAgfSxcbiAgICBbcmVmZXRjaCwgdmVyYm9zZSwgZmlsdGVyXVxuICApO1xuXG4gIHVzZUVmZmVjdCgoKSA9PiB7XG4gICAgaWYgKHR5cGVvZiBpbXBvcnQubWV0YS5ob3QgPT09ICd1bmRlZmluZWQnKSByZXR1cm47XG4gICAgaW1wb3J0Lm1ldGEuaG90Lm9uKFJTQ19ITVJfRVZFTlQsIGhhbmRsZXIpO1xuICAgIGlmICh2ZXJib3NlKSB7XG4gICAgICBjb25zb2xlLmxvZygnW1JTQyBITVJdIExpc3RlbmluZyBmb3Igc2VydmVyIGNvbXBvbmVudCB1cGRhdGVzJyk7XG4gICAgfVxuICAgIHJldHVybiAoKSA9PiB7XG4gICAgICBpbXBvcnQubWV0YS5ob3Qub2ZmKFJTQ19ITVJfRVZFTlQsIGhhbmRsZXIpO1xuICAgIH07XG4gIH0sIFtoYW5kbGVyLCB2ZXJib3NlXSk7XG59XG5cbmV4cG9ydCBmdW5jdGlvbiBzZXR1cFJzY0htcihvcHRpb25zID0ge30pIHtcbiAgY29uc3QgeyBvblVwZGF0ZSwgdmVyYm9zZSA9IHRydWUgfSA9IG9wdGlvbnM7XG4gIGlmICh0eXBlb2YgaW1wb3J0Lm1ldGEuaG90ID09PSAndW5kZWZpbmVkJykgcmV0dXJuO1xuICBpbXBvcnQubWV0YS5ob3Qub24oUlNDX0hNUl9FVkVOVCwgYXN5bmMgKGRhdGEpID0+IHtcbiAgICBpZiAodmVyYm9zZSkge1xuICAgICAgY29uc29sZS5sb2coJ1tSU0MgSE1SXSBTZXJ2ZXIgY29tcG9uZW50IHVwZGF0ZWQ6JywgZGF0YS5maWxlKTtcbiAgICB9XG4gICAgaWYgKG9uVXBkYXRlID09PSAncmVsb2FkJykge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgICAgcmV0dXJuO1xuICAgIH1cbiAgICBpZiAob25VcGRhdGUpIHtcbiAgICAgIHRyeSB7IGF3YWl0IG9uVXBkYXRlKGRhdGEpOyB9XG4gICAgICBjYXRjaCAoZXJyb3IpIHsgY29uc29sZS5lcnJvcignW1JTQyBITVJdIEVycm9yIGluIG9uVXBkYXRlIGhhbmRsZXI6JywgZXJyb3IpOyB3aW5kb3cubG9jYXRpb24ucmVsb2FkKCk7IH1cbiAgICB9IGVsc2Uge1xuICAgICAgd2luZG93LmxvY2F0aW9uLnJlbG9hZCgpO1xuICAgIH1cbiAgfSk7XG4gIGlmICh2ZXJib3NlKSB7XG4gICAgY29uc29sZS5sb2coJ1tSU0MgSE1SXSBMaXN0ZW5pbmcgZm9yIHNlcnZlciBjb21wb25lbnQgdXBkYXRlcycpO1xuICB9XG59XG5gO1xuXG4vKipcbiAqIFBsdWdpbiB0aGF0IHByb3ZpZGVzIHRoZSBgdmlydHVhbDpyZWFjdC1zZXJ2ZXIvaG1yYCBtb2R1bGUuXG4gKiBXb3JrcyBpbiBib3RoIGRldiBhbmQgYnVpbGQg4oCUIEhNUiBjb2RlIHRyZWUtc2hha2VzIGF3YXkgaW4gcHJvZHVjdGlvbi5cbiAqL1xuZXhwb3J0IGZ1bmN0aW9uIHZpcnR1YWxSc2NIbXJQbHVnaW4oKTogUGx1Z2luIHtcbiAgcmV0dXJuIHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjp2aXJ0dWFsLXJzYy1obXJcIixcbiAgICByZXNvbHZlSWQoaWQpIHtcbiAgICAgIGlmIChpZCA9PT0gVklSVFVBTF9SU0NfSE1SKSByZXR1cm4gUkVTT0xWRURfVklSVFVBTF9SU0NfSE1SO1xuICAgIH0sXG4gICAgbG9hZChpZCkge1xuICAgICAgaWYgKGlkID09PSBSRVNPTFZFRF9WSVJUVUFMX1JTQ19ITVIpIHJldHVybiBWSVJUVUFMX1JTQ19ITVJfU09VUkNFO1xuICAgIH0sXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7QUFFQSxNQUFNLGVBQWtCLEdBQUEsMEJBQUE7QUFDeEIsTUFBTSwyQkFBMkIsSUFBTyxHQUFBLGVBQUE7QUFPeEMsTUFBTSxzQkFBQTtBQUFBO0FBQUEsRUFBaUM7QUFBQTs7QUFBQTs7QUFBQTs7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBOztBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7O0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUE7QUFBQTtBQUFBLENBQUE7QUE2RGhDLFNBQVMsbUJBQThCLEdBQUE7QUFDckMsRUFBQSxPQUFBO0FBQUEsSUFDTCxJQUFNLEVBQUEsMENBQUE7QUFBQSxJQUNOLFVBQVUsRUFBSSxFQUFBO0FBQ1IsTUFBQSxJQUFBLEVBQUEsS0FBTyxpQkFBd0IsT0FBQSx3QkFBQTtBQUFBLEtBQ3JDO0FBQUEsSUFDQSxLQUFLLEVBQUksRUFBQTtBQUNILE1BQUEsSUFBQSxFQUFBLEtBQU8sMEJBQWlDLE9BQUEsc0JBQUE7QUFBQTtBQUM5QyxHQUNGO0FBQ0Y7Ozs7In0=
|
|
@@ -1,100 +1,90 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
1
|
+
/**
|
|
2
|
+
* vite-plugin-react-server
|
|
3
|
+
* Copyright (c) Nico Brinkkemper
|
|
4
|
+
* MIT License
|
|
5
|
+
*/
|
|
6
|
+
import { resolveOptions } from '../config/resolveOptions.js';
|
|
7
|
+
import { getBundleManifest } from '../helpers/getBundleManifest.js';
|
|
8
|
+
import { addServerManifest, updateSharedManifest, signalServerManifestReady } from '../bundle/manifests.js';
|
|
9
|
+
import { handleError } from '../error/handleError.js';
|
|
10
|
+
|
|
11
|
+
function createBuildEventPlugin(options) {
|
|
12
|
+
return {
|
|
13
|
+
name: "vite:plugin-react-server:build-events",
|
|
14
|
+
enforce: "post",
|
|
15
|
+
apply: "build",
|
|
16
|
+
writeBundle(outputOptions, bundle) {
|
|
17
|
+
const resolvedOptionsResult = resolveOptions(options);
|
|
18
|
+
if (resolvedOptionsResult.type === "error") {
|
|
19
|
+
return;
|
|
20
|
+
}
|
|
21
|
+
const userOptions = resolvedOptionsResult.userOptions;
|
|
22
|
+
const environmentName = this.environment?.name;
|
|
23
|
+
let eventType;
|
|
24
|
+
if (environmentName?.startsWith("client")) {
|
|
25
|
+
eventType = "build.writeBundle.client";
|
|
26
|
+
} else if (environmentName?.startsWith("ssr")) {
|
|
27
|
+
eventType = "build.writeBundle.static";
|
|
28
|
+
} else if (environmentName?.startsWith("server")) {
|
|
29
|
+
eventType = "build.writeBundle.server";
|
|
30
|
+
}
|
|
31
|
+
if (environmentName?.startsWith("server")) {
|
|
32
|
+
try {
|
|
33
|
+
const bundleManifest = getBundleManifest({
|
|
34
|
+
bundle,
|
|
35
|
+
normalizer: userOptions.normalizer
|
|
36
|
+
});
|
|
37
|
+
addServerManifest(bundleManifest);
|
|
38
|
+
updateSharedManifest(this, "server", bundleManifest);
|
|
39
|
+
signalServerManifestReady(bundleManifest);
|
|
40
|
+
} catch (error) {
|
|
41
|
+
const eventPanicError = handleError({
|
|
42
|
+
error,
|
|
43
|
+
panicThreshold: userOptions.panicThreshold});
|
|
44
|
+
if (eventPanicError != null) {
|
|
45
|
+
this.error(eventPanicError);
|
|
46
|
+
} else {
|
|
47
|
+
this.warn(error);
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
}
|
|
51
|
+
if (eventType && userOptions.onEvent) {
|
|
52
|
+
try {
|
|
53
|
+
const result = userOptions.onEvent({
|
|
54
|
+
type: eventType,
|
|
55
|
+
data: {
|
|
56
|
+
pages: [],
|
|
57
|
+
options: outputOptions,
|
|
58
|
+
bundle
|
|
14
59
|
}
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
catch (error) {
|
|
43
|
-
const eventPanicError = handleError({
|
|
44
|
-
error,
|
|
45
|
-
panicThreshold: userOptions.panicThreshold,
|
|
46
|
-
context: `writeBundle(server manifest)`,
|
|
47
|
-
});
|
|
48
|
-
if (eventPanicError != null) {
|
|
49
|
-
this.error(eventPanicError); // Re-throw to abort the build
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
this.warn(error);
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
}
|
|
56
|
-
if (eventType && userOptions.onEvent) {
|
|
57
|
-
try {
|
|
58
|
-
const result = userOptions.onEvent({
|
|
59
|
-
type: eventType,
|
|
60
|
-
data: {
|
|
61
|
-
pages: [],
|
|
62
|
-
options: outputOptions,
|
|
63
|
-
bundle,
|
|
64
|
-
},
|
|
65
|
-
}); // Type assertion to avoid complex type checking
|
|
66
|
-
// Handle async event callbacks
|
|
67
|
-
if (result != null &&
|
|
68
|
-
typeof result === "object" &&
|
|
69
|
-
"then" in result) {
|
|
70
|
-
result.catch((error) => {
|
|
71
|
-
const eventPanicError = handleError({
|
|
72
|
-
error,
|
|
73
|
-
panicThreshold: userOptions.panicThreshold,
|
|
74
|
-
context: `onEvent(${eventType})`,
|
|
75
|
-
});
|
|
76
|
-
if (eventPanicError != null) {
|
|
77
|
-
throw eventPanicError; // Re-throw to abort the build
|
|
78
|
-
}
|
|
79
|
-
});
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
catch (error) {
|
|
83
|
-
const eventPanicError = handleError({
|
|
84
|
-
error,
|
|
85
|
-
panicThreshold: userOptions.panicThreshold,
|
|
86
|
-
context: `onEvent(${eventType})`,
|
|
87
|
-
});
|
|
88
|
-
if (eventPanicError != null) {
|
|
89
|
-
this.error(eventPanicError); // Log the error
|
|
90
|
-
throw eventPanicError; // Re-throw to abort the build
|
|
91
|
-
}
|
|
92
|
-
else {
|
|
93
|
-
this.warn(error);
|
|
94
|
-
// For non-panic errors, don't throw - just warn
|
|
95
|
-
}
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
},
|
|
99
|
-
};
|
|
60
|
+
});
|
|
61
|
+
if (result != null && typeof result === "object" && "then" in result) {
|
|
62
|
+
result.catch((error) => {
|
|
63
|
+
const eventPanicError = handleError({
|
|
64
|
+
error,
|
|
65
|
+
panicThreshold: userOptions.panicThreshold,
|
|
66
|
+
context: `onEvent(${eventType})`
|
|
67
|
+
});
|
|
68
|
+
if (eventPanicError != null) {
|
|
69
|
+
throw eventPanicError;
|
|
70
|
+
}
|
|
71
|
+
});
|
|
72
|
+
}
|
|
73
|
+
} catch (error) {
|
|
74
|
+
const eventPanicError = handleError({
|
|
75
|
+
error,
|
|
76
|
+
panicThreshold: userOptions.panicThreshold});
|
|
77
|
+
if (eventPanicError != null) {
|
|
78
|
+
this.error(eventPanicError);
|
|
79
|
+
throw eventPanicError;
|
|
80
|
+
} else {
|
|
81
|
+
this.warn(error);
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
}
|
|
86
|
+
};
|
|
100
87
|
}
|
|
88
|
+
|
|
89
|
+
export { createBuildEventPlugin };
|
|
90
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY3JlYXRlQnVpbGRFdmVudFBsdWdpbi5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Vudmlyb25tZW50cy9jcmVhdGVCdWlsZEV2ZW50UGx1Z2luLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB0eXBlIHsgUGx1Z2luIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB0eXBlIHsgU3RyZWFtUGx1Z2luT3B0aW9ucywgUGx1Z2luRXZlbnRUeXBlIH0gZnJvbSBcIi4uL3R5cGVzLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB7IGdldEJ1bmRsZU1hbmlmZXN0IH0gZnJvbSBcIi4uL2hlbHBlcnMvZ2V0QnVuZGxlTWFuaWZlc3QuanNcIjtcbmltcG9ydCB7XG4gIGFkZFNlcnZlck1hbmlmZXN0LFxuICB1cGRhdGVTaGFyZWRNYW5pZmVzdCxcbiAgc2lnbmFsU2VydmVyTWFuaWZlc3RSZWFkeSxcbn0gZnJvbSBcIi4uL2J1bmRsZS9tYW5pZmVzdHMuanNcIjtcbmltcG9ydCB7IGhhbmRsZUVycm9yIH0gZnJvbSBcIi4uL2Vycm9yL2hhbmRsZUVycm9yLmpzXCI7XG5cbmV4cG9ydCBmdW5jdGlvbiBjcmVhdGVCdWlsZEV2ZW50UGx1Z2luKG9wdGlvbnM6IFN0cmVhbVBsdWdpbk9wdGlvbnMpOiBQbHVnaW4ge1xuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZTpwbHVnaW4tcmVhY3Qtc2VydmVyOmJ1aWxkLWV2ZW50c1wiLFxuICAgIGVuZm9yY2U6IFwicG9zdFwiLFxuICAgIGFwcGx5OiBcImJ1aWxkXCIsXG5cbiAgICB3cml0ZUJ1bmRsZShvdXRwdXRPcHRpb25zLCBidW5kbGUpIHtcbiAgICAgIGNvbnN0IHJlc29sdmVkT3B0aW9uc1Jlc3VsdCA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMpO1xuICAgICAgaWYgKHJlc29sdmVkT3B0aW9uc1Jlc3VsdC50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICAgICAgXG4gICAgICAgIHJldHVybjtcbiAgICAgIH1cbiAgICAgIGNvbnN0IHVzZXJPcHRpb25zID0gcmVzb2x2ZWRPcHRpb25zUmVzdWx0LnVzZXJPcHRpb25zO1xuXG4gICAgICBjb25zdCBlbnZpcm9ubWVudE5hbWUgPSB0aGlzLmVudmlyb25tZW50Py5uYW1lO1xuXG5cbiAgICAgIC8vIERldGVybWluZSBldmVudCB0eXBlIGJhc2VkIG9uIGVudmlyb25tZW50IG5hbWVcbiAgICAgIGxldCBldmVudFR5cGU6IFBsdWdpbkV2ZW50VHlwZSB8IHVuZGVmaW5lZDtcblxuXG4gICAgICBpZiAoZW52aXJvbm1lbnROYW1lPy5zdGFydHNXaXRoKFwiY2xpZW50XCIpKSB7XG4gICAgICAgIGV2ZW50VHlwZSA9IFwiYnVpbGQud3JpdGVCdW5kbGUuY2xpZW50XCI7XG5cbiAgICAgIH0gZWxzZSBpZiAoZW52aXJvbm1lbnROYW1lPy5zdGFydHNXaXRoKFwic3NyXCIpKSB7XG4gICAgICAgIGV2ZW50VHlwZSA9IFwiYnVpbGQud3JpdGVCdW5kbGUuc3RhdGljXCI7XG4gICAgICB9IGVsc2UgaWYgKGVudmlyb25tZW50TmFtZT8uc3RhcnRzV2l0aChcInNlcnZlclwiKSkge1xuICAgICAgICBldmVudFR5cGUgPSBcImJ1aWxkLndyaXRlQnVuZGxlLnNlcnZlclwiO1xuICAgICAgfVxuXG4gICAgICAvLyBTdG9yZSBzZXJ2ZXIgbWFuaWZlc3QgaW4gZ2xvYmFsIHN0b3JlIGZvciBTU0cgcGx1Z2luIGFjY2Vzc1xuICAgICAgaWYgKGVudmlyb25tZW50TmFtZT8uc3RhcnRzV2l0aChcInNlcnZlclwiKSkge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGJ1bmRsZU1hbmlmZXN0ID0gZ2V0QnVuZGxlTWFuaWZlc3Qoe1xuICAgICAgICAgICAgYnVuZGxlLFxuICAgICAgICAgICAgbm9ybWFsaXplcjogdXNlck9wdGlvbnMubm9ybWFsaXplcixcbiAgICAgICAgICB9KTtcbiAgICAgICAgICAvLyBUeXBlIGFzc2VydGlvbiBzaW5jZSBnZXRCdW5kbGVNYW5pZmVzdCByZXR1cm5zIHRoZSBjb3JyZWN0IHN0cnVjdHVyZVxuICAgICAgICAgIGFkZFNlcnZlck1hbmlmZXN0KGJ1bmRsZU1hbmlmZXN0IGFzIGFueSk7XG5cbiAgICAgICAgICAvLyBBbHNvIHVwZGF0ZSB0aGUgc2hhcmVkIHN0YXRlIGJldHdlZW4gZW52aXJvbm1lbnRzXG4gICAgICAgICAgdXBkYXRlU2hhcmVkTWFuaWZlc3QodGhpcywgXCJzZXJ2ZXJcIiwgYnVuZGxlTWFuaWZlc3QgYXMgYW55KTtcbiAgICAgICAgICBcbiAgICAgICAgICAvLyBTaWduYWwgdGhhdCBzZXJ2ZXIgbWFuaWZlc3QgaXMgcmVhZHkgZm9yIHdhaXRpbmcgY29uc3VtZXJzXG4gICAgICAgICAgc2lnbmFsU2VydmVyTWFuaWZlc3RSZWFkeShidW5kbGVNYW5pZmVzdCBhcyBhbnkpO1xuXG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgY29uc3QgZXZlbnRQYW5pY0Vycm9yID0gaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgZXJyb3IsXG4gICAgICAgICAgICBwYW5pY1RocmVzaG9sZDogdXNlck9wdGlvbnMucGFuaWNUaHJlc2hvbGQsXG4gICAgICAgICAgICBjb250ZXh0OiBgd3JpdGVCdW5kbGUoc2VydmVyIG1hbmlmZXN0KWAsXG4gICAgICAgICAgfSk7XG4gICAgICAgICAgaWYgKGV2ZW50UGFuaWNFcnJvciAhPSBudWxsKSB7XG4gICAgICAgICAgICB0aGlzLmVycm9yKGV2ZW50UGFuaWNFcnJvcik7IC8vIFJlLXRocm93IHRvIGFib3J0IHRoZSBidWlsZFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndhcm4oZXJyb3IgYXMgYW55KTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cblxuICAgICAgaWYgKGV2ZW50VHlwZSAmJiB1c2VyT3B0aW9ucy5vbkV2ZW50KSB7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgcmVzdWx0ID0gdXNlck9wdGlvbnMub25FdmVudCh7XG4gICAgICAgICAgICB0eXBlOiBldmVudFR5cGUsXG4gICAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICAgIHBhZ2VzOiBbXSxcbiAgICAgICAgICAgICAgb3B0aW9uczogb3V0cHV0T3B0aW9ucyxcbiAgICAgICAgICAgICAgYnVuZGxlLFxuICAgICAgICAgICAgfSxcbiAgICAgICAgICB9IGFzIGFueSk7IC8vIFR5cGUgYXNzZXJ0aW9uIHRvIGF2b2lkIGNvbXBsZXggdHlwZSBjaGVja2luZ1xuXG4gICAgICAgICAgLy8gSGFuZGxlIGFzeW5jIGV2ZW50IGNhbGxiYWNrc1xuICAgICAgICAgIGlmIChcbiAgICAgICAgICAgIHJlc3VsdCAhPSBudWxsICYmXG4gICAgICAgICAgICB0eXBlb2YgcmVzdWx0ID09PSBcIm9iamVjdFwiICYmXG4gICAgICAgICAgICBcInRoZW5cIiBpbiByZXN1bHRcbiAgICAgICAgICApIHtcbiAgICAgICAgICAgIChyZXN1bHQgYXMgUHJvbWlzZTxhbnk+KS5jYXRjaCgoZXJyb3IpID0+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXZlbnRQYW5pY0Vycm9yID0gaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgIHBhbmljVGhyZXNob2xkOiB1c2VyT3B0aW9ucy5wYW5pY1RocmVzaG9sZCxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBgb25FdmVudCgke2V2ZW50VHlwZX0pYCxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGlmIChldmVudFBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRocm93IGV2ZW50UGFuaWNFcnJvcjsgLy8gUmUtdGhyb3cgdG8gYWJvcnQgdGhlIGJ1aWxkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBldmVudFBhbmljRXJyb3IgPSBoYW5kbGVFcnJvcih7XG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIHBhbmljVGhyZXNob2xkOiB1c2VyT3B0aW9ucy5wYW5pY1RocmVzaG9sZCxcbiAgICAgICAgICAgIGNvbnRleHQ6IGBvbkV2ZW50KCR7ZXZlbnRUeXBlfSlgLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChldmVudFBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5lcnJvcihldmVudFBhbmljRXJyb3IpOyAvLyBMb2cgdGhlIGVycm9yXG4gICAgICAgICAgICB0aHJvdyBldmVudFBhbmljRXJyb3I7IC8vIFJlLXRocm93IHRvIGFib3J0IHRoZSBidWlsZFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndhcm4oZXJyb3IgYXMgYW55KTtcbiAgICAgICAgICAgIC8vIEZvciBub24tcGFuaWMgZXJyb3JzLCBkb24ndCB0aHJvdyAtIGp1c3Qgd2FyblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVdPLFNBQVMsdUJBQXVCLE9BQXNDLEVBQUE7QUFDM0UsRUFBTyxPQUFBO0FBQUEsSUFDTCxJQUFNLEVBQUEsdUNBQUE7QUFBQSxJQUNOLE9BQVMsRUFBQSxNQUFBO0FBQUEsSUFDVCxLQUFPLEVBQUEsT0FBQTtBQUFBLElBRVAsV0FBQSxDQUFZLGVBQWUsTUFBUSxFQUFBO0FBQ2pDLE1BQU0sTUFBQSxxQkFBQSxHQUF3QixlQUFlLE9BQU8sQ0FBQTtBQUNwRCxNQUFJLElBQUEscUJBQUEsQ0FBc0IsU0FBUyxPQUFTLEVBQUE7QUFFMUMsUUFBQTtBQUFBO0FBRUYsTUFBQSxNQUFNLGNBQWMscUJBQXNCLENBQUEsV0FBQTtBQUUxQyxNQUFNLE1BQUEsZUFBQSxHQUFrQixLQUFLLFdBQWEsRUFBQSxJQUFBO0FBSTFDLE1BQUksSUFBQSxTQUFBO0FBR0osTUFBSSxJQUFBLGVBQUEsRUFBaUIsVUFBVyxDQUFBLFFBQVEsQ0FBRyxFQUFBO0FBQ3pDLFFBQVksU0FBQSxHQUFBLDBCQUFBO0FBQUEsT0FFSCxNQUFBLElBQUEsZUFBQSxFQUFpQixVQUFXLENBQUEsS0FBSyxDQUFHLEVBQUE7QUFDN0MsUUFBWSxTQUFBLEdBQUEsMEJBQUE7QUFBQSxPQUNILE1BQUEsSUFBQSxlQUFBLEVBQWlCLFVBQVcsQ0FBQSxRQUFRLENBQUcsRUFBQTtBQUNoRCxRQUFZLFNBQUEsR0FBQSwwQkFBQTtBQUFBO0FBSWQsTUFBSSxJQUFBLGVBQUEsRUFBaUIsVUFBVyxDQUFBLFFBQVEsQ0FBRyxFQUFBO0FBQ3pDLFFBQUksSUFBQTtBQUNGLFVBQUEsTUFBTSxpQkFBaUIsaUJBQWtCLENBQUE7QUFBQSxZQUN2QyxNQUFBO0FBQUEsWUFDQSxZQUFZLFdBQVksQ0FBQTtBQUFBLFdBQ3pCLENBQUE7QUFFRCxVQUFBLGlCQUFBLENBQWtCLGNBQXFCLENBQUE7QUFHdkMsVUFBcUIsb0JBQUEsQ0FBQSxJQUFBLEVBQU0sVUFBVSxjQUFxQixDQUFBO0FBRzFELFVBQUEseUJBQUEsQ0FBMEIsY0FBcUIsQ0FBQTtBQUFBLGlCQUV4QyxLQUFPLEVBQUE7QUFDZCxVQUFBLE1BQU0sa0JBQWtCLFdBQVksQ0FBQTtBQUFBLFlBQ2xDLEtBQUE7QUFBQSxZQUNBLGdCQUFnQixXQUFZLENBQUEsY0FFOUIsQ0FBQyxDQUFBO0FBQ0QsVUFBQSxJQUFJLG1CQUFtQixJQUFNLEVBQUE7QUFDM0IsWUFBQSxJQUFBLENBQUssTUFBTSxlQUFlLENBQUE7QUFBQSxXQUNyQixNQUFBO0FBQ0wsWUFBQSxJQUFBLENBQUssS0FBSyxLQUFZLENBQUE7QUFBQTtBQUN4QjtBQUNGO0FBR0YsTUFBSSxJQUFBLFNBQUEsSUFBYSxZQUFZLE9BQVMsRUFBQTtBQUNwQyxRQUFJLElBQUE7QUFDRixVQUFNLE1BQUEsTUFBQSxHQUFTLFlBQVksT0FBUSxDQUFBO0FBQUEsWUFDakMsSUFBTSxFQUFBLFNBQUE7QUFBQSxZQUNOLElBQU0sRUFBQTtBQUFBLGNBQ0osT0FBTyxFQUFDO0FBQUEsY0FDUixPQUFTLEVBQUEsYUFBQTtBQUFBLGNBQ1Q7QUFBQTtBQUNGLFdBQ00sQ0FBQTtBQUdSLFVBQUEsSUFDRSxVQUFVLElBQ1YsSUFBQSxPQUFPLE1BQVcsS0FBQSxRQUFBLElBQ2xCLFVBQVUsTUFDVixFQUFBO0FBQ0EsWUFBQyxNQUFBLENBQXdCLEtBQU0sQ0FBQSxDQUFDLEtBQVUsS0FBQTtBQUN4QyxjQUFBLE1BQU0sa0JBQWtCLFdBQVksQ0FBQTtBQUFBLGdCQUNsQyxLQUFBO0FBQUEsZ0JBQ0EsZ0JBQWdCLFdBQVksQ0FBQSxjQUFBO0FBQUEsZ0JBQzVCLE9BQUEsRUFBUyxXQUFXLFNBQVMsQ0FBQSxDQUFBO0FBQUEsZUFDOUIsQ0FBQTtBQUNELGNBQUEsSUFBSSxtQkFBbUIsSUFBTSxFQUFBO0FBQzNCLGdCQUFNLE1BQUEsZUFBQTtBQUFBO0FBQ1IsYUFDRCxDQUFBO0FBQUE7QUFDSCxpQkFDTyxLQUFPLEVBQUE7QUFDZCxVQUFBLE1BQU0sa0JBQWtCLFdBQVksQ0FBQTtBQUFBLFlBQ2xDLEtBQUE7QUFBQSxZQUNBLGdCQUFnQixXQUFZLENBQUEsY0FFOUIsQ0FBQyxDQUFBO0FBQ0QsVUFBQSxJQUFJLG1CQUFtQixJQUFNLEVBQUE7QUFDM0IsWUFBQSxJQUFBLENBQUssTUFBTSxlQUFlLENBQUE7QUFDMUIsWUFBTSxNQUFBLGVBQUE7QUFBQSxXQUNELE1BQUE7QUFDTCxZQUFBLElBQUEsQ0FBSyxLQUFLLEtBQVksQ0FBQTtBQUFBO0FBRXhCO0FBQ0Y7QUFDRjtBQUNGLEdBQ0Y7QUFDRjs7OzsifQ==
|