vxrn 2.10.0 → 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 (78) 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 +6 -4
  10. package/dist/exports/build.mjs.map +1 -1
  11. package/dist/exports/build.native.js +6 -4
  12. package/dist/exports/build.native.js.map +1 -1
  13. package/dist/index.js +2 -1
  14. package/dist/index.mjs +2 -1
  15. package/dist/index.native.js +2 -1
  16. package/dist/plugins/reactNativeDevServer.mjs +7 -5
  17. package/dist/plugins/reactNativeDevServer.mjs.map +1 -1
  18. package/dist/plugins/reactNativeDevServer.native.js +8 -5
  19. package/dist/plugins/reactNativeDevServer.native.js.map +1 -1
  20. package/dist/rn-commands/bundle/buildBundle.mjs +9 -0
  21. package/dist/rn-commands/bundle/buildBundle.mjs.map +1 -1
  22. package/dist/rn-commands/bundle/buildBundle.native.js +9 -0
  23. package/dist/rn-commands/bundle/buildBundle.native.js.map +1 -1
  24. package/dist/runtime/native-prelude.mjs +7 -1
  25. package/dist/runtime/native-prelude.mjs.map +1 -1
  26. package/dist/runtime/native-prelude.native.js +7 -1
  27. package/dist/runtime/native-prelude.native.js.map +1 -1
  28. package/dist/utils/compileNativeDevBytecode.mjs +13 -3
  29. package/dist/utils/compileNativeDevBytecode.mjs.map +1 -1
  30. package/dist/utils/compileNativeDevBytecode.native.js +13 -3
  31. package/dist/utils/compileNativeDevBytecode.native.js.map +1 -1
  32. package/dist/utils/createNativeDevEngine.mjs +375 -173
  33. package/dist/utils/createNativeDevEngine.mjs.map +1 -1
  34. package/dist/utils/createNativeDevEngine.native.js +429 -193
  35. package/dist/utils/createNativeDevEngine.native.js.map +1 -1
  36. package/dist/utils/environmentUtils.mjs +1 -1
  37. package/dist/utils/environmentUtils.mjs.map +1 -1
  38. package/dist/utils/environmentUtils.native.js +1 -1
  39. package/dist/utils/environmentUtils.native.js.map +1 -1
  40. package/dist/utils/scanDepsToOptimize.mjs +37 -15
  41. package/dist/utils/scanDepsToOptimize.mjs.map +1 -1
  42. package/dist/utils/scanDepsToOptimize.native.js +45 -15
  43. package/dist/utils/scanDepsToOptimize.native.js.map +1 -1
  44. package/package.json +13 -13
  45. package/src/config/getBaseVitePlugins.ts +2 -0
  46. package/src/constants.ts +24 -0
  47. package/src/exports/build.lifecycle.test.ts +2 -1
  48. package/src/exports/build.ts +11 -4
  49. package/src/index.ts +1 -0
  50. package/src/plugins/reactNativeCommonJsPlugin.ts +1 -1
  51. package/src/plugins/reactNativeDevServer.ts +19 -8
  52. package/src/rn-commands/bundle/buildBundle.ts +13 -1
  53. package/src/runtime/native-prelude.ts +7 -1
  54. package/src/types.ts +1 -1
  55. package/src/utils/compileNativeDevBytecode.test.ts +8 -8
  56. package/src/utils/compileNativeDevBytecode.ts +22 -2
  57. package/src/utils/createNativeDevEngine.test.ts +52 -25
  58. package/src/utils/createNativeDevEngine.ts +567 -254
  59. package/src/utils/environmentUtils.ts +6 -1
  60. package/src/utils/scanDepsToOptimize.test.ts +46 -2
  61. package/src/utils/scanDepsToOptimize.ts +78 -18
  62. package/types/config/getBaseVitePlugins.d.ts.map +1 -1
  63. package/types/constants.d.ts +2 -0
  64. package/types/constants.d.ts.map +1 -1
  65. package/types/exports/build.d.ts.map +1 -1
  66. package/types/index.d.ts +1 -0
  67. package/types/index.d.ts.map +1 -1
  68. package/types/plugins/reactNativeDevServer.d.ts.map +1 -1
  69. package/types/rn-commands/bundle/buildBundle.d.ts.map +1 -1
  70. package/types/runtime/native-prelude.d.ts.map +1 -1
  71. package/types/types.d.ts +1 -1
  72. package/types/types.d.ts.map +1 -1
  73. package/types/utils/compileNativeDevBytecode.d.ts +2 -1
  74. package/types/utils/compileNativeDevBytecode.d.ts.map +1 -1
  75. package/types/utils/createNativeDevEngine.d.ts +11 -5
  76. package/types/utils/createNativeDevEngine.d.ts.map +1 -1
  77. package/types/utils/environmentUtils.d.ts.map +1 -1
  78. 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"}
@@ -53,20 +53,22 @@ const build = async (optionsIn, buildArgs = {}) => {
53
53
  \u{1F97A} error applying built-in patches`, err);
54
54
  });
55
55
  const outDir = userViteConfig?.build?.outDir ?? "dist";
56
- const isNativeBuild = buildArgs.platform === "ios" || buildArgs.platform === "android";
56
+ const platform = buildArgs.platform;
57
+ const isNativeBuild = platform === "ios" || platform === "android" || platform === "macos" || platform === "linux";
57
58
  const cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
58
59
  await rm(cleanDir, {
59
60
  recursive: true,
60
61
  force: true
61
62
  });
62
- if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
63
+ if (isNativeBuild) {
63
64
  const { buildBundle } = await import("../rn-commands/bundle/buildBundle.mjs");
64
65
  return buildBundle([], {
65
66
  root: options.root,
66
67
  vxrnEntries: optionsIn.entries
67
68
  }, {
68
- platform: buildArgs.platform,
69
- bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
69
+ platform,
70
+ bundleOutput: `${outDir}${sep}${platform}.js`,
71
+ assetsDest: outDir,
70
72
  dev: false,
71
73
  entryFile: "",
72
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 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 isNativeBuild = buildArgs.platform === \"ios\" || buildArgs.platform === \"android\";\n const cleanDir = buildArgs.step === \"generate\" && !isNativeBuild ? `${outDir}/server` : outDir;\n await rm(cleanDir, { recursive: true, force: true });\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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"}
@@ -59,20 +59,22 @@ var build = async function build2(optionsIn) {
59
59
  \u{1F97A} error applying built-in patches`, err);
60
60
  });
61
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";
62
- var isNativeBuild = buildArgs.platform === "ios" || buildArgs.platform === "android";
62
+ var platform = buildArgs.platform;
63
+ var isNativeBuild = platform === "ios" || platform === "android" || platform === "macos" || platform === "linux";
63
64
  var cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
64
65
  await rm(cleanDir, {
65
66
  recursive: true,
66
67
  force: true
67
68
  });
68
- if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
69
+ if (isNativeBuild) {
69
70
  var { buildBundle } = await import("../rn-commands/bundle/buildBundle.native.js");
70
71
  return buildBundle([], {
71
72
  root: options.root,
72
73
  vxrnEntries: optionsIn.entries
73
74
  }, {
74
- platform: buildArgs.platform,
75
- bundleOutput: `${outDir}${sep}${buildArgs.platform}.js`,
75
+ platform,
76
+ bundleOutput: `${outDir}${sep}${platform}.js`,
77
+ assetsDest: outDir,
76
78
  dev: false,
77
79
  entryFile: "",
78
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 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 isNativeBuild = buildArgs.platform === \"ios\" || buildArgs.platform === \"android\";\n var cleanDir = buildArgs.step === \"generate\" && !isNativeBuild ? `${outDir}/server` : outDir;\n await rm(cleanDir, {\n recursive: true,\n force: true\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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"}
package/dist/index.js CHANGED
@@ -9,6 +9,7 @@ import { patch } from "./exports/patch.mjs";
9
9
  import { loadEnv } from "./exports/loadEnv.mjs";
10
10
  import { serveStaticAssets } from "./exports/serveStaticAssets.mjs";
11
11
  import { fillOptions, getOptionsFilled } from "./config/getOptionsFilled.mjs";
12
+ import { resolveNpmHermesc } from "./utils/compileNativeDevBytecode.mjs";
12
13
  import { assertBackgroundDependency, createBackgroundWorkletModule, loadBackgroundComputationModule, transformBackgroundComputations } from "./backgroundComputation.mjs";
13
14
 
14
15
  export * from "./config/getOptimizeDeps.mjs"
@@ -39,4 +40,4 @@ export * from "./plugins/backgroundComputationPlugin.mjs"
39
40
 
40
41
  export * from "./types.mjs"
41
42
 
42
- export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
43
+ export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, resolveNpmHermesc, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
package/dist/index.mjs CHANGED
@@ -9,6 +9,7 @@ import { patch } from "./exports/patch.mjs";
9
9
  import { loadEnv } from "./exports/loadEnv.mjs";
10
10
  import { serveStaticAssets } from "./exports/serveStaticAssets.mjs";
11
11
  import { fillOptions, getOptionsFilled } from "./config/getOptionsFilled.mjs";
12
+ import { resolveNpmHermesc } from "./utils/compileNativeDevBytecode.mjs";
12
13
  import { assertBackgroundDependency, createBackgroundWorkletModule, loadBackgroundComputationModule, transformBackgroundComputations } from "./backgroundComputation.mjs";
13
14
 
14
15
  export * from "./config/getOptimizeDeps.mjs"
@@ -39,4 +40,4 @@ export * from "./plugins/backgroundComputationPlugin.mjs"
39
40
 
40
41
  export * from "./types.mjs"
41
42
 
42
- export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
43
+ export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, resolveNpmHermesc, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
@@ -9,6 +9,7 @@ import { patch } from "./exports/patch.native.js";
9
9
  import { loadEnv } from "./exports/loadEnv.native.js";
10
10
  import { serveStaticAssets } from "./exports/serveStaticAssets.native.js";
11
11
  import { fillOptions, getOptionsFilled } from "./config/getOptionsFilled.native.js";
12
+ import { resolveNpmHermesc } from "./utils/compileNativeDevBytecode.native.js";
12
13
  import { assertBackgroundDependency, createBackgroundWorkletModule, loadBackgroundComputationModule, transformBackgroundComputations } from "./backgroundComputation.native.js";
13
14
 
14
15
  export * from "./config/getOptimizeDeps.native.js"
@@ -39,4 +40,4 @@ export * from "./plugins/backgroundComputationPlugin.native.js"
39
40
 
40
41
  export * from "./types.native.js"
41
42
 
42
- export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
43
+ export { assertBackgroundDependency, build, clean, createBackgroundWorkletModule, dev, fillOptions, getOptionsFilled, loadBackgroundComputationModule, loadEnv, patch, prebuild, resolveNpmHermesc, runAndroid, runIos, serve, serveStaticAssets, transformBackgroundComputations };
@@ -56,13 +56,15 @@ function createReactNativeDevServerPlugin(options) {
56
56
  const messageWSS = createMessageSocket();
57
57
  const validPlatforms = {
58
58
  ios: "ios",
59
- android: "android"
59
+ android: "android",
60
+ macos: "macos",
61
+ linux: "linux"
60
62
  };
61
63
  const devEngines = {};
62
64
  const devEngineCreating = {};
63
65
  const warnedProdBundleRequest = /* @__PURE__ */ new Set();
64
66
  const pendingReloadPlatforms = /* @__PURE__ */ new Set();
65
- let compileBytecode;
67
+ const compileBytecode = {};
66
68
  const devToolsSocketEndpoints = ["/inspector/device", "/inspector/debug"];
67
69
  const reactNativeDevToolsUrl = `http://${typeof host === "string" && host !== "0.0.0.0" ? host : "localhost"}:${getBoundPort(server)}`;
68
70
  const { middleware, websocketEndpoints } = createDevMiddleware({
@@ -438,9 +440,9 @@ X-Http-Status: ${status}\r
438
440
  try {
439
441
  const bundle = await (await getDevEngine(platform)).getBundle();
440
442
  let body = bundle.code;
441
- if (platform === "ios" && url.searchParams.get("bytecode") === "hermes") {
442
- compileBytecode ||= nativeDevBytecodeCompiler(root);
443
- body = await compileBytecode(bundle, `${url.origin}/index.bundle?platform=${platform}`);
443
+ if ((platform === "ios" || platform === "macos") && url.searchParams.get("bytecode") === "hermes") {
444
+ const compile = compileBytecode[platform] ||= nativeDevBytecodeCompiler(root, platform);
445
+ body = await compile(bundle, `${url.origin}/index.bundle?platform=${platform}`);
444
446
  }
445
447
  res.once("finish", () => pendingReloadPlatforms.delete(platform));
446
448
  sendBundle(200, "text/javascript", body);