vxrn 2.0.0-beta.66.1 → 2.0.0-beta.96.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (73) hide show
  1. package/dist/config/getBaseVitePlugins.mjs +5 -1
  2. package/dist/config/getBaseVitePlugins.mjs.map +1 -1
  3. package/dist/config/getBaseVitePlugins.native.js +5 -1
  4. package/dist/config/getBaseVitePlugins.native.js.map +1 -1
  5. package/dist/config/getOptimizeDeps.mjs +1 -0
  6. package/dist/config/getOptimizeDeps.mjs.map +1 -1
  7. package/dist/config/getOptimizeDeps.native.js +1 -0
  8. package/dist/config/getOptimizeDeps.native.js.map +1 -1
  9. package/dist/exports/build.mjs +1 -1
  10. package/dist/exports/build.mjs.map +1 -1
  11. package/dist/exports/build.native.js +1 -1
  12. package/dist/exports/build.native.js.map +1 -1
  13. package/dist/exports/prebuildWithoutExpo.mjs +601 -2
  14. package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
  15. package/dist/exports/prebuildWithoutExpo.native.js +713 -19
  16. package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
  17. package/dist/exports/runIos.mjs +4 -2
  18. package/dist/exports/runIos.mjs.map +1 -1
  19. package/dist/exports/runIos.native.js +4 -2
  20. package/dist/exports/runIos.native.js.map +1 -1
  21. package/dist/index.js +4 -0
  22. package/dist/index.mjs +4 -0
  23. package/dist/index.native.js +4 -0
  24. package/dist/utils/nativeRun.mjs +104 -8
  25. package/dist/utils/nativeRun.mjs.map +1 -1
  26. package/dist/utils/nativeRun.native.js +141 -8
  27. package/dist/utils/nativeRun.native.js.map +1 -1
  28. package/dist/utils/nearestPackageJson.mjs +16 -0
  29. package/dist/utils/nearestPackageJson.mjs.map +1 -0
  30. package/dist/utils/nearestPackageJson.native.js +16 -0
  31. package/dist/utils/nearestPackageJson.native.js.map +1 -0
  32. package/dist/utils/scanDepsToOptimize.mjs +3 -2
  33. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  34. package/dist/utils/scanDepsToOptimize.native.js +9 -5
  35. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  36. package/dist/utils/swiftPackageId.mjs +14 -0
  37. package/dist/utils/swiftPackageId.mjs.map +1 -0
  38. package/dist/utils/swiftPackageId.native.js +14 -0
  39. package/dist/utils/swiftPackageId.native.js.map +1 -0
  40. package/expo-plugin.cjs +3 -0
  41. package/native-project-patches.cjs +52 -0
  42. package/package.json +12 -12
  43. package/src/config/getBaseVitePlugins.ts +2 -1
  44. package/src/config/getOptimizeDeps.test.ts +7 -0
  45. package/src/config/getOptimizeDeps.ts +15 -0
  46. package/src/exports/build.ts +4 -1
  47. package/src/exports/expoPlugin.test.mjs +4 -0
  48. package/src/exports/prebuildWithoutExpo.test.ts +242 -5
  49. package/src/exports/prebuildWithoutExpo.ts +766 -2
  50. package/src/exports/runIos.ts +12 -2
  51. package/src/index.ts +2 -0
  52. package/src/utils/nativeRun.test.ts +56 -2
  53. package/src/utils/nativeRun.ts +102 -5
  54. package/src/utils/nearestPackageJson.ts +24 -0
  55. package/src/utils/scanDepsToOptimize.ts +5 -2
  56. package/src/utils/swiftPackageId.ts +14 -0
  57. package/types/config/getBaseVitePlugins.d.ts.map +1 -1
  58. package/types/config/getOptimizeDeps.d.ts +5 -0
  59. package/types/config/getOptimizeDeps.d.ts.map +1 -1
  60. package/types/exports/build.d.ts.map +1 -1
  61. package/types/exports/prebuildWithoutExpo.d.ts +1 -0
  62. package/types/exports/prebuildWithoutExpo.d.ts.map +1 -1
  63. package/types/exports/runIos.d.ts +3 -1
  64. package/types/exports/runIos.d.ts.map +1 -1
  65. package/types/index.d.ts +2 -0
  66. package/types/index.d.ts.map +1 -1
  67. package/types/utils/nativeRun.d.ts +6 -1
  68. package/types/utils/nativeRun.d.ts.map +1 -1
  69. package/types/utils/nearestPackageJson.d.ts +2 -0
  70. package/types/utils/nearestPackageJson.d.ts.map +1 -0
  71. package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
  72. package/types/utils/swiftPackageId.d.ts +3 -0
  73. package/types/utils/swiftPackageId.d.ts.map +1 -0
@@ -2,6 +2,7 @@ import { createVXRNCompilerPlugin } from "@vxrn/compiler";
2
2
  import { existsSync } from "node:fs";
3
3
  import { dirname, extname, resolve } from "node:path";
4
4
  import { ssrExtensions, webExtensions } from "../constants.mjs";
5
+ import { nearestPackageJson } from "../utils/nearestPackageJson.mjs";
5
6
 
6
7
  const JS_EXTENSION_RE = /\.[cm]?[jt]sx?$/;
7
8
  const PLATFORM_RESOLVE_SOURCE_RE = /(?:\.[cm]?[jt]sx?|\.server)$/;
@@ -84,7 +85,10 @@ function getBaseVitePlugins() {
84
85
  for (const platformExtension of platformSpecificExtension) {
85
86
  const fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;
86
87
  if (cachedPathExists(fullPath)) {
87
- return { id: fullPath };
88
+ return {
89
+ id: fullPath,
90
+ packageJsonPath: nearestPackageJson(fullPath)
91
+ };
88
92
  }
89
93
  }
90
94
  }
@@ -1 +1 @@
1
- {"version":3,"file":"getBaseVitePlugins.js","names":[],"sources":["config/getBaseVitePlugins.js"],"sourcesContent":["import { createVXRNCompilerPlugin } from \"@vxrn/compiler\";\nimport { existsSync } from \"node:fs\";\nimport { dirname, extname, resolve } from \"node:path\";\nimport { ssrExtensions, webExtensions } from \"../constants\";\nconst JS_EXTENSION_RE = /\\.[cm]?[jt]sx?$/;\nconst PLATFORM_RESOLVE_SOURCE_RE = /(?:\\.[cm]?[jt]sx?|\\.server)$/;\nconst PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {\n client: [\"web\"],\n ssr: [\"server\", \"web\"],\n worker: [\"server\", \"web\"],\n ios: [\"ios\", \"native\"],\n android: [\"android\", \"native\"]\n};\nfunction getBaseVitePlugins() {\n const pathExistsCache = /* @__PURE__ */ new Map();\n let isBuild = false;\n function cachedPathExists(path) {\n if (!isBuild) return existsSync(path);\n const cached = pathExistsCache.get(path);\n if (cached !== void 0) return cached;\n const exists = existsSync(path);\n pathExistsCache.set(path, exists);\n return exists;\n }\n return [\n {\n name: \"platform-specific-resolve\",\n enforce: \"pre\",\n config(_, { command }) {\n isBuild = command === \"build\";\n return {\n resolve: {\n // if this is on it breaks resolveId below\n // optimizeDeps config should apply to packages in monorepo\n // https://vite.dev/config/shared-options#resolve-preservesymlinks\n // preserveSymlinks: true,\n },\n environments: {\n ssr: {\n resolve: {\n extensions: ssrExtensions,\n conditions: [\"vxrn-web\"],\n externalConditions: [\"vxrn-web\"]\n }\n },\n client: {\n resolve: {\n extensions: webExtensions,\n conditions: [\"vxrn-web\"]\n }\n }\n }\n };\n },\n load: {\n filter: { id: /^\\0server-only-stub:/ },\n handler(id) {\n const source = id.slice(\"\\0server-only-stub:\".length);\n return `throw new Error(\"[one] .server file cannot be imported on client: ${source}\")`;\n }\n },\n // vite's resolve.extensions already prefers platform variants for\n // extensionless imports in every environment (webExtensions /\n // ssrExtensions here, getNativeExtensions for ios+android), verified by\n // building with this hook disabled. the only thing left for this hook is\n // an import that already carries an extension, since resolve.extensions\n // only ever appends. so filter to those rust-side, plus bare `.server`\n // which still needs an extension appended to be recognised as a server\n // file. measured on onestack.dev this takes the hook from 25422 calls to\n // 6880.\n resolveId: {\n filter: { id: PLATFORM_RESOLVE_SOURCE_RE },\n async handler(source, importer, options) {\n if (options?.scan) return;\n let resolvedId;\n if (JS_EXTENSION_RE.test(source)) {\n if (source[0] === \"/\") {\n resolvedId = source;\n } else if (source[0] === \".\" && importer) {\n resolvedId = resolve(dirname(importer), source);\n }\n }\n if (!resolvedId) {\n const resolved = await this.resolve(source, importer, options);\n if (!resolved) return resolved;\n resolvedId = resolved.id;\n }\n if (resolvedId.includes(\"node_modules\")) {\n return;\n }\n if (this.environment.name !== \"ssr\" && this.environment.name !== \"worker\" && /\\.server\\.\\w+$/.test(resolvedId)) {\n return { id: `\\0server-only-stub:${source}` };\n }\n if (process.env.VXRN_SKIP_STRICTER_PLATFORM_RESOLVE) {\n return void 0;\n }\n const jsExtension = extname(resolvedId);\n const withoutExt = resolvedId.slice(0, resolvedId.length - jsExtension.length);\n const platformSpecificExtension = PLATFORM_EXTENSIONS_BY_ENVIRONMENT[this.environment.name];\n if (platformSpecificExtension) {\n for (const platformExtension of platformSpecificExtension) {\n const fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;\n if (cachedPathExists(fullPath)) {\n return { id: fullPath };\n }\n }\n }\n }\n },\n // adding or deleting a .web/.native sibling changes what a source\n // resolves to, so drop the exists cache when the watcher sees a change\n watchChange() {\n pathExistsCache.clear();\n }\n },\n // temp fix\n // avoid logging the optimizeDeps we add that aren't in the app:\n // likely we need a whole better solution to optimize deps\n {\n name: `avoid-optimize-logs`,\n configureServer() {\n const ogWarn = console.warn;\n console.warn = (...args) => {\n if (typeof args[0] === \"string\" && args[0].startsWith(`Failed to resolve dependency:`)) {\n return;\n }\n return ogWarn(...args);\n };\n }\n },\n createVXRNCompilerPlugin({})\n ];\n}\nexport {\n getBaseVitePlugins\n};\n//# sourceMappingURL=getBaseVitePlugins.js.map\n"],"mappings":";;;;;;AAIA,MAAM,kBAAkB;AACxB,MAAM,6BAA6B;AACnC,MAAM,qCAAqC;CACzC,QAAQ,CAAC,KAAK;CACd,KAAK,CAAC,UAAU,KAAK;CACrB,QAAQ,CAAC,UAAU,KAAK;CACxB,KAAK,CAAC,OAAO,QAAQ;CACrB,SAAS,CAAC,WAAW,QAAQ;AAC/B;AACA,SAAS,qBAAqB;CAC5B,MAAM,kCAAkC,IAAI,IAAI;CAChD,IAAI,UAAU;CACd,SAAS,iBAAiB,MAAM;EAC9B,IAAI,CAAC,SAAS,OAAO,WAAW,IAAI;EACpC,MAAM,SAAS,gBAAgB,IAAI,IAAI;EACvC,IAAI,WAAW,KAAK,GAAG,OAAO;EAC9B,MAAM,SAAS,WAAW,IAAI;EAC9B,gBAAgB,IAAI,MAAM,MAAM;EAChC,OAAO;CACT;CACA,OAAO;EACL;GACE,MAAM;GACN,SAAS;GACT,OAAO,GAAG,EAAE,WAAW;IACrB,UAAU,YAAY;IACtB,OAAO;KACL,SAAS,CAKT;KACA,cAAc;MACZ,KAAK,EACH,SAAS;OACP,YAAY;OACZ,YAAY,CAAC,UAAU;OACvB,oBAAoB,CAAC,UAAU;MACjC,EACF;MACA,QAAQ,EACN,SAAS;OACP,YAAY;OACZ,YAAY,CAAC,UAAU;MACzB,EACF;KACF;IACF;GACF;GACA,MAAM;IACJ,QAAQ,EAAE,IAAI,uBAAuB;IACrC,QAAQ,IAAI;KACV,MAAM,SAAS,GAAG,MAAM,sBAAsB,MAAM;KACpD,OAAO,qEAAqE,OAAO;IACrF;GACF;GAUA,WAAW;IACT,QAAQ,EAAE,IAAI,2BAA2B;IACzC,MAAM,QAAQ,QAAQ,UAAU,SAAS;KACvC,IAAI,SAAS,MAAM;KACnB,IAAI;KACJ,IAAI,gBAAgB,KAAK,MAAM,GAAG;MAChC,IAAI,OAAO,OAAO,KAAK;OACrB,aAAa;MACf,OAAO,IAAI,OAAO,OAAO,OAAO,UAAU;OACxC,aAAa,QAAQ,QAAQ,QAAQ,GAAG,MAAM;MAChD;KACF;KACA,IAAI,CAAC,YAAY;MACf,MAAM,WAAW,MAAM,KAAK,QAAQ,QAAQ,UAAU,OAAO;MAC7D,IAAI,CAAC,UAAU,OAAO;MACtB,aAAa,SAAS;KACxB;KACA,IAAI,WAAW,SAAS,cAAc,GAAG;MACvC;KACF;KACA,IAAI,KAAK,YAAY,SAAS,SAAS,KAAK,YAAY,SAAS,YAAY,iBAAiB,KAAK,UAAU,GAAG;MAC9G,OAAO,EAAE,IAAI,sBAAsB,SAAS;KAC9C;KACA,IAAI,QAAQ,IAAI,qCAAqC;MACnD,OAAO,KAAK;KACd;KACA,MAAM,cAAc,QAAQ,UAAU;KACtC,MAAM,aAAa,WAAW,MAAM,GAAG,WAAW,SAAS,YAAY,MAAM;KAC7E,MAAM,4BAA4B,mCAAmC,KAAK,YAAY;KACtF,IAAI,2BAA2B;MAC7B,KAAK,MAAM,qBAAqB,2BAA2B;OACzD,MAAM,WAAW,GAAG,WAAW,GAAG,oBAAoB;OACtD,IAAI,iBAAiB,QAAQ,GAAG;QAC9B,OAAO,EAAE,IAAI,SAAS;OACxB;MACF;KACF;IACF;GACF;GAGA,cAAc;IACZ,gBAAgB,MAAM;GACxB;EACF;EAIA;GACE,MAAM;GACN,kBAAkB;IAChB,MAAM,SAAS,QAAQ;IACvB,QAAQ,QAAQ,GAAG,SAAS;KAC1B,IAAI,OAAO,KAAK,OAAO,YAAY,KAAK,EAAE,CAAC,WAAW,+BAA+B,GAAG;MACtF;KACF;KACA,OAAO,OAAO,GAAG,IAAI;IACvB;GACF;EACF;EACA,yBAAyB,CAAC,CAAC;CAC7B;AACF"}
1
+ {"version":3,"file":"getBaseVitePlugins.js","names":[],"sources":["config/getBaseVitePlugins.js"],"sourcesContent":["import { createVXRNCompilerPlugin } from \"@vxrn/compiler\";\nimport { existsSync } from \"node:fs\";\nimport { dirname, extname, resolve } from \"node:path\";\nimport { ssrExtensions, webExtensions } from \"../constants\";\nimport { nearestPackageJson } from \"../utils/nearestPackageJson\";\nconst JS_EXTENSION_RE = /\\.[cm]?[jt]sx?$/;\nconst PLATFORM_RESOLVE_SOURCE_RE = /(?:\\.[cm]?[jt]sx?|\\.server)$/;\nconst PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {\n client: [\"web\"],\n ssr: [\"server\", \"web\"],\n worker: [\"server\", \"web\"],\n ios: [\"ios\", \"native\"],\n android: [\"android\", \"native\"]\n};\nfunction getBaseVitePlugins() {\n const pathExistsCache = /* @__PURE__ */ new Map();\n let isBuild = false;\n function cachedPathExists(path) {\n if (!isBuild) return existsSync(path);\n const cached = pathExistsCache.get(path);\n if (cached !== void 0) return cached;\n const exists = existsSync(path);\n pathExistsCache.set(path, exists);\n return exists;\n }\n return [\n {\n name: \"platform-specific-resolve\",\n enforce: \"pre\",\n config(_, { command }) {\n isBuild = command === \"build\";\n return {\n resolve: {\n // if this is on it breaks resolveId below\n // optimizeDeps config should apply to packages in monorepo\n // https://vite.dev/config/shared-options#resolve-preservesymlinks\n // preserveSymlinks: true,\n },\n environments: {\n ssr: {\n resolve: {\n extensions: ssrExtensions,\n conditions: [\"vxrn-web\"],\n externalConditions: [\"vxrn-web\"]\n }\n },\n client: {\n resolve: {\n extensions: webExtensions,\n conditions: [\"vxrn-web\"]\n }\n }\n }\n };\n },\n load: {\n filter: { id: /^\\0server-only-stub:/ },\n handler(id) {\n const source = id.slice(\"\\0server-only-stub:\".length);\n return `throw new Error(\"[one] .server file cannot be imported on client: ${source}\")`;\n }\n },\n // vite's resolve.extensions already prefers platform variants for\n // extensionless imports in every environment (webExtensions /\n // ssrExtensions here, getNativeExtensions for ios+android), verified by\n // building with this hook disabled. the only thing left for this hook is\n // an import that already carries an extension, since resolve.extensions\n // only ever appends. so filter to those rust-side, plus bare `.server`\n // which still needs an extension appended to be recognised as a server\n // file. measured on onestack.dev this takes the hook from 25422 calls to\n // 6880.\n resolveId: {\n filter: { id: PLATFORM_RESOLVE_SOURCE_RE },\n async handler(source, importer, options) {\n if (options?.scan) return;\n let resolvedId;\n if (JS_EXTENSION_RE.test(source)) {\n if (source[0] === \"/\") {\n resolvedId = source;\n } else if (source[0] === \".\" && importer) {\n resolvedId = resolve(dirname(importer), source);\n }\n }\n if (!resolvedId) {\n const resolved = await this.resolve(source, importer, options);\n if (!resolved) return resolved;\n resolvedId = resolved.id;\n }\n if (resolvedId.includes(\"node_modules\")) {\n return;\n }\n if (this.environment.name !== \"ssr\" && this.environment.name !== \"worker\" && /\\.server\\.\\w+$/.test(resolvedId)) {\n return { id: `\\0server-only-stub:${source}` };\n }\n if (process.env.VXRN_SKIP_STRICTER_PLATFORM_RESOLVE) {\n return void 0;\n }\n const jsExtension = extname(resolvedId);\n const withoutExt = resolvedId.slice(0, resolvedId.length - jsExtension.length);\n const platformSpecificExtension = PLATFORM_EXTENSIONS_BY_ENVIRONMENT[this.environment.name];\n if (platformSpecificExtension) {\n for (const platformExtension of platformSpecificExtension) {\n const fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;\n if (cachedPathExists(fullPath)) {\n return { id: fullPath, packageJsonPath: nearestPackageJson(fullPath) };\n }\n }\n }\n }\n },\n // adding or deleting a .web/.native sibling changes what a source\n // resolves to, so drop the exists cache when the watcher sees a change\n watchChange() {\n pathExistsCache.clear();\n }\n },\n // temp fix\n // avoid logging the optimizeDeps we add that aren't in the app:\n // likely we need a whole better solution to optimize deps\n {\n name: `avoid-optimize-logs`,\n configureServer() {\n const ogWarn = console.warn;\n console.warn = (...args) => {\n if (typeof args[0] === \"string\" && args[0].startsWith(`Failed to resolve dependency:`)) {\n return;\n }\n return ogWarn(...args);\n };\n }\n },\n createVXRNCompilerPlugin({})\n ];\n}\nexport {\n getBaseVitePlugins\n};\n//# sourceMappingURL=getBaseVitePlugins.js.map\n"],"mappings":";;;;;;;AAKA,MAAM,kBAAkB;AACxB,MAAM,6BAA6B;AACnC,MAAM,qCAAqC;CACzC,QAAQ,CAAC,KAAK;CACd,KAAK,CAAC,UAAU,KAAK;CACrB,QAAQ,CAAC,UAAU,KAAK;CACxB,KAAK,CAAC,OAAO,QAAQ;CACrB,SAAS,CAAC,WAAW,QAAQ;AAC/B;AACA,SAAS,qBAAqB;CAC5B,MAAM,kCAAkC,IAAI,IAAI;CAChD,IAAI,UAAU;CACd,SAAS,iBAAiB,MAAM;EAC9B,IAAI,CAAC,SAAS,OAAO,WAAW,IAAI;EACpC,MAAM,SAAS,gBAAgB,IAAI,IAAI;EACvC,IAAI,WAAW,KAAK,GAAG,OAAO;EAC9B,MAAM,SAAS,WAAW,IAAI;EAC9B,gBAAgB,IAAI,MAAM,MAAM;EAChC,OAAO;CACT;CACA,OAAO;EACL;GACE,MAAM;GACN,SAAS;GACT,OAAO,GAAG,EAAE,WAAW;IACrB,UAAU,YAAY;IACtB,OAAO;KACL,SAAS,CAKT;KACA,cAAc;MACZ,KAAK,EACH,SAAS;OACP,YAAY;OACZ,YAAY,CAAC,UAAU;OACvB,oBAAoB,CAAC,UAAU;MACjC,EACF;MACA,QAAQ,EACN,SAAS;OACP,YAAY;OACZ,YAAY,CAAC,UAAU;MACzB,EACF;KACF;IACF;GACF;GACA,MAAM;IACJ,QAAQ,EAAE,IAAI,uBAAuB;IACrC,QAAQ,IAAI;KACV,MAAM,SAAS,GAAG,MAAM,sBAAsB,MAAM;KACpD,OAAO,qEAAqE,OAAO;IACrF;GACF;GAUA,WAAW;IACT,QAAQ,EAAE,IAAI,2BAA2B;IACzC,MAAM,QAAQ,QAAQ,UAAU,SAAS;KACvC,IAAI,SAAS,MAAM;KACnB,IAAI;KACJ,IAAI,gBAAgB,KAAK,MAAM,GAAG;MAChC,IAAI,OAAO,OAAO,KAAK;OACrB,aAAa;MACf,OAAO,IAAI,OAAO,OAAO,OAAO,UAAU;OACxC,aAAa,QAAQ,QAAQ,QAAQ,GAAG,MAAM;MAChD;KACF;KACA,IAAI,CAAC,YAAY;MACf,MAAM,WAAW,MAAM,KAAK,QAAQ,QAAQ,UAAU,OAAO;MAC7D,IAAI,CAAC,UAAU,OAAO;MACtB,aAAa,SAAS;KACxB;KACA,IAAI,WAAW,SAAS,cAAc,GAAG;MACvC;KACF;KACA,IAAI,KAAK,YAAY,SAAS,SAAS,KAAK,YAAY,SAAS,YAAY,iBAAiB,KAAK,UAAU,GAAG;MAC9G,OAAO,EAAE,IAAI,sBAAsB,SAAS;KAC9C;KACA,IAAI,QAAQ,IAAI,qCAAqC;MACnD,OAAO,KAAK;KACd;KACA,MAAM,cAAc,QAAQ,UAAU;KACtC,MAAM,aAAa,WAAW,MAAM,GAAG,WAAW,SAAS,YAAY,MAAM;KAC7E,MAAM,4BAA4B,mCAAmC,KAAK,YAAY;KACtF,IAAI,2BAA2B;MAC7B,KAAK,MAAM,qBAAqB,2BAA2B;OACzD,MAAM,WAAW,GAAG,WAAW,GAAG,oBAAoB;OACtD,IAAI,iBAAiB,QAAQ,GAAG;QAC9B,OAAO;SAAE,IAAI;SAAU,iBAAiB,mBAAmB,QAAQ;QAAE;OACvE;MACF;KACF;IACF;GACF;GAGA,cAAc;IACZ,gBAAgB,MAAM;GACxB;EACF;EAIA;GACE,MAAM;GACN,kBAAkB;IAChB,MAAM,SAAS,QAAQ;IACvB,QAAQ,QAAQ,GAAG,SAAS;KAC1B,IAAI,OAAO,KAAK,OAAO,YAAY,KAAK,EAAE,CAAC,WAAW,+BAA+B,GAAG;MACtF;KACF;KACA,OAAO,OAAO,GAAG,IAAI;IACvB;GACF;EACF;EACA,yBAAyB,CAAC,CAAC;CAC7B;AACF"}
@@ -2,6 +2,7 @@ import { createVXRNCompilerPlugin } from "@vxrn/compiler";
2
2
  import { existsSync } from "fs";
3
3
  import { dirname, extname, resolve } from "path";
4
4
  import { ssrExtensions, webExtensions } from "../constants.native.js";
5
+ import { nearestPackageJson } from "../utils/nearestPackageJson.native.js";
5
6
 
6
7
  var JS_EXTENSION_RE = /\.[cm]?[jt]sx?$/;
7
8
  var PLATFORM_RESOLVE_SOURCE_RE = /(?:\.[cm]?[jt]sx?|\.server)$/;
@@ -88,7 +89,10 @@ function getBaseVitePlugins() {
88
89
  var platformExtension = _step.value;
89
90
  var fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;
90
91
  if (cachedPathExists(fullPath)) {
91
- return { id: fullPath };
92
+ return {
93
+ id: fullPath,
94
+ packageJsonPath: nearestPackageJson(fullPath)
95
+ };
92
96
  }
93
97
  }
94
98
  } catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"getBaseVitePlugins.native.js","names":[],"sources":["config/getBaseVitePlugins.native.js"],"sourcesContent":["import { createVXRNCompilerPlugin } from \"@vxrn/compiler\";\nimport { existsSync } from \"fs\";\nimport { dirname, extname, resolve } from \"path\";\nimport { ssrExtensions, webExtensions } from \"../constants\";\nvar JS_EXTENSION_RE = /\\.[cm]?[jt]sx?$/;\nvar PLATFORM_RESOLVE_SOURCE_RE = /(?:\\.[cm]?[jt]sx?|\\.server)$/;\nvar PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {\n client: [\n \"web\"\n ],\n ssr: [\n \"server\",\n \"web\"\n ],\n worker: [\n \"server\",\n \"web\"\n ],\n ios: [\n \"ios\",\n \"native\"\n ],\n android: [\n \"android\",\n \"native\"\n ]\n};\nfunction getBaseVitePlugins() {\n var pathExistsCache = /* @__PURE__ */ new Map();\n var isBuild = false;\n function cachedPathExists(path) {\n if (!isBuild) return existsSync(path);\n var cached = pathExistsCache.get(path);\n if (cached !== void 0) return cached;\n var exists = existsSync(path);\n pathExistsCache.set(path, exists);\n return exists;\n }\n return [\n {\n name: \"platform-specific-resolve\",\n enforce: \"pre\",\n config(_, param) {\n var { command } = param;\n isBuild = command === \"build\";\n return {\n resolve: {},\n // if this is on it breaks resolveId below\n // optimizeDeps config should apply to packages in monorepo\n // https://vite.dev/config/shared-options#resolve-preservesymlinks\n // preserveSymlinks: true,\n environments: {\n ssr: {\n resolve: {\n extensions: ssrExtensions,\n conditions: [\n \"vxrn-web\"\n ],\n externalConditions: [\n \"vxrn-web\"\n ]\n }\n },\n client: {\n resolve: {\n extensions: webExtensions,\n conditions: [\n \"vxrn-web\"\n ]\n }\n }\n }\n };\n },\n load: {\n filter: {\n id: /^\\0server-only-stub:/\n },\n handler(id) {\n var source = id.slice(\"\\0server-only-stub:\".length);\n return `throw new Error(\"[one] .server file cannot be imported on client: ${source}\")`;\n }\n },\n // vite's resolve.extensions already prefers platform variants for\n // extensionless imports in every environment (webExtensions /\n // ssrExtensions here, getNativeExtensions for ios+android), verified by\n // building with this hook disabled. the only thing left for this hook is\n // an import that already carries an extension, since resolve.extensions\n // only ever appends. so filter to those rust-side, plus bare `.server`\n // which still needs an extension appended to be recognised as a server\n // file. measured on onestack.dev this takes the hook from 25422 calls to\n // 6880.\n resolveId: {\n filter: {\n id: PLATFORM_RESOLVE_SOURCE_RE\n },\n async handler(source, importer, options) {\n if (options === null || options === void 0 ? void 0 : options.scan) return;\n var resolvedId;\n if (JS_EXTENSION_RE.test(source)) {\n if (source[0] === \"/\") {\n resolvedId = source;\n } else if (source[0] === \".\" && importer) {\n resolvedId = resolve(dirname(importer), source);\n }\n }\n if (!resolvedId) {\n var resolved = await this.resolve(source, importer, options);\n if (!resolved) return resolved;\n resolvedId = resolved.id;\n }\n if (resolvedId.includes(\"node_modules\")) {\n return;\n }\n if (this.environment.name !== \"ssr\" && this.environment.name !== \"worker\" && /\\.server\\.\\w+$/.test(resolvedId)) {\n return {\n id: `\\0server-only-stub:${source}`\n };\n }\n if (process.env.VXRN_SKIP_STRICTER_PLATFORM_RESOLVE) {\n return void 0;\n }\n var jsExtension = extname(resolvedId);\n var withoutExt = resolvedId.slice(0, resolvedId.length - jsExtension.length);\n var platformSpecificExtension = PLATFORM_EXTENSIONS_BY_ENVIRONMENT[this.environment.name];\n if (platformSpecificExtension) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = platformSpecificExtension[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var platformExtension = _step.value;\n var fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;\n if (cachedPathExists(fullPath)) {\n return {\n id: fullPath\n };\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n },\n // adding or deleting a .web/.native sibling changes what a source\n // resolves to, so drop the exists cache when the watcher sees a change\n watchChange() {\n pathExistsCache.clear();\n }\n },\n // temp fix\n // avoid logging the optimizeDeps we add that aren't in the app:\n // likely we need a whole better solution to optimize deps\n {\n name: `avoid-optimize-logs`,\n configureServer() {\n var ogWarn = console.warn;\n console.warn = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === \"string\" && args[0].startsWith(`Failed to resolve dependency:`)) {\n return;\n }\n return ogWarn(...args);\n };\n }\n },\n createVXRNCompilerPlugin({})\n ];\n}\nexport {\n getBaseVitePlugins\n};\n//# sourceMappingURL=getBaseVitePlugins.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"getBaseVitePlugins.native.js","names":[],"sources":["config/getBaseVitePlugins.native.js"],"sourcesContent":["import { createVXRNCompilerPlugin } from \"@vxrn/compiler\";\nimport { existsSync } from \"fs\";\nimport { dirname, extname, resolve } from \"path\";\nimport { ssrExtensions, webExtensions } from \"../constants\";\nimport { nearestPackageJson } from \"../utils/nearestPackageJson\";\nvar JS_EXTENSION_RE = /\\.[cm]?[jt]sx?$/;\nvar PLATFORM_RESOLVE_SOURCE_RE = /(?:\\.[cm]?[jt]sx?|\\.server)$/;\nvar PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {\n client: [\n \"web\"\n ],\n ssr: [\n \"server\",\n \"web\"\n ],\n worker: [\n \"server\",\n \"web\"\n ],\n ios: [\n \"ios\",\n \"native\"\n ],\n android: [\n \"android\",\n \"native\"\n ]\n};\nfunction getBaseVitePlugins() {\n var pathExistsCache = /* @__PURE__ */ new Map();\n var isBuild = false;\n function cachedPathExists(path) {\n if (!isBuild) return existsSync(path);\n var cached = pathExistsCache.get(path);\n if (cached !== void 0) return cached;\n var exists = existsSync(path);\n pathExistsCache.set(path, exists);\n return exists;\n }\n return [\n {\n name: \"platform-specific-resolve\",\n enforce: \"pre\",\n config(_, param) {\n var { command } = param;\n isBuild = command === \"build\";\n return {\n resolve: {},\n // if this is on it breaks resolveId below\n // optimizeDeps config should apply to packages in monorepo\n // https://vite.dev/config/shared-options#resolve-preservesymlinks\n // preserveSymlinks: true,\n environments: {\n ssr: {\n resolve: {\n extensions: ssrExtensions,\n conditions: [\n \"vxrn-web\"\n ],\n externalConditions: [\n \"vxrn-web\"\n ]\n }\n },\n client: {\n resolve: {\n extensions: webExtensions,\n conditions: [\n \"vxrn-web\"\n ]\n }\n }\n }\n };\n },\n load: {\n filter: {\n id: /^\\0server-only-stub:/\n },\n handler(id) {\n var source = id.slice(\"\\0server-only-stub:\".length);\n return `throw new Error(\"[one] .server file cannot be imported on client: ${source}\")`;\n }\n },\n // vite's resolve.extensions already prefers platform variants for\n // extensionless imports in every environment (webExtensions /\n // ssrExtensions here, getNativeExtensions for ios+android), verified by\n // building with this hook disabled. the only thing left for this hook is\n // an import that already carries an extension, since resolve.extensions\n // only ever appends. so filter to those rust-side, plus bare `.server`\n // which still needs an extension appended to be recognised as a server\n // file. measured on onestack.dev this takes the hook from 25422 calls to\n // 6880.\n resolveId: {\n filter: {\n id: PLATFORM_RESOLVE_SOURCE_RE\n },\n async handler(source, importer, options) {\n if (options === null || options === void 0 ? void 0 : options.scan) return;\n var resolvedId;\n if (JS_EXTENSION_RE.test(source)) {\n if (source[0] === \"/\") {\n resolvedId = source;\n } else if (source[0] === \".\" && importer) {\n resolvedId = resolve(dirname(importer), source);\n }\n }\n if (!resolvedId) {\n var resolved = await this.resolve(source, importer, options);\n if (!resolved) return resolved;\n resolvedId = resolved.id;\n }\n if (resolvedId.includes(\"node_modules\")) {\n return;\n }\n if (this.environment.name !== \"ssr\" && this.environment.name !== \"worker\" && /\\.server\\.\\w+$/.test(resolvedId)) {\n return {\n id: `\\0server-only-stub:${source}`\n };\n }\n if (process.env.VXRN_SKIP_STRICTER_PLATFORM_RESOLVE) {\n return void 0;\n }\n var jsExtension = extname(resolvedId);\n var withoutExt = resolvedId.slice(0, resolvedId.length - jsExtension.length);\n var platformSpecificExtension = PLATFORM_EXTENSIONS_BY_ENVIRONMENT[this.environment.name];\n if (platformSpecificExtension) {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = platformSpecificExtension[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var platformExtension = _step.value;\n var fullPath = `${withoutExt}.${platformExtension}${jsExtension}`;\n if (cachedPathExists(fullPath)) {\n return {\n id: fullPath,\n packageJsonPath: nearestPackageJson(fullPath)\n };\n }\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n }\n },\n // adding or deleting a .web/.native sibling changes what a source\n // resolves to, so drop the exists cache when the watcher sees a change\n watchChange() {\n pathExistsCache.clear();\n }\n },\n // temp fix\n // avoid logging the optimizeDeps we add that aren't in the app:\n // likely we need a whole better solution to optimize deps\n {\n name: `avoid-optimize-logs`,\n configureServer() {\n var ogWarn = console.warn;\n console.warn = function() {\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n if (typeof args[0] === \"string\" && args[0].startsWith(`Failed to resolve dependency:`)) {\n return;\n }\n return ogWarn(...args);\n };\n }\n },\n createVXRNCompilerPlugin({})\n ];\n}\nexport {\n getBaseVitePlugins\n};\n//# sourceMappingURL=getBaseVitePlugins.js.map\n"],"mappings":"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"}
@@ -120,6 +120,7 @@ function getOptimizeDeps(mode) {
120
120
  holdUntilCrawlEnd: false,
121
121
  rolldownOptions: {
122
122
  resolve: { extensions: webExtensions },
123
+ transform: { define: { "process.env.EXPO_OS": "\"web\"" } },
123
124
  moduleTypes: {
124
125
  ".js": "jsx",
125
126
  ".ts": "ts",
@@ -1 +1 @@
1
- {"version":3,"file":"getOptimizeDeps.js","names":[],"sources":["config/getOptimizeDeps.js"],"sourcesContent":["import { webExtensions } from \"../constants\";\nfunction getOptimizeDeps(mode) {\n const needsInterop = [\n \"nativewind\",\n \"react-native-css-interop/jsx-runtime\",\n \"react-native-css-interop/jsx-dev-runtime\",\n \"react-native-css-interop\",\n \"secure-json-parse\",\n \"@react-native/normalize-colors\",\n \"@vxrn/safe-area\",\n \"@vxrn/vendor/react-19-prod\",\n \"@vxrn/vendor/react-19\",\n \"@vxrn/vendor/react-19-compiler-runtime\",\n \"@vxrn/vendor/react-dom-19\",\n \"@vxrn/vendor/react-dom-client-19\",\n \"@vxrn/vendor/react-dom-server.browser-19\",\n \"@vxrn/vendor/react-jsx-19\",\n \"@vxrn/vendor/react-jsx-dev-19\",\n \"react\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react/compiler-runtime\",\n \"react-dom\",\n \"react-dom/server\",\n \"react-dom/client\",\n \"react-native-web-internals\",\n \"@react-native-masked-view/masked-view\",\n \"url-parse\",\n \"query-string\",\n \"escape-string-regexp\",\n \"use-latest-callback\",\n \"react-is\",\n \"fast-deep-equal\",\n \"@supabase/auth-helpers-react\",\n \"@supabase/postgres-js\",\n \"core-js\",\n \"parse-numeric-range\",\n \"use-sync-external-store\",\n \"use-sync-external-store/shim\",\n \"inline-style-prefixer\",\n \"@docsearch/react\",\n \"@algolia/autocomplete-core\",\n \"@algolia/autocomplete-plugin-algolia-insights\",\n \"@algolia/autocomplete-shared\",\n \"moti\"\n ];\n const depsToOptimize = [\n ...needsInterop,\n \"fast-xml-parser\",\n \"set-cookie-parser\",\n \"ipaddr.js\",\n \"cross-fetch\",\n \"pg\",\n \"react-native-svg\",\n \"react-native-screens\",\n \"ws\",\n \"lodash\",\n // added these when using a worker env\n \"reading-time\",\n \"mdx-bundler/client\",\n \"gray-matter\",\n \"glob\",\n \"memoize-one\",\n \"css-in-js-utils\",\n \"hyphenate-style-name\",\n \"use-sync-external-store\",\n \"react-native-reanimated\",\n // uses .web.js extensions\n \"@react-navigation/core\",\n \"@react-navigation/native\",\n \"@react-navigation/elements\",\n \"@react-navigation/bottom-tabs\",\n \"@react-navigation/native-stack\",\n \"one\",\n \"styleq\",\n \"fbjs\",\n \"@vxrn/universal-color-scheme\",\n \"@vxrn/color-scheme\",\n \"requires-port\",\n \"querystringify\",\n \"compare-versions\",\n \"strict-uri-encode\",\n \"decode-uri-component\",\n \"split-on-first\",\n \"filter-obj\",\n \"scheduler\",\n \"warn-once\",\n \"@radix-ui/react-compose-refs\",\n \"@radix-ui/react-slot\",\n \"nanoid\",\n \"swr\",\n \"swr/mutation\",\n \"one\",\n \"one/zero\",\n \"refractor/lang/tsx\",\n \"invariant\",\n \"tamagui/linear-gradient\",\n \"@react-native/normalize-color\",\n \"react-native\",\n \"@floating-ui/react\",\n \"@floating-ui/react-dom\",\n \"tamagui\",\n \"reforest\"\n ];\n if (mode === \"build\") {\n depsToOptimize.push(\"@babel/runtime\");\n }\n return {\n needsInterop,\n depsToOptimize,\n optimizeDeps: {\n include: depsToOptimize,\n exclude: [\n \"util\",\n \"@swc/wasm\",\n \"@swc/core-darwin-arm64\",\n \"moti/author\",\n \"@hot-updater/cli-tools\"\n ],\n needsInterop,\n // Enable lazy optimization - don't wait for all deps before starting server\n // This allows browser to process requests in parallel for faster initial load\n holdUntilCrawlEnd: false,\n rolldownOptions: {\n resolve: {\n extensions: webExtensions\n },\n // some packages ship JSX in .js files (e.g., react-native-css-interop/dist/doctor.js).\n // .ts/.tsx must be declared too. when es-module-lexer can't read a dep entry,\n // vite's extractExportsData retries it as `moduleTypes[extname] || 'jsx'`, and\n // lexer always fails on TS syntax, so an undeclared .ts entry gets re-parsed as\n // JSX and dies on the first inline type specifier (`import { type Foo }`).\n moduleTypes: { \".js\": \"jsx\", \".ts\": \"ts\", \".tsx\": \"tsx\" },\n // react-native packages import native-only exports (TurboModuleRegistry etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true\n }\n }\n };\n}\nexport {\n getOptimizeDeps\n};\n//# sourceMappingURL=getOptimizeDeps.js.map\n"],"mappings":";;;AACA,SAAS,gBAAgB,MAAM;CAC7B,MAAM,eAAe;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM,iBAAiB;EACrB,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,SAAS,SAAS;EACpB,eAAe,KAAK,gBAAgB;CACtC;CACA,OAAO;EACL;EACA;EACA,cAAc;GACZ,SAAS;GACT,SAAS;IACP;IACA;IACA;IACA;IACA;GACF;GACA;GAGA,mBAAmB;GACnB,iBAAiB;IACf,SAAS,EACP,YAAY,cACd;IAMA,aAAa;KAAE,OAAO;KAAO,OAAO;KAAM,QAAQ;IAAM;IAKxD,oBAAoB;GACtB;EACF;CACF;AACF"}
1
+ {"version":3,"file":"getOptimizeDeps.js","names":[],"sources":["config/getOptimizeDeps.js"],"sourcesContent":["import { webExtensions } from \"../constants\";\nfunction getOptimizeDeps(mode) {\n const needsInterop = [\n \"nativewind\",\n \"react-native-css-interop/jsx-runtime\",\n \"react-native-css-interop/jsx-dev-runtime\",\n \"react-native-css-interop\",\n \"secure-json-parse\",\n \"@react-native/normalize-colors\",\n \"@vxrn/safe-area\",\n \"@vxrn/vendor/react-19-prod\",\n \"@vxrn/vendor/react-19\",\n \"@vxrn/vendor/react-19-compiler-runtime\",\n \"@vxrn/vendor/react-dom-19\",\n \"@vxrn/vendor/react-dom-client-19\",\n \"@vxrn/vendor/react-dom-server.browser-19\",\n \"@vxrn/vendor/react-jsx-19\",\n \"@vxrn/vendor/react-jsx-dev-19\",\n \"react\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react/compiler-runtime\",\n \"react-dom\",\n \"react-dom/server\",\n \"react-dom/client\",\n \"react-native-web-internals\",\n \"@react-native-masked-view/masked-view\",\n \"url-parse\",\n \"query-string\",\n \"escape-string-regexp\",\n \"use-latest-callback\",\n \"react-is\",\n \"fast-deep-equal\",\n \"@supabase/auth-helpers-react\",\n \"@supabase/postgres-js\",\n \"core-js\",\n \"parse-numeric-range\",\n \"use-sync-external-store\",\n \"use-sync-external-store/shim\",\n \"inline-style-prefixer\",\n \"@docsearch/react\",\n \"@algolia/autocomplete-core\",\n \"@algolia/autocomplete-plugin-algolia-insights\",\n \"@algolia/autocomplete-shared\",\n \"moti\"\n ];\n const depsToOptimize = [\n ...needsInterop,\n \"fast-xml-parser\",\n \"set-cookie-parser\",\n \"ipaddr.js\",\n \"cross-fetch\",\n \"pg\",\n \"react-native-svg\",\n \"react-native-screens\",\n \"ws\",\n \"lodash\",\n // added these when using a worker env\n \"reading-time\",\n \"mdx-bundler/client\",\n \"gray-matter\",\n \"glob\",\n \"memoize-one\",\n \"css-in-js-utils\",\n \"hyphenate-style-name\",\n \"use-sync-external-store\",\n \"react-native-reanimated\",\n // uses .web.js extensions\n \"@react-navigation/core\",\n \"@react-navigation/native\",\n \"@react-navigation/elements\",\n \"@react-navigation/bottom-tabs\",\n \"@react-navigation/native-stack\",\n \"one\",\n \"styleq\",\n \"fbjs\",\n \"@vxrn/universal-color-scheme\",\n \"@vxrn/color-scheme\",\n \"requires-port\",\n \"querystringify\",\n \"compare-versions\",\n \"strict-uri-encode\",\n \"decode-uri-component\",\n \"split-on-first\",\n \"filter-obj\",\n \"scheduler\",\n \"warn-once\",\n \"@radix-ui/react-compose-refs\",\n \"@radix-ui/react-slot\",\n \"nanoid\",\n \"swr\",\n \"swr/mutation\",\n \"one\",\n \"one/zero\",\n \"refractor/lang/tsx\",\n \"invariant\",\n \"tamagui/linear-gradient\",\n \"@react-native/normalize-color\",\n \"react-native\",\n \"@floating-ui/react\",\n \"@floating-ui/react-dom\",\n \"tamagui\",\n \"reforest\"\n ];\n if (mode === \"build\") {\n depsToOptimize.push(\"@babel/runtime\");\n }\n return {\n needsInterop,\n depsToOptimize,\n optimizeDeps: {\n include: depsToOptimize,\n exclude: [\n \"util\",\n \"@swc/wasm\",\n \"@swc/core-darwin-arm64\",\n \"moti/author\",\n \"@hot-updater/cli-tools\"\n ],\n needsInterop,\n // Enable lazy optimization - don't wait for all deps before starting server\n // This allows browser to process requests in parallel for faster initial load\n holdUntilCrawlEnd: false,\n rolldownOptions: {\n resolve: {\n extensions: webExtensions\n },\n // expo reads its platform from this constant, which babel-preset-expo\n // inlines during transform. a pre-bundled dep never goes through babel,\n // so the constant has to be defined here or it reads as undefined and\n // every expo module in a client chunk takes its native branch. expo's\n // dev HMR client is the one that bites: setupHMR calls\n // HMRClient.setup({ isEnabled: true }), the web form, and the native\n // branch asserts a string platform, so the whole client fails to\n // initialize and every route renders blank. rolldown takes define under\n // `transform`, and vite's dep optimizer merges that one key into its own\n // define; a top-level `define` is typed `never` and is rejected outright.\n transform: {\n define: {\n \"process.env.EXPO_OS\": '\"web\"'\n }\n },\n // some packages ship JSX in .js files (e.g., react-native-css-interop/dist/doctor.js).\n // .ts/.tsx must be declared too. when es-module-lexer can't read a dep entry,\n // vite's extractExportsData retries it as `moduleTypes[extname] || 'jsx'`, and\n // lexer always fails on TS syntax, so an undeclared .ts entry gets re-parsed as\n // JSX and dies on the first inline type specifier (`import { type Foo }`).\n moduleTypes: { \".js\": \"jsx\", \".ts\": \"ts\", \".tsx\": \"tsx\" },\n // react-native packages import native-only exports (TurboModuleRegistry etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true\n }\n }\n };\n}\nexport {\n getOptimizeDeps\n};\n//# sourceMappingURL=getOptimizeDeps.js.map\n"],"mappings":";;;AACA,SAAS,gBAAgB,MAAM;CAC7B,MAAM,eAAe;EACnB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,MAAM,iBAAiB;EACrB,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,SAAS,SAAS;EACpB,eAAe,KAAK,gBAAgB;CACtC;CACA,OAAO;EACL;EACA;EACA,cAAc;GACZ,SAAS;GACT,SAAS;IACP;IACA;IACA;IACA;IACA;GACF;GACA;GAGA,mBAAmB;GACnB,iBAAiB;IACf,SAAS,EACP,YAAY,cACd;IAWA,WAAW,EACT,QAAQ,EACN,uBAAuB,UACzB,EACF;IAMA,aAAa;KAAE,OAAO;KAAO,OAAO;KAAM,QAAQ;IAAM;IAKxD,oBAAoB;GACtB;EACF;CACF;AACF"}
@@ -120,6 +120,7 @@ function getOptimizeDeps(mode) {
120
120
  holdUntilCrawlEnd: false,
121
121
  rolldownOptions: {
122
122
  resolve: { extensions: webExtensions },
123
+ transform: { define: { "process.env.EXPO_OS": "\"web\"" } },
123
124
  moduleTypes: {
124
125
  ".js": "jsx",
125
126
  ".ts": "ts",
@@ -1 +1 @@
1
- {"version":3,"file":"getOptimizeDeps.native.js","names":[],"sources":["config/getOptimizeDeps.native.js"],"sourcesContent":["import { webExtensions } from \"../constants\";\nfunction getOptimizeDeps(mode) {\n var needsInterop = [\n \"nativewind\",\n \"react-native-css-interop/jsx-runtime\",\n \"react-native-css-interop/jsx-dev-runtime\",\n \"react-native-css-interop\",\n \"secure-json-parse\",\n \"@react-native/normalize-colors\",\n \"@vxrn/safe-area\",\n \"@vxrn/vendor/react-19-prod\",\n \"@vxrn/vendor/react-19\",\n \"@vxrn/vendor/react-19-compiler-runtime\",\n \"@vxrn/vendor/react-dom-19\",\n \"@vxrn/vendor/react-dom-client-19\",\n \"@vxrn/vendor/react-dom-server.browser-19\",\n \"@vxrn/vendor/react-jsx-19\",\n \"@vxrn/vendor/react-jsx-dev-19\",\n \"react\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react/compiler-runtime\",\n \"react-dom\",\n \"react-dom/server\",\n \"react-dom/client\",\n \"react-native-web-internals\",\n \"@react-native-masked-view/masked-view\",\n \"url-parse\",\n \"query-string\",\n \"escape-string-regexp\",\n \"use-latest-callback\",\n \"react-is\",\n \"fast-deep-equal\",\n \"@supabase/auth-helpers-react\",\n \"@supabase/postgres-js\",\n \"core-js\",\n \"parse-numeric-range\",\n \"use-sync-external-store\",\n \"use-sync-external-store/shim\",\n \"inline-style-prefixer\",\n \"@docsearch/react\",\n \"@algolia/autocomplete-core\",\n \"@algolia/autocomplete-plugin-algolia-insights\",\n \"@algolia/autocomplete-shared\",\n \"moti\"\n ];\n var depsToOptimize = [\n ...needsInterop,\n \"fast-xml-parser\",\n \"set-cookie-parser\",\n \"ipaddr.js\",\n \"cross-fetch\",\n \"pg\",\n \"react-native-svg\",\n \"react-native-screens\",\n \"ws\",\n \"lodash\",\n // added these when using a worker env\n \"reading-time\",\n \"mdx-bundler/client\",\n \"gray-matter\",\n \"glob\",\n \"memoize-one\",\n \"css-in-js-utils\",\n \"hyphenate-style-name\",\n \"use-sync-external-store\",\n \"react-native-reanimated\",\n // uses .web.js extensions\n \"@react-navigation/core\",\n \"@react-navigation/native\",\n \"@react-navigation/elements\",\n \"@react-navigation/bottom-tabs\",\n \"@react-navigation/native-stack\",\n \"one\",\n \"styleq\",\n \"fbjs\",\n \"@vxrn/universal-color-scheme\",\n \"@vxrn/color-scheme\",\n \"requires-port\",\n \"querystringify\",\n \"compare-versions\",\n \"strict-uri-encode\",\n \"decode-uri-component\",\n \"split-on-first\",\n \"filter-obj\",\n \"scheduler\",\n \"warn-once\",\n \"@radix-ui/react-compose-refs\",\n \"@radix-ui/react-slot\",\n \"nanoid\",\n \"swr\",\n \"swr/mutation\",\n \"one\",\n \"one/zero\",\n \"refractor/lang/tsx\",\n \"invariant\",\n \"tamagui/linear-gradient\",\n \"@react-native/normalize-color\",\n \"react-native\",\n \"@floating-ui/react\",\n \"@floating-ui/react-dom\",\n \"tamagui\",\n \"reforest\"\n ];\n if (mode === \"build\") {\n depsToOptimize.push(\"@babel/runtime\");\n }\n return {\n needsInterop,\n depsToOptimize,\n optimizeDeps: {\n include: depsToOptimize,\n exclude: [\n \"util\",\n \"@swc/wasm\",\n \"@swc/core-darwin-arm64\",\n \"moti/author\",\n \"@hot-updater/cli-tools\"\n ],\n needsInterop,\n // Enable lazy optimization - don't wait for all deps before starting server\n // This allows browser to process requests in parallel for faster initial load\n holdUntilCrawlEnd: false,\n rolldownOptions: {\n resolve: {\n extensions: webExtensions\n },\n // some packages ship JSX in .js files (e.g., react-native-css-interop/dist/doctor.js).\n // .ts/.tsx must be declared too. when es-module-lexer can't read a dep entry,\n // vite's extractExportsData retries it as `moduleTypes[extname] || 'jsx'`, and\n // lexer always fails on TS syntax, so an undeclared .ts entry gets re-parsed as\n // JSX and dies on the first inline type specifier (`import { type Foo }`).\n moduleTypes: {\n \".js\": \"jsx\",\n \".ts\": \"ts\",\n \".tsx\": \"tsx\"\n },\n // react-native packages import native-only exports (TurboModuleRegistry etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true\n }\n }\n };\n}\nexport {\n getOptimizeDeps\n};\n//# sourceMappingURL=getOptimizeDeps.js.map\n"],"mappings":";;;AACA,SAAS,gBAAgB,MAAM;CAC7B,IAAI,eAAe;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,iBAAiB;EACnB,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,SAAS,SAAS;EACpB,eAAe,KAAK,gBAAgB;CACtC;CACA,OAAO;EACL;EACA;EACA,cAAc;GACZ,SAAS;GACT,SAAS;IACP;IACA;IACA;IACA;IACA;GACF;GACA;GAGA,mBAAmB;GACnB,iBAAiB;IACf,SAAS,EACP,YAAY,cACd;IAMA,aAAa;KACX,OAAO;KACP,OAAO;KACP,QAAQ;IACV;IAKA,oBAAoB;GACtB;EACF;CACF;AACF"}
1
+ {"version":3,"file":"getOptimizeDeps.native.js","names":[],"sources":["config/getOptimizeDeps.native.js"],"sourcesContent":["import { webExtensions } from \"../constants\";\nfunction getOptimizeDeps(mode) {\n var needsInterop = [\n \"nativewind\",\n \"react-native-css-interop/jsx-runtime\",\n \"react-native-css-interop/jsx-dev-runtime\",\n \"react-native-css-interop\",\n \"secure-json-parse\",\n \"@react-native/normalize-colors\",\n \"@vxrn/safe-area\",\n \"@vxrn/vendor/react-19-prod\",\n \"@vxrn/vendor/react-19\",\n \"@vxrn/vendor/react-19-compiler-runtime\",\n \"@vxrn/vendor/react-dom-19\",\n \"@vxrn/vendor/react-dom-client-19\",\n \"@vxrn/vendor/react-dom-server.browser-19\",\n \"@vxrn/vendor/react-jsx-19\",\n \"@vxrn/vendor/react-jsx-dev-19\",\n \"react\",\n \"react/jsx-runtime\",\n \"react/jsx-dev-runtime\",\n \"react/compiler-runtime\",\n \"react-dom\",\n \"react-dom/server\",\n \"react-dom/client\",\n \"react-native-web-internals\",\n \"@react-native-masked-view/masked-view\",\n \"url-parse\",\n \"query-string\",\n \"escape-string-regexp\",\n \"use-latest-callback\",\n \"react-is\",\n \"fast-deep-equal\",\n \"@supabase/auth-helpers-react\",\n \"@supabase/postgres-js\",\n \"core-js\",\n \"parse-numeric-range\",\n \"use-sync-external-store\",\n \"use-sync-external-store/shim\",\n \"inline-style-prefixer\",\n \"@docsearch/react\",\n \"@algolia/autocomplete-core\",\n \"@algolia/autocomplete-plugin-algolia-insights\",\n \"@algolia/autocomplete-shared\",\n \"moti\"\n ];\n var depsToOptimize = [\n ...needsInterop,\n \"fast-xml-parser\",\n \"set-cookie-parser\",\n \"ipaddr.js\",\n \"cross-fetch\",\n \"pg\",\n \"react-native-svg\",\n \"react-native-screens\",\n \"ws\",\n \"lodash\",\n // added these when using a worker env\n \"reading-time\",\n \"mdx-bundler/client\",\n \"gray-matter\",\n \"glob\",\n \"memoize-one\",\n \"css-in-js-utils\",\n \"hyphenate-style-name\",\n \"use-sync-external-store\",\n \"react-native-reanimated\",\n // uses .web.js extensions\n \"@react-navigation/core\",\n \"@react-navigation/native\",\n \"@react-navigation/elements\",\n \"@react-navigation/bottom-tabs\",\n \"@react-navigation/native-stack\",\n \"one\",\n \"styleq\",\n \"fbjs\",\n \"@vxrn/universal-color-scheme\",\n \"@vxrn/color-scheme\",\n \"requires-port\",\n \"querystringify\",\n \"compare-versions\",\n \"strict-uri-encode\",\n \"decode-uri-component\",\n \"split-on-first\",\n \"filter-obj\",\n \"scheduler\",\n \"warn-once\",\n \"@radix-ui/react-compose-refs\",\n \"@radix-ui/react-slot\",\n \"nanoid\",\n \"swr\",\n \"swr/mutation\",\n \"one\",\n \"one/zero\",\n \"refractor/lang/tsx\",\n \"invariant\",\n \"tamagui/linear-gradient\",\n \"@react-native/normalize-color\",\n \"react-native\",\n \"@floating-ui/react\",\n \"@floating-ui/react-dom\",\n \"tamagui\",\n \"reforest\"\n ];\n if (mode === \"build\") {\n depsToOptimize.push(\"@babel/runtime\");\n }\n return {\n needsInterop,\n depsToOptimize,\n optimizeDeps: {\n include: depsToOptimize,\n exclude: [\n \"util\",\n \"@swc/wasm\",\n \"@swc/core-darwin-arm64\",\n \"moti/author\",\n \"@hot-updater/cli-tools\"\n ],\n needsInterop,\n // Enable lazy optimization - don't wait for all deps before starting server\n // This allows browser to process requests in parallel for faster initial load\n holdUntilCrawlEnd: false,\n rolldownOptions: {\n resolve: {\n extensions: webExtensions\n },\n // expo reads its platform from this constant, which babel-preset-expo\n // inlines during transform. a pre-bundled dep never goes through babel,\n // so the constant has to be defined here or it reads as undefined and\n // every expo module in a client chunk takes its native branch. expo's\n // dev HMR client is the one that bites: setupHMR calls\n // HMRClient.setup({ isEnabled: true }), the web form, and the native\n // branch asserts a string platform, so the whole client fails to\n // initialize and every route renders blank. rolldown takes define under\n // `transform`, and vite's dep optimizer merges that one key into its own\n // define; a top-level `define` is typed `never` and is rejected outright.\n transform: {\n define: {\n \"process.env.EXPO_OS\": '\"web\"'\n }\n },\n // some packages ship JSX in .js files (e.g., react-native-css-interop/dist/doctor.js).\n // .ts/.tsx must be declared too. when es-module-lexer can't read a dep entry,\n // vite's extractExportsData retries it as `moduleTypes[extname] || 'jsx'`, and\n // lexer always fails on TS syntax, so an undeclared .ts entry gets re-parsed as\n // JSX and dies on the first inline type specifier (`import { type Foo }`).\n moduleTypes: {\n \".js\": \"jsx\",\n \".ts\": \"ts\",\n \".tsx\": \"tsx\"\n },\n // react-native packages import native-only exports (TurboModuleRegistry etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true\n }\n }\n };\n}\nexport {\n getOptimizeDeps\n};\n//# sourceMappingURL=getOptimizeDeps.js.map\n"],"mappings":";;;AACA,SAAS,gBAAgB,MAAM;CAC7B,IAAI,eAAe;EACjB;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,iBAAiB;EACnB,GAAG;EACH;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EAEA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;CACA,IAAI,SAAS,SAAS;EACpB,eAAe,KAAK,gBAAgB;CACtC;CACA,OAAO;EACL;EACA;EACA,cAAc;GACZ,SAAS;GACT,SAAS;IACP;IACA;IACA;IACA;IACA;GACF;GACA;GAGA,mBAAmB;GACnB,iBAAiB;IACf,SAAS,EACP,YAAY,cACd;IAWA,WAAW,EACT,QAAQ,EACN,uBAAuB,UACzB,EACF;IAMA,aAAa;KACX,OAAO;KACP,OAAO;KACP,QAAQ;IACV;IAKA,oBAAoB;GACtB;EACF;CACF;AACF"}
@@ -67,7 +67,7 @@ const build = async (optionsIn, buildArgs = {}) => {
67
67
  const { buildBundle } = await import("../rn-commands/bundle/buildBundle.mjs");
68
68
  return buildBundle([], {
69
69
  root: options.root,
70
- vxrnEntries: options.entries
70
+ vxrnEntries: optionsIn.entries
71
71
  }, {
72
72
  platform: buildArgs.platform,
73
73
  bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
@@ -1 +1 @@
1
- {"version":3,"file":"build.js","names":["viteBuild"],"sources":["exports/build.js"],"sourcesContent":["import FSExtra from \"fs-extra\";\nimport { rm } from \"node:fs/promises\";\nimport { sep } from \"node:path\";\nimport {\n loadConfigFromFile,\n mergeConfig,\n build as viteBuild\n} from \"vite\";\nimport { getBaseViteConfigWithPlugins } from \"../config/getBaseViteConfigWithPlugins\";\nimport { getOptimizeDeps } from \"../config/getOptimizeDeps\";\nimport { fillOptions } from \"../config/getOptionsFilled\";\nimport { mergeUserConfig } from \"../config/mergeUserConfig\";\nimport { getServerCJSSetting, getServerEntry } from \"../utils/getServerEntry\";\nimport { applyBuiltInPatches } from \"../utils/patches\";\nimport { loadEnv } from \"./loadEnv\";\nconst { existsSync } = FSExtra;\nError.stackTraceLimit = Number.POSITIVE_INFINITY;\nconst disableOptimizationConfig = {\n optimizeDeps: {},\n build: {\n minify: false,\n rolldownOptions: {\n treeshake: false,\n output: {\n minifyInternalExports: false\n }\n }\n }\n};\nconst build = async (optionsIn, buildArgs = {}) => {\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`\n );\n }\n const skipEnv = optionsIn.skipEnv ?? false;\n const [envResult, options, userViteConfig] = await Promise.all([\n skipEnv ? { serverEnv: {}, clientEnv: {}, clientEnvDefine: {} } : loadEnv(\"production\"),\n fillOptions(optionsIn, { mode: \"prod\" }),\n loadConfigFromFile({\n command: \"build\",\n mode: \"prod\"\n }).then((_) => _?.config)\n ]);\n if (!process.env.ONE_SERVER_URL) {\n console.warn(\n `\\u26A0\\uFE0F No ONE_SERVER_URL environment set, set it in your .env to your target deploy URL`\n );\n }\n const processEnvDefines = Object.fromEntries(\n Object.entries(envResult.serverEnv).map(([key, value]) => {\n return [`process.env.${key}`, JSON.stringify(value)];\n })\n );\n await applyBuiltInPatches(options).catch((err) => {\n console.error(`\n \\u{1F97A} error applying built-in patches`, err);\n });\n const outDir = userViteConfig?.build?.outDir ?? \"dist\";\n await Promise.all([\n (async () => {\n if (existsSync(outDir)) {\n await rm(outDir, { recursive: true, force: true });\n }\n })()\n ]);\n if (buildArgs.platform === \"ios\" || buildArgs.platform === \"android\") {\n const { buildBundle } = await import(\"../rn-commands/bundle/buildBundle\");\n return buildBundle(\n [],\n { root: options.root, vxrnEntries: options.entries },\n {\n platform: buildArgs.platform,\n bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,\n dev: false,\n entryFile: \"\",\n resetCache: true,\n resetGlobalCache: true,\n sourcemapUseAbsolutePath: true,\n verbose: false,\n unstableTransformProfile: \"default\"\n }\n );\n }\n const { optimizeDeps } = getOptimizeDeps(\"build\");\n const { rolldownOptions: optimizeDepsRolldownOptions, ...optimizeDepsWithoutRolldown } = optimizeDeps;\n let webBuildConfig = mergeConfig(\n await getBaseViteConfigWithPlugins({\n ...options,\n mode: \"production\"\n }),\n {\n plugins: globalThis.__vxrnAddWebPluginsProd,\n clearScreen: false,\n configFile: false,\n ...skipEnv && { envFile: false },\n // rolldownOptions goes on environments.client to avoid Vite compat-proxy bug\n optimizeDeps: optimizeDepsWithoutRolldown,\n environments: {\n client: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n logLevel: \"warn\",\n build: {\n rolldownOptions: {\n // react-native packages import native-only exports (codegenNativeComponent etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true,\n onwarn(warning, defaultHandler) {\n if (warning.code === \"MODULE_LEVEL_DIRECTIVE\" && warning.message.includes(\"use client\")) {\n return;\n }\n if (warning.code === \"SOURCEMAP_ERROR\" && warning.message.includes(`Can't resolve original location of error.`)) {\n return;\n }\n if (warning.code === \"EVAL\") {\n warning.message = warning.message.replace(\n /(\\.+\\/){0,}node_modules/,\n \"node_modules\"\n );\n }\n if (warning.code === \"INVALID_ANNOTATION\") {\n return;\n }\n defaultHandler(warning);\n }\n }\n }\n }\n );\n const rerouteNoExternalConfig = userViteConfig?.ssr?.noExternal === true;\n if (rerouteNoExternalConfig) {\n delete userViteConfig.ssr.noExternal;\n }\n webBuildConfig = mergeUserConfig(optimizeDeps, webBuildConfig, userViteConfig);\n const excludeAPIAndMiddlewareRoutesPlugin = {\n enforce: \"pre\",\n name: \"omit-api-routes\",\n transform: {\n order: \"pre\",\n // both patterns as one rust-side filter, so only api/middleware files\n // cross into js instead of every module in the client bundle\n filter: { id: /(?:\\+api|_middleware)\\.tsx?$/ },\n handler() {\n return ``;\n }\n }\n };\n let clientOutput;\n let clientBuildPromise;\n if (buildArgs.step !== \"generate\") {\n let clientBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [excludeAPIAndMiddlewareRoutesPlugin],\n define: {\n \"process.env.VITE_ENVIRONMENT\": '\"client\"',\n ...process.env.ONE_SERVER_URL && {\n \"process.env.ONE_SERVER_URL\": JSON.stringify(process.env.ONE_SERVER_URL)\n }\n },\n build: {\n ssrManifest: true,\n outDir: `${outDir}/client`,\n sourcemap: false,\n manifest: true,\n rolldownOptions: {\n input: [\"virtual:one-entry\"],\n output: {\n codeSplitting: {\n // merge tiny chunks to reduce HTTP requests and total chunk count\n minSize: 42e3\n }\n }\n }\n }\n });\n if (process.env.VXRN_DISABLE_PROD_OPTIMIZATION) {\n clientBuildConfig = mergeConfig(clientBuildConfig, disableOptimizationConfig);\n }\n console.info(\n `\n \\u{1F528} build ${options.build?.server !== false ? \"client + server\" : \"client\"}\n`\n );\n clientBuildPromise = viteBuild(clientBuildConfig);\n }\n const serverOptions = options.build?.server;\n const webConfig = optionsIn.web;\n const deployTarget = typeof webConfig?.deploy === \"string\" ? webConfig.deploy : webConfig?.deploy?.target;\n const isCloudflareDeploy = deployTarget === \"cloudflare\";\n const shouldOutputCJS = getServerCJSSetting(options);\n const isUnified = typeof serverOptions === \"object\" && serverOptions !== null && serverOptions.unified === true;\n let serverBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [excludeAPIAndMiddlewareRoutesPlugin, ...globalThis.__vxrnAddWebPluginsProd],\n define: {\n \"process.env.TAMAGUI_IS_SERVER\": '\"1\"',\n \"process.env.VITE_ENVIRONMENT\": '\"ssr\"',\n ...processEnvDefines,\n ...webBuildConfig.define\n },\n ssr: {\n ...isCloudflareDeploy && {\n target: \"webworker\"\n },\n noExternal: isUnified ? [\"react\", \"react-dom\"] : true,\n optimizeDeps: optimizeDepsWithoutRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n build: {\n // we want one big file of css\n cssCodeSplit: false,\n ssr: true,\n sourcemap: false,\n outDir: `${outDir}/server`,\n rolldownOptions: {\n treeshake: true,\n // fixes some weird issues with optimizing tamagui and other packages\n // external: (id) => {\n // if (serverExternals.has(id)) return true\n // return false\n // // return /^@tamagui/.test(id)\n // },\n input: [\"virtual:one-entry\"],\n output: {\n ...isCloudflareDeploy && {\n codeSplitting: true\n },\n ...shouldOutputCJS && {\n format: \"cjs\",\n entryFileNames: \"[name].cjs\"\n }\n }\n }\n }\n });\n if (rerouteNoExternalConfig) {\n serverBuildConfig.ssr.noExternal = true;\n }\n const serverEntry = getServerEntry(options, outDir);\n let serverOutput;\n let clientManifest;\n let serverBuildPromise;\n if (serverOptions !== false) {\n if (!clientBuildPromise) {\n console.info(`\n \\u{1F528} build server\n`);\n }\n const userServerConf = optionsIn.build?.server;\n const userServerBuildConf = typeof userServerConf === \"boolean\" ? null : userServerConf?.config;\n serverBuildPromise = viteBuild(\n userServerBuildConf ? mergeConfig(serverBuildConfig, userServerBuildConf) : serverBuildConfig\n );\n }\n if (clientBuildPromise && serverBuildPromise) {\n const [clientResult, serverResult] = await Promise.all([\n clientBuildPromise,\n serverBuildPromise\n ]);\n clientOutput = clientResult.output;\n serverOutput = serverResult.output;\n } else if (clientBuildPromise) {\n const clientResult = await clientBuildPromise;\n clientOutput = clientResult.output;\n } else if (serverBuildPromise) {\n const serverResult = await serverBuildPromise;\n serverOutput = serverResult.output;\n }\n if (serverOptions !== false) {\n clientManifest = await FSExtra.readJSON(`${outDir}/client/.vite/manifest.json`);\n const old = await FSExtra.readFile(serverEntry, \"utf-8\");\n await FSExtra.writeFile(\n serverEntry,\n old.replace(\n `import { hydrate as hydrate$1, unmountComponentAtNode, render as render$1 } from \"react-dom\";`,\n \"\"\n ).replace(\n `import ReactDOM__default, { render as render$2, unmountComponentAtNode as unmountComponentAtNode$1, hydrate as hydrate$1 } from \"react-dom\";`,\n 'import ReactDOM__default from \"react-dom\";'\n )\n );\n }\n return {\n outDir,\n processEnvDefines,\n options,\n buildArgs,\n serverEntry,\n clientOutput,\n serverOutput,\n serverBuildConfig,\n webBuildConfig,\n clientManifest\n };\n};\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":";;;;;;;;;;;;;AAeA,MAAM,EAAE,eAAe;AACvB,MAAM,kBAAkB,OAAO;AAC/B,MAAM,4BAA4B;CAChC,cAAc,CAAC;CACf,OAAO;EACL,QAAQ;EACR,iBAAiB;GACf,WAAW;GACX,QAAQ,EACN,uBAAuB,MACzB;EACF;CACF;AACF;AACA,MAAM,QAAQ,OAAO,WAAW,YAAY,CAAC,MAAM;CACjD,QAAQ,IAAI,cAAc;CAC1B,IAAI,CAAC,QAAQ,IAAI,UAAU;EACzB,QAAQ,IAAI,WAAW;CACzB,OAAO,IAAI,QAAQ,IAAI,aAAa,cAAc;EAChD,QAAQ,KACN;8CACwC,QAAQ,IAAI,SAAS;CAE/D;CACF;CACA,MAAM,UAAU,UAAU,WAAW;CACrC,MAAM,CAAC,WAAW,SAAS,kBAAkB,MAAM,QAAQ,IAAI;EAC7D,UAAU;GAAE,WAAW,CAAC;GAAG,WAAW,CAAC;GAAG,iBAAiB,CAAC;EAAE,IAAI,QAAQ,YAAY;EACtF,YAAY,WAAW,EAAE,MAAM,OAAO,CAAC;EACvC,mBAAmB;GACjB,SAAS;GACT,MAAM;EACR,CAAC,CAAC,CAAC,MAAM,MAAM,GAAG,MAAM;CAC1B,CAAC;CACD,IAAI,CAAC,QAAQ,IAAI,gBAAgB;EAC/B,QAAQ,KACN,+FACF;CACF;CACA,MAAM,oBAAoB,OAAO,YAC/B,OAAO,QAAQ,UAAU,SAAS,CAAC,CAAC,KAAK,CAAC,KAAK,WAAW;EACxD,OAAO,CAAC,eAAe,OAAO,KAAK,UAAU,KAAK,CAAC;CACrD,CAAC,CACH;CACA,MAAM,oBAAoB,OAAO,CAAC,CAAC,OAAO,QAAQ;EAChD,QAAQ,MAAM;6CAC2B,GAAG;CAC9C,CAAC;CACD,MAAM,SAAS,gBAAgB,OAAO,UAAU;CAChD,MAAM,QAAQ,IAAI,EACf,YAAY;EACX,IAAI,WAAW,MAAM,GAAG;GACtB,MAAM,GAAG,QAAQ;IAAE,WAAW;IAAM,OAAO;GAAK,CAAC;EACnD;CACF,EAAC,CAAE,CACL,CAAC;CACD,IAAI,UAAU,aAAa,SAAS,UAAU,aAAa,WAAW;EACpE,MAAM,EAAE,gBAAgB,MAAM,OAAO;EACrC,OAAO,YACL,CAAC,GACD;GAAE,MAAM,QAAQ;GAAM,aAAa,QAAQ;EAAQ,GACnD;GACE,UAAU,UAAU;GACpB,cAAc,GAAG,SAAS,MAAM,UAAU,SAAS;GACnD,KAAK;GACL,WAAW;GACX,YAAY;GACZ,kBAAkB;GAClB,0BAA0B;GAC1B,SAAS;GACT,0BAA0B;EAC5B,CACF;CACF;CACA,MAAM,EAAE,iBAAiB,gBAAgB,OAAO;CAChD,MAAM,EAAE,iBAAiB,6BAA6B,GAAG,gCAAgC;CACzF,IAAI,iBAAiB,YACnB,MAAM,6BAA6B;EACjC,GAAG;EACH,MAAM;CACR,CAAC,GACD;EACE,SAAS,WAAW;EACpB,aAAa;EACb,YAAY;EACZ,GAAG,WAAW,EAAE,SAAS,MAAM;EAE/B,cAAc;EACd,cAAc,EACZ,QAAQ,EACN,cAAc,EACZ,iBAAiB,4BACnB,EACF,EACF;EACA,UAAU;EACV,OAAO,EACL,iBAAiB;GAKf,oBAAoB;GACpB,OAAO,SAAS,gBAAgB;IAC9B,IAAI,QAAQ,SAAS,4BAA4B,QAAQ,QAAQ,SAAS,YAAY,GAAG;KACvF;IACF;IACA,IAAI,QAAQ,SAAS,qBAAqB,QAAQ,QAAQ,SAAS,2CAA2C,GAAG;KAC/G;IACF;IACA,IAAI,QAAQ,SAAS,QAAQ;KAC3B,QAAQ,UAAU,QAAQ,QAAQ,QAChC,2BACA,cACF;IACF;IACA,IAAI,QAAQ,SAAS,sBAAsB;KACzC;IACF;IACA,eAAe,OAAO;GACxB;EACF,EACF;CACF,CACF;CACA,MAAM,0BAA0B,gBAAgB,KAAK,eAAe;CACpE,IAAI,yBAAyB;EAC3B,OAAO,eAAe,IAAI;CAC5B;CACA,iBAAiB,gBAAgB,cAAc,gBAAgB,cAAc;CAC7E,MAAM,sCAAsC;EAC1C,SAAS;EACT,MAAM;EACN,WAAW;GACT,OAAO;GAGP,QAAQ,EAAE,IAAI,+BAA+B;GAC7C,UAAU;IACR,OAAO;GACT;EACF;CACF;CACA,IAAI;CACJ,IAAI;CACJ,IAAI,UAAU,SAAS,YAAY;EACjC,IAAI,oBAAoB,YAAY,gBAAgB;GAClD,SAAS,CAAC,mCAAmC;GAC7C,QAAQ;IACN,gCAAgC;IAChC,GAAG,QAAQ,IAAI,kBAAkB,EAC/B,8BAA8B,KAAK,UAAU,QAAQ,IAAI,cAAc,EACzE;GACF;GACA,OAAO;IACL,aAAa;IACb,QAAQ,GAAG,OAAO;IAClB,WAAW;IACX,UAAU;IACV,iBAAiB;KACf,OAAO,CAAC,mBAAmB;KAC3B,QAAQ,EACN,eAAe,EAEb,SAAS,KACX,EACF;IACF;GACF;EACF,CAAC;EACD,IAAI,QAAQ,IAAI,gCAAgC;GAC9C,oBAAoB,YAAY,mBAAmB,yBAAyB;EAC9E;EACA,QAAQ,KACN;mBACa,QAAQ,OAAO,WAAW,QAAQ,oBAAoB,SAAS;CAE9E;EACA,qBAAqBA,QAAU,iBAAiB;CAClD;CACA,MAAM,gBAAgB,QAAQ,OAAO;CACrC,MAAM,YAAY,UAAU;CAC5B,MAAM,eAAe,OAAO,WAAW,WAAW,WAAW,UAAU,SAAS,WAAW,QAAQ;CACnG,MAAM,qBAAqB,iBAAiB;CAC5C,MAAM,kBAAkB,oBAAoB,OAAO;CACnD,MAAM,YAAY,OAAO,kBAAkB,YAAY,kBAAkB,QAAQ,cAAc,YAAY;CAC3G,IAAI,oBAAoB,YAAY,gBAAgB;EAClD,SAAS,CAAC,qCAAqC,GAAG,WAAW,uBAAuB;EACpF,QAAQ;GACN,iCAAiC;GACjC,gCAAgC;GAChC,GAAG;GACH,GAAG,eAAe;EACpB;EACA,KAAK;GACH,GAAG,sBAAsB,EACvB,QAAQ,YACV;GACA,YAAY,YAAY,CAAC,SAAS,WAAW,IAAI;GACjD,cAAc;EAChB;EACA,cAAc,EACZ,KAAK,EACH,cAAc,EACZ,iBAAiB,4BACnB,EACF,EACF;EACA,OAAO;GAEL,cAAc;GACd,KAAK;GACL,WAAW;GACX,QAAQ,GAAG,OAAO;GAClB,iBAAiB;IACf,WAAW;IAOX,OAAO,CAAC,mBAAmB;IAC3B,QAAQ;KACN,GAAG,sBAAsB,EACvB,eAAe,KACjB;KACA,GAAG,mBAAmB;MACpB,QAAQ;MACR,gBAAgB;KAClB;IACF;GACF;EACF;CACF,CAAC;CACD,IAAI,yBAAyB;EAC3B,kBAAkB,IAAI,aAAa;CACrC;CACA,MAAM,cAAc,eAAe,SAAS,MAAM;CAClD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,kBAAkB,OAAO;EAC3B,IAAI,CAAC,oBAAoB;GACvB,QAAQ,KAAK;;CAElB;EACG;EACA,MAAM,iBAAiB,UAAU,OAAO;EACxC,MAAM,sBAAsB,OAAO,mBAAmB,YAAY,OAAO,gBAAgB;EACzF,qBAAqBA,QACnB,sBAAsB,YAAY,mBAAmB,mBAAmB,IAAI,iBAC9E;CACF;CACA,IAAI,sBAAsB,oBAAoB;EAC5C,MAAM,CAAC,cAAc,gBAAgB,MAAM,QAAQ,IAAI,CACrD,oBACA,kBACF,CAAC;EACD,eAAe,aAAa;EAC5B,eAAe,aAAa;CAC9B,OAAO,IAAI,oBAAoB;EAC7B,MAAM,eAAe,MAAM;EAC3B,eAAe,aAAa;CAC9B,OAAO,IAAI,oBAAoB;EAC7B,MAAM,eAAe,MAAM;EAC3B,eAAe,aAAa;CAC9B;CACA,IAAI,kBAAkB,OAAO;EAC3B,iBAAiB,MAAM,QAAQ,SAAS,GAAG,OAAO,4BAA4B;EAC9E,MAAM,MAAM,MAAM,QAAQ,SAAS,aAAa,OAAO;EACvD,MAAM,QAAQ,UACZ,aACA,IAAI,QACF,iGACA,EACF,CAAC,CAAC,QACA,gJACA,8CACF,CACF;CACF;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
1
+ {"version":3,"file":"build.js","names":["viteBuild"],"sources":["exports/build.js"],"sourcesContent":["import FSExtra from \"fs-extra\";\nimport { rm } from \"node:fs/promises\";\nimport { sep } from \"node:path\";\nimport {\n loadConfigFromFile,\n mergeConfig,\n build as viteBuild\n} from \"vite\";\nimport { getBaseViteConfigWithPlugins } from \"../config/getBaseViteConfigWithPlugins\";\nimport { getOptimizeDeps } from \"../config/getOptimizeDeps\";\nimport { fillOptions } from \"../config/getOptionsFilled\";\nimport { mergeUserConfig } from \"../config/mergeUserConfig\";\nimport { getServerCJSSetting, getServerEntry } from \"../utils/getServerEntry\";\nimport { applyBuiltInPatches } from \"../utils/patches\";\nimport { loadEnv } from \"./loadEnv\";\nconst { existsSync } = FSExtra;\nError.stackTraceLimit = Number.POSITIVE_INFINITY;\nconst disableOptimizationConfig = {\n optimizeDeps: {},\n build: {\n minify: false,\n rolldownOptions: {\n treeshake: false,\n output: {\n minifyInternalExports: false\n }\n }\n }\n};\nconst build = async (optionsIn, buildArgs = {}) => {\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(\n `\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`\n );\n }\n const skipEnv = optionsIn.skipEnv ?? false;\n const [envResult, options, userViteConfig] = await Promise.all([\n skipEnv ? { serverEnv: {}, clientEnv: {}, clientEnvDefine: {} } : loadEnv(\"production\"),\n fillOptions(optionsIn, { mode: \"prod\" }),\n loadConfigFromFile({\n command: \"build\",\n mode: \"prod\"\n }).then((_) => _?.config)\n ]);\n if (!process.env.ONE_SERVER_URL) {\n console.warn(\n `\\u26A0\\uFE0F No ONE_SERVER_URL environment set, set it in your .env to your target deploy URL`\n );\n }\n const processEnvDefines = Object.fromEntries(\n Object.entries(envResult.serverEnv).map(([key, value]) => {\n return [`process.env.${key}`, JSON.stringify(value)];\n })\n );\n await applyBuiltInPatches(options).catch((err) => {\n console.error(`\n \\u{1F97A} error applying built-in patches`, err);\n });\n const outDir = userViteConfig?.build?.outDir ?? \"dist\";\n await Promise.all([\n (async () => {\n if (existsSync(outDir)) {\n await rm(outDir, { recursive: true, force: true });\n }\n })()\n ]);\n if (buildArgs.platform === \"ios\" || buildArgs.platform === \"android\") {\n const { buildBundle } = await import(\"../rn-commands/bundle/buildBundle\");\n return buildBundle(\n [],\n // only an entry the app named: without one the bundle starts at the\n // generated route entry, as the xcode bundle phase does. the filled\n // default (./src/entry-native.tsx) exists only in plain vxrn apps.\n { root: options.root, vxrnEntries: optionsIn.entries },\n {\n platform: buildArgs.platform,\n bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,\n dev: false,\n entryFile: \"\",\n resetCache: true,\n resetGlobalCache: true,\n sourcemapUseAbsolutePath: true,\n verbose: false,\n unstableTransformProfile: \"default\"\n }\n );\n }\n const { optimizeDeps } = getOptimizeDeps(\"build\");\n const { rolldownOptions: optimizeDepsRolldownOptions, ...optimizeDepsWithoutRolldown } = optimizeDeps;\n let webBuildConfig = mergeConfig(\n await getBaseViteConfigWithPlugins({\n ...options,\n mode: \"production\"\n }),\n {\n plugins: globalThis.__vxrnAddWebPluginsProd,\n clearScreen: false,\n configFile: false,\n ...skipEnv && { envFile: false },\n // rolldownOptions goes on environments.client to avoid Vite compat-proxy bug\n optimizeDeps: optimizeDepsWithoutRolldown,\n environments: {\n client: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n logLevel: \"warn\",\n build: {\n rolldownOptions: {\n // react-native packages import native-only exports (codegenNativeComponent etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true,\n onwarn(warning, defaultHandler) {\n if (warning.code === \"MODULE_LEVEL_DIRECTIVE\" && warning.message.includes(\"use client\")) {\n return;\n }\n if (warning.code === \"SOURCEMAP_ERROR\" && warning.message.includes(`Can't resolve original location of error.`)) {\n return;\n }\n if (warning.code === \"EVAL\") {\n warning.message = warning.message.replace(\n /(\\.+\\/){0,}node_modules/,\n \"node_modules\"\n );\n }\n if (warning.code === \"INVALID_ANNOTATION\") {\n return;\n }\n defaultHandler(warning);\n }\n }\n }\n }\n );\n const rerouteNoExternalConfig = userViteConfig?.ssr?.noExternal === true;\n if (rerouteNoExternalConfig) {\n delete userViteConfig.ssr.noExternal;\n }\n webBuildConfig = mergeUserConfig(optimizeDeps, webBuildConfig, userViteConfig);\n const excludeAPIAndMiddlewareRoutesPlugin = {\n enforce: \"pre\",\n name: \"omit-api-routes\",\n transform: {\n order: \"pre\",\n // both patterns as one rust-side filter, so only api/middleware files\n // cross into js instead of every module in the client bundle\n filter: { id: /(?:\\+api|_middleware)\\.tsx?$/ },\n handler() {\n return ``;\n }\n }\n };\n let clientOutput;\n let clientBuildPromise;\n if (buildArgs.step !== \"generate\") {\n let clientBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [excludeAPIAndMiddlewareRoutesPlugin],\n define: {\n \"process.env.VITE_ENVIRONMENT\": '\"client\"',\n ...process.env.ONE_SERVER_URL && {\n \"process.env.ONE_SERVER_URL\": JSON.stringify(process.env.ONE_SERVER_URL)\n }\n },\n build: {\n ssrManifest: true,\n outDir: `${outDir}/client`,\n sourcemap: false,\n manifest: true,\n rolldownOptions: {\n input: [\"virtual:one-entry\"],\n output: {\n codeSplitting: {\n // merge tiny chunks to reduce HTTP requests and total chunk count\n minSize: 42e3\n }\n }\n }\n }\n });\n if (process.env.VXRN_DISABLE_PROD_OPTIMIZATION) {\n clientBuildConfig = mergeConfig(clientBuildConfig, disableOptimizationConfig);\n }\n console.info(\n `\n \\u{1F528} build ${options.build?.server !== false ? \"client + server\" : \"client\"}\n`\n );\n clientBuildPromise = viteBuild(clientBuildConfig);\n }\n const serverOptions = options.build?.server;\n const webConfig = optionsIn.web;\n const deployTarget = typeof webConfig?.deploy === \"string\" ? webConfig.deploy : webConfig?.deploy?.target;\n const isCloudflareDeploy = deployTarget === \"cloudflare\";\n const shouldOutputCJS = getServerCJSSetting(options);\n const isUnified = typeof serverOptions === \"object\" && serverOptions !== null && serverOptions.unified === true;\n let serverBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [excludeAPIAndMiddlewareRoutesPlugin, ...globalThis.__vxrnAddWebPluginsProd],\n define: {\n \"process.env.TAMAGUI_IS_SERVER\": '\"1\"',\n \"process.env.VITE_ENVIRONMENT\": '\"ssr\"',\n ...processEnvDefines,\n ...webBuildConfig.define\n },\n ssr: {\n ...isCloudflareDeploy && {\n target: \"webworker\"\n },\n noExternal: isUnified ? [\"react\", \"react-dom\"] : true,\n optimizeDeps: optimizeDepsWithoutRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n build: {\n // we want one big file of css\n cssCodeSplit: false,\n ssr: true,\n sourcemap: false,\n outDir: `${outDir}/server`,\n rolldownOptions: {\n treeshake: true,\n // fixes some weird issues with optimizing tamagui and other packages\n // external: (id) => {\n // if (serverExternals.has(id)) return true\n // return false\n // // return /^@tamagui/.test(id)\n // },\n input: [\"virtual:one-entry\"],\n output: {\n ...isCloudflareDeploy && {\n codeSplitting: true\n },\n ...shouldOutputCJS && {\n format: \"cjs\",\n entryFileNames: \"[name].cjs\"\n }\n }\n }\n }\n });\n if (rerouteNoExternalConfig) {\n serverBuildConfig.ssr.noExternal = true;\n }\n const serverEntry = getServerEntry(options, outDir);\n let serverOutput;\n let clientManifest;\n let serverBuildPromise;\n if (serverOptions !== false) {\n if (!clientBuildPromise) {\n console.info(`\n \\u{1F528} build server\n`);\n }\n const userServerConf = optionsIn.build?.server;\n const userServerBuildConf = typeof userServerConf === \"boolean\" ? null : userServerConf?.config;\n serverBuildPromise = viteBuild(\n userServerBuildConf ? mergeConfig(serverBuildConfig, userServerBuildConf) : serverBuildConfig\n );\n }\n if (clientBuildPromise && serverBuildPromise) {\n const [clientResult, serverResult] = await Promise.all([\n clientBuildPromise,\n serverBuildPromise\n ]);\n clientOutput = clientResult.output;\n serverOutput = serverResult.output;\n } else if (clientBuildPromise) {\n const clientResult = await clientBuildPromise;\n clientOutput = clientResult.output;\n } else if (serverBuildPromise) {\n const serverResult = await serverBuildPromise;\n serverOutput = serverResult.output;\n }\n if (serverOptions !== false) {\n clientManifest = await FSExtra.readJSON(`${outDir}/client/.vite/manifest.json`);\n const old = await FSExtra.readFile(serverEntry, \"utf-8\");\n await FSExtra.writeFile(\n serverEntry,\n old.replace(\n `import { hydrate as hydrate$1, unmountComponentAtNode, render as render$1 } from \"react-dom\";`,\n \"\"\n ).replace(\n `import ReactDOM__default, { render as render$2, unmountComponentAtNode as unmountComponentAtNode$1, hydrate as hydrate$1 } from \"react-dom\";`,\n 'import ReactDOM__default from \"react-dom\";'\n )\n );\n }\n return {\n outDir,\n processEnvDefines,\n options,\n buildArgs,\n serverEntry,\n clientOutput,\n serverOutput,\n serverBuildConfig,\n webBuildConfig,\n clientManifest\n };\n};\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":"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"}
@@ -73,7 +73,7 @@ var build = async function(optionsIn) {
73
73
  var { buildBundle } = await import("../rn-commands/bundle/buildBundle.native.js");
74
74
  return buildBundle([], {
75
75
  root: options.root,
76
- vxrnEntries: options.entries
76
+ vxrnEntries: optionsIn.entries
77
77
  }, {
78
78
  platform: buildArgs.platform,
79
79
  bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
@@ -1 +1 @@
1
- {"version":3,"file":"build.native.js","names":["viteBuild"],"sources":["exports/build.native.js"],"sourcesContent":["import FSExtra from \"fs-extra\";\nimport { rm } from \"fs/promises\";\nimport { sep } from \"path\";\nimport { loadConfigFromFile, mergeConfig, build as viteBuild } from \"vite\";\nimport { getBaseViteConfigWithPlugins } from \"../config/getBaseViteConfigWithPlugins\";\nimport { getOptimizeDeps } from \"../config/getOptimizeDeps\";\nimport { fillOptions } from \"../config/getOptionsFilled\";\nimport { mergeUserConfig } from \"../config/mergeUserConfig\";\nimport { getServerCJSSetting, getServerEntry } from \"../utils/getServerEntry\";\nimport { applyBuiltInPatches } from \"../utils/patches\";\nimport { loadEnv } from \"./loadEnv\";\nvar { existsSync } = FSExtra;\nError.stackTraceLimit = Number.POSITIVE_INFINITY;\nvar disableOptimizationConfig = {\n optimizeDeps: {},\n build: {\n minify: false,\n rolldownOptions: {\n treeshake: false,\n output: {\n minifyInternalExports: false\n }\n }\n }\n};\nvar build = async function(optionsIn) {\n var buildArgs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _optionsIn_skipEnv, _ref;\n var _userViteConfig_build, _userViteConfig_ssr, _options_build, _webConfig_deploy;\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(`\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`);\n }\n var skipEnv = (_optionsIn_skipEnv = optionsIn.skipEnv) !== null && _optionsIn_skipEnv !== void 0 ? _optionsIn_skipEnv : false;\n var [envResult, options, userViteConfig] = await Promise.all([\n skipEnv ? {\n serverEnv: {},\n clientEnv: {},\n clientEnvDefine: {}\n } : loadEnv(\"production\"),\n fillOptions(optionsIn, {\n mode: \"prod\"\n }),\n loadConfigFromFile({\n command: \"build\",\n mode: \"prod\"\n }).then(function(_) {\n return _ === null || _ === void 0 ? void 0 : _.config;\n })\n ]);\n if (!process.env.ONE_SERVER_URL) {\n console.warn(`\\u26A0\\uFE0F No ONE_SERVER_URL environment set, set it in your .env to your target deploy URL`);\n }\n var processEnvDefines = Object.fromEntries(Object.entries(envResult.serverEnv).map(function(param) {\n var [key, value] = param;\n return [\n `process.env.${key}`,\n JSON.stringify(value)\n ];\n }));\n await applyBuiltInPatches(options).catch(function(err) {\n console.error(`\n \\u{1F97A} error applying built-in patches`, err);\n });\n var outDir = (_ref = userViteConfig === null || userViteConfig === void 0 ? void 0 : (_userViteConfig_build = userViteConfig.build) === null || _userViteConfig_build === void 0 ? void 0 : _userViteConfig_build.outDir) !== null && _ref !== void 0 ? _ref : \"dist\";\n await Promise.all([\n (async function() {\n if (existsSync(outDir)) {\n await rm(outDir, {\n recursive: true,\n force: true\n });\n }\n })()\n ]);\n if (buildArgs.platform === \"ios\" || buildArgs.platform === \"android\") {\n var { buildBundle } = await import(\"../rn-commands/bundle/buildBundle\");\n return buildBundle([], {\n root: options.root,\n vxrnEntries: options.entries\n }, {\n platform: buildArgs.platform,\n bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,\n dev: false,\n entryFile: \"\",\n resetCache: true,\n resetGlobalCache: true,\n sourcemapUseAbsolutePath: true,\n verbose: false,\n unstableTransformProfile: \"default\"\n });\n }\n var { optimizeDeps } = getOptimizeDeps(\"build\");\n var { rolldownOptions: optimizeDepsRolldownOptions, ...optimizeDepsWithoutRolldown } = optimizeDeps;\n var webBuildConfig = mergeConfig(await getBaseViteConfigWithPlugins({\n ...options,\n mode: \"production\"\n }), {\n plugins: globalThis.__vxrnAddWebPluginsProd,\n clearScreen: false,\n configFile: false,\n ...skipEnv && {\n envFile: false\n },\n // rolldownOptions goes on environments.client to avoid Vite compat-proxy bug\n optimizeDeps: optimizeDepsWithoutRolldown,\n environments: {\n client: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n logLevel: \"warn\",\n build: {\n rolldownOptions: {\n // react-native packages import native-only exports (codegenNativeComponent etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true,\n onwarn(warning, defaultHandler) {\n if (warning.code === \"MODULE_LEVEL_DIRECTIVE\" && warning.message.includes(\"use client\")) {\n return;\n }\n if (warning.code === \"SOURCEMAP_ERROR\" && warning.message.includes(`Can't resolve original location of error.`)) {\n return;\n }\n if (warning.code === \"EVAL\") {\n warning.message = warning.message.replace(/(\\.+\\/){0,}node_modules/, \"node_modules\");\n }\n if (warning.code === \"INVALID_ANNOTATION\") {\n return;\n }\n defaultHandler(warning);\n }\n }\n }\n });\n var rerouteNoExternalConfig = (userViteConfig === null || userViteConfig === void 0 ? void 0 : (_userViteConfig_ssr = userViteConfig.ssr) === null || _userViteConfig_ssr === void 0 ? void 0 : _userViteConfig_ssr.noExternal) === true;\n if (rerouteNoExternalConfig) {\n delete userViteConfig.ssr.noExternal;\n }\n webBuildConfig = mergeUserConfig(optimizeDeps, webBuildConfig, userViteConfig);\n var excludeAPIAndMiddlewareRoutesPlugin = {\n enforce: \"pre\",\n name: \"omit-api-routes\",\n transform: {\n order: \"pre\",\n // both patterns as one rust-side filter, so only api/middleware files\n // cross into js instead of every module in the client bundle\n filter: {\n id: /(?:\\+api|_middleware)\\.tsx?$/\n },\n handler() {\n return ``;\n }\n }\n };\n var clientOutput;\n var clientBuildPromise;\n if (buildArgs.step !== \"generate\") {\n var _options_build1;\n var clientBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [\n excludeAPIAndMiddlewareRoutesPlugin\n ],\n define: {\n \"process.env.VITE_ENVIRONMENT\": '\"client\"',\n ...process.env.ONE_SERVER_URL && {\n \"process.env.ONE_SERVER_URL\": JSON.stringify(process.env.ONE_SERVER_URL)\n }\n },\n build: {\n ssrManifest: true,\n outDir: `${outDir}/client`,\n sourcemap: false,\n manifest: true,\n rolldownOptions: {\n input: [\n \"virtual:one-entry\"\n ],\n output: {\n codeSplitting: {\n // merge tiny chunks to reduce HTTP requests and total chunk count\n minSize: 42e3\n }\n }\n }\n }\n });\n if (process.env.VXRN_DISABLE_PROD_OPTIMIZATION) {\n clientBuildConfig = mergeConfig(clientBuildConfig, disableOptimizationConfig);\n }\n console.info(`\n \\u{1F528} build ${((_options_build1 = options.build) === null || _options_build1 === void 0 ? void 0 : _options_build1.server) !== false ? \"client + server\" : \"client\"}\n`);\n clientBuildPromise = viteBuild(clientBuildConfig);\n }\n var serverOptions = (_options_build = options.build) === null || _options_build === void 0 ? void 0 : _options_build.server;\n var webConfig = optionsIn.web;\n var deployTarget = typeof (webConfig === null || webConfig === void 0 ? void 0 : webConfig.deploy) === \"string\" ? webConfig.deploy : webConfig === null || webConfig === void 0 ? void 0 : (_webConfig_deploy = webConfig.deploy) === null || _webConfig_deploy === void 0 ? void 0 : _webConfig_deploy.target;\n var isCloudflareDeploy = deployTarget === \"cloudflare\";\n var shouldOutputCJS = getServerCJSSetting(options);\n var isUnified = typeof serverOptions === \"object\" && serverOptions !== null && serverOptions.unified === true;\n var serverBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [\n excludeAPIAndMiddlewareRoutesPlugin,\n ...globalThis.__vxrnAddWebPluginsProd\n ],\n define: {\n \"process.env.TAMAGUI_IS_SERVER\": '\"1\"',\n \"process.env.VITE_ENVIRONMENT\": '\"ssr\"',\n ...processEnvDefines,\n ...webBuildConfig.define\n },\n ssr: {\n ...isCloudflareDeploy && {\n target: \"webworker\"\n },\n noExternal: isUnified ? [\n \"react\",\n \"react-dom\"\n ] : true,\n optimizeDeps: optimizeDepsWithoutRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n build: {\n // we want one big file of css\n cssCodeSplit: false,\n ssr: true,\n sourcemap: false,\n outDir: `${outDir}/server`,\n rolldownOptions: {\n treeshake: true,\n // fixes some weird issues with optimizing tamagui and other packages\n // external: (id) => {\n // if (serverExternals.has(id)) return true\n // return false\n // // return /^@tamagui/.test(id)\n // },\n input: [\n \"virtual:one-entry\"\n ],\n output: {\n ...isCloudflareDeploy && {\n codeSplitting: true\n },\n ...shouldOutputCJS && {\n format: \"cjs\",\n entryFileNames: \"[name].cjs\"\n }\n }\n }\n }\n });\n if (rerouteNoExternalConfig) {\n serverBuildConfig.ssr.noExternal = true;\n }\n var serverEntry = getServerEntry(options, outDir);\n var serverOutput;\n var clientManifest;\n var serverBuildPromise;\n if (serverOptions !== false) {\n var _optionsIn_build;\n if (!clientBuildPromise) {\n console.info(`\n \\u{1F528} build server\n`);\n }\n var userServerConf = (_optionsIn_build = optionsIn.build) === null || _optionsIn_build === void 0 ? void 0 : _optionsIn_build.server;\n var userServerBuildConf = typeof userServerConf === \"boolean\" ? null : userServerConf === null || userServerConf === void 0 ? void 0 : userServerConf.config;\n serverBuildPromise = viteBuild(userServerBuildConf ? mergeConfig(serverBuildConfig, userServerBuildConf) : serverBuildConfig);\n }\n if (clientBuildPromise && serverBuildPromise) {\n var [clientResult, serverResult] = await Promise.all([\n clientBuildPromise,\n serverBuildPromise\n ]);\n clientOutput = clientResult.output;\n serverOutput = serverResult.output;\n } else if (clientBuildPromise) {\n var clientResult1 = await clientBuildPromise;\n clientOutput = clientResult1.output;\n } else if (serverBuildPromise) {\n var serverResult1 = await serverBuildPromise;\n serverOutput = serverResult1.output;\n }\n if (serverOptions !== false) {\n clientManifest = await FSExtra.readJSON(`${outDir}/client/.vite/manifest.json`);\n var old = await FSExtra.readFile(serverEntry, \"utf-8\");\n await FSExtra.writeFile(serverEntry, old.replace(`import { hydrate as hydrate$1, unmountComponentAtNode, render as render$1 } from \"react-dom\";`, \"\").replace(`import ReactDOM__default, { render as render$2, unmountComponentAtNode as unmountComponentAtNode$1, hydrate as hydrate$1 } from \"react-dom\";`, 'import ReactDOM__default from \"react-dom\";'));\n }\n return {\n outDir,\n processEnvDefines,\n options,\n buildArgs,\n serverEntry,\n clientOutput,\n serverOutput,\n serverBuildConfig,\n webBuildConfig,\n clientManifest\n };\n};\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"build.native.js","names":["viteBuild"],"sources":["exports/build.native.js"],"sourcesContent":["import FSExtra from \"fs-extra\";\nimport { rm } from \"fs/promises\";\nimport { sep } from \"path\";\nimport { loadConfigFromFile, mergeConfig, build as viteBuild } from \"vite\";\nimport { getBaseViteConfigWithPlugins } from \"../config/getBaseViteConfigWithPlugins\";\nimport { getOptimizeDeps } from \"../config/getOptimizeDeps\";\nimport { fillOptions } from \"../config/getOptionsFilled\";\nimport { mergeUserConfig } from \"../config/mergeUserConfig\";\nimport { getServerCJSSetting, getServerEntry } from \"../utils/getServerEntry\";\nimport { applyBuiltInPatches } from \"../utils/patches\";\nimport { loadEnv } from \"./loadEnv\";\nvar { existsSync } = FSExtra;\nError.stackTraceLimit = Number.POSITIVE_INFINITY;\nvar disableOptimizationConfig = {\n optimizeDeps: {},\n build: {\n minify: false,\n rolldownOptions: {\n treeshake: false,\n output: {\n minifyInternalExports: false\n }\n }\n }\n};\nvar build = async function(optionsIn) {\n var buildArgs = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : {};\n var _optionsIn_skipEnv, _ref;\n var _userViteConfig_build, _userViteConfig_ssr, _options_build, _webConfig_deploy;\n process.env.IS_VXRN_CLI = \"true\";\n if (!process.env.NODE_ENV) {\n process.env.NODE_ENV = \"production\";\n } else if (process.env.NODE_ENV !== \"production\") {\n console.warn(`\n \\u26A0\\uFE0F Warning: NODE_ENV is set to \"${process.env.NODE_ENV}\" (builds default to \"production\")\n`);\n }\n var skipEnv = (_optionsIn_skipEnv = optionsIn.skipEnv) !== null && _optionsIn_skipEnv !== void 0 ? _optionsIn_skipEnv : false;\n var [envResult, options, userViteConfig] = await Promise.all([\n skipEnv ? {\n serverEnv: {},\n clientEnv: {},\n clientEnvDefine: {}\n } : loadEnv(\"production\"),\n fillOptions(optionsIn, {\n mode: \"prod\"\n }),\n loadConfigFromFile({\n command: \"build\",\n mode: \"prod\"\n }).then(function(_) {\n return _ === null || _ === void 0 ? void 0 : _.config;\n })\n ]);\n if (!process.env.ONE_SERVER_URL) {\n console.warn(`\\u26A0\\uFE0F No ONE_SERVER_URL environment set, set it in your .env to your target deploy URL`);\n }\n var processEnvDefines = Object.fromEntries(Object.entries(envResult.serverEnv).map(function(param) {\n var [key, value] = param;\n return [\n `process.env.${key}`,\n JSON.stringify(value)\n ];\n }));\n await applyBuiltInPatches(options).catch(function(err) {\n console.error(`\n \\u{1F97A} error applying built-in patches`, err);\n });\n var outDir = (_ref = userViteConfig === null || userViteConfig === void 0 ? void 0 : (_userViteConfig_build = userViteConfig.build) === null || _userViteConfig_build === void 0 ? void 0 : _userViteConfig_build.outDir) !== null && _ref !== void 0 ? _ref : \"dist\";\n await Promise.all([\n (async function() {\n if (existsSync(outDir)) {\n await rm(outDir, {\n recursive: true,\n force: true\n });\n }\n })()\n ]);\n if (buildArgs.platform === \"ios\" || buildArgs.platform === \"android\") {\n var { buildBundle } = await import(\"../rn-commands/bundle/buildBundle\");\n return buildBundle(\n [],\n // only an entry the app named: without one the bundle starts at the\n // generated route entry, as the xcode bundle phase does. the filled\n // default (./src/entry-native.tsx) exists only in plain vxrn apps.\n {\n root: options.root,\n vxrnEntries: optionsIn.entries\n },\n {\n platform: buildArgs.platform,\n bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,\n dev: false,\n entryFile: \"\",\n resetCache: true,\n resetGlobalCache: true,\n sourcemapUseAbsolutePath: true,\n verbose: false,\n unstableTransformProfile: \"default\"\n }\n );\n }\n var { optimizeDeps } = getOptimizeDeps(\"build\");\n var { rolldownOptions: optimizeDepsRolldownOptions, ...optimizeDepsWithoutRolldown } = optimizeDeps;\n var webBuildConfig = mergeConfig(await getBaseViteConfigWithPlugins({\n ...options,\n mode: \"production\"\n }), {\n plugins: globalThis.__vxrnAddWebPluginsProd,\n clearScreen: false,\n configFile: false,\n ...skipEnv && {\n envFile: false\n },\n // rolldownOptions goes on environments.client to avoid Vite compat-proxy bug\n optimizeDeps: optimizeDepsWithoutRolldown,\n environments: {\n client: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n logLevel: \"warn\",\n build: {\n rolldownOptions: {\n // react-native packages import native-only exports (codegenNativeComponent etc.)\n // from react-native, which is aliased to react-native-web on web. react-native-web\n // doesn't export these, so rolldown would error. shimMissingExports creates\n // undefined shims instead, matching esbuild's lenient behavior.\n shimMissingExports: true,\n onwarn(warning, defaultHandler) {\n if (warning.code === \"MODULE_LEVEL_DIRECTIVE\" && warning.message.includes(\"use client\")) {\n return;\n }\n if (warning.code === \"SOURCEMAP_ERROR\" && warning.message.includes(`Can't resolve original location of error.`)) {\n return;\n }\n if (warning.code === \"EVAL\") {\n warning.message = warning.message.replace(/(\\.+\\/){0,}node_modules/, \"node_modules\");\n }\n if (warning.code === \"INVALID_ANNOTATION\") {\n return;\n }\n defaultHandler(warning);\n }\n }\n }\n });\n var rerouteNoExternalConfig = (userViteConfig === null || userViteConfig === void 0 ? void 0 : (_userViteConfig_ssr = userViteConfig.ssr) === null || _userViteConfig_ssr === void 0 ? void 0 : _userViteConfig_ssr.noExternal) === true;\n if (rerouteNoExternalConfig) {\n delete userViteConfig.ssr.noExternal;\n }\n webBuildConfig = mergeUserConfig(optimizeDeps, webBuildConfig, userViteConfig);\n var excludeAPIAndMiddlewareRoutesPlugin = {\n enforce: \"pre\",\n name: \"omit-api-routes\",\n transform: {\n order: \"pre\",\n // both patterns as one rust-side filter, so only api/middleware files\n // cross into js instead of every module in the client bundle\n filter: {\n id: /(?:\\+api|_middleware)\\.tsx?$/\n },\n handler() {\n return ``;\n }\n }\n };\n var clientOutput;\n var clientBuildPromise;\n if (buildArgs.step !== \"generate\") {\n var _options_build1;\n var clientBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [\n excludeAPIAndMiddlewareRoutesPlugin\n ],\n define: {\n \"process.env.VITE_ENVIRONMENT\": '\"client\"',\n ...process.env.ONE_SERVER_URL && {\n \"process.env.ONE_SERVER_URL\": JSON.stringify(process.env.ONE_SERVER_URL)\n }\n },\n build: {\n ssrManifest: true,\n outDir: `${outDir}/client`,\n sourcemap: false,\n manifest: true,\n rolldownOptions: {\n input: [\n \"virtual:one-entry\"\n ],\n output: {\n codeSplitting: {\n // merge tiny chunks to reduce HTTP requests and total chunk count\n minSize: 42e3\n }\n }\n }\n }\n });\n if (process.env.VXRN_DISABLE_PROD_OPTIMIZATION) {\n clientBuildConfig = mergeConfig(clientBuildConfig, disableOptimizationConfig);\n }\n console.info(`\n \\u{1F528} build ${((_options_build1 = options.build) === null || _options_build1 === void 0 ? void 0 : _options_build1.server) !== false ? \"client + server\" : \"client\"}\n`);\n clientBuildPromise = viteBuild(clientBuildConfig);\n }\n var serverOptions = (_options_build = options.build) === null || _options_build === void 0 ? void 0 : _options_build.server;\n var webConfig = optionsIn.web;\n var deployTarget = typeof (webConfig === null || webConfig === void 0 ? void 0 : webConfig.deploy) === \"string\" ? webConfig.deploy : webConfig === null || webConfig === void 0 ? void 0 : (_webConfig_deploy = webConfig.deploy) === null || _webConfig_deploy === void 0 ? void 0 : _webConfig_deploy.target;\n var isCloudflareDeploy = deployTarget === \"cloudflare\";\n var shouldOutputCJS = getServerCJSSetting(options);\n var isUnified = typeof serverOptions === \"object\" && serverOptions !== null && serverOptions.unified === true;\n var serverBuildConfig = mergeConfig(webBuildConfig, {\n plugins: [\n excludeAPIAndMiddlewareRoutesPlugin,\n ...globalThis.__vxrnAddWebPluginsProd\n ],\n define: {\n \"process.env.TAMAGUI_IS_SERVER\": '\"1\"',\n \"process.env.VITE_ENVIRONMENT\": '\"ssr\"',\n ...processEnvDefines,\n ...webBuildConfig.define\n },\n ssr: {\n ...isCloudflareDeploy && {\n target: \"webworker\"\n },\n noExternal: isUnified ? [\n \"react\",\n \"react-dom\"\n ] : true,\n optimizeDeps: optimizeDepsWithoutRolldown\n },\n environments: {\n ssr: {\n optimizeDeps: {\n rolldownOptions: optimizeDepsRolldownOptions\n }\n }\n },\n build: {\n // we want one big file of css\n cssCodeSplit: false,\n ssr: true,\n sourcemap: false,\n outDir: `${outDir}/server`,\n rolldownOptions: {\n treeshake: true,\n // fixes some weird issues with optimizing tamagui and other packages\n // external: (id) => {\n // if (serverExternals.has(id)) return true\n // return false\n // // return /^@tamagui/.test(id)\n // },\n input: [\n \"virtual:one-entry\"\n ],\n output: {\n ...isCloudflareDeploy && {\n codeSplitting: true\n },\n ...shouldOutputCJS && {\n format: \"cjs\",\n entryFileNames: \"[name].cjs\"\n }\n }\n }\n }\n });\n if (rerouteNoExternalConfig) {\n serverBuildConfig.ssr.noExternal = true;\n }\n var serverEntry = getServerEntry(options, outDir);\n var serverOutput;\n var clientManifest;\n var serverBuildPromise;\n if (serverOptions !== false) {\n var _optionsIn_build;\n if (!clientBuildPromise) {\n console.info(`\n \\u{1F528} build server\n`);\n }\n var userServerConf = (_optionsIn_build = optionsIn.build) === null || _optionsIn_build === void 0 ? void 0 : _optionsIn_build.server;\n var userServerBuildConf = typeof userServerConf === \"boolean\" ? null : userServerConf === null || userServerConf === void 0 ? void 0 : userServerConf.config;\n serverBuildPromise = viteBuild(userServerBuildConf ? mergeConfig(serverBuildConfig, userServerBuildConf) : serverBuildConfig);\n }\n if (clientBuildPromise && serverBuildPromise) {\n var [clientResult, serverResult] = await Promise.all([\n clientBuildPromise,\n serverBuildPromise\n ]);\n clientOutput = clientResult.output;\n serverOutput = serverResult.output;\n } else if (clientBuildPromise) {\n var clientResult1 = await clientBuildPromise;\n clientOutput = clientResult1.output;\n } else if (serverBuildPromise) {\n var serverResult1 = await serverBuildPromise;\n serverOutput = serverResult1.output;\n }\n if (serverOptions !== false) {\n clientManifest = await FSExtra.readJSON(`${outDir}/client/.vite/manifest.json`);\n var old = await FSExtra.readFile(serverEntry, \"utf-8\");\n await FSExtra.writeFile(serverEntry, old.replace(`import { hydrate as hydrate$1, unmountComponentAtNode, render as render$1 } from \"react-dom\";`, \"\").replace(`import ReactDOM__default, { render as render$2, unmountComponentAtNode as unmountComponentAtNode$1, hydrate as hydrate$1 } from \"react-dom\";`, 'import ReactDOM__default from \"react-dom\";'));\n }\n return {\n outDir,\n processEnvDefines,\n options,\n buildArgs,\n serverEntry,\n clientOutput,\n serverOutput,\n serverBuildConfig,\n webBuildConfig,\n clientManifest\n };\n};\nexport {\n build\n};\n//# sourceMappingURL=build.js.map\n"],"mappings":"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"}