vxrn 2.9.1 → 2.10.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.
@@ -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,14 +53,12 @@ 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
- })()]);
56
+ const isNativeBuild = buildArgs.platform === "ios" || buildArgs.platform === "android";
57
+ const cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
58
+ await rm(cleanDir, {
59
+ recursive: true,
60
+ force: true
61
+ });
65
62
  if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
66
63
  const { buildBundle } = await import("../rn-commands/bundle/buildBundle.mjs");
67
64
  return buildBundle([], {
@@ -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 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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"}
@@ -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,14 +59,12 @@ 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
- })()]);
62
+ var isNativeBuild = buildArgs.platform === "ios" || buildArgs.platform === "android";
63
+ var cleanDir = buildArgs.step === "generate" && !isNativeBuild ? `${outDir}/server` : outDir;
64
+ await rm(cleanDir, {
65
+ recursive: true,
66
+ force: true
67
+ });
71
68
  if (buildArgs.platform === "ios" || buildArgs.platform === "android") {
72
69
  var { buildBundle } = await import("../rn-commands/bundle/buildBundle.native.js");
73
70
  return buildBundle([], {
@@ -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 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":";;;;;;;;;;;;;AAWA,IAAI,4BAA4B;CAC9B,cAAc,CAAC;CACf,OAAO;EACL,QAAQ;EACR,iBAAiB;GACf,WAAW;GACX,QAAQ,EACN,uBAAuB,MACzB;EACF;CACF;AACF;AACA,IAAI,QAAQ,eAAe,OAAO,WAAW;CAC3C,IAAI,YAAY,UAAU,SAAS,KAAK,UAAU,OAAO,KAAK,IAAI,UAAU,KAAK,CAAC;CAClF,IAAI,oBAAoB;CACxB,IAAI,uBAAuB,qBAAqB,gBAAgB;CAChE,QAAQ,IAAI,cAAc;CAC1B,IAAI,CAAC,QAAQ,IAAI,UAAU;EACzB,QAAQ,IAAI,WAAW;CACzB,OAAO,IAAI,QAAQ,IAAI,aAAa,cAAc;EAChD,QAAQ,KAAK;8CAC6B,QAAQ,IAAI,SAAS;CAClE;CACC;CACA,IAAI,WAAW,qBAAqB,UAAU,aAAa,QAAQ,uBAAuB,KAAK,IAAI,qBAAqB;CACxH,IAAI,CAAC,WAAW,SAAS,kBAAkB,MAAM,QAAQ,IAAI;EAC3D,UAAU;GACR,WAAW,CAAC;GACZ,WAAW,CAAC;GACZ,iBAAiB,CAAC;EACpB,IAAI,QAAQ,YAAY;EACxB,YAAY,WAAW,EACrB,MAAM,OACR,CAAC;EACD,mBAAmB;GACjB,SAAS;GACT,MAAM;EACR,CAAC,CAAC,CAAC,KAAK,SAAS,GAAG;GAClB,OAAO,MAAM,QAAQ,MAAM,KAAK,IAAI,KAAK,IAAI,EAAE;EACjD,CAAC;CACH,CAAC;CACD,IAAI,CAAC,QAAQ,IAAI,gBAAgB;EAC/B,QAAQ,KAAK,+FAA+F;CAC9G;CACA,IAAI,oBAAoB,OAAO,YAAY,OAAO,QAAQ,UAAU,SAAS,CAAC,CAAC,IAAI,SAAS,OAAO;EACjG,IAAI,CAAC,KAAK,SAAS;EACnB,OAAO,CACL,eAAe,OACf,KAAK,UAAU,KAAK,CACtB;CACF,CAAC,CAAC;CACF,MAAM,oBAAoB,OAAO,CAAC,CAAC,MAAM,SAAS,KAAK;EACrD,QAAQ,MAAM;6CAC2B,GAAG;CAC9C,CAAC;CACD,IAAI,UAAU,OAAO,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,wBAAwB,eAAe,WAAW,QAAQ,0BAA0B,KAAK,IAAI,KAAK,IAAI,sBAAsB,YAAY,QAAQ,SAAS,KAAK,IAAI,OAAO;CAC/P,IAAI,gBAAgB,UAAU,aAAa,SAAS,UAAU,aAAa;CAC3E,IAAI,WAAW,UAAU,SAAS,cAAc,CAAC,gBAAgB,GAAG,OAAO,WAAW;CACtF,MAAM,GAAG,UAAU;EACjB,WAAW;EACX,OAAO;CACT,CAAC;CACD,IAAI,UAAU,aAAa,SAAS,UAAU,aAAa,WAAW;EACpE,IAAI,EAAE,gBAAgB,MAAM,OAAO;EACnC,OAAO,YACL,CAAC,GAID;GACE,MAAM,QAAQ;GACd,aAAa,UAAU;EACzB,GACA;GACE,UAAU,UAAU;GACpB,cAAc,GAAG,SAAS,MAAM,UAAU,SAAS;GACnD,KAAK;GACL,WAAW;GACX,YAAY;GACZ,kBAAkB;GAClB,0BAA0B;GAC1B,SAAS;GACT,0BAA0B;EAC5B,CACF;CACF;CACA,IAAI,EAAE,iBAAiB,gBAAgB,OAAO;CAC9C,IAAI,EAAE,iBAAiB,6BAA6B,GAAG,gCAAgC;CACvF,IAAI,iBAAiB,YAAY,MAAM,6BAA6B;EAClE,GAAG;EACH,MAAM;CACR,CAAC,GAAG;EACF,SAAS,WAAW;EACpB,aAAa;EACb,YAAY;EACZ,GAAG,WAAW,EACZ,SAAS,MACX;EAEA,cAAc;EACd,cAAc,EACZ,QAAQ,EACN,cAAc,EACZ,iBAAiB,4BACnB,EACF,EACF;EACA,UAAU;EACV,OAAO,EACL,iBAAiB;GAKf,oBAAoB;GACpB,OAAO,SAAS,gBAAgB;IAC9B,IAAI,QAAQ,SAAS,4BAA4B,QAAQ,QAAQ,SAAS,YAAY,GAAG;KACvF;IACF;IACA,IAAI,QAAQ,SAAS,qBAAqB,QAAQ,QAAQ,SAAS,2CAA2C,GAAG;KAC/G;IACF;IACA,IAAI,QAAQ,SAAS,QAAQ;KAC3B,QAAQ,UAAU,QAAQ,QAAQ,QAAQ,2BAA2B,cAAc;IACrF;IACA,IAAI,QAAQ,SAAS,sBAAsB;KACzC;IACF;IACA,eAAe,OAAO;GACxB;EACF,EACF;CACF,CAAC;CACD,IAAI,2BAA2B,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,KAAK,sBAAsB,eAAe,SAAS,QAAQ,wBAAwB,KAAK,IAAI,KAAK,IAAI,oBAAoB,gBAAgB;CACpO,IAAI,yBAAyB;EAC3B,OAAO,eAAe,IAAI;CAC5B;CACA,iBAAiB,gBAAgB,cAAc,gBAAgB,cAAc;CAC7E,IAAI,sCAAsC;EACxC,SAAS;EACT,MAAM;EACN,WAAW;GACT,OAAO;GAGP,QAAQ,EACN,IAAI,+BACN;GACA,UAAU;IACR,OAAO;GACT;EACF;CACF;CACA,IAAI;CACJ,IAAI;CACJ,IAAI,UAAU,SAAS,YAAY;EACjC,IAAI;EACJ,IAAI,oBAAoB,YAAY,gBAAgB;GAClD,SAAS,CACP,mCACF;GACA,QAAQ;IACN,gCAAgC;IAChC,GAAG,QAAQ,IAAI,kBAAkB,EAC/B,8BAA8B,KAAK,UAAU,QAAQ,IAAI,cAAc,EACzE;GACF;GACA,OAAO;IACL,aAAa;IACb,QAAQ,GAAG,OAAO;IAClB,WAAW;IACX,UAAU;IACV,iBAAiB;KACf,OAAO,CACL,mBACF;KACA,QAAQ,EACN,eAAe,EAEb,SAAS,KACX,EACF;IACF;GACF;EACF,CAAC;EACD,IAAI,QAAQ,IAAI,gCAAgC;GAC9C,oBAAoB,YAAY,mBAAmB,yBAAyB;EAC9E;EACA,QAAQ,KAAK;qBACI,kBAAkB,QAAQ,WAAW,QAAQ,oBAAoB,KAAK,IAAI,KAAK,IAAI,gBAAgB,YAAY,QAAQ,oBAAoB,SAAS;CACxK;EACG,qBAAqBA,QAAU,iBAAiB;CAClD;CACA,IAAI,iBAAiB,iBAAiB,QAAQ,WAAW,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;CACrH,IAAI,YAAY,UAAU;CAC1B,IAAI,eAAe,QAAQ,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,IAAI,UAAU,YAAY,WAAW,UAAU,SAAS,cAAc,QAAQ,cAAc,KAAK,IAAI,KAAK,KAAK,oBAAoB,UAAU,YAAY,QAAQ,sBAAsB,KAAK,IAAI,KAAK,IAAI,kBAAkB;CACxS,IAAI,qBAAqB,iBAAiB;CAC1C,IAAI,kBAAkB,oBAAoB,OAAO;CACjD,IAAI,YAAY,OAAO,kBAAkB,YAAY,kBAAkB,QAAQ,cAAc,YAAY;CACzG,IAAI,oBAAoB,YAAY,gBAAgB;EAClD,SAAS,CACP,qCACA,GAAG,WAAW,uBAChB;EACA,QAAQ;GACN,iCAAiC;GACjC,gCAAgC;GAChC,GAAG;GACH,GAAG,eAAe;EACpB;EACA,KAAK;GACH,GAAG,sBAAsB,EACvB,QAAQ,YACV;GACA,YAAY,YAAY,CACtB,SACA,WACF,IAAI;GACJ,cAAc;EAChB;EACA,cAAc,EACZ,KAAK,EACH,cAAc,EACZ,iBAAiB,4BACnB,EACF,EACF;EACA,OAAO;GAEL,cAAc;GACd,KAAK;GACL,WAAW;GACX,QAAQ,GAAG,OAAO;GAClB,iBAAiB;IACf,WAAW;IAOX,OAAO,CACL,mBACF;IACA,QAAQ;KACN,GAAG,sBAAsB,EACvB,eAAe,KACjB;KACA,GAAG,mBAAmB;MACpB,QAAQ;MACR,gBAAgB;KAClB;IACF;GACF;EACF;CACF,CAAC;CACD,IAAI,yBAAyB;EAC3B,kBAAkB,IAAI,aAAa;CACrC;CACA,IAAI,cAAc,eAAe,SAAS,MAAM;CAChD,IAAI;CACJ,IAAI;CACJ,IAAI;CACJ,IAAI,kBAAkB,OAAO;EAC3B,IAAI;EACJ,IAAI,CAAC,oBAAoB;GACvB,QAAQ,KAAK;;CAElB;EACG;EACA,IAAI,kBAAkB,mBAAmB,UAAU,WAAW,QAAQ,qBAAqB,KAAK,IAAI,KAAK,IAAI,iBAAiB;EAC9H,IAAI,sBAAsB,OAAO,mBAAmB,YAAY,OAAO,mBAAmB,QAAQ,mBAAmB,KAAK,IAAI,KAAK,IAAI,eAAe;EACtJ,qBAAqBA,QAAU,sBAAsB,YAAY,mBAAmB,mBAAmB,IAAI,iBAAiB;CAC9H;CACA,IAAI,sBAAsB,oBAAoB;EAC5C,IAAI,CAAC,cAAc,gBAAgB,MAAM,QAAQ,IAAI,CACnD,oBACA,kBACF,CAAC;EACD,eAAe,aAAa;EAC5B,eAAe,aAAa;CAC9B,OAAO,IAAI,oBAAoB;EAC7B,IAAI,gBAAgB,MAAM;EAC1B,eAAe,cAAc;CAC/B,OAAO,IAAI,oBAAoB;EAC7B,IAAI,gBAAgB,MAAM;EAC1B,eAAe,cAAc;CAC/B;CACA,IAAI,kBAAkB,OAAO;EAC3B,iBAAiB,MAAM,QAAQ,SAAS,GAAG,OAAO,4BAA4B;EAC9E,IAAI,MAAM,MAAM,QAAQ,SAAS,aAAa,OAAO;EACrD,MAAM,QAAQ,UAAU,aAAa,IAAI,QAAQ,iGAAiG,EAAE,CAAC,CAAC,QAAQ,gJAAgJ,8CAA4C,CAAC;CAC7V;CACA,OAAO;EACL;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;EACA;CACF;AACF"}
@@ -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