vxrn 2.9.2 → 2.11.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (84) hide show
  1. package/dist/config/getBaseVitePlugins.mjs +3 -1
  2. package/dist/config/getBaseVitePlugins.mjs.map +1 -1
  3. package/dist/config/getBaseVitePlugins.native.js +3 -1
  4. package/dist/config/getBaseVitePlugins.native.js.map +1 -1
  5. package/dist/constants.mjs +23 -1
  6. package/dist/constants.mjs.map +1 -1
  7. package/dist/constants.native.js +23 -1
  8. package/dist/constants.native.js.map +1 -1
  9. package/dist/exports/build.mjs +11 -12
  10. package/dist/exports/build.mjs.map +1 -1
  11. package/dist/exports/build.native.js +11 -12
  12. package/dist/exports/build.native.js.map +1 -1
  13. package/dist/exports/prebuildWithoutExpo.mjs +16 -1
  14. package/dist/exports/prebuildWithoutExpo.mjs.map +1 -1
  15. package/dist/exports/prebuildWithoutExpo.native.js +16 -1
  16. package/dist/exports/prebuildWithoutExpo.native.js.map +1 -1
  17. package/dist/index.js +2 -1
  18. package/dist/index.mjs +2 -1
  19. package/dist/index.native.js +2 -1
  20. package/dist/plugins/reactNativeDevServer.mjs +7 -5
  21. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  22. package/dist/plugins/reactNativeDevServer.native.js +8 -5
  23. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  24. package/dist/rn-commands/bundle/buildBundle.mjs +9 -0
  25. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  26. package/dist/rn-commands/bundle/buildBundle.native.js +9 -0
  27. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  28. package/dist/runtime/native-prelude.mjs +7 -1
  29. package/dist/runtime/native-prelude.mjs.map +1 -1
  30. package/dist/runtime/native-prelude.native.js +7 -1
  31. package/dist/runtime/native-prelude.native.js.map +1 -1
  32. package/dist/utils/compileNativeDevBytecode.mjs +13 -3
  33. package/dist/utils/compileNativeDevBytecode.mjs.map +1 -1
  34. package/dist/utils/compileNativeDevBytecode.native.js +13 -3
  35. package/dist/utils/compileNativeDevBytecode.native.js.map +1 -1
  36. package/dist/utils/createNativeDevEngine.mjs +375 -173
  37. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  38. package/dist/utils/createNativeDevEngine.native.js +429 -193
  39. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  40. package/dist/utils/environmentUtils.mjs +1 -1
  41. package/dist/utils/environmentUtils.mjs.map +1 -1
  42. package/dist/utils/environmentUtils.native.js +1 -1
  43. package/dist/utils/environmentUtils.native.js.map +1 -1
  44. package/dist/utils/scanDepsToOptimize.mjs +37 -15
  45. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  46. package/dist/utils/scanDepsToOptimize.native.js +45 -15
  47. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  48. package/package.json +13 -13
  49. package/src/config/getBaseVitePlugins.ts +2 -0
  50. package/src/constants.ts +24 -0
  51. package/src/exports/build.lifecycle.test.ts +152 -0
  52. package/src/exports/build.ts +16 -14
  53. package/src/exports/prebuildWithoutExpo.ts +16 -1
  54. package/src/index.ts +1 -0
  55. package/src/plugins/reactNativeCommonJsPlugin.ts +1 -1
  56. package/src/plugins/reactNativeDevServer.ts +19 -8
  57. package/src/rn-commands/bundle/buildBundle.ts +13 -1
  58. package/src/runtime/native-prelude.ts +7 -1
  59. package/src/types.ts +1 -1
  60. package/src/utils/compileNativeDevBytecode.test.ts +8 -8
  61. package/src/utils/compileNativeDevBytecode.ts +22 -2
  62. package/src/utils/createNativeDevEngine.test.ts +52 -25
  63. package/src/utils/createNativeDevEngine.ts +567 -254
  64. package/src/utils/environmentUtils.ts +6 -1
  65. package/src/utils/scanDepsToOptimize.test.ts +46 -2
  66. package/src/utils/scanDepsToOptimize.ts +78 -18
  67. package/types/config/getBaseVitePlugins.d.ts.map +1 -1
  68. package/types/constants.d.ts +2 -0
  69. package/types/constants.d.ts.map +1 -1
  70. package/types/exports/build.d.ts.map +1 -1
  71. package/types/exports/prebuildWithoutExpo.d.ts.map +1 -1
  72. package/types/index.d.ts +1 -0
  73. package/types/index.d.ts.map +1 -1
  74. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  75. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
  76. package/types/runtime/native-prelude.d.ts.map +1 -1
  77. package/types/types.d.ts +1 -1
  78. package/types/types.d.ts.map +1 -1
  79. package/types/utils/compileNativeDevBytecode.d.ts +2 -1
  80. package/types/utils/compileNativeDevBytecode.d.ts.map +1 -1
  81. package/types/utils/createNativeDevEngine.d.ts +11 -5
  82. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
  83. package/types/utils/environmentUtils.d.ts.map +1 -1
  84. package/types/utils/scanDepsToOptimize.d.ts.map +1 -1
@@ -11,7 +11,9 @@ const PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {
11
11
  ssr: ["server", "web"],
12
12
  worker: ["server", "web"],
13
13
  ios: ["ios", "native"],
14
- android: ["android", "native"]
14
+ android: ["android", "native"],
15
+ macos: ["macos", "native"],
16
+ linux: ["linux", "native"]
15
17
  };
16
18
  function getBaseVitePlugins() {
17
19
  const pathExistsCache = /* @__PURE__ */ new Map();
@@ -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\";\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"}
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 macos: [\"macos\", \"native\"],\n linux: [\"linux\", \"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;CAC7B,OAAO,CAAC,SAAS,QAAQ;CACzB,OAAO,CAAC,SAAS,QAAQ;AAC3B;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"}
@@ -11,7 +11,9 @@ var PLATFORM_EXTENSIONS_BY_ENVIRONMENT = {
11
11
  ssr: ["server", "web"],
12
12
  worker: ["server", "web"],
13
13
  ios: ["ios", "native"],
14
- android: ["android", "native"]
14
+ android: ["android", "native"],
15
+ macos: ["macos", "native"],
16
+ linux: ["linux", "native"]
15
17
  };
16
18
  function getBaseVitePlugins() {
17
19
  var pathExistsCache = /* @__PURE__ */ new Map();
@@ -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\";\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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"}
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 macos: [\n \"macos\",\n \"native\"\n ],\n linux: [\n \"linux\",\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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"}
@@ -40,6 +40,28 @@ const androidExtensions = [
40
40
  ".native.js",
41
41
  ...viteDefaultExtensions
42
42
  ];
43
+ const macosExtensions = [
44
+ ".macos.tsx",
45
+ ".macos.ts",
46
+ ".macos.mjs",
47
+ ".macos.js",
48
+ ".native.tsx",
49
+ ".native.ts",
50
+ ".native.mjs",
51
+ ".native.js",
52
+ ...viteDefaultExtensions
53
+ ];
54
+ const linuxExtensions = [
55
+ ".linux.tsx",
56
+ ".linux.ts",
57
+ ".linux.mjs",
58
+ ".linux.js",
59
+ ".native.tsx",
60
+ ".native.ts",
61
+ ".native.mjs",
62
+ ".native.js",
63
+ ...viteDefaultExtensions
64
+ ];
43
65
 
44
- export { DEFAULT_PORT, androidExtensions, iosExtensions, ssrExtensions, webExtensions };
66
+ export { DEFAULT_PORT, androidExtensions, iosExtensions, linuxExtensions, macosExtensions, ssrExtensions, webExtensions };
45
67
  //# sourceMappingURL=constants.mjs.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.js","names":[],"sources":["constants.js"],"sourcesContent":["const DEFAULT_PORT = 8081;\nconst viteDefaultExtensions = [\n // keep indent\n \".mjs\",\n \".js\",\n \".ts\",\n \".tsx\",\n \".json\"\n];\nconst webExtensions = [\n \".web.tsx\",\n \".web.ts\",\n \".web.mjs\",\n \".web.js\",\n ...viteDefaultExtensions\n];\nconst ssrExtensions = [\".server.tsx\", \".server.ts\", ...webExtensions];\nconst iosExtensions = [\n \".ios.tsx\",\n \".ios.ts\",\n \".ios.mjs\",\n \".ios.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nconst androidExtensions = [\n \".android.tsx\",\n \".android.ts\",\n \".android.mjs\",\n \".android.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nexport {\n DEFAULT_PORT,\n androidExtensions,\n iosExtensions,\n ssrExtensions,\n webExtensions\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";AAAA,MAAM,eAAe;AACrB,MAAM,wBAAwB;CAE5B;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,gBAAgB;CAAC;CAAe;CAAc,GAAG;AAAa;AACpE,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL"}
1
+ {"version":3,"file":"constants.js","names":[],"sources":["constants.js"],"sourcesContent":["const DEFAULT_PORT = 8081;\nconst viteDefaultExtensions = [\n // keep indent\n \".mjs\",\n \".js\",\n \".ts\",\n \".tsx\",\n \".json\"\n];\nconst webExtensions = [\n \".web.tsx\",\n \".web.ts\",\n \".web.mjs\",\n \".web.js\",\n ...viteDefaultExtensions\n];\nconst ssrExtensions = [\".server.tsx\", \".server.ts\", ...webExtensions];\nconst iosExtensions = [\n \".ios.tsx\",\n \".ios.ts\",\n \".ios.mjs\",\n \".ios.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nconst androidExtensions = [\n \".android.tsx\",\n \".android.ts\",\n \".android.mjs\",\n \".android.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nconst macosExtensions = [\n \".macos.tsx\",\n \".macos.ts\",\n \".macos.mjs\",\n \".macos.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nconst linuxExtensions = [\n \".linux.tsx\",\n \".linux.ts\",\n \".linux.mjs\",\n \".linux.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nexport {\n DEFAULT_PORT,\n androidExtensions,\n iosExtensions,\n linuxExtensions,\n macosExtensions,\n ssrExtensions,\n webExtensions\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";AAAA,MAAM,eAAe;AACrB,MAAM,wBAAwB;CAE5B;CACA;CACA;CACA;CACA;AACF;AACA,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,gBAAgB;CAAC;CAAe;CAAc,GAAG;AAAa;AACpE,MAAM,gBAAgB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,oBAAoB;CACxB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,MAAM,kBAAkB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL"}
@@ -40,6 +40,28 @@ var androidExtensions = [
40
40
  ".native.js",
41
41
  ...viteDefaultExtensions
42
42
  ];
43
+ var macosExtensions = [
44
+ ".macos.tsx",
45
+ ".macos.ts",
46
+ ".macos.mjs",
47
+ ".macos.js",
48
+ ".native.tsx",
49
+ ".native.ts",
50
+ ".native.mjs",
51
+ ".native.js",
52
+ ...viteDefaultExtensions
53
+ ];
54
+ var linuxExtensions = [
55
+ ".linux.tsx",
56
+ ".linux.ts",
57
+ ".linux.mjs",
58
+ ".linux.js",
59
+ ".native.tsx",
60
+ ".native.ts",
61
+ ".native.mjs",
62
+ ".native.js",
63
+ ...viteDefaultExtensions
64
+ ];
43
65
 
44
- export { DEFAULT_PORT, androidExtensions, iosExtensions, ssrExtensions, webExtensions };
66
+ export { DEFAULT_PORT, androidExtensions, iosExtensions, linuxExtensions, macosExtensions, ssrExtensions, webExtensions };
45
67
  //# sourceMappingURL=constants.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"constants.native.js","names":[],"sources":["constants.native.js"],"sourcesContent":["var DEFAULT_PORT = 8081;\nvar viteDefaultExtensions = [\n // keep indent\n \".mjs\",\n \".js\",\n \".ts\",\n \".tsx\",\n \".json\"\n];\nvar webExtensions = [\n \".web.tsx\",\n \".web.ts\",\n \".web.mjs\",\n \".web.js\",\n ...viteDefaultExtensions\n];\nvar ssrExtensions = [\n \".server.tsx\",\n \".server.ts\",\n ...webExtensions\n];\nvar iosExtensions = [\n \".ios.tsx\",\n \".ios.ts\",\n \".ios.mjs\",\n \".ios.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nvar androidExtensions = [\n \".android.tsx\",\n \".android.ts\",\n \".android.mjs\",\n \".android.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nexport {\n DEFAULT_PORT,\n androidExtensions,\n iosExtensions,\n ssrExtensions,\n webExtensions\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";AAAA,IAAI,eAAe;AACnB,IAAI,wBAAwB;CAE1B;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,gBAAgB;CAClB;CACA;CACA,GAAG;AACL;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,oBAAoB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL"}
1
+ {"version":3,"file":"constants.native.js","names":[],"sources":["constants.native.js"],"sourcesContent":["var DEFAULT_PORT = 8081;\nvar viteDefaultExtensions = [\n // keep indent\n \".mjs\",\n \".js\",\n \".ts\",\n \".tsx\",\n \".json\"\n];\nvar webExtensions = [\n \".web.tsx\",\n \".web.ts\",\n \".web.mjs\",\n \".web.js\",\n ...viteDefaultExtensions\n];\nvar ssrExtensions = [\n \".server.tsx\",\n \".server.ts\",\n ...webExtensions\n];\nvar iosExtensions = [\n \".ios.tsx\",\n \".ios.ts\",\n \".ios.mjs\",\n \".ios.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nvar androidExtensions = [\n \".android.tsx\",\n \".android.ts\",\n \".android.mjs\",\n \".android.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nvar macosExtensions = [\n \".macos.tsx\",\n \".macos.ts\",\n \".macos.mjs\",\n \".macos.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nvar linuxExtensions = [\n \".linux.tsx\",\n \".linux.ts\",\n \".linux.mjs\",\n \".linux.js\",\n \".native.tsx\",\n \".native.ts\",\n \".native.mjs\",\n \".native.js\",\n ...viteDefaultExtensions\n];\nexport {\n DEFAULT_PORT,\n androidExtensions,\n iosExtensions,\n linuxExtensions,\n macosExtensions,\n ssrExtensions,\n webExtensions\n};\n//# sourceMappingURL=constants.js.map\n"],"mappings":";AAAA,IAAI,eAAe;AACnB,IAAI,wBAAwB;CAE1B;CACA;CACA;CACA;CACA;AACF;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,gBAAgB;CAClB;CACA;CACA,GAAG;AACL;AACA,IAAI,gBAAgB;CAClB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,oBAAoB;CACtB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,kBAAkB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL;AACA,IAAI,kBAAkB;CACpB;CACA;CACA;CACA;CACA;CACA;CACA;CACA;CACA,GAAG;AACL"}
@@ -10,7 +10,6 @@ import { getServerCJSSetting, getServerEntry } from "../utils/getServerEntry.mjs
10
10
  import { applyBuiltInPatches } from "../utils/patches.mjs";
11
11
  import { loadEnv } from "./loadEnv.mjs";
12
12
 
13
- const { existsSync } = FSExtra;
14
13
  const disableOptimizationConfig = {
15
14
  optimizeDeps: {},
16
15
  build: {
@@ -54,22 +53,22 @@ const build = async (optionsIn, buildArgs = {}) => {
54
53
  \u{1F97A} error applying built-in patches`, err);
55
54
  });
56
55
  const outDir = userViteConfig?.build?.outDir ?? "dist";
57
- await Promise.all([(async () => {
58
- if (existsSync(outDir)) {
59
- await rm(outDir, {
60
- recursive: true,
61
- force: true
62
- });
63
- }
64
- })()]);
65
- if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
56
+ const platform = buildArgs.platform;
57
+ const isNativeBuild = platform === "ios" || platform === "android" || platform === "macos" || platform === "linux";
58
+ const cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
59
+ await rm(cleanDir, {
60
+ recursive: true,
61
+ force: true
62
+ });
63
+ if (isNativeBuild) {
66
64
  const { buildBundle } = await import("../rn-commands/bundle/buildBundle.mjs");
67
65
  return buildBundle([], {
68
66
  root: options.root,
69
67
  vxrnEntries: optionsIn.entries
70
68
  }, {
71
- platform: buildArgs.platform,
72
- bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
69
+ platform,
70
+ bundleOutput: `${outDir}${sep}${platform}.js`,
71
+ assetsDest: outDir,
73
72
  dev: false,
74
73
  entryFile: "",
75
74
  resetCache: true,
@@ -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;\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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"}
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 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 const platform = buildArgs.platform;\n const isNativeBuild = platform === \"ios\" || platform === \"android\" || platform === \"macos\" || platform === \"linux\";\n const cleanDir = buildArgs.step === \"generate\" && !isNativeBuild ? `${outDir}/server` : outDir;\n await rm(cleanDir, { recursive: true, force: true });\n if (isNativeBuild) {\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,\n bundleOutput: `${outDir}${sep}${platform}.js`,\n // every native build emits imported assets beside its bundle\n assetsDest: outDir,\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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"}
@@ -10,7 +10,6 @@ import { getServerCJSSetting, getServerEntry } from "../utils/getServerEntry.nat
10
10
  import { applyBuiltInPatches } from "../utils/patches.native.js";
11
11
  import { loadEnv } from "./loadEnv.native.js";
12
12
 
13
- var { existsSync } = FSExtra;
14
13
  var disableOptimizationConfig = {
15
14
  optimizeDeps: {},
16
15
  build: {
@@ -60,22 +59,22 @@ var build = async function build2(optionsIn) {
60
59
  \u{1F97A} error applying built-in patches`, err);
61
60
  });
62
61
  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";
63
- await Promise.all([(async function() {
64
- if (existsSync(outDir)) {
65
- await rm(outDir, {
66
- recursive: true,
67
- force: true
68
- });
69
- }
70
- })()]);
71
- if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
62
+ var platform = buildArgs.platform;
63
+ var isNativeBuild = platform === "ios" || platform === "android" || platform === "macos" || platform === "linux";
64
+ var cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
65
+ await rm(cleanDir, {
66
+ recursive: true,
67
+ force: true
68
+ });
69
+ if (isNativeBuild) {
72
70
  var { buildBundle } = await import("../rn-commands/bundle/buildBundle.native.js");
73
71
  return buildBundle([], {
74
72
  root: options.root,
75
73
  vxrnEntries: optionsIn.entries
76
74
  }, {
77
- platform: buildArgs.platform,
78
- bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
75
+ platform,
76
+ bundleOutput: `${outDir}${sep}${platform}.js`,
77
+ assetsDest: outDir,
79
78
  dev: false,
80
79
  entryFile: "",
81
80
  resetCache: true,
@@ -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;\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 build2(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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"}
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 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 build2(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 var platform = buildArgs.platform;\n var isNativeBuild = platform === \"ios\" || platform === \"android\" || platform === \"macos\" || platform === \"linux\";\n var cleanDir = buildArgs.step === \"generate\" && !isNativeBuild ? `${outDir}/server` : outDir;\n await rm(cleanDir, {\n recursive: true,\n force: true\n });\n if (isNativeBuild) {\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,\n bundleOutput: `${outDir}${sep}${platform}.js`,\n // every native build emits imported assets beside its bundle\n assetsDest: outDir,\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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"}
@@ -140,7 +140,7 @@ class AppDelegate: UIResponder, UIApplicationDelegate {
140
140
  ) -> Bool {
141
141
  let delegate = ReactNativeDelegate()
142
142
  let factory = RCTReactNativeFactory(delegate: delegate)
143
- delegate.dependencyProvider = RCTAppDependencyProvider()
143
+ delegate.dependencyProvider = OneDependencyProvider()
144
144
  reactNativeDelegate = delegate
145
145
  reactNativeFactory = factory
146
146
  ${backgroundTasks ? ` OneBackgroundTasksRegisterHost(factory, launchOptions)
@@ -149,6 +149,21 @@ ${backgroundTasks ? ` OneBackgroundTasksRegisterHost(factory, launchOptions)
149
149
  }
150
150
  }
151
151
 
152
+ // react native creates these modules on the main queue while the instance
153
+ // initializes. left lazy, the first js access blocks the js thread on a
154
+ // synchronous main queue hop that waits behind the app's own launch work.
155
+ class OneDependencyProvider: RCTAppDependencyProvider {
156
+ override func unstableModulesRequiringMainQueueSetup() -> [String] {
157
+ super.unstableModulesRequiringMainQueueSetup() + [
158
+ "PlatformConstants",
159
+ "DeviceInfo",
160
+ "AccessibilityManager",
161
+ "Appearance",
162
+ "OneNativeSafeAreaContext",
163
+ ]
164
+ }
165
+ }
166
+
152
167
  class ReactNativeDelegate: RCTDefaultReactNativeFactoryDelegate {
153
168
  override func bundleURL() -> URL? {
154
169
  #if DEBUG