vite-plugin-react-server 1.2.5 → 1.3.0

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.
Files changed (45) hide show
  1. package/dist/package.json +8 -3
  2. package/dist/plugin/orchestrator/createPluginOrchestrator.client.d.ts.map +1 -1
  3. package/dist/plugin/orchestrator/createPluginOrchestrator.client.js +3 -0
  4. package/dist/plugin/orchestrator/createPluginOrchestrator.server.d.ts.map +1 -1
  5. package/dist/plugin/orchestrator/createPluginOrchestrator.server.js +3 -0
  6. package/dist/plugin/vendor/vendor-alias.d.ts +12 -0
  7. package/dist/plugin/vendor/vendor-alias.d.ts.map +1 -0
  8. package/dist/plugin/vendor/vendor-alias.js +87 -0
  9. package/dist/plugin/vendor/vendor.client.d.ts +1 -1
  10. package/dist/plugin/vendor/vendor.client.d.ts.map +1 -1
  11. package/dist/plugin/vendor/vendor.client.js +19 -6
  12. package/dist/plugin/vendor/vendor.server.d.ts.map +1 -1
  13. package/dist/plugin/vendor/vendor.server.js +18 -5
  14. package/dist/plugin/vendor/vendor.static.d.ts.map +1 -1
  15. package/dist/plugin/vendor/vendor.static.js +18 -5
  16. package/dist/tsconfig.tsbuildinfo +1 -1
  17. package/oss-experimental/react-server-dom-esm/LICENSE +21 -0
  18. package/oss-experimental/react-server-dom-esm/README.md +5 -0
  19. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.development.js +2996 -0
  20. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.browser.production.js +1612 -0
  21. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.development.js +3124 -0
  22. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-client.node.production.js +1752 -0
  23. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.development.js +4213 -0
  24. package/oss-experimental/react-server-dom-esm/cjs/react-server-dom-esm-server.node.production.js +2857 -0
  25. package/oss-experimental/react-server-dom-esm/client.browser.js +7 -0
  26. package/oss-experimental/react-server-dom-esm/client.js +3 -0
  27. package/oss-experimental/react-server-dom-esm/client.node.js +7 -0
  28. package/oss-experimental/react-server-dom-esm/esm/package.json +3 -0
  29. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.development.js +3969 -0
  30. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-client.browser.production.js +2347 -0
  31. package/oss-experimental/react-server-dom-esm/esm/react-server-dom-esm-node-loader.production.js +515 -0
  32. package/oss-experimental/react-server-dom-esm/index.js +12 -0
  33. package/oss-experimental/react-server-dom-esm/package.json +63 -0
  34. package/oss-experimental/react-server-dom-esm/server.js +6 -0
  35. package/oss-experimental/react-server-dom-esm/server.node.js +17 -0
  36. package/oss-experimental/react-server-dom-esm/static.js +6 -0
  37. package/oss-experimental/react-server-dom-esm/static.node.js +12 -0
  38. package/package.json +8 -3
  39. package/plugin/orchestrator/createPluginOrchestrator.client.ts +4 -0
  40. package/plugin/orchestrator/createPluginOrchestrator.server.ts +4 -0
  41. package/plugin/vendor/vendor-alias.ts +102 -0
  42. package/plugin/vendor/vendor.client.ts +24 -9
  43. package/plugin/vendor/vendor.server.ts +22 -7
  44. package/plugin/vendor/vendor.static.ts +21 -7
  45. package/scripts/build-oss-experimental.sh +161 -0
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "vite-plugin-react-server",
3
- "version": "1.2.5",
3
+ "version": "1.3.0",
4
4
  "description": "Vite plugin for React Server Components (RSC)",
5
5
  "type": "module",
6
6
  "main": "./dist/plugin/index.js",
@@ -14,7 +14,8 @@
14
14
  "virtual.d.ts",
15
15
  "README.md",
16
16
  "LICENSE",
17
- "tsconfig.json"
17
+ "tsconfig.json",
18
+ "oss-experimental/react-server-dom-esm"
18
19
  ],
19
20
  "exports": {
20
21
  ".": "./dist/plugin/index.js",
@@ -218,6 +219,8 @@
218
219
  "experimental:copy": "cp -r ./oss-experimental/* ./node_modules/",
219
220
  "experimental:patch": "npx patch-package react-server-dom-esm react react-dom --exclude 'nothing'",
220
221
  "experimental:move-patches": "mv patches/* ./scripts/",
222
+ "experimental:build-oss": "bash scripts/build-oss-experimental.sh",
223
+ "experimental:build-oss-full": "bash scripts/build-oss-experimental.sh --full",
221
224
  "experimental:setup": "rm -rf patches/* && npm run experimental:clean-install && npm run experimental:copy && npm run experimental:patch && npm run experimental:move-patches",
222
225
  "experimental:patch-react": "npm run experimental:clean-install && node scripts/check-react-version.mjs && node bin/patch.mjs",
223
226
  "postinstall": "patch-package",
@@ -248,7 +251,6 @@
248
251
  "peerDependencies": {
249
252
  "react": ">=0.0.0-experimental-0",
250
253
  "react-dom": ">=0.0.0-experimental-0",
251
- "react-server-dom-esm": "^0.0.1",
252
254
  "vite": "*"
253
255
  },
254
256
  "peerDependenciesMeta": {
@@ -260,6 +262,9 @@
260
262
  },
261
263
  "vite": {
262
264
  "optional": false
265
+ },
266
+ "react-server-dom-esm": {
267
+ "optional": true
263
268
  }
264
269
  },
265
270
  "devDependencies": {
@@ -1 +1 @@
1
- {"version":3,"file":"createPluginOrchestrator.client.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AASnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EAmCR,CAAC"}
1
+ {"version":3,"file":"createPluginOrchestrator.client.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.client.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EAsCR,CAAC"}
@@ -4,11 +4,14 @@ import { vitePluginReactDevServer } from "../dev-server/plugin.client.js";
4
4
  import { reactStaticPlugin } from "../react-static/plugin.client.js";
5
5
  import { createTransformerPlugin } from "../transformer/createTransformerPlugin.js";
6
6
  import { virtualRscHmrPlugin } from "../dev-server/virtualRscHmrPlugin.js";
7
+ import { vitePluginVendorAlias } from "../vendor/vendor-alias.js";
7
8
  // Client-first orchestrator - includes client SSG plugin for reverse paradigm
8
9
  export const createPluginOrchestrator = (userOptions) => {
9
10
  // Client-first logic - provide all environments for Environment API builds
10
11
  const availableEnvironments = ["client", "ssr", "server"];
11
12
  const plugins = [];
13
+ // Alias react-server-dom-esm to our vendored copy
14
+ plugins.push(vitePluginVendorAlias());
12
15
  // Virtual module for RSC HMR utilities (works in both dev and build)
13
16
  plugins.push(virtualRscHmrPlugin());
14
17
  // Add transformer first so it runs before other plugins
@@ -1 +1 @@
1
- {"version":3,"file":"createPluginOrchestrator.server.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AASnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EA2CR,CAAC"}
1
+ {"version":3,"file":"createPluginOrchestrator.server.d.ts","sourceRoot":"","sources":["../../../plugin/orchestrator/createPluginOrchestrator.server.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAUnC,eAAO,MAAM,wBAAwB,GACnC,aAAa,GAAG,KACf,MAAM,EA8CR,CAAC"}
@@ -4,6 +4,7 @@ import { vitePluginReactDevServer } from "../dev-server/plugin.server.js";
4
4
  import { reactStaticPlugin } from "../react-static/plugin.server.js";
5
5
  import { createTransformerPlugin } from "../transformer/createTransformerPlugin.js";
6
6
  import { virtualRscHmrPlugin } from "../dev-server/virtualRscHmrPlugin.js";
7
+ import { vitePluginVendorAlias } from "../vendor/vendor-alias.js";
7
8
  // Server-first orchestrator - only imports server plugins
8
9
  export const createPluginOrchestrator = (userOptions) => {
9
10
  // Server-first logic - provide all environments for Environment API builds
@@ -15,6 +16,8 @@ export const createPluginOrchestrator = (userOptions) => {
15
16
  ssrBuilds: true,
16
17
  };
17
18
  const plugins = [];
19
+ // Alias react-server-dom-esm to our vendored copy
20
+ plugins.push(vitePluginVendorAlias());
18
21
  // Virtual module for RSC HMR utilities (works in both dev and build)
19
22
  plugins.push(virtualRscHmrPlugin());
20
23
  // Add transformer first so it runs before other plugins
@@ -0,0 +1,12 @@
1
+ import type { Plugin } from "vite";
2
+ /**
3
+ * Vite plugin that aliases `react-server-dom-esm/*` imports to the vendored
4
+ * copy shipped with this plugin. This eliminates the need for consumers to
5
+ * install `react-server-dom-esm` separately or use patch-package.
6
+ *
7
+ * Browser client entries use true ESM files for Rollup tree-shaking.
8
+ * Server/static entries are marked external during builds — they're CJS
9
+ * modules loaded at runtime via createRequire in vendor.*.ts files.
10
+ */
11
+ export declare function vitePluginVendorAlias(): Plugin;
12
+ //# sourceMappingURL=vendor-alias.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vendor-alias.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor-alias.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,MAAM,CAAC;AAoBnC;;;;;;;;GAQG;AACH,wBAAgB,qBAAqB,IAAI,MAAM,CAqD9C"}
@@ -0,0 +1,87 @@
1
+ import { createRequire } from "node:module";
2
+ import { dirname, join } from "node:path";
3
+ import { fileURLToPath } from "node:url";
4
+ import { existsSync } from "node:fs";
5
+ // Find package root by walking up from current file until we find oss-experimental/
6
+ // Works from both plugin/vendor/ (source) and dist/plugin/vendor/ (built)
7
+ const __dirname = dirname(fileURLToPath(import.meta.url));
8
+ function findPkgRoot() {
9
+ let dir = __dirname;
10
+ for (let i = 0; i < 5; i++) {
11
+ if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm")))
12
+ return dir;
13
+ dir = dirname(dir);
14
+ }
15
+ return dirname(dirname(__dirname)); // fallback
16
+ }
17
+ const pkgRoot = findPkgRoot();
18
+ const ossDir = join(pkgRoot, "oss-experimental");
19
+ /**
20
+ * Vite plugin that aliases `react-server-dom-esm/*` imports to the vendored
21
+ * copy shipped with this plugin. This eliminates the need for consumers to
22
+ * install `react-server-dom-esm` separately or use patch-package.
23
+ *
24
+ * Browser client entries use true ESM files for Rollup tree-shaking.
25
+ * Server/static entries are marked external during builds — they're CJS
26
+ * modules loaded at runtime via createRequire in vendor.*.ts files.
27
+ */
28
+ export function vitePluginVendorAlias() {
29
+ let isBuild = false;
30
+ return {
31
+ name: "vite-plugin-react-server:vendor-alias",
32
+ enforce: "pre",
33
+ config(_config, env) {
34
+ const pkg = join(ossDir, "react-server-dom-esm");
35
+ const isProd = env.mode === "production";
36
+ // Only alias browser client to ESM for Rollup tree-shaking.
37
+ // Server/static are handled by resolveId with external:true.
38
+ return {
39
+ resolve: {
40
+ alias: [
41
+ {
42
+ find: "react-server-dom-esm/client.browser",
43
+ replacement: join(pkg, "esm", isProd
44
+ ? "react-server-dom-esm-client.browser.production.js"
45
+ : "react-server-dom-esm-client.browser.development.js")
46
+ },
47
+ ],
48
+ },
49
+ };
50
+ },
51
+ configResolved(config) {
52
+ isBuild = config.command === "build";
53
+ },
54
+ resolveId(source) {
55
+ // Only handle react-server-dom-esm specifiers (not already aliased paths)
56
+ if (!source.startsWith("react-server-dom-esm")) {
57
+ return;
58
+ }
59
+ // Skip client.browser — handled by config alias above
60
+ if (source === "react-server-dom-esm/client.browser") {
61
+ return;
62
+ }
63
+ // For server/static entries during build: mark external with resolved path.
64
+ // At runtime, vendor.*.ts uses createRequire to load from this path.
65
+ if (isBuild && isServerEntry(source)) {
66
+ const resolved = resolveVendored(source);
67
+ return { id: resolved, external: true };
68
+ }
69
+ // For all other entries (client.node, client, index), resolve to vendored path
70
+ return resolveVendored(source);
71
+ },
72
+ };
73
+ }
74
+ function isServerEntry(source) {
75
+ return (source.includes("/server") ||
76
+ source.includes("/static"));
77
+ }
78
+ function resolveVendored(source) {
79
+ const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
80
+ try {
81
+ return vendorRequire.resolve(source);
82
+ }
83
+ catch {
84
+ const subpath = source.replace("react-server-dom-esm", "");
85
+ return join(ossDir, "react-server-dom-esm", subpath || "index.js");
86
+ }
87
+ }
@@ -1,5 +1,5 @@
1
- declare const ReactDOMServer: typeof import("react-dom/server");
2
1
  declare const ReactDOMClient: typeof import("react-server-dom-esm/client.node");
2
+ declare const ReactDOMServer: typeof import("react-dom/server");
3
3
  declare const React: typeof import("react");
4
4
  export { ReactDOMServer, React, ReactDOMClient };
5
5
  //# sourceMappingURL=vendor.client.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"vendor.client.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.client.ts"],"names":[],"mappings":"AAUA,QAAA,MAAM,cAAc,EAAsC,cAAc,kBAAkB,CAAC,CAAC;AAC5F,QAAA,MAAM,cAAc,EAAsD,cAAc,kCAAkC,CAAC,CAAC;AAC5H,QAAA,MAAM,KAAK,EAA2B,cAAc,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC"}
1
+ {"version":3,"file":"vendor.client.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.client.ts"],"names":[],"mappings":"AAqBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,cAAc,EAAyC,cAAc,kBAAkB,CAAC,CAAC;AAC/F,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC"}
@@ -4,15 +4,28 @@
4
4
  * MIT License
5
5
  */
6
6
  import { createRequire } from 'node:module';
7
- import { join } from 'node:path';
7
+ import { dirname, join } from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+ import { existsSync } from 'node:fs';
8
10
  import { assertNonReactServer } from '../config/getCondition.js';
9
11
 
10
12
  assertNonReactServer();
13
+ const __dirname = dirname(fileURLToPath(import.meta.url));
14
+ function findPkgRoot() {
15
+ let dir = __dirname;
16
+ for (let i = 0; i < 5; i++) {
17
+ if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
18
+ dir = dirname(dir);
19
+ }
20
+ return dirname(dirname(__dirname));
21
+ }
22
+ const ossDir = join(findPkgRoot(), "oss-experimental");
23
+ const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
24
+ const ReactDOMClient = vendorRequire("react-server-dom-esm/client.node");
11
25
  const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
12
- const nodeRequire = createRequire(join(projectRoot, "package.json"));
13
- const ReactDOMServer = nodeRequire("react-dom/server");
14
- const ReactDOMClient = nodeRequire("react-server-dom-esm/client.node");
15
- const React = nodeRequire("react");
26
+ const projectRequire = createRequire(join(projectRoot, "package.json"));
27
+ const ReactDOMServer = projectRequire("react-dom/server");
28
+ const React = projectRequire("react");
16
29
 
17
30
  export { React, ReactDOMClient, ReactDOMServer };
18
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3IuY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBhc3NlcnROb25SZWFjdFNlcnZlciB9IGZyb20gXCIuLi9jb25maWcvZ2V0Q29uZGl0aW9uLmpzXCI7XG5cbmFzc2VydE5vblJlYWN0U2VydmVyKCk7XG5cbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3Qgbm9kZVJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcblxuLy8gSW1wb3J0IFJlYWN0RE9NIGZyb20gdGhlIHByb2plY3QncyBub2RlX21vZHVsZXNcbmNvbnN0IFJlYWN0RE9NU2VydmVyID0gbm9kZVJlcXVpcmUoXCJyZWFjdC1kb20vc2VydmVyXCIpIGFzIHR5cGVvZiBpbXBvcnQoXCJyZWFjdC1kb20vc2VydmVyXCIpO1xuY29uc3QgUmVhY3RET01DbGllbnQgPSBub2RlUmVxdWlyZShcInJlYWN0LXNlcnZlci1kb20tZXNtL2NsaWVudC5ub2RlXCIpIGFzIHR5cGVvZiBpbXBvcnQoXCJyZWFjdC1zZXJ2ZXItZG9tLWVzbS9jbGllbnQubm9kZVwiKTtcbmNvbnN0IFJlYWN0ID0gbm9kZVJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG4gICBcbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCwgUmVhY3RET01DbGllbnQgfTsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7O0FBSUEsb0JBQXFCLEVBQUE7QUFFckIsTUFBTSxjQUFjLE9BQVEsQ0FBQSxHQUFBLENBQUkseUJBQXlCLENBQUEsSUFBSyxRQUFRLEdBQUksRUFBQTtBQUMxRSxNQUFNLFdBQWMsR0FBQSxhQUFBLENBQWMsSUFBSyxDQUFBLFdBQUEsRUFBYSxjQUFjLENBQUMsQ0FBQTtBQUc3RCxNQUFBLGNBQUEsR0FBaUIsWUFBWSxrQkFBa0I7QUFDL0MsTUFBQSxjQUFBLEdBQWlCLFlBQVksa0NBQWtDO0FBQy9ELE1BQUEsS0FBQSxHQUFRLFlBQVksT0FBTzs7OzsifQ==
31
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLmNsaWVudC5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3IuY2xpZW50LnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcbmltcG9ydCB7IGFzc2VydE5vblJlYWN0U2VydmVyIH0gZnJvbSBcIi4uL2NvbmZpZy9nZXRDb25kaXRpb24uanNcIjtcblxuYXNzZXJ0Tm9uUmVhY3RTZXJ2ZXIoKTtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01DbGllbnQgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vY2xpZW50Lm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL2NsaWVudC5ub2RlXCIpO1xuXG4vLyBSZWFjdCBhbmQgcmVhY3QtZG9tIHN0aWxsIGNvbWUgZnJvbSB0aGUgY29uc3VtZXIncyBwcm9qZWN0XG5jb25zdCBwcm9qZWN0Um9vdCA9IHByb2Nlc3MuZW52W1wibnBtX2NvbmZpZ19sb2NhbF9wcmVmaXhcIl0gfHwgcHJvY2Vzcy5jd2QoKTtcbmNvbnN0IHByb2plY3RSZXF1aXJlID0gY3JlYXRlUmVxdWlyZShqb2luKHByb2plY3RSb290LCBcInBhY2thZ2UuanNvblwiKSk7XG5jb25zdCBSZWFjdERPTVNlcnZlciA9IHByb2plY3RSZXF1aXJlKFwicmVhY3QtZG9tL3NlcnZlclwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3QtZG9tL3NlcnZlclwiKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCwgUmVhY3RET01DbGllbnQgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7OztBQU1BLG9CQUFxQixFQUFBO0FBRXJCLE1BQU0sU0FBWSxHQUFBLE9BQUEsQ0FBUSxhQUFjLENBQUEsTUFBQSxDQUFBLElBQUEsQ0FBWSxHQUFHLENBQUMsQ0FBQTtBQUN4RCxTQUFTLFdBQXNCLEdBQUE7QUFDN0IsRUFBQSxJQUFJLEdBQU0sR0FBQSxTQUFBO0FBQ1YsRUFBQSxLQUFBLElBQVMsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFJLEdBQUEsQ0FBQSxFQUFHLENBQUssRUFBQSxFQUFBO0FBQzFCLElBQUEsSUFBSSxXQUFXLElBQUssQ0FBQSxHQUFBLEVBQUssb0JBQW9CLHNCQUFzQixDQUFDLEdBQVUsT0FBQSxHQUFBO0FBQzlFLElBQUEsR0FBQSxHQUFNLFFBQVEsR0FBRyxDQUFBO0FBQUE7QUFFbkIsRUFBTyxPQUFBLE9BQUEsQ0FBUSxPQUFRLENBQUEsU0FBUyxDQUFDLENBQUE7QUFDbkM7QUFDQSxNQUFNLE1BQVMsR0FBQSxJQUFBLENBQUssV0FBWSxFQUFBLEVBQUcsa0JBQWtCLENBQUE7QUFHckQsTUFBTSxnQkFBZ0IsYUFBYyxDQUFBLElBQUEsQ0FBSyxNQUFRLEVBQUEsc0JBQUEsRUFBd0IsY0FBYyxDQUFDLENBQUE7QUFDbEYsTUFBQSxjQUFBLEdBQWlCLGNBQWMsa0NBQWtDO0FBR3ZFLE1BQU0sY0FBYyxPQUFRLENBQUEsR0FBQSxDQUFJLHlCQUF5QixDQUFBLElBQUssUUFBUSxHQUFJLEVBQUE7QUFDMUUsTUFBTSxjQUFpQixHQUFBLGFBQUEsQ0FBYyxJQUFLLENBQUEsV0FBQSxFQUFhLGNBQWMsQ0FBQyxDQUFBO0FBQ2hFLE1BQUEsY0FBQSxHQUFpQixlQUFlLGtCQUFrQjtBQUNsRCxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=
@@ -1 +1 @@
1
- {"version":3,"file":"vendor.server.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.server.ts"],"names":[],"mappings":"AAOA,QAAA,MAAM,cAAc,EAAsD,cAAc,kCAAkC,CAAC,CAAC;AAC5H,QAAA,MAAM,KAAK,EAA2B,cAAc,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACjC,mBAAmB,kCAAkC,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,cAAc,OAAO,CAAC,CAAC"}
1
+ {"version":3,"file":"vendor.server.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.server.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC;AACjC,mBAAmB,kCAAkC,CAAC;AACtD,MAAM,MAAM,KAAK,GAAG,cAAc,OAAO,CAAC,CAAC"}
@@ -4,12 +4,25 @@
4
4
  * MIT License
5
5
  */
6
6
  import { createRequire } from 'node:module';
7
- import { join } from 'node:path';
7
+ import { dirname, join } from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+ import { existsSync } from 'node:fs';
8
10
 
11
+ const __dirname = dirname(fileURLToPath(import.meta.url));
12
+ function findPkgRoot() {
13
+ let dir = __dirname;
14
+ for (let i = 0; i < 5; i++) {
15
+ if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
16
+ dir = dirname(dir);
17
+ }
18
+ return dirname(dirname(__dirname));
19
+ }
20
+ const ossDir = join(findPkgRoot(), "oss-experimental");
21
+ const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
22
+ const ReactDOMServer = vendorRequire("react-server-dom-esm/server.node");
9
23
  const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
10
- const nodeRequire = createRequire(join(projectRoot, "package.json"));
11
- const ReactDOMServer = nodeRequire("react-server-dom-esm/server.node");
12
- const React = nodeRequire("react");
24
+ const projectRequire = createRequire(join(projectRoot, "package.json"));
25
+ const React = projectRequire("react");
13
26
 
14
27
  export { React, ReactDOMServer };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3Qgbm9kZVJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcblxuLy8gSW1wb3J0IFJlYWN0RE9NIGZyb20gdGhlIHByb2plY3QncyBub2RlX21vZHVsZXNcbmNvbnN0IFJlYWN0RE9NU2VydmVyID0gbm9kZVJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLWVzbS9zZXJ2ZXIubm9kZVwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc2VydmVyLm5vZGVcIik7XG5jb25zdCBSZWFjdCA9IG5vZGVSZXF1aXJlKFwicmVhY3RcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0XCIpO1xuXG5leHBvcnQgeyBSZWFjdERPTVNlcnZlciwgUmVhY3QgfTtcbmV4cG9ydCB0eXBlICogZnJvbSBcInJlYWN0LXNlcnZlci1kb20tZXNtL3NlcnZlci5ub2RlXCI7XG5leHBvcnQgdHlwZSBSZWFjdCA9IHR5cGVvZiBpbXBvcnQoXCJyZWFjdFwiKTsiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7QUFHQSxNQUFNLGNBQWMsT0FBUSxDQUFBLEdBQUEsQ0FBSSx5QkFBeUIsQ0FBQSxJQUFLLFFBQVEsR0FBSSxFQUFBO0FBQzFFLE1BQU0sV0FBYyxHQUFBLGFBQUEsQ0FBYyxJQUFLLENBQUEsV0FBQSxFQUFhLGNBQWMsQ0FBQyxDQUFBO0FBRzdELE1BQUEsY0FBQSxHQUFpQixZQUFZLGtDQUFrQztBQUMvRCxNQUFBLEtBQUEsR0FBUSxZQUFZLE9BQU87Ozs7In0=
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnNlcnZlci5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc2VydmVyLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01TZXJ2ZXIgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc2VydmVyLm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL3NlcnZlci5ub2RlXCIpO1xuXG4vLyBSZWFjdCBzdGlsbCBjb21lcyBmcm9tIHRoZSBjb25zdW1lcidzIHByb2plY3RcbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3QgcHJvamVjdFJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCB9O1xuZXhwb3J0IHR5cGUgKiBmcm9tIFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc2VydmVyLm5vZGVcIjtcbmV4cG9ydCB0eXBlIFJlYWN0ID0gdHlwZW9mIGltcG9ydChcInJlYWN0XCIpO1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLFNBQVksR0FBQSxPQUFBLENBQVEsYUFBYyxDQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFDLENBQUE7QUFDeEQsU0FBUyxXQUFzQixHQUFBO0FBQzdCLEVBQUEsSUFBSSxHQUFNLEdBQUEsU0FBQTtBQUNWLEVBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFLLEVBQUEsRUFBQTtBQUMxQixJQUFBLElBQUksV0FBVyxJQUFLLENBQUEsR0FBQSxFQUFLLG9CQUFvQixzQkFBc0IsQ0FBQyxHQUFVLE9BQUEsR0FBQTtBQUM5RSxJQUFBLEdBQUEsR0FBTSxRQUFRLEdBQUcsQ0FBQTtBQUFBO0FBRW5CLEVBQU8sT0FBQSxPQUFBLENBQVEsT0FBUSxDQUFBLFNBQVMsQ0FBQyxDQUFBO0FBQ25DO0FBQ0EsTUFBTSxNQUFTLEdBQUEsSUFBQSxDQUFLLFdBQVksRUFBQSxFQUFHLGtCQUFrQixDQUFBO0FBR3JELE1BQU0sZ0JBQWdCLGFBQWMsQ0FBQSxJQUFBLENBQUssTUFBUSxFQUFBLHNCQUFBLEVBQXdCLGNBQWMsQ0FBQyxDQUFBO0FBQ2xGLE1BQUEsY0FBQSxHQUFpQixjQUFjLGtDQUFrQztBQUd2RSxNQUFNLGNBQWMsT0FBUSxDQUFBLEdBQUEsQ0FBSSx5QkFBeUIsQ0FBQSxJQUFLLFFBQVEsR0FBSSxFQUFBO0FBQzFFLE1BQU0sY0FBaUIsR0FBQSxhQUFBLENBQWMsSUFBSyxDQUFBLFdBQUEsRUFBYSxjQUFjLENBQUMsQ0FBQTtBQUNoRSxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=
@@ -1 +1 @@
1
- {"version":3,"file":"vendor.static.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.static.ts"],"names":[],"mappings":"AAQA,QAAA,MAAM,cAAc,EAAsD,cAAc,kCAAkC,CAAC,CAAC;AAC5H,QAAA,MAAM,KAAK,EAA2B,cAAc,OAAO,CAAC,CAAC;AAE7D,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC"}
1
+ {"version":3,"file":"vendor.static.d.ts","sourceRoot":"","sources":["../../../plugin/vendor/vendor.static.ts"],"names":[],"mappings":"AAkBA,QAAA,MAAM,cAAc,EAAwD,cAAc,kCAAkC,CAAC,CAAC;AAK9H,QAAA,MAAM,KAAK,EAA8B,cAAc,OAAO,CAAC,CAAC;AAEhE,OAAO,EAAE,cAAc,EAAE,KAAK,EAAE,CAAC"}
@@ -4,12 +4,25 @@
4
4
  * MIT License
5
5
  */
6
6
  import { createRequire } from 'node:module';
7
- import { join } from 'node:path';
7
+ import { dirname, join } from 'node:path';
8
+ import { fileURLToPath } from 'node:url';
9
+ import { existsSync } from 'node:fs';
8
10
 
11
+ const __dirname = dirname(fileURLToPath(import.meta.url));
12
+ function findPkgRoot() {
13
+ let dir = __dirname;
14
+ for (let i = 0; i < 5; i++) {
15
+ if (existsSync(join(dir, "oss-experimental", "react-server-dom-esm"))) return dir;
16
+ dir = dirname(dir);
17
+ }
18
+ return dirname(dirname(__dirname));
19
+ }
20
+ const ossDir = join(findPkgRoot(), "oss-experimental");
21
+ const vendorRequire = createRequire(join(ossDir, "react-server-dom-esm", "package.json"));
22
+ const ReactDOMServer = vendorRequire("react-server-dom-esm/static.node");
9
23
  const projectRoot = process.env["npm_config_local_prefix"] || process.cwd();
10
- const nodeRequire = createRequire(join(projectRoot, "package.json"));
11
- const ReactDOMServer = nodeRequire("react-server-dom-esm/static.node");
12
- const React = nodeRequire("react");
24
+ const projectRequire = createRequire(join(projectRoot, "package.json"));
25
+ const React = projectRequire("react");
13
26
 
14
27
  export { React, ReactDOMServer };
15
- //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnN0YXRpYy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc3RhdGljLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5cbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3Qgbm9kZVJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcblxuLy8gSW1wb3J0IFJlYWN0RE9NIGZyb20gdGhlIHByb2plY3QncyBub2RlX21vZHVsZXMgZm9yIHN0YXRpYyBwcmUtcmVuZGVyaW5nXG4vLyBUaGlzIGluY2x1ZGVzIHVuc3RhYmxlX3ByZXJlbmRlclRvTm9kZVN0cmVhbSBmb3IgYnVpbGQtdGltZSBzdHJlYW0gY3JlYXRpb25cbmNvbnN0IFJlYWN0RE9NU2VydmVyID0gbm9kZVJlcXVpcmUoXCJyZWFjdC1zZXJ2ZXItZG9tLWVzbS9zdGF0aWMubm9kZVwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc3RhdGljLm5vZGVcIik7XG5jb25zdCBSZWFjdCA9IG5vZGVSZXF1aXJlKFwicmVhY3RcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0XCIpO1xuXG5leHBvcnQgeyBSZWFjdERPTVNlcnZlciwgUmVhY3QgfTtcbiJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7OztBQUdBLE1BQU0sY0FBYyxPQUFRLENBQUEsR0FBQSxDQUFJLHlCQUF5QixDQUFBLElBQUssUUFBUSxHQUFJLEVBQUE7QUFDMUUsTUFBTSxXQUFjLEdBQUEsYUFBQSxDQUFjLElBQUssQ0FBQSxXQUFBLEVBQWEsY0FBYyxDQUFDLENBQUE7QUFJN0QsTUFBQSxjQUFBLEdBQWlCLFlBQVksa0NBQWtDO0FBQy9ELE1BQUEsS0FBQSxHQUFRLFlBQVksT0FBTzs7OzsifQ==
28
+ //# sourceMappingURL=data:application/json;charset=utf-8;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidmVuZG9yLnN0YXRpYy5qcyIsInNvdXJjZXMiOlsiLi4vLi4vLi4vcGx1Z2luL3ZlbmRvci92ZW5kb3Iuc3RhdGljLnRzIl0sInNvdXJjZXNDb250ZW50IjpbImltcG9ydCB7IGNyZWF0ZVJlcXVpcmUgfSBmcm9tIFwibm9kZTptb2R1bGVcIjtcbmltcG9ydCB7IGRpcm5hbWUsIGpvaW4gfSBmcm9tIFwibm9kZTpwYXRoXCI7XG5pbXBvcnQgeyBmaWxlVVJMVG9QYXRoIH0gZnJvbSBcIm5vZGU6dXJsXCI7XG5pbXBvcnQgeyBleGlzdHNTeW5jIH0gZnJvbSBcIm5vZGU6ZnNcIjtcblxuY29uc3QgX19kaXJuYW1lID0gZGlybmFtZShmaWxlVVJMVG9QYXRoKGltcG9ydC5tZXRhLnVybCkpO1xuZnVuY3Rpb24gZmluZFBrZ1Jvb3QoKTogc3RyaW5nIHtcbiAgbGV0IGRpciA9IF9fZGlybmFtZTtcbiAgZm9yIChsZXQgaSA9IDA7IGkgPCA1OyBpKyspIHtcbiAgICBpZiAoZXhpc3RzU3luYyhqb2luKGRpciwgXCJvc3MtZXhwZXJpbWVudGFsXCIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIikpKSByZXR1cm4gZGlyO1xuICAgIGRpciA9IGRpcm5hbWUoZGlyKTtcbiAgfVxuICByZXR1cm4gZGlybmFtZShkaXJuYW1lKF9fZGlybmFtZSkpO1xufVxuY29uc3Qgb3NzRGlyID0gam9pbihmaW5kUGtnUm9vdCgpLCBcIm9zcy1leHBlcmltZW50YWxcIik7XG5cbi8vIFJlc29sdmUgcmVhY3Qtc2VydmVyLWRvbS1lc20gZnJvbSBvdXIgdmVuZG9yZWQgY29weVxuY29uc3QgdmVuZG9yUmVxdWlyZSA9IGNyZWF0ZVJlcXVpcmUoam9pbihvc3NEaXIsIFwicmVhY3Qtc2VydmVyLWRvbS1lc21cIiwgXCJwYWNrYWdlLmpzb25cIikpO1xuY29uc3QgUmVhY3RET01TZXJ2ZXIgPSB2ZW5kb3JSZXF1aXJlKFwicmVhY3Qtc2VydmVyLWRvbS1lc20vc3RhdGljLm5vZGVcIikgYXMgdHlwZW9mIGltcG9ydChcInJlYWN0LXNlcnZlci1kb20tZXNtL3N0YXRpYy5ub2RlXCIpO1xuXG4vLyBSZWFjdCBzdGlsbCBjb21lcyBmcm9tIHRoZSBjb25zdW1lcidzIHByb2plY3RcbmNvbnN0IHByb2plY3RSb290ID0gcHJvY2Vzcy5lbnZbXCJucG1fY29uZmlnX2xvY2FsX3ByZWZpeFwiXSB8fCBwcm9jZXNzLmN3ZCgpO1xuY29uc3QgcHJvamVjdFJlcXVpcmUgPSBjcmVhdGVSZXF1aXJlKGpvaW4ocHJvamVjdFJvb3QsIFwicGFja2FnZS5qc29uXCIpKTtcbmNvbnN0IFJlYWN0ID0gcHJvamVjdFJlcXVpcmUoXCJyZWFjdFwiKSBhcyB0eXBlb2YgaW1wb3J0KFwicmVhY3RcIik7XG5cbmV4cG9ydCB7IFJlYWN0RE9NU2VydmVyLCBSZWFjdCB9O1xuIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFLQSxNQUFNLFNBQVksR0FBQSxPQUFBLENBQVEsYUFBYyxDQUFBLE1BQUEsQ0FBQSxJQUFBLENBQVksR0FBRyxDQUFDLENBQUE7QUFDeEQsU0FBUyxXQUFzQixHQUFBO0FBQzdCLEVBQUEsSUFBSSxHQUFNLEdBQUEsU0FBQTtBQUNWLEVBQUEsS0FBQSxJQUFTLENBQUksR0FBQSxDQUFBLEVBQUcsQ0FBSSxHQUFBLENBQUEsRUFBRyxDQUFLLEVBQUEsRUFBQTtBQUMxQixJQUFBLElBQUksV0FBVyxJQUFLLENBQUEsR0FBQSxFQUFLLG9CQUFvQixzQkFBc0IsQ0FBQyxHQUFVLE9BQUEsR0FBQTtBQUM5RSxJQUFBLEdBQUEsR0FBTSxRQUFRLEdBQUcsQ0FBQTtBQUFBO0FBRW5CLEVBQU8sT0FBQSxPQUFBLENBQVEsT0FBUSxDQUFBLFNBQVMsQ0FBQyxDQUFBO0FBQ25DO0FBQ0EsTUFBTSxNQUFTLEdBQUEsSUFBQSxDQUFLLFdBQVksRUFBQSxFQUFHLGtCQUFrQixDQUFBO0FBR3JELE1BQU0sZ0JBQWdCLGFBQWMsQ0FBQSxJQUFBLENBQUssTUFBUSxFQUFBLHNCQUFBLEVBQXdCLGNBQWMsQ0FBQyxDQUFBO0FBQ2xGLE1BQUEsY0FBQSxHQUFpQixjQUFjLGtDQUFrQztBQUd2RSxNQUFNLGNBQWMsT0FBUSxDQUFBLEdBQUEsQ0FBSSx5QkFBeUIsQ0FBQSxJQUFLLFFBQVEsR0FBSSxFQUFBO0FBQzFFLE1BQU0sY0FBaUIsR0FBQSxhQUFBLENBQWMsSUFBSyxDQUFBLFdBQUEsRUFBYSxjQUFjLENBQUMsQ0FBQTtBQUNoRSxNQUFBLEtBQUEsR0FBUSxlQUFlLE9BQU87Ozs7In0=