vite-plugin-react-server 1.4.1 → 1.4.3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/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/configureReactServer.server.d.ts.map +1 -1
- package/dist/plugin/dev-server/configureReactServer.server.js +5 -8
- package/dist/plugin/dev-server/plugin.client.d.ts.map +1 -1
- package/dist/plugin/dev-server/plugin.client.js +2 -1
- package/dist/plugin/dev-server/plugin.server.d.ts.map +1 -1
- package/dist/plugin/dev-server/plugin.server.js +2 -36
- 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/error/index.d.ts +1 -2
- package/dist/plugin/error/index.d.ts.map +1 -1
- package/dist/plugin/error/index.js +2 -3
- package/dist/plugin/error/panicThresholdHandler.js +14 -3
- package/dist/plugin/error/setupGlobalErrorHandler.d.ts.map +1 -1
- package/dist/plugin/error/setupGlobalErrorHandler.js +23 -16
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts +0 -5
- package/dist/plugin/helpers/createRscRenderHelpers.d.ts.map +1 -1
- package/dist/plugin/helpers/createRscRenderHelpers.js +32 -55
- 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.d.ts +0 -38
- package/dist/plugin/helpers/headlessStreamState.d.ts.map +1 -1
- package/dist/plugin/helpers/headlessStreamState.js +15 -76
- package/dist/plugin/helpers/index.d.ts +0 -3
- package/dist/plugin/helpers/index.d.ts.map +1 -1
- package/dist/plugin/helpers/index.js +1 -4
- package/dist/plugin/helpers/requestInfo.d.ts.map +1 -1
- package/dist/plugin/helpers/requestInfo.js +3 -3
- package/dist/plugin/helpers/resolveComponent.d.ts.map +1 -1
- package/dist/plugin/helpers/resolveComponent.js +4 -2
- package/dist/plugin/helpers/workerCleanup.d.ts +1 -12
- package/dist/plugin/helpers/workerCleanup.d.ts.map +1 -1
- package/dist/plugin/helpers/workerCleanup.js +1 -1
- 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/loader/directives/index.d.ts +0 -1
- package/dist/plugin/loader/directives/index.d.ts.map +1 -1
- package/dist/plugin/loader/directives/index.js +1 -2
- 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/dev-server/configureReactServer.server.ts +7 -10
- package/plugin/dev-server/plugin.client.ts +2 -0
- package/plugin/dev-server/plugin.server.ts +2 -49
- package/plugin/error/index.ts +1 -2
- package/plugin/error/setupGlobalErrorHandler.ts +24 -25
- package/plugin/helpers/createRscRenderHelpers.ts +0 -29
- package/plugin/helpers/createSharedLoader.ts +6 -1
- package/plugin/helpers/headlessStreamState.ts +0 -69
- package/plugin/helpers/index.ts +0 -3
- package/plugin/helpers/requestInfo.ts +1 -2
- package/plugin/helpers/resolveComponent.ts +6 -1
- package/plugin/helpers/workerCleanup.ts +1 -38
- package/plugin/index.client.ts +4 -0
- package/plugin/index.server.ts +4 -0
- package/plugin/index.ts +12 -5
- package/plugin/loader/directives/index.ts +0 -1
- package/plugin/plugin.client.ts +1 -1
- package/plugin/plugin.server.ts +1 -1
- package/plugin/stream/renderRscStream.server.ts +3 -0
- package/plugin/transformer/README.md +1 -1
- package/plugin/utils/checkReactVersion.ts +28 -0
- package/plugin/vendor/vendor.client.ts +0 -2
- package/plugin/worker/html/README.md +1 -1
- package/plugin/worker/rsc/README.md +1 -1
- package/plugin/worker/rsc/handleRscRender.ts +2 -0
- package/scripts/generate-toc.mjs +27 -294
- package/dist/plugin/error/assertPanic.d.ts +0 -2
- package/dist/plugin/error/assertPanic.d.ts.map +0 -1
- package/dist/plugin/error/assertPanic.js +0 -15
- package/dist/plugin/error/directiveError.d.ts +0 -13
- package/dist/plugin/error/directiveError.d.ts.map +0 -1
- package/dist/plugin/error/directiveError.js +0 -21
- package/dist/plugin/error/enhanceError.d.ts +0 -14
- package/dist/plugin/error/enhanceError.d.ts.map +0 -1
- package/dist/plugin/error/enhanceError.js +0 -24
- package/dist/plugin/helpers/createSafePageComponent.d.ts +0 -36
- package/dist/plugin/helpers/createSafePageComponent.d.ts.map +0 -1
- package/dist/plugin/helpers/createSafePageComponent.js +0 -50
- package/dist/plugin/helpers/moduleResolver.d.ts +0 -25
- package/dist/plugin/helpers/moduleResolver.d.ts.map +0 -1
- package/dist/plugin/helpers/moduleResolver.js +0 -64
- package/dist/plugin/helpers/stashReturnValue.d.ts +0 -3
- package/dist/plugin/helpers/stashReturnValue.d.ts.map +0 -1
- package/dist/plugin/helpers/stashReturnValue.js +0 -23
- package/dist/plugin/helpers/workerManager.d.ts +0 -5
- package/dist/plugin/helpers/workerManager.d.ts.map +0 -1
- package/dist/plugin/helpers/workerManager.js +0 -18
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts +0 -6
- package/dist/plugin/loader/directives/collectExportsFromModule.d.ts.map +0 -1
- package/dist/plugin/loader/directives/collectExportsFromModule.js +0 -24
- package/plugin/error/assertPanic.ts +0 -9
- package/plugin/error/directiveError.ts +0 -29
- package/plugin/error/enhanceError.ts +0 -41
- package/plugin/helpers/createSafePageComponent.ts +0 -64
- package/plugin/helpers/moduleResolver.ts +0 -91
- package/plugin/helpers/stashReturnValue.ts +0 -19
- package/plugin/helpers/workerManager.ts +0 -16
- package/plugin/loader/directives/collectExportsFromModule.ts +0 -25
|
@@ -72,6 +72,7 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
|
|
|
72
72
|
const normalizedFile = file.replace(projectRoot, "").replace(/^\/+/, "");
|
|
73
73
|
const isSourceFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
|
|
74
74
|
const isClientFile = isSourceFile && (() => {
|
|
75
|
+
if (/\.client\.(js|ts|jsx|tsx)$/.test(file)) return true;
|
|
75
76
|
try {
|
|
76
77
|
const head = readFileSync(file, "utf-8").slice(0, 200);
|
|
77
78
|
return /^\s*["']use client["']/.test(head.split("\n")[0]);
|
|
@@ -121,4 +122,4 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevClient(option
|
|
|
121
122
|
};
|
|
122
123
|
|
|
123
124
|
export { vitePluginReactDevServer };
|
|
124
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHR5cGUgeyBWaXRlUGx1Z2luRm4gfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52IH0gZnJvbSBcInZpdGVcIjtcblxuXG4vKipcbiAqIERldiBzZXJ2ZXIgcGx1Z2luIGZvciBjbGllbnQgZW52aXJvbm1lbnQuXG4gKiBVc2VzIGNvbmZpZ3VyZVNlcnZlciBob29rIGZvciBwcm9wZXIgZGV2IHNlcnZlciBzZXR1cC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZpdGVQbHVnaW5SZWFjdERldlNlcnZlcjogVml0ZVBsdWdpbkZuID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldkNsaWVudChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICB9XG4gIFxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICBpZiAocmVzb2x2ZWRPcHRpb25zLmVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IHJlc29sdmVkT3B0aW9ucy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlc29sdmUgb3B0aW9uc1wiKTtcbiAgfVxuICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc29sdmVkT3B0aW9ucy51c2VyT3B0aW9ucztcbiAgXG5cbiAgbGV0IGNvbmZpZ0VudjogQ29uZmlnRW52IHwgdW5kZWZpbmVkO1xuICBsZXQgaG1ySGFuZGxlcjogeyByZXN0YXJ0OiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsOyBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4gdm9pZCB9IHwgbnVsbCA9IG51bGw7XG4gIGxldCBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTsgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsOyAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydHNcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOmRldi1zZXJ2ZXItY2xpZW50XCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiwgLy8gT25seSBhcHBseSBpbiBkZXYgc2VydmVyIG1vZGVcbiAgICAvLyBObyBhcHBseVRvRW52aXJvbm1lbnQg4oCUIGhvdFVwZGF0ZSBuZWVkcyB0byBydW4gZm9yIGFsbCBlbnZpcm9ubWVudHNcbiAgICAvLyB0aGF0IHNob3VsZCB3b3JrIHJlZ2FyZGxlc3Mgb2YgZW52aXJvbm1lbnQgZmlsdGVyaW5nXG4gICAgY29uZmlnKF9jb25maWcsIHZpdGVDb25maWdFbnYpIHtcbiAgICAgIGNvbmZpZ0VudiA9IHZpdGVDb25maWdFbnY7XG4gIFxuICAgIH0sXG4gICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikgeyAgICAgIFxuICAgICAgLy8gTG9nIHRoYXQgcGx1Z2luIGlzIGJlaW5nIGNvbmZpZ3VyZWRcbiAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIERldiBzZXJ2ZXIgcGx1Z2luIGNvbmZpZ3VyZWQgZm9yIGNsaWVudCBlbnZpcm9ubWVudGApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3IgY2xpZW50IGVudmlyb25tZW50ICh3b3JrZXItYmFzZWQpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLmNsaWVudC5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgaG1ySGFuZGxlciA9IGNvbmZpZ3VyZVJlYWN0U2VydmVyKHtcbiAgICAgICAgc2VydmVyLFxuICAgICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgICAgcHJvcHNNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBwYWdlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm9vdE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGh0bWxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb3V0ZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHVybE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgd29ya2VyUGF0aHM6IHt9LFxuICAgICAgICAgIHNlcnZlckVudHJ5OiBudWxsLFxuICAgICAgICAgIGNsaWVudEVudHJ5OiB7fSxcbiAgICAgICAgICBjbGllbnRJbnB1dHM6IHt9LFxuICAgICAgICAgIHN0YXRpY0lucHV0czoge30sXG4gICAgICAgICAgc2VydmVySW5wdXRzOiB7fSxcbiAgICAgICAgICAvLyBzdGF0aWNNYW5pZmVzdCByZW1vdmVkIGZyb20gQXV0b0Rpc2NvdmVyZWRGaWxlc1xuICAgICAgICAgIHNlcnZlckFjdGlvbnM6IHt9LFxuICAgICAgICB9LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgY29uZmlnRW52OiBjb25maWdFbnYhLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sIFxuICAgICAgICByZXNvbHZlZENvbmZpZzogc2VydmVyLmNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaG90VXBkYXRlKGN0eDogYW55KSB7XG4gICAgICBjb25zdCB7IGZpbGUsIHNlcnZlciB9ID0gY3R4O1xuICAgICAgY29uc3QgZW52TmFtZSA9IGN0eC5lbnZpcm9ubWVudD8ubmFtZSA/PyAndW5rbm93bic7XG4gICAgICBcbiAgICAgIC8vIE9ubHkgcnVuIHdvcmtlciBpbnZhbGlkYXRpb24gZnJvbSB0aGUgY2xpZW50IGVudmlyb25tZW50IChvbmNlIHBlciBjaGFuZ2UpXG4gICAgICBpZiAoZW52TmFtZSAhPT0gJ2NsaWVudCcpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgICAgIGlmIChpc1Byb2Nlc3NpbmdIbXIpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gSGFuZGxlIHNlcnZlciBjb21wb25lbnQgZmlsZSBjaGFuZ2VzXG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBcbiAgICAgIC8vIE5vcm1hbGl6ZSBwYXRocyBmb3IgY29tcGFyaXNvbiAoaGFuZGxlIGJvdGggYWJzb2x1dGUgYW5kIHJlbGF0aXZlKVxuICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbGUgPSBmaWxlLnJlcGxhY2UocHJvamVjdFJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgIGNvbnN0IGlzU291cmNlRmlsZSA9IG5vcm1hbGl6ZWRGaWxlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArICcvJykgJiYgXG4gICAgICAgIChmaWxlLmVuZHNXaXRoKCcudHN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLnRzJykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy5qcycpKTtcbiAgICAgIFxuICAgICAgLy8gU2tpcCBjbGllbnQgY29tcG9uZW50cyDigJQgbGV0IEB2aXRlanMvcGx1Z2luLXJlYWN0IGhhbmRsZSB0aGVtIHdpdGggRmFzdCBSZWZyZXNoXG4gICAgICBjb25zdCBpc0NsaWVudEZpbGUgPSBpc1NvdXJjZUZpbGUgJiYgKCgpID0+IHtcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBjb25zdCBoZWFkID0gcmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpLnNsaWNlKDAsIDIwMCk7XG4gICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgfSBjYXRjaCB7IHJldHVybiBmYWxzZTsgfVxuICAgICAgfSkoKTtcbiAgICAgIFxuICAgICAgY29uc3QgaXNTZXJ2ZXJGaWxlID0gaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGU7XG4gICAgICBcbiAgICAgIGlmIChpc1NlcnZlckZpbGUgJiYgaG1ySGFuZGxlcikge1xuICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSB0cnVlO1xuICAgICAgICBcbiAgICAgICAgdHJ5IHtcbiAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQ6ICR7ZmlsZX0sIHNlbmRpbmcgSE1SIHVwZGF0ZS4uLmApO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBTZW5kIEhNUl9VUERBVEUgbWVzc2FnZSB0byB3b3JrZXIgdG8gaW52YWxpZGF0ZSBtb2R1bGVzXG4gICAgICAgICAgLy8gVGhpcyBjbGVhcnMgY29tcG9uZW50IGNhY2hlcywgYnV0IE5vZGUuanMncyBFUyBtb2R1bGUgY2FjaGUgcGVyc2lzdHNcbiAgICAgICAgICBobXJIYW5kbGVyLnNlbmRIbXJVcGRhdGUoZmlsZSk7XG4gICAgICAgICAgXG4gICAgICAgICAgLy8gTk9URTogVGhlIFdTIGV2ZW50IHRvIG5vdGlmeSB0aGUgY2xpZW50IGlzIHNlbnQgYnkgdGhlIGhvdFVwZGF0ZSBob29rXG4gICAgICAgICAgLy8gaW4gcGx1Z2luLnNlcnZlci50cyDigJQgZG9uJ3QgZHVwbGljYXRlIGl0IGhlcmUuXG4gICAgICAgICAgXG4gICAgICAgICAgLy8gQ1JJVElDQUw6IE5vZGUuanMgY2FjaGVzIEVTIG1vZHVsZXMsIHNvIHdlIG5lZWQgdG8gcmVzdGFydCB0aGUgd29ya2VyXG4gICAgICAgICAgLy8gdG8gY2xlYXIgdGhlIG1vZHVsZSBjYWNoZS4gRGVib3VuY2UgcmVzdGFydHMgdG8gcHJldmVudCByZWN1cnNpb24uXG4gICAgICAgICAgaWYgKGhtckhhbmRsZXIucmVzdGFydCkge1xuICAgICAgICAgICAgLy8gQ2xlYXIgYW55IHBlbmRpbmcgcmVzdGFydFxuICAgICAgICAgICAgaWYgKHJlc3RhcnRUaW1lb3V0KSB7XG4gICAgICAgICAgICAgIGNsZWFyVGltZW91dChyZXN0YXJ0VGltZW91dCk7XG4gICAgICAgICAgICB9XG4gICAgICAgICAgICBcbiAgICAgICAgICAgIC8vIERlYm91bmNlIHdvcmtlciByZXN0YXJ0IHRvIHByZXZlbnQgcmVjdXJzaW9uXG4gICAgICAgICAgICAvLyBXYWl0IDUwMG1zIGFmdGVyIHRoZSBsYXN0IGZpbGUgY2hhbmdlIGJlZm9yZSByZXN0YXJ0aW5nXG4gICAgICAgICAgICByZXN0YXJ0VGltZW91dCA9IHNldFRpbWVvdXQoYXN5bmMgKCkgPT4ge1xuICAgICAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnRpbmcgd29ya2VyIHRvIGNsZWFyIE5vZGUuanMgbW9kdWxlIGNhY2hlLi4uYCk7XG4gICAgICAgICAgICAgICAgYXdhaXQgaG1ySGFuZGxlciEucmVzdGFydCEoKTtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBXb3JrZXIgcmVzdGFydGVkIHN1Y2Nlc3NmdWxseWApO1xuICAgICAgICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGYWlsZWQgdG8gcmVzdGFydCB3b3JrZXI6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgICAgIH0gZmluYWxseSB7XG4gICAgICAgICAgICAgICAgcmVzdGFydFRpbWVvdXQgPSBudWxsO1xuICAgICAgICAgICAgICAgIC8vIFJlc2V0IGZsYWcgYWZ0ZXIgcmVzdGFydCBjb21wbGV0ZXNcbiAgICAgICAgICAgICAgICBzZXRUaW1lb3V0KCgpID0+IHtcbiAgICAgICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0sIDUwMCk7IC8vIDUwMG1zIGRlYm91bmNlXG4gICAgICAgICAgfSBlbHNlIHtcbiAgICAgICAgICAgIC8vIE5vIHJlc3RhcnQgZnVuY3Rpb24gYXZhaWxhYmxlIHlldCAtIHdvcmtlciBoYXNuJ3QgYmVlbiBjcmVhdGVkXG4gICAgICAgICAgICAvLyBUaGlzIGlzIGV4cGVjdGVkIGlmIGhvdFVwZGF0ZSBmaXJlcyBiZWZvcmUgdGhlIGZpcnN0IHJlcXVlc3RcbiAgICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFJlc3RhcnQgZnVuY3Rpb24gbm90IGF2YWlsYWJsZSB5ZXQgLSB3b3JrZXIgd2lsbCBiZSBjcmVhdGVkIG9uIG5leHQgcmVxdWVzdGApO1xuICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICAgICAgfSwgMTAwKTtcbiAgICAgICAgICB9XG4gICAgICAgIH0gY2F0Y2ggKGVycm9yKSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuZXJyb3IoYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIEVycm9yIGhhbmRsaW5nIEhNUiB1cGRhdGU6ICR7ZXJyb3J9YCk7XG4gICAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gZmFsc2U7XG4gICAgICAgIH1cbiAgICAgIH0gZWxzZSBpZiAoaXNTZXJ2ZXJGaWxlICYmICFobXJIYW5kbGVyKSB7XG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLndhcm4oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIFNlcnZlciBmaWxlIGNoYW5nZWQgYnV0IEhNUiBoYW5kbGVyIG5vdCBhdmFpbGFibGUgeWV0OiAke2ZpbGV9YCk7XG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIERvbid0IHN1cHByZXNzIOKAlCBwbHVnaW4uc2VydmVyLnRzIGhvdFVwZGF0ZSBoYW5kbGVzIHBhZ2UgcmVsb2FkIHByZXZlbnRpb25cbiAgICB9LFxuICB9O1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFXYSxNQUFBLHdCQUFBLEdBQXlDLFNBQVMsK0JBQUEsQ0FBZ0MsT0FBUyxFQUFBO0FBQ3RHLEVBQUEsSUFBSSxXQUFXLElBQU0sRUFBQTtBQUNuQixJQUFNLE1BQUEsSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQUE7QUFHdkMsRUFBQSxJQUFJLFFBQVEsT0FBUyxFQUFBO0FBR3JCLEVBQU0sTUFBQSxlQUFBLEdBQWtCLGVBQWUsT0FBTyxDQUFBO0FBQzlDLEVBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsT0FBUyxFQUFBO0FBQ3BDLElBQUksSUFBQSxl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
|
|
125
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLmNsaWVudC50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgeyByZWFkRmlsZVN5bmMgfSBmcm9tIFwibm9kZTpmc1wiO1xuaW1wb3J0IHR5cGUgeyBWaXRlUGx1Z2luRm4gfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuY2xpZW50LmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgQ29uZmlnRW52IH0gZnJvbSBcInZpdGVcIjtcblxuXG4vKipcbiAqIERldiBzZXJ2ZXIgcGx1Z2luIGZvciBjbGllbnQgZW52aXJvbm1lbnQuXG4gKiBVc2VzIGNvbmZpZ3VyZVNlcnZlciBob29rIGZvciBwcm9wZXIgZGV2IHNlcnZlciBzZXR1cC5cbiAqL1xuZXhwb3J0IGNvbnN0IHZpdGVQbHVnaW5SZWFjdERldlNlcnZlcjogVml0ZVBsdWdpbkZuID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldkNsaWVudChvcHRpb25zKSB7XG4gIGlmIChvcHRpb25zID09IG51bGwpIHtcbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJvcHRpb25zIGlzIHJlcXVpcmVkXCIpO1xuICB9XG5cbiAgaWYgKG9wdGlvbnMudmVyYm9zZSkge1xuICB9XG4gIFxuICBjb25zdCByZXNvbHZlZE9wdGlvbnMgPSByZXNvbHZlT3B0aW9ucyhvcHRpb25zKTtcbiAgaWYgKHJlc29sdmVkT3B0aW9ucy50eXBlID09PSBcImVycm9yXCIpIHtcbiAgICBpZiAocmVzb2x2ZWRPcHRpb25zLmVycm9yICE9IG51bGwpIHtcbiAgICAgIHRocm93IHJlc29sdmVkT3B0aW9ucy5lcnJvcjtcbiAgICB9XG4gICAgdGhyb3cgbmV3IEVycm9yKFwiRmFpbGVkIHRvIHJlc29sdmUgb3B0aW9uc1wiKTtcbiAgfVxuICBjb25zdCB1c2VyT3B0aW9ucyA9IHJlc29sdmVkT3B0aW9ucy51c2VyT3B0aW9ucztcbiAgXG5cbiAgbGV0IGNvbmZpZ0VudjogQ29uZmlnRW52IHwgdW5kZWZpbmVkO1xuICBsZXQgaG1ySGFuZGxlcjogeyByZXN0YXJ0OiAoKCkgPT4gUHJvbWlzZTx2b2lkPikgfCBudWxsOyBzZW5kSG1yVXBkYXRlOiAoZmlsZTogc3RyaW5nLCByb3V0ZXM/OiBzdHJpbmdbXSkgPT4gdm9pZCB9IHwgbnVsbCA9IG51bGw7XG4gIGxldCBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTsgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgbGV0IHJlc3RhcnRUaW1lb3V0OiBOb2RlSlMuVGltZW91dCB8IG51bGwgPSBudWxsOyAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydHNcblxuICByZXR1cm4ge1xuICAgIG5hbWU6IFwidml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOmRldi1zZXJ2ZXItY2xpZW50XCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiwgLy8gT25seSBhcHBseSBpbiBkZXYgc2VydmVyIG1vZGVcbiAgICAvLyBObyBhcHBseVRvRW52aXJvbm1lbnQg4oCUIGhvdFVwZGF0ZSBuZWVkcyB0byBydW4gZm9yIGFsbCBlbnZpcm9ubWVudHNcbiAgICAvLyB0aGF0IHNob3VsZCB3b3JrIHJlZ2FyZGxlc3Mgb2YgZW52aXJvbm1lbnQgZmlsdGVyaW5nXG4gICAgY29uZmlnKF9jb25maWcsIHZpdGVDb25maWdFbnYpIHtcbiAgICAgIGNvbmZpZ0VudiA9IHZpdGVDb25maWdFbnY7XG4gIFxuICAgIH0sXG4gICAgY29uZmlndXJlU2VydmVyKHNlcnZlcikgeyAgICAgIFxuICAgICAgLy8gTG9nIHRoYXQgcGx1Z2luIGlzIGJlaW5nIGNvbmZpZ3VyZWRcbiAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIERldiBzZXJ2ZXIgcGx1Z2luIGNvbmZpZ3VyZWQgZm9yIGNsaWVudCBlbnZpcm9ubWVudGApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3IgY2xpZW50IGVudmlyb25tZW50ICh3b3JrZXItYmFzZWQpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLmNsaWVudC5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgaG1ySGFuZGxlciA9IGNvbmZpZ3VyZVJlYWN0U2VydmVyKHtcbiAgICAgICAgc2VydmVyLFxuICAgICAgICBhdXRvRGlzY292ZXJlZEZpbGVzOiB7XG4gICAgICAgICAgcHJvcHNNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBwYWdlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm9vdE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGh0bWxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb3V0ZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHVybE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIGVycm9yczogW10sXG4gICAgICAgICAgd29ya2VyUGF0aHM6IHt9LFxuICAgICAgICAgIHNlcnZlckVudHJ5OiBudWxsLFxuICAgICAgICAgIGNsaWVudEVudHJ5OiB7fSxcbiAgICAgICAgICBjbGllbnRJbnB1dHM6IHt9LFxuICAgICAgICAgIHN0YXRpY0lucHV0czoge30sXG4gICAgICAgICAgc2VydmVySW5wdXRzOiB7fSxcbiAgICAgICAgICAvLyBzdGF0aWNNYW5pZmVzdCByZW1vdmVkIGZyb20gQXV0b0Rpc2NvdmVyZWRGaWxlc1xuICAgICAgICAgIHNlcnZlckFjdGlvbnM6IHt9LFxuICAgICAgICB9LFxuICAgICAgICB1c2VyT3B0aW9ucyxcbiAgICAgICAgY29uZmlnRW52OiBjb25maWdFbnYhLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sIFxuICAgICAgICByZXNvbHZlZENvbmZpZzogc2VydmVyLmNvbmZpZyxcbiAgICAgIH0pO1xuICAgIH0sXG4gICAgaG90VXBkYXRlKGN0eDogYW55KSB7XG4gICAgICBjb25zdCB7IGZpbGUsIHNlcnZlciB9ID0gY3R4O1xuICAgICAgY29uc3QgZW52TmFtZSA9IGN0eC5lbnZpcm9ubWVudD8ubmFtZSA/PyAndW5rbm93bic7XG4gICAgICBcbiAgICAgIC8vIE9ubHkgcnVuIHdvcmtlciBpbnZhbGlkYXRpb24gZnJvbSB0aGUgY2xpZW50IGVudmlyb25tZW50IChvbmNlIHBlciBjaGFuZ2UpXG4gICAgICBpZiAoZW52TmFtZSAhPT0gJ2NsaWVudCcpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gUHJldmVudCByZWN1cnNpdmUgSE1SIHVwZGF0ZXNcbiAgICAgIGlmIChpc1Byb2Nlc3NpbmdIbXIpIHtcbiAgICAgICAgcmV0dXJuIHVuZGVmaW5lZDtcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gSGFuZGxlIHNlcnZlciBjb21wb25lbnQgZmlsZSBjaGFuZ2VzXG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBcbiAgICAgIC8vIE5vcm1hbGl6ZSBwYXRocyBmb3IgY29tcGFyaXNvbiAoaGFuZGxlIGJvdGggYWJzb2x1dGUgYW5kIHJlbGF0aXZlKVxuICAgICAgY29uc3Qgbm9ybWFsaXplZEZpbGUgPSBmaWxlLnJlcGxhY2UocHJvamVjdFJvb3QsICcnKS5yZXBsYWNlKC9eXFwvKy8sICcnKTtcbiAgICAgIGNvbnN0IGlzU291cmNlRmlsZSA9IG5vcm1hbGl6ZWRGaWxlLnN0YXJ0c1dpdGgobW9kdWxlQmFzZSArICcvJykgJiYgXG4gICAgICAgIChmaWxlLmVuZHNXaXRoKCcudHN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLnRzJykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy5qcycpKTtcbiAgICAgIFxuICAgICAgLy8gU2tpcCBjbGllbnQgY29tcG9uZW50cyDigJQgbGV0IEB2aXRlanMvcGx1Z2luLXJlYWN0IGhhbmRsZSB0aGVtIHdpdGggRmFzdCBSZWZyZXNoXG4gICAgICBjb25zdCBpc0NsaWVudEZpbGUgPSBpc1NvdXJjZUZpbGUgJiYgKCgpID0+IHtcbiAgICAgICAgLy8gQ2hlY2sgZmlsZW5hbWUgcGF0dGVybiAoLmNsaWVudC50c3gsIGV0Yy4pIOKAlCBtYXRjaGVzIGlzQ2xpZW50Q29tcG9uZW50QnlOYW1lXG4gICAgICAgIGlmICgvXFwuY2xpZW50XFwuKGpzfHRzfGpzeHx0c3gpJC8udGVzdChmaWxlKSkgcmV0dXJuIHRydWU7XG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgY29uc3QgaGVhZCA9IHJlYWRGaWxlU3luYyhmaWxlLCAndXRmLTgnKS5zbGljZSgwLCAyMDApO1xuICAgICAgICAgIHJldHVybiAvXlxccypbXCInXXVzZSBjbGllbnRbXCInXS8udGVzdChoZWFkLnNwbGl0KCdcXG4nKVswXSk7XG4gICAgICAgIH0gY2F0Y2ggeyByZXR1cm4gZmFsc2U7IH1cbiAgICAgIH0pKCk7XG4gICAgICBcbiAgICAgIGNvbnN0IGlzU2VydmVyRmlsZSA9IGlzU291cmNlRmlsZSAmJiAhaXNDbGllbnRGaWxlO1xuICAgICAgXG4gICAgICBpZiAoaXNTZXJ2ZXJGaWxlICYmIGhtckhhbmRsZXIpIHtcbiAgICAgICAgaXNQcm9jZXNzaW5nSG1yID0gdHJ1ZTtcbiAgICAgICAgXG4gICAgICAgIHRyeSB7XG4gICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmlsZSBjaGFuZ2VkOiAke2ZpbGV9LCBzZW5kaW5nIEhNUiB1cGRhdGUuLi5gKTtcbiAgICAgICAgICBcbiAgICAgICAgICAvLyBDUklUSUNBTDogU2VuZCBITVJfVVBEQVRFIG1lc3NhZ2UgdG8gd29ya2VyIHRvIGludmFsaWRhdGUgbW9kdWxlc1xuICAgICAgICAgIC8vIFRoaXMgY2xlYXJzIGNvbXBvbmVudCBjYWNoZXMsIGJ1dCBOb2RlLmpzJ3MgRVMgbW9kdWxlIGNhY2hlIHBlcnNpc3RzXG4gICAgICAgICAgaG1ySGFuZGxlci5zZW5kSG1yVXBkYXRlKGZpbGUpO1xuICAgICAgICAgIFxuICAgICAgICAgIC8vIE5PVEU6IFRoZSBXUyBldmVudCB0byBub3RpZnkgdGhlIGNsaWVudCBpcyBzZW50IGJ5IHRoZSBob3RVcGRhdGUgaG9va1xuICAgICAgICAgIC8vIGluIHBsdWdpbi5zZXJ2ZXIudHMg4oCUIGRvbid0IGR1cGxpY2F0ZSBpdCBoZXJlLlxuICAgICAgICAgIFxuICAgICAgICAgIC8vIENSSVRJQ0FMOiBOb2RlLmpzIGNhY2hlcyBFUyBtb2R1bGVzLCBzbyB3ZSBuZWVkIHRvIHJlc3RhcnQgdGhlIHdvcmtlclxuICAgICAgICAgIC8vIHRvIGNsZWFyIHRoZSBtb2R1bGUgY2FjaGUuIERlYm91bmNlIHJlc3RhcnRzIHRvIHByZXZlbnQgcmVjdXJzaW9uLlxuICAgICAgICAgIGlmIChobXJIYW5kbGVyLnJlc3RhcnQpIHtcbiAgICAgICAgICAgIC8vIENsZWFyIGFueSBwZW5kaW5nIHJlc3RhcnRcbiAgICAgICAgICAgIGlmIChyZXN0YXJ0VGltZW91dCkge1xuICAgICAgICAgICAgICBjbGVhclRpbWVvdXQocmVzdGFydFRpbWVvdXQpO1xuICAgICAgICAgICAgfVxuICAgICAgICAgICAgXG4gICAgICAgICAgICAvLyBEZWJvdW5jZSB3b3JrZXIgcmVzdGFydCB0byBwcmV2ZW50IHJlY3Vyc2lvblxuICAgICAgICAgICAgLy8gV2FpdCA1MDBtcyBhZnRlciB0aGUgbGFzdCBmaWxlIGNoYW5nZSBiZWZvcmUgcmVzdGFydGluZ1xuICAgICAgICAgICAgcmVzdGFydFRpbWVvdXQgPSBzZXRUaW1lb3V0KGFzeW5jICgpID0+IHtcbiAgICAgICAgICAgICAgdHJ5IHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBSZXN0YXJ0aW5nIHdvcmtlciB0byBjbGVhciBOb2RlLmpzIG1vZHVsZSBjYWNoZS4uLmApO1xuICAgICAgICAgICAgICAgIGF3YWl0IGhtckhhbmRsZXIhLnJlc3RhcnQhKCk7XG4gICAgICAgICAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gV29ya2VyIHJlc3RhcnRlZCBzdWNjZXNzZnVsbHlgKTtcbiAgICAgICAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5lcnJvcihgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmFpbGVkIHRvIHJlc3RhcnQgd29ya2VyOiAke2Vycm9yfWApO1xuICAgICAgICAgICAgICB9IGZpbmFsbHkge1xuICAgICAgICAgICAgICAgIHJlc3RhcnRUaW1lb3V0ID0gbnVsbDtcbiAgICAgICAgICAgICAgICAvLyBSZXNldCBmbGFnIGFmdGVyIHJlc3RhcnQgY29tcGxldGVzXG4gICAgICAgICAgICAgICAgc2V0VGltZW91dCgoKSA9PiB7XG4gICAgICAgICAgICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTtcbiAgICAgICAgICAgICAgICB9LCAxMDApO1xuICAgICAgICAgICAgICB9XG4gICAgICAgICAgICB9LCA1MDApOyAvLyA1MDBtcyBkZWJvdW5jZVxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICAvLyBObyByZXN0YXJ0IGZ1bmN0aW9uIGF2YWlsYWJsZSB5ZXQgLSB3b3JrZXIgaGFzbid0IGJlZW4gY3JlYXRlZFxuICAgICAgICAgICAgLy8gVGhpcyBpcyBleHBlY3RlZCBpZiBob3RVcGRhdGUgZmlyZXMgYmVmb3JlIHRoZSBmaXJzdCByZXF1ZXN0XG4gICAgICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci53YXJuKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBSZXN0YXJ0IGZ1bmN0aW9uIG5vdCBhdmFpbGFibGUgeWV0IC0gd29ya2VyIHdpbGwgYmUgY3JlYXRlZCBvbiBuZXh0IHJlcXVlc3RgKTtcbiAgICAgICAgICAgIHNldFRpbWVvdXQoKCkgPT4ge1xuICAgICAgICAgICAgICBpc1Byb2Nlc3NpbmdIbXIgPSBmYWxzZTtcbiAgICAgICAgICAgIH0sIDEwMCk7XG4gICAgICAgICAgfVxuICAgICAgICB9IGNhdGNoIChlcnJvcikge1xuICAgICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmVycm9yKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBFcnJvciBoYW5kbGluZyBITVIgdXBkYXRlOiAke2Vycm9yfWApO1xuICAgICAgICAgIGlzUHJvY2Vzc2luZ0htciA9IGZhbHNlO1xuICAgICAgICB9XG4gICAgICB9IGVsc2UgaWYgKGlzU2VydmVyRmlsZSAmJiAhaG1ySGFuZGxlcikge1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci53YXJuKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBTZXJ2ZXIgZmlsZSBjaGFuZ2VkIGJ1dCBITVIgaGFuZGxlciBub3QgYXZhaWxhYmxlIHlldDogJHtmaWxlfWApO1xuICAgICAgfVxuICAgICAgXG4gICAgICAvLyBEb24ndCBzdXBwcmVzcyDigJQgcGx1Z2luLnNlcnZlci50cyBob3RVcGRhdGUgaGFuZGxlcyBwYWdlIHJlbG9hZCBwcmV2ZW50aW9uXG4gICAgfSxcbiAgfTtcbn07XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBV2EsTUFBQSx3QkFBQSxHQUF5QyxTQUFTLCtCQUFBLENBQWdDLE9BQVMsRUFBQTtBQUN0RyxFQUFBLElBQUksV0FBVyxJQUFNLEVBQUE7QUFDbkIsSUFBTSxNQUFB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
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAGlD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAA4C,SAAS,mBAAmB,KAAG,MAAM,
|
|
1
|
+
{"version":3,"file":"plugin.server.d.ts","sourceRoot":"","sources":["../../../plugin/dev-server/plugin.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,gBAAgB,CAAC;AAG1D,OAAO,KAAK,EAAE,MAAM,EAAiB,MAAM,MAAM,CAAC;AAGlD;;;GAGG;AACH,eAAO,MAAM,wBAAwB,GAA4C,SAAS,mBAAmB,KAAG,MAAM,EA8IrH,CAAC"}
|
|
@@ -35,6 +35,7 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
|
|
|
35
35
|
if (!isSourceFile) return;
|
|
36
36
|
if (envName === "client") {
|
|
37
37
|
const isClient = (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js")) && (() => {
|
|
38
|
+
if (/\.client\.(js|ts|jsx|tsx)$/.test(file)) return true;
|
|
38
39
|
try {
|
|
39
40
|
const head = readFileSync(file, "utf-8").slice(0, 200);
|
|
40
41
|
return /^\s*["']use client["']/.test(head.split("\n")[0]);
|
|
@@ -60,41 +61,6 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
|
|
|
60
61
|
}
|
|
61
62
|
}
|
|
62
63
|
return [];
|
|
63
|
-
},
|
|
64
|
-
handleHotUpdate({ file, server }) {
|
|
65
|
-
const moduleBase = userOptions.moduleBase || "src";
|
|
66
|
-
const projectRoot = userOptions.projectRoot || server.config.root;
|
|
67
|
-
const normalizedFile = file.replace(projectRoot, "").replace(/^\/+/, "");
|
|
68
|
-
const isSourceFile = normalizedFile.startsWith(moduleBase + "/") && (file.endsWith(".tsx") || file.endsWith(".ts") || file.endsWith(".jsx") || file.endsWith(".js"));
|
|
69
|
-
const isClientFile = isSourceFile && (() => {
|
|
70
|
-
try {
|
|
71
|
-
const head = readFileSync(file, "utf-8").slice(0, 200);
|
|
72
|
-
return /^\s*["']use client["']/.test(head.split("\n")[0]);
|
|
73
|
-
} catch {
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
})();
|
|
77
|
-
if (isSourceFile && !isClientFile) {
|
|
78
|
-
server.config.logger.info(`[vite-plugin-react-server] File changed (RSC refetch): ${normalizedFile}`);
|
|
79
|
-
server.ws.send({
|
|
80
|
-
type: "custom",
|
|
81
|
-
event: "vite-plugin-react-server:server-component-update",
|
|
82
|
-
data: {
|
|
83
|
-
file: normalizedFile,
|
|
84
|
-
path: file
|
|
85
|
-
}
|
|
86
|
-
});
|
|
87
|
-
const mod = server.environments["server"]?.moduleGraph?.getModulesByFile(file);
|
|
88
|
-
if (mod) {
|
|
89
|
-
for (const m of mod) {
|
|
90
|
-
server.environments["server"]?.moduleGraph?.invalidateModule(m);
|
|
91
|
-
}
|
|
92
|
-
}
|
|
93
|
-
return [];
|
|
94
|
-
}
|
|
95
|
-
if (isClientFile) {
|
|
96
|
-
return [];
|
|
97
|
-
}
|
|
98
64
|
}
|
|
99
65
|
};
|
|
100
66
|
const serverPlugin = {
|
|
@@ -155,4 +121,4 @@ const vitePluginReactDevServer = function _vitePluginReactServerDevServer(option
|
|
|
155
121
|
};
|
|
156
122
|
|
|
157
123
|
export { vitePluginReactDevServer };
|
|
158
|
-
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbVBsdWdpbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgUGx1Z2luLCBWaXRlRGV2U2VydmVyIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5cbi8qKlxuICogRGV2IHNlcnZlciBwbHVnaW4gZm9yIHNlcnZlciBlbnZpcm9ubWVudC5cbiAqIFJldHVybnMgdHdvIHBsdWdpbnM6IG9uZSBmb3IgSE1SIGhhbmRsaW5nIChhbGwgZW52aXJvbm1lbnRzKSBhbmQgb25lIGZvciBzZXJ2ZXIgY29uZmlnLlxuICovXG5leHBvcnQgY29uc3Qgdml0ZVBsdWdpblJlYWN0RGV2U2VydmVyID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldlNlcnZlcihvcHRpb25zOiBTdHJlYW1QbHVnaW5PcHRpb25zKTogUGx1Z2luW10ge1xuICBpZiAob3B0aW9ucyA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwib3B0aW9ucyBpcyByZXF1aXJlZFwiKTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMpO1xuICBpZiAocmVzb2x2ZWRPcHRpb25zLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgIGlmIChyZXNvbHZlZE9wdGlvbnMuZXJyb3IgIT0gbnVsbCkge1xuICAgICAgdGhyb3cgcmVzb2x2ZWRPcHRpb25zLmVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcmVzb2x2ZSBvcHRpb25zXCIpO1xuICB9XG4gIGNvbnN0IHVzZXJPcHRpb25zID0gcmVzb2x2ZWRPcHRpb25zLnVzZXJPcHRpb25zO1xuXG4gIC8vIFNlcGFyYXRlIHBsdWdpbiBmb3IgSE1SIGhhbmRsaW5nIChtdXN0IGFwcGx5IHRvIGFsbCBlbnZpcm9ubWVudHMpXG4gIGNvbnN0IGhtclBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpzZXJ2ZXItaG1yXCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiBhcyBjb25zdCxcbiAgICAvLyBTZXJ2ZXItbGV2ZWwgaGFuZGxlSG90VXBkYXRlIOKAlCBzZW5kcyBjdXN0b20gV1MgZXZlbnQgdG8gY2xpZW50XG4gICAgLy8gVml0ZSA2IEVudmlyb25tZW50IEFQSTogaG90VXBkYXRlIHJ1bnMgcGVyLWVudmlyb25tZW50LlxuICAgIC8vIFByZXZlbnQgc2VydmVyL3NzciBlbnZpcm9ubWVudHMgZnJvbSB0cmlnZ2VyaW5nIHBhZ2UgcmVsb2FkIGZvciBjbGllbnQgY29tcG9uZW50cy5cbiAgICBob3RVcGRhdGUoY3R4OiBhbnkpIHtcbiAgICAgIGNvbnN0IHsgZmlsZSwgc2VydmVyIH0gPSBjdHg7XG4gICAgICBjb25zdCBlbnZOYW1lID0gY3R4LmVudmlyb25tZW50Py5uYW1lID8/ICd1bmtub3duJztcbiAgICAgIFxuICAgICAgY29uc3QgbW9kdWxlQmFzZSA9IHVzZXJPcHRpb25zLm1vZHVsZUJhc2UgfHwgXCJzcmNcIjtcbiAgICAgIGNvbnN0IHByb2plY3RSb290ID0gdXNlck9wdGlvbnMucHJvamVjdFJvb3QgfHwgc2VydmVyPy5jb25maWc/LnJvb3QgfHwgJyc7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTb3VyY2VGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKTtcbiAgICAgIFxuICAgICAgaWYgKCFpc1NvdXJjZUZpbGUpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gQ2xpZW50IGVudmlyb25tZW50OiBsZXQgVml0ZS9Adml0ZWpzL3BsdWdpbi1yZWFjdCBoYW5kbGUgaXRcbiAgICAgIGlmIChlbnZOYW1lID09PSAnY2xpZW50Jykge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgY2xpZW50IGNvbXBvbmVudCDigJQgbGV0IEZhc3QgUmVmcmVzaCBoYW5kbGUgaXRcbiAgICAgICAgY29uc3QgaXNDbGllbnQgPSAoZmlsZS5lbmRzV2l0aCgnLnRzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy50cycpIHx8IGZpbGUuZW5kc1dpdGgoJy5qc3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanMnKSkgJiYgKCgpID0+IHtcbiAgICAgICAgICB0cnkge1xuICAgICAgICAgICAgY29uc3QgaGVhZCA9IHJlYWRGaWxlU3luYyhmaWxlLCAndXRmLTgnKS5zbGljZSgwLCAyMDApO1xuICAgICAgICAgICAgcmV0dXJuIC9eXFxzKltcIidddXNlIGNsaWVudFtcIiddLy50ZXN0KGhlYWQuc3BsaXQoJ1xcbicpWzBdKTtcbiAgICAgICAgICB9IGNhdGNoIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICAgIH0pKCk7XG4gICAgICAgIFxuICAgICAgICBpZiAoaXNDbGllbnQpIHJldHVybjsgLy8gTGV0IEZhc3QgUmVmcmVzaCBoYW5kbGUgY2xpZW50IGNvbXBvbmVudHNcbiAgICAgICAgXG4gICAgICAgIC8vIFNlcnZlciBjb21wb25lbnQgY2hhbmdlZCDigJQgc2VuZCBSU0MgcmVmZXRjaCBldmVudCB0byBjbGllbnRcbiAgICAgICAgLy8gT25seSBkbyB0aGlzIG9uY2UgKGZyb20gY2xpZW50IGVudikgdG8gYXZvaWQgZHVwbGljYXRlIGV2ZW50c1xuICAgICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBGaWxlIGNoYW5nZWQgKFJTQyByZWZldGNoKTogJHtub3JtYWxpemVkRmlsZX1gKTtcbiAgICAgICAgc2VydmVyLndzLnNlbmQoe1xuICAgICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgICAgICAgIGV2ZW50OiAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJyxcbiAgICAgICAgICBkYXRhOiB7IGZpbGU6IG5vcm1hbGl6ZWRGaWxlLCBwYXRoOiBmaWxlIH0sXG4gICAgICAgIH0pO1xuICAgICAgICBcbiAgICAgICAgcmV0dXJuIFtdOyAvLyBEb24ndCB0cmlnZ2VyIGNsaWVudC1zaWRlIHBhZ2UgcmVsb2FkXG4gICAgICB9XG4gICAgICBcbiAgICAgIC8vIFNlcnZlci9TU1IgZW52aXJvbm1lbnRzOiBzdXBwcmVzcyBwYWdlIHJlbG9hZCBmb3IgYWxsIHNvdXJjZSBmaWxlc1xuICAgICAgLy8gU2VydmVyIGNvbXBvbmVudHMgYXJlIGhhbmRsZWQgYnkgdGhlIFJTQyByZWZldGNoIGV2ZW50IHNlbnQgYWJvdmVcbiAgICAgIC8vIEludmFsaWRhdGUgdGhlIHNlcnZlciBtb2R1bGUgc28gbmV4dCBSU0MgcmVxdWVzdCBnZXRzIGZyZXNoIGNvbnRlbnRcbiAgICAgIGlmIChlbnZOYW1lID09PSAnc2VydmVyJykge1xuICAgICAgICBjb25zdCBtb2QgPSBjdHguZW52aXJvbm1lbnQ/Lm1vZHVsZUdyYXBoPy5nZXRNb2R1bGVzQnlGaWxlKGZpbGUpO1xuICAgICAgICBpZiAobW9kKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBtIG9mIG1vZCkge1xuICAgICAgICAgICAgY3R4LmVudmlyb25tZW50Lm1vZHVsZUdyYXBoLmludmFsaWRhdGVNb2R1bGUobSk7XG4gICAgICAgICAgfVxuICAgICAgICB9XG4gICAgICB9XG4gICAgICByZXR1cm4gW107XG4gICAgfSxcbiAgICBoYW5kbGVIb3RVcGRhdGUoeyBmaWxlLCBzZXJ2ZXIgfTogeyBmaWxlOiBzdHJpbmc7IHNlcnZlcjogVml0ZURldlNlcnZlciB9KSB7XG4gICAgICBjb25zdCBtb2R1bGVCYXNlID0gdXNlck9wdGlvbnMubW9kdWxlQmFzZSB8fCBcInNyY1wiO1xuICAgICAgY29uc3QgcHJvamVjdFJvb3QgPSB1c2VyT3B0aW9ucy5wcm9qZWN0Um9vdCB8fCBzZXJ2ZXIuY29uZmlnLnJvb3Q7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTb3VyY2VGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKSAmJiBcbiAgICAgICAgKGZpbGUuZW5kc1dpdGgoJy50c3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcudHMnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanN4JykgfHwgZmlsZS5lbmRzV2l0aCgnLmpzJykpO1xuICAgICAgXG4gICAgICAvLyBTa2lwIGNsaWVudCBjb21wb25lbnRzIOKAlCBsZXQgQHZpdGVqcy9wbHVnaW4tcmVhY3QgaGFuZGxlIHRoZW1cbiAgICAgIC8vIHdpdGggRmFzdCBSZWZyZXNoIChwcmVzZXJ2ZXMgY29tcG9uZW50LWxldmVsIHN0YXRlKS5cbiAgICAgIGNvbnN0IGlzQ2xpZW50RmlsZSA9IGlzU291cmNlRmlsZSAmJiAoKCkgPT4ge1xuICAgICAgICB0cnkge1xuICAgICAgICAgIGNvbnN0IGhlYWQgPSByZWFkRmlsZVN5bmMoZmlsZSwgJ3V0Zi04Jykuc2xpY2UoMCwgMjAwKTtcbiAgICAgICAgICByZXR1cm4gL15cXHMqW1wiJ111c2UgY2xpZW50W1wiJ10vLnRlc3QoaGVhZC5zcGxpdCgnXFxuJylbMF0pO1xuICAgICAgICB9IGNhdGNoIHsgcmV0dXJuIGZhbHNlOyB9XG4gICAgICB9KSgpO1xuICAgICAgXG4gICAgICBpZiAoaXNTb3VyY2VGaWxlICYmICFpc0NsaWVudEZpbGUpIHtcbiAgICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRmlsZSBjaGFuZ2VkIChSU0MgcmVmZXRjaCk6ICR7bm9ybWFsaXplZEZpbGV9YCk7XG4gICAgICAgIFxuICAgICAgICAvLyBTZW5kIGN1c3RvbSBITVIgZXZlbnQgc28gY2xpZW50IGNhbiByZWZldGNoIFJTQyBzdHJlYW1cbiAgICAgICAgc2VydmVyLndzLnNlbmQoe1xuICAgICAgICAgIHR5cGU6ICdjdXN0b20nLFxuICAgICAgICAgIGV2ZW50OiAndml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyOnNlcnZlci1jb21wb25lbnQtdXBkYXRlJyxcbiAgICAgICAgICBkYXRhOiB7XG4gICAgICAgICAgICBmaWxlOiBub3JtYWxpemVkRmlsZSxcbiAgICAgICAgICAgIHBhdGg6IGZpbGUsXG4gICAgICAgICAgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICAvLyBJbnZhbGlkYXRlIHRoZSBzZXJ2ZXIgbW9kdWxlIHNvIG5leHQgcmVxdWVzdCBnZXRzIGZyZXNoIGNvbnRlbnRcbiAgICAgICAgY29uc3QgbW9kID0gc2VydmVyLmVudmlyb25tZW50c1snc2VydmVyJ10/Lm1vZHVsZUdyYXBoPy5nZXRNb2R1bGVzQnlGaWxlKGZpbGUpO1xuICAgICAgICBpZiAobW9kKSB7XG4gICAgICAgICAgZm9yIChjb25zdCBtIG9mIG1vZCkge1xuICAgICAgICAgICAgc2VydmVyLmVudmlyb25tZW50c1snc2VydmVyJ10/Lm1vZHVsZUdyYXBoPy5pbnZhbGlkYXRlTW9kdWxlKG0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgICBcbiAgICAgICAgLy8gUmV0dXJuIGVtcHR5IGFycmF5IHRvIHByZXZlbnQgVml0ZSdzIGRlZmF1bHQgZnVsbC1wYWdlIHJlbG9hZFxuICAgICAgICAvLyBUaGUgY2xpZW50IHdpbGwgcmVmZXRjaCB0aGUgUlNDIHN0cmVhbSB2aWEgdGhlIGN1c3RvbSBldmVudFxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgICBcbiAgICAgIGlmIChpc0NsaWVudEZpbGUpIHtcbiAgICAgICAgLy8gQ2xpZW50IGNvbXBvbmVudHMgYXJlIGhhbmRsZWQgYnkgQHZpdGVqcy9wbHVnaW4tcmVhY3QgKEZhc3QgUmVmcmVzaClcbiAgICAgICAgLy8gb3IgVml0ZSdzIGNsaWVudC1zaWRlIEhNUi4gUmV0dXJuIGVtcHR5IHRvIHByZXZlbnQgdGhlIHNlcnZlclxuICAgICAgICAvLyBlbnZpcm9ubWVudCBmcm9tIHRyaWdnZXJpbmcgYSBmdWxsIHBhZ2UgcmVsb2FkLlxuICAgICAgICByZXR1cm4gW107XG4gICAgICB9XG4gICAgfSxcbiAgfTtcblxuICBjb25zdCBzZXJ2ZXJQbHVnaW4gPSB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6ZGV2LXNlcnZlci1zZXJ2ZXJcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuYXBwbHlUb0Vudmlyb25tZW50KHBhcnRpYWxFbnZpcm9ubWVudDogYW55KSB7XG4gICAgICByZXR1cm4gcGFydGlhbEVudmlyb25tZW50Py5jb25zdW1lciA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICBjb25maWd1cmVTZXJ2ZXIoc2VydmVyOiBWaXRlRGV2U2VydmVyKSB7XG4gICAgICAvLyBMb2cgdGhhdCBwbHVnaW4gaXMgYmVpbmcgY29uZmlndXJlZFxuICAgICAgc2VydmVyLmNvbmZpZy5sb2dnZXIuaW5mbyhgW3ZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcl0gRGV2IHNlcnZlciBwbHVnaW4gY29uZmlndXJlZCBmb3Igc2VydmVyIGVudmlyb25tZW50IChyZWFjdC1zZXJ2ZXIgY29uZGl0aW9uKWApO1xuICAgICAgXG4gICAgICAvLyBDb25maWd1cmUgdGhlIFJlYWN0IHNlcnZlciBmb3Igc2VydmVyIGVudmlyb25tZW50IChkaXJlY3QgUlNDIHByb2Nlc3NpbmcpXG4gICAgICAvLyBUaGlzIHVzZXMgdGhlIGV4aXN0aW5nIGNvbmZpZ3VyZVJlYWN0U2VydmVyLnNlcnZlci5qcyBpbXBsZW1lbnRhdGlvblxuICAgICAgY29uZmlndXJlUmVhY3RTZXJ2ZXIoe1xuICAgICAgICBzZXJ2ZXIsXG4gICAgICAgIGF1dG9EaXNjb3ZlcmVkRmlsZXM6IHtcbiAgICAgICAgICBwcm9wc01hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHBhZ2VNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICByb290TWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgaHRtbE1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvdXRlTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgdXJsTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgZXJyb3JzOiBbXSxcbiAgICAgICAgICB3b3JrZXJQYXRoczoge30sXG4gICAgICAgICAgc2VydmVyRW50cnk6IG51bGwsXG4gICAgICAgICAgY2xpZW50RW50cnk6IHt9LFxuICAgICAgICAgIGNsaWVudElucHV0czoge30sXG4gICAgICAgICAgc3RhdGljSW5wdXRzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJJbnB1dHM6IHt9LFxuICAgICAgICAgIC8vIHN0YXRpY01hbmlmZXN0IHJlbW92ZWQgZnJvbSBBdXRvRGlzY292ZXJlZEZpbGVzXG4gICAgICAgICAgc2VydmVyQWN0aW9uczoge30sXG4gICAgICAgIH0sXG4gICAgICAgIHVzZXJPcHRpb25zLFxuICAgICAgICBzZXJ2ZXJNYW5pZmVzdDoge30sXG4gICAgICAgIHJlc29sdmVkQ29uZmlnOiBzZXJ2ZXIuY29uZmlnLFxuICAgICAgfSk7XG4gICAgfSxcbiAgfTtcblxuICAvLyBGaXggQ0pTIG5hbWVkIGltcG9ydHMgaW4gc2VydmVyIGVudmlyb25tZW50LlxuICAvLyBWaXRlJ3MgZXNidWlsZCBKU1ggdHJhbnNmb3JtIChhbmQgQHZpdGVqcy9wbHVnaW4tcmVhY3QgaWYgcHJlc2VudCkgZ2VuZXJhdGVzXG4gIC8vIG5hbWVkIGltcG9ydHMgbGlrZSBgaW1wb3J0IHsgdXNlRWZmZWN0IH0gZnJvbSBcInJlYWN0XCJgLiBJbiB0aGUgc2VydmVyIGVudmlyb25tZW50LFxuICAvLyByZWFjdCdzIHJlYWN0LXNlcnZlciBleHBvcnQgaXMgQ0pTLW9ubHksIGFuZCBOb2RlJ3MgRVNNIGludGVyb3AgZG9lc24ndCBzdXBwb3J0XG4gIC8vIG5hbWVkIGV4cG9ydHMgZnJvbSBDSlMuIFRoaXMgcG9zdC10cmFuc2Zvcm0gcmV3cml0ZXMgdGhlbS5cbiAgY29uc3QgY2pzRml4UGx1Z2luOiBQbHVnaW4gPSB7XG4gICAgbmFtZTogXCJ2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6c2VydmVyLWNqcy1maXhcIixcbiAgICBhcHBseTogXCJzZXJ2ZVwiIGFzIGNvbnN0LFxuICAgIGVuZm9yY2U6IFwicG9zdFwiIGFzIGNvbnN0LFxuICAgIGFwcGx5VG9FbnZpcm9ubWVudChlbnY6IGFueSkge1xuICAgICAgcmV0dXJuIGVudj8ubmFtZSA9PT0gJ3NlcnZlcic7XG4gICAgfSxcbiAgICB0cmFuc2Zvcm0oY29kZTogc3RyaW5nLCBpZDogc3RyaW5nKSB7XG4gICAgICBpZiAoaWQuaW5jbHVkZXMoJ25vZGVfbW9kdWxlcycpKSByZXR1cm47XG4gICAgICBpZiAoIWlkLm1hdGNoKC9cXC5banRdc3g/JC8pKSByZXR1cm47XG4gICAgICBcbiAgICAgIGNvbnN0IG5hbWVkSW1wb3J0UmUgPSAvaW1wb3J0XFxzKlxceyhbXn1dKylcXH1cXHMqZnJvbVxccypbXCInXXJlYWN0W1wiJ11cXHMqOz8vZztcbiAgICAgIGlmICghbmFtZWRJbXBvcnRSZS50ZXN0KGNvZGUpKSByZXR1cm47XG4gICAgICBcbiAgICAgIG5hbWVkSW1wb3J0UmUubGFzdEluZGV4ID0gMDtcbiAgICAgIGxldCBjb3VudGVyID0gMDtcbiAgICAgIGNvbnN0IHJlc3VsdCA9IGNvZGUucmVwbGFjZShuYW1lZEltcG9ydFJlLCAoX21hdGNoLCBpbXBvcnRzKSA9PiB7XG4gICAgICAgIGNvbnN0IGFsaWFzID0gYF9fcmVhY3RfY2pzXyR7Y291bnRlcisrfWA7XG4gICAgICAgIHJldHVybiBgaW1wb3J0ICR7YWxpYXN9IGZyb20gXCJyZWFjdFwiOyBjb25zdCB7JHtpbXBvcnRzfX0gPSAke2FsaWFzfTtgO1xuICAgICAgfSk7XG4gICAgICBcbiAgICAgIHJldHVybiB7IGNvZGU6IHJlc3VsdCwgbWFwOiBudWxsIH07XG4gICAgfSxcbiAgfTtcblxuICByZXR1cm4gW2htclBsdWdpbiwgY2pzRml4UGx1Z2luLCBzZXJ2ZXJQbHVnaW5dO1xufTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7QUFVYSxNQUFBLHdCQUFBLEdBQTJCLFNBQVMsK0JBQUEsQ0FBZ0MsT0FBd0MsRUFBQTtBQUN2SCxFQUFBLElBQUksV0FBVyxJQUFNLEVBQUE7QUFDbkIsSUFBTSxNQUFBLElBQUksTUFBTSxxQkFBcUIsQ0FBQTtBQUFBO0FBR3ZDLEVBQU0sTUFBQSxlQUFBLEdBQWtCLGVBQWUsT0FBTyxDQUFBO0FBQzlDLEVBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsT0FBUyxFQUFBO0FBQ3BDLElBQUksSUFBQSxlQUFBLENBQWdCLFNBQVMsSUFBTSxFQUFBO0FBQ2pDLE1BQUEsTUFBTSxlQUFnQixDQUFBLEtBQUE7QUFBQTtBQUV4QixJQUFNLE1BQUEsSUFBSSxNQUFNLDJCQUEyQixDQUFBO0FBQUE7QUFFN0MsRUFBQSxNQUFNLGNBQWMsZUFBZ0IsQ0FBQSxXQUFBO0FBR3BDLEVBQUEsTUFBTSxTQUFZLEdBQUE7QUFBQSxJQUNoQixJQUFNLEVBQUEscUNBQUE7QUFBQSxJQUNOLEtBQU8sRUFBQSxPQUFBO0FBQUE7QUFBQTtBQUFBO0FBQUEsSUFJUCxVQUFVLEdBQVUsRUFBQTtBQUNsQixNQUFNLE1BQUEsRUFBRSxJQUFNLEVBQUEsTUFBQSxFQUFXLEdBQUEsR0FBQTtBQUN6QixNQUFNLE1BQUEs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
|
|
124
|
+
//# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGx1Z2luLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL2Rldi1zZXJ2ZXIvcGx1Z2luLnNlcnZlci50cyJdLCJzb3VyY2VzQ29udGVudCI6WyJpbXBvcnQgdHlwZSB7IFN0cmVhbVBsdWdpbk9wdGlvbnMgfSBmcm9tIFwiLi4vLi4vdHlwZXMuanNcIjtcbmltcG9ydCB7IGNvbmZpZ3VyZVJlYWN0U2VydmVyIH0gZnJvbSBcIi4vY29uZmlndXJlUmVhY3RTZXJ2ZXIuc2VydmVyLmpzXCI7XG5pbXBvcnQgeyByZXNvbHZlT3B0aW9ucyB9IGZyb20gXCIuLi9jb25maWcvcmVzb2x2ZU9wdGlvbnMuanNcIjtcbmltcG9ydCB0eXBlIHsgUGx1Z2luLCBWaXRlRGV2U2VydmVyIH0gZnJvbSBcInZpdGVcIjtcbmltcG9ydCB7IHJlYWRGaWxlU3luYyB9IGZyb20gXCJub2RlOmZzXCI7XG5cbi8qKlxuICogRGV2IHNlcnZlciBwbHVnaW4gZm9yIHNlcnZlciBlbnZpcm9ubWVudC5cbiAqIFJldHVybnMgdHdvIHBsdWdpbnM6IG9uZSBmb3IgSE1SIGhhbmRsaW5nIChhbGwgZW52aXJvbm1lbnRzKSBhbmQgb25lIGZvciBzZXJ2ZXIgY29uZmlnLlxuICovXG5leHBvcnQgY29uc3Qgdml0ZVBsdWdpblJlYWN0RGV2U2VydmVyID0gZnVuY3Rpb24gX3ZpdGVQbHVnaW5SZWFjdFNlcnZlckRldlNlcnZlcihvcHRpb25zOiBTdHJlYW1QbHVnaW5PcHRpb25zKTogUGx1Z2luW10ge1xuICBpZiAob3B0aW9ucyA9PSBudWxsKSB7XG4gICAgdGhyb3cgbmV3IEVycm9yKFwib3B0aW9ucyBpcyByZXF1aXJlZFwiKTtcbiAgfVxuXG4gIGNvbnN0IHJlc29sdmVkT3B0aW9ucyA9IHJlc29sdmVPcHRpb25zKG9wdGlvbnMpO1xuICBpZiAocmVzb2x2ZWRPcHRpb25zLnR5cGUgPT09IFwiZXJyb3JcIikge1xuICAgIGlmIChyZXNvbHZlZE9wdGlvbnMuZXJyb3IgIT0gbnVsbCkge1xuICAgICAgdGhyb3cgcmVzb2x2ZWRPcHRpb25zLmVycm9yO1xuICAgIH1cbiAgICB0aHJvdyBuZXcgRXJyb3IoXCJGYWlsZWQgdG8gcmVzb2x2ZSBvcHRpb25zXCIpO1xuICB9XG4gIGNvbnN0IHVzZXJPcHRpb25zID0gcmVzb2x2ZWRPcHRpb25zLnVzZXJPcHRpb25zO1xuXG4gIC8vIFNlcGFyYXRlIHBsdWdpbiBmb3IgSE1SIGhhbmRsaW5nIChtdXN0IGFwcGx5IHRvIGFsbCBlbnZpcm9ubWVudHMpXG4gIGNvbnN0IGhtclBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpzZXJ2ZXItaG1yXCIsXG4gICAgYXBwbHk6IFwic2VydmVcIiBhcyBjb25zdCxcbiAgICAvLyBTZXJ2ZXItbGV2ZWwgaGFuZGxlSG90VXBkYXRlIOKAlCBzZW5kcyBjdXN0b20gV1MgZXZlbnQgdG8gY2xpZW50XG4gICAgLy8gVml0ZSA2IEVudmlyb25tZW50IEFQSTogaG90VXBkYXRlIHJ1bnMgcGVyLWVudmlyb25tZW50LlxuICAgIC8vIFByZXZlbnQgc2VydmVyL3NzciBlbnZpcm9ubWVudHMgZnJvbSB0cmlnZ2VyaW5nIHBhZ2UgcmVsb2FkIGZvciBjbGllbnQgY29tcG9uZW50cy5cbiAgICBob3RVcGRhdGUoY3R4OiBhbnkpIHtcbiAgICAgIGNvbnN0IHsgZmlsZSwgc2VydmVyIH0gPSBjdHg7XG4gICAgICBjb25zdCBlbnZOYW1lID0gY3R4LmVudmlyb25tZW50Py5uYW1lID8/ICd1bmtub3duJztcbiAgICAgIFxuICAgICAgY29uc3QgbW9kdWxlQmFzZSA9IHVzZXJPcHRpb25zLm1vZHVsZUJhc2UgfHwgXCJzcmNcIjtcbiAgICAgIGNvbnN0IHByb2plY3RSb290ID0gdXNlck9wdGlvbnMucHJvamVjdFJvb3QgfHwgc2VydmVyPy5jb25maWc/LnJvb3QgfHwgJyc7XG4gICAgICBjb25zdCBub3JtYWxpemVkRmlsZSA9IGZpbGUucmVwbGFjZShwcm9qZWN0Um9vdCwgJycpLnJlcGxhY2UoL15cXC8rLywgJycpO1xuICAgICAgY29uc3QgaXNTb3VyY2VGaWxlID0gbm9ybWFsaXplZEZpbGUuc3RhcnRzV2l0aChtb2R1bGVCYXNlICsgJy8nKTtcbiAgICAgIFxuICAgICAgaWYgKCFpc1NvdXJjZUZpbGUpIHJldHVybjtcbiAgICAgIFxuICAgICAgLy8gQ2xpZW50IGVudmlyb25tZW50OiBsZXQgVml0ZS9Adml0ZWpzL3BsdWdpbi1yZWFjdCBoYW5kbGUgaXRcbiAgICAgIGlmIChlbnZOYW1lID09PSAnY2xpZW50Jykge1xuICAgICAgICAvLyBDaGVjayBpZiBpdCdzIGEgY2xpZW50IGNvbXBvbmVudCDigJQgbGV0IEZhc3QgUmVmcmVzaCBoYW5kbGUgaXRcbiAgICAgICAgY29uc3QgaXNDbGllbnQgPSAoZmlsZS5lbmRzV2l0aCgnLnRzeCcpIHx8IGZpbGUuZW5kc1dpdGgoJy50cycpIHx8IGZpbGUuZW5kc1dpdGgoJy5qc3gnKSB8fCBmaWxlLmVuZHNXaXRoKCcuanMnKSkgJiYgKCgpID0+IHtcbiAgICAgICAgICAvLyBDaGVjayBmaWxlbmFtZSBwYXR0ZXJuICguY2xpZW50LnRzeCwgLmNsaWVudC50cywgZXRjLikg4oCUIG1hdGNoZXMgaXNDbGllbnRDb21wb25lbnRCeU5hbWVcbiAgICAgICAgICBpZiAoL1xcLmNsaWVudFxcLihqc3x0c3xqc3h8dHN4KSQvLnRlc3QoZmlsZSkpIHJldHVybiB0cnVlO1xuICAgICAgICAgIHRyeSB7XG4gICAgICAgICAgICBjb25zdCBoZWFkID0gcmVhZEZpbGVTeW5jKGZpbGUsICd1dGYtOCcpLnNsaWNlKDAsIDIwMCk7XG4gICAgICAgICAgICByZXR1cm4gL15cXHMqW1wiJ111c2UgY2xpZW50W1wiJ10vLnRlc3QoaGVhZC5zcGxpdCgnXFxuJylbMF0pO1xuICAgICAgICAgIH0gY2F0Y2ggeyByZXR1cm4gZmFsc2U7IH1cbiAgICAgICAgfSkoKTtcbiAgICAgICAgXG4gICAgICAgIGlmIChpc0NsaWVudCkgcmV0dXJuOyAvLyBMZXQgRmFzdCBSZWZyZXNoIGhhbmRsZSBjbGllbnQgY29tcG9uZW50c1xuICAgICAgICBcbiAgICAgICAgLy8gU2VydmVyIGNvbXBvbmVudCBjaGFuZ2VkIOKAlCBzZW5kIFJTQyByZWZldGNoIGV2ZW50IHRvIGNsaWVudFxuICAgICAgICAvLyBPbmx5IGRvIHRoaXMgb25jZSAoZnJvbSBjbGllbnQgZW52KSB0byBhdm9pZCBkdXBsaWNhdGUgZXZlbnRzXG4gICAgICAgIHNlcnZlci5jb25maWcubG9nZ2VyLmluZm8oYFt2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXJdIEZpbGUgY2hhbmdlZCAoUlNDIHJlZmV0Y2gpOiAke25vcm1hbGl6ZWRGaWxlfWApO1xuICAgICAgICBzZXJ2ZXIud3Muc2VuZCh7XG4gICAgICAgICAgdHlwZTogJ2N1c3RvbScsXG4gICAgICAgICAgZXZlbnQ6ICd2aXRlLXBsdWdpbi1yZWFjdC1zZXJ2ZXI6c2VydmVyLWNvbXBvbmVudC11cGRhdGUnLFxuICAgICAgICAgIGRhdGE6IHsgZmlsZTogbm9ybWFsaXplZEZpbGUsIHBhdGg6IGZpbGUgfSxcbiAgICAgICAgfSk7XG4gICAgICAgIFxuICAgICAgICByZXR1cm4gW107IC8vIERvbid0IHRyaWdnZXIgY2xpZW50LXNpZGUgcGFnZSByZWxvYWRcbiAgICAgIH1cbiAgICAgIFxuICAgICAgLy8gU2VydmVyL1NTUiBlbnZpcm9ubWVudHM6IHN1cHByZXNzIHBhZ2UgcmVsb2FkIGZvciBhbGwgc291cmNlIGZpbGVzXG4gICAgICAvLyBTZXJ2ZXIgY29tcG9uZW50cyBhcmUgaGFuZGxlZCBieSB0aGUgUlNDIHJlZmV0Y2ggZXZlbnQgc2VudCBhYm92ZVxuICAgICAgLy8gSW52YWxpZGF0ZSB0aGUgc2VydmVyIG1vZHVsZSBzbyBuZXh0IFJTQyByZXF1ZXN0IGdldHMgZnJlc2ggY29udGVudFxuICAgICAgaWYgKGVudk5hbWUgPT09ICdzZXJ2ZXInKSB7XG4gICAgICAgIGNvbnN0IG1vZCA9IGN0eC5lbnZpcm9ubWVudD8ubW9kdWxlR3JhcGg/LmdldE1vZHVsZXNCeUZpbGUoZmlsZSk7XG4gICAgICAgIGlmIChtb2QpIHtcbiAgICAgICAgICBmb3IgKGNvbnN0IG0gb2YgbW9kKSB7XG4gICAgICAgICAgICBjdHguZW52aXJvbm1lbnQubW9kdWxlR3JhcGguaW52YWxpZGF0ZU1vZHVsZShtKTtcbiAgICAgICAgICB9XG4gICAgICAgIH1cbiAgICAgIH1cbiAgICAgIHJldHVybiBbXTtcbiAgICB9LFxuICB9O1xuXG4gIGNvbnN0IHNlcnZlclBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpkZXYtc2VydmVyLXNlcnZlclwiLFxuICAgIGFwcGx5OiBcInNlcnZlXCIgYXMgY29uc3QsXG5hcHBseVRvRW52aXJvbm1lbnQocGFydGlhbEVudmlyb25tZW50OiBhbnkpIHtcbiAgICAgIHJldHVybiBwYXJ0aWFsRW52aXJvbm1lbnQ/LmNvbnN1bWVyID09PSAnc2VydmVyJztcbiAgICB9LFxuICAgIGNvbmZpZ3VyZVNlcnZlcihzZXJ2ZXI6IFZpdGVEZXZTZXJ2ZXIpIHtcbiAgICAgIC8vIExvZyB0aGF0IHBsdWdpbiBpcyBiZWluZyBjb25maWd1cmVkXG4gICAgICBzZXJ2ZXIuY29uZmlnLmxvZ2dlci5pbmZvKGBbdml0ZS1wbHVnaW4tcmVhY3Qtc2VydmVyXSBEZXYgc2VydmVyIHBsdWdpbiBjb25maWd1cmVkIGZvciBzZXJ2ZXIgZW52aXJvbm1lbnQgKHJlYWN0LXNlcnZlciBjb25kaXRpb24pYCk7XG4gICAgICBcbiAgICAgIC8vIENvbmZpZ3VyZSB0aGUgUmVhY3Qgc2VydmVyIGZvciBzZXJ2ZXIgZW52aXJvbm1lbnQgKGRpcmVjdCBSU0MgcHJvY2Vzc2luZylcbiAgICAgIC8vIFRoaXMgdXNlcyB0aGUgZXhpc3RpbmcgY29uZmlndXJlUmVhY3RTZXJ2ZXIuc2VydmVyLmpzIGltcGxlbWVudGF0aW9uXG4gICAgICBjb25maWd1cmVSZWFjdFNlcnZlcih7XG4gICAgICAgIHNlcnZlcixcbiAgICAgICAgYXV0b0Rpc2NvdmVyZWRGaWxlczoge1xuICAgICAgICAgIHByb3BzTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcGFnZU1hcDogbmV3IE1hcCgpLFxuICAgICAgICAgIHJvb3RNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBodG1sTWFwOiBuZXcgTWFwKCksXG4gICAgICAgICAgcm91dGVNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICB1cmxNYXA6IG5ldyBNYXAoKSxcbiAgICAgICAgICBlcnJvcnM6IFtdLFxuICAgICAgICAgIHdvcmtlclBhdGhzOiB7fSxcbiAgICAgICAgICBzZXJ2ZXJFbnRyeTogbnVsbCxcbiAgICAgICAgICBjbGllbnRFbnRyeToge30sXG4gICAgICAgICAgY2xpZW50SW5wdXRzOiB7fSxcbiAgICAgICAgICBzdGF0aWNJbnB1dHM6IHt9LFxuICAgICAgICAgIHNlcnZlcklucHV0czoge30sXG4gICAgICAgICAgLy8gc3RhdGljTWFuaWZlc3QgcmVtb3ZlZCBmcm9tIEF1dG9EaXNjb3ZlcmVkRmlsZXNcbiAgICAgICAgICBzZXJ2ZXJBY3Rpb25zOiB7fSxcbiAgICAgICAgfSxcbiAgICAgICAgdXNlck9wdGlvbnMsXG4gICAgICAgIHNlcnZlck1hbmlmZXN0OiB7fSxcbiAgICAgICAgcmVzb2x2ZWRDb25maWc6IHNlcnZlci5jb25maWcsXG4gICAgICB9KTtcbiAgICB9LFxuICB9O1xuXG4gIC8vIEZpeCBDSlMgbmFtZWQgaW1wb3J0cyBpbiBzZXJ2ZXIgZW52aXJvbm1lbnQuXG4gIC8vIFZpdGUncyBlc2J1aWxkIEpTWCB0cmFuc2Zvcm0gKGFuZCBAdml0ZWpzL3BsdWdpbi1yZWFjdCBpZiBwcmVzZW50KSBnZW5lcmF0ZXNcbiAgLy8gbmFtZWQgaW1wb3J0cyBsaWtlIGBpbXBvcnQgeyB1c2VFZmZlY3QgfSBmcm9tIFwicmVhY3RcImAuIEluIHRoZSBzZXJ2ZXIgZW52aXJvbm1lbnQsXG4gIC8vIHJlYWN0J3MgcmVhY3Qtc2VydmVyIGV4cG9ydCBpcyBDSlMtb25seSwgYW5kIE5vZGUncyBFU00gaW50ZXJvcCBkb2Vzbid0IHN1cHBvcnRcbiAgLy8gbmFtZWQgZXhwb3J0cyBmcm9tIENKUy4gVGhpcyBwb3N0LXRyYW5zZm9ybSByZXdyaXRlcyB0aGVtLlxuICBjb25zdCBjanNGaXhQbHVnaW46IFBsdWdpbiA9IHtcbiAgICBuYW1lOiBcInZpdGUtcGx1Z2luLXJlYWN0LXNlcnZlcjpzZXJ2ZXItY2pzLWZpeFwiLFxuICAgIGFwcGx5OiBcInNlcnZlXCIgYXMgY29uc3QsXG4gICAgZW5mb3JjZTogXCJwb3N0XCIgYXMgY29uc3QsXG4gICAgYXBwbHlUb0Vudmlyb25tZW50KGVudjogYW55KSB7XG4gICAgICByZXR1cm4gZW52Py5uYW1lID09PSAnc2VydmVyJztcbiAgICB9LFxuICAgIHRyYW5zZm9ybShjb2RlOiBzdHJpbmcsIGlkOiBzdHJpbmcpIHtcbiAgICAgIGlmIChpZC5pbmNsdWRlcygnbm9kZV9tb2R1bGVzJykpIHJldHVybjtcbiAgICAgIGlmICghaWQubWF0Y2goL1xcLltqdF1zeD8kLykpIHJldHVybjtcbiAgICAgIFxuICAgICAgY29uc3QgbmFtZWRJbXBvcnRSZSA9IC9pbXBvcnRcXHMqXFx7KFtefV0rKVxcfVxccypmcm9tXFxzKltcIiddcmVhY3RbXCInXVxccyo7Py9nO1xuICAgICAgaWYgKCFuYW1lZEltcG9ydFJlLnRlc3QoY29kZSkpIHJldHVybjtcbiAgICAgIFxuICAgICAgbmFtZWRJbXBvcnRSZS5sYXN0SW5kZXggPSAwO1xuICAgICAgbGV0IGNvdW50ZXIgPSAwO1xuICAgICAgY29uc3QgcmVzdWx0ID0gY29kZS5yZXBsYWNlKG5hbWVkSW1wb3J0UmUsIChfbWF0Y2gsIGltcG9ydHMpID0+IHtcbiAgICAgICAgY29uc3QgYWxpYXMgPSBgX19yZWFjdF9janNfJHtjb3VudGVyKyt9YDtcbiAgICAgICAgcmV0dXJuIGBpbXBvcnQgJHthbGlhc30gZnJvbSBcInJlYWN0XCI7IGNvbnN0IHske2ltcG9ydHN9fSA9ICR7YWxpYXN9O2A7XG4gICAgICB9KTtcbiAgICAgIFxuICAgICAgcmV0dXJuIHsgY29kZTogcmVzdWx0LCBtYXA6IG51bGwgfTtcbiAgICB9LFxuICB9O1xuXG4gIHJldHVybiBbaG1yUGx1Z2luLCBjanNGaXhQbHVnaW4sIHNlcnZlclBsdWdpbl07XG59O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7OztBQVVhLE1BQUEsd0JBQUEsR0FBMkIsU0FBUywrQkFBQSxDQUFnQyxPQUF3QyxFQUFBO0FBQ3ZILEVBQUEsSUFBSSxXQUFXLElBQU0sRUFBQTtBQUNuQixJQUFNLE1BQUEsSUFBSSxNQUFNLHFCQUFxQixDQUFBO0FBQUE7QUFHdkMsRUFBTSxNQUFBLGVBQUEsR0FBa0IsZUFBZSxPQUFPLENBQUE7QUFDOUMsRUFBSSxJQUFBLGVBQUEsQ0FBZ0IsU0FBUyxPQUFTLEVBQUE7QUFDcEMsSUFBSSxJQUFBLGVBQUEsQ0FBZ0IsU0FBUyxJQUFNLEVBQUE7QUFDakMsTUFBQSxNQUFNLGVBQWdCLENBQUEsS0FBQTtBQUFBO0FBRXhCLElBQU0sTUFBQSxJQUFJLE1BQU0sMkJBQTJCLENBQUE7QUFBQTtBQUU3QyxFQUFBLE1BQU0sY0FBYyxlQUFnQixDQUFBLFdBQUE7QUFHcEMsRUFBQSxNQUFNLFNBQVksR0FBQTtBQUFBLElBQ2hCLElBQU0sRUFBQSxxQ0FBQTtBQUFBLElBQ04sS0FBTyxFQUFBLE9BQUE7QUFBQTtBQUFBO0FBQUE7QUFBQSxJQUlQLFVBQVUsR0FBVSxFQUFBO0FBQ2xCLE1BQU0sTUFBQSxFQUFFLElBQU0sRUFBQSxNQUFBLEVBQVcsR0FBQSxHQUFBO0FBQ3pCLE1BQU0sTUFBQSxPQUFBLEdBQVUsR0FBSSxDQUFBLFdBQUEsRUFBYSxJQUFRLElBQUEsU0FBQTtBQUV6QyxNQUFNLE1BQUEsVUFBQSxHQUFhLFlBQVksVUFBYyxJQUFBLEtBQUE7QUFDN0MsTUFBQSxNQUFNLFdBQWMsR0FBQSxXQUFBLENBQVksV0FBZSxJQUFBLE1BQUEsRUFBUSxRQUFRLElBQVEsSUFBQSxFQUFBO0FBQ3ZFLE1BQU0sTUFB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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+IHtcbiAgICAgICAgICAgICAgY29uc3QgZXZlbnRQYW5pY0Vycm9yID0gaGFuZGxlRXJyb3Ioe1xuICAgICAgICAgICAgICAgIGVycm9yLFxuICAgICAgICAgICAgICAgIHBhbmljVGhyZXNob2xkOiB1c2VyT3B0aW9ucy5wYW5pY1RocmVzaG9sZCxcbiAgICAgICAgICAgICAgICBjb250ZXh0OiBgb25FdmVudCgke2V2ZW50VHlwZX0pYCxcbiAgICAgICAgICAgICAgfSk7XG4gICAgICAgICAgICAgIGlmIChldmVudFBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgICAgICAgICAgICAgIHRocm93IGV2ZW50UGFuaWNFcnJvcjsgLy8gUmUtdGhyb3cgdG8gYWJvcnQgdGhlIGJ1aWxkXG4gICAgICAgICAgICAgIH1cbiAgICAgICAgICAgIH0pO1xuICAgICAgICAgIH1cbiAgICAgICAgfSBjYXRjaCAoZXJyb3IpIHtcbiAgICAgICAgICBjb25zdCBldmVudFBhbmljRXJyb3IgPSBoYW5kbGVFcnJvcih7XG4gICAgICAgICAgICBlcnJvcixcbiAgICAgICAgICAgIHBhbmljVGhyZXNob2xkOiB1c2VyT3B0aW9ucy5wYW5pY1RocmVzaG9sZCxcbiAgICAgICAgICAgIGNvbnRleHQ6IGBvbkV2ZW50KCR7ZXZlbnRUeXBlfSlgLFxuICAgICAgICAgIH0pO1xuICAgICAgICAgIGlmIChldmVudFBhbmljRXJyb3IgIT0gbnVsbCkge1xuICAgICAgICAgICAgdGhpcy5lcnJvcihldmVudFBhbmljRXJyb3IpOyAvLyBMb2cgdGhlIGVycm9yXG4gICAgICAgICAgICB0aHJvdyBldmVudFBhbmljRXJyb3I7IC8vIFJlLXRocm93IHRvIGFib3J0IHRoZSBidWlsZFxuICAgICAgICAgIH0gZWxzZSB7XG4gICAgICAgICAgICB0aGlzLndhcm4oZXJyb3IgYXMgYW55KTtcbiAgICAgICAgICAgIC8vIEZvciBub24tcGFuaWMgZXJyb3JzLCBkb24ndCB0aHJvdyAtIGp1c3Qgd2FyblxuICAgICAgICAgIH1cbiAgICAgICAgfVxuICAgICAgfVxuICAgIH0sXG4gIH07XG59XG4iXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7OztBQVdPLFNBQVMsdUJBQXVCLE9BQXNDLEVBQUE7QUFDM0UsRUFBTyxPQUFBO0FBQUEsSUFDTCxJQUFNLEVBQUEsdUNBQUE7QUFBQSxJQUNOLE9BQVMsRUFBQSxNQUFBO0FBQUEsSUFDVCxLQUFPLEVBQUEsT0FBQTtBQUFBLElBRVAsV0FBQSxDQUFZLGVBQWUsTUFBUSxFQUFBO0FBQ2pDLE1BQU0sTUFBQSxxQkFBQSxHQUF3QixlQUFlLE9BQU8sQ0FBQTtBQUNwRCxNQUFJLElBQUEscUJBQUEsQ0FBc0IsU0FBUyxPQUFTLEVBQUE7QUFFMUMsUUFBQTtBQUFBO0FBRUYsTUFBQSxNQUFNLGNBQWMscUJBQXNCLENBQUEsV0FBQTtB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
|