{"version":3,"file":"cli.js","names":[],"sources":["esm/cli.js"],"sourcesContent":["import { defineCommand, runMain, showUsage } from \"citty\";\nimport { readFileSync } from \"node:fs\";\nimport path from \"node:path\";\nimport { fileURLToPath } from \"node:url\";\nimport colors from \"picocolors\";\nfunction getPackageVersion() {\n  let dirname;\n  if (typeof __dirname !== \"undefined\") {\n    dirname = __dirname;\n  } else {\n    dirname = path.dirname(fileURLToPath(import.meta.url));\n  }\n  const packagePath = path.join(dirname, \"..\", \"..\", \"package.json\");\n  const packageJson = JSON.parse(readFileSync(packagePath, \"utf-8\"));\n  return packageJson.version;\n}\nconst version = getPackageVersion();\nconst DOCS_BASE = \"https://onestack.dev/docs\";\nconst docsLinks = {\n  dev: `${DOCS_BASE}/one-dev`,\n  build: `${DOCS_BASE}/one-build`,\n  serve: `${DOCS_BASE}/one-serve`,\n  prebuild: `${DOCS_BASE}/guides-ios-native`,\n  \"run:ios\": `${DOCS_BASE}/guides-ios-native`,\n  \"run:android\": `${DOCS_BASE}/guides-ios-native`,\n  clean: `${DOCS_BASE}/configuration`,\n  patch: `${DOCS_BASE}/configuration`,\n  \"generate-routes\": `${DOCS_BASE}/routing-typed-routes`,\n  typegen: `${DOCS_BASE}/routing-typed-routes`,\n  \"metro-eject\": `${DOCS_BASE}/guides-ota-updates`,\n  \"updates-publish\": \"https://onestack.dev/native/updates\"\n};\nfunction withDocsLink(description, command) {\n  return `${description}\n\nDocs: ${docsLinks[command]}`;\n}\nif (path.sep !== \"/\") {\n  console.warn(\n    colors.bgYellow(\"WARNING: UNSUPPORTED OS\") + colors.yellow(\n      \" - It appears you\\u2019re using Windows, which is currently not supported. You may experience unexpected issues.\"\n    )\n  );\n}\nconst modes = {\n  development: \"development\",\n  production: \"production\"\n};\nfunction lastValue(arg) {\n  if (Array.isArray(arg)) {\n    return arg[arg.length - 1];\n  }\n  return arg;\n}\nconst dev = defineCommand({\n  meta: {\n    name: \"dev\",\n    version,\n    description: withDocsLink(\"Start the dev server\", \"dev\")\n  },\n  args: {\n    clean: {\n      type: \"boolean\"\n    },\n    host: {\n      type: \"string\"\n    },\n    port: {\n      type: \"string\"\n    },\n    mode: {\n      type: \"string\",\n      description: 'If set to \"production\" you can run the development server but serve the production bundle'\n    },\n    \"debug-bundle\": {\n      type: \"string\",\n      description: `Will output the bundle to a temp file and then serve it from there afterwards allowing you to easily edit the bundle to debug problems.`\n    },\n    debug: {\n      type: \"string\",\n      description: `Pass debug args to Vite`\n    },\n    \"extra-config\": {\n      type: \"string\",\n      description: `Path to an extra vite config file to merge on top of the project config`\n    }\n  },\n  async run({ args }) {\n    const { dev: dev2 } = await import(\"./cli/dev\");\n    await dev2({\n      ...args,\n      port: lastValue(args.port),\n      host: lastValue(args.host),\n      debugBundle: lastValue(args[\"debug-bundle\"]),\n      mode: modes[lastValue(args.mode)],\n      extraConfig: lastValue(args[\"extra-config\"])\n    });\n  }\n});\nconst buildCommand = defineCommand({\n  meta: {\n    name: \"build\",\n    version,\n    description: withDocsLink(\"Build your app\", \"build\")\n  },\n  args: {\n    step: {\n      type: \"string\",\n      required: false\n    },\n    // limit the pages built\n    only: {\n      type: \"string\",\n      required: false\n    },\n    platform: {\n      type: \"string\",\n      description: `One of: web, ios, android`,\n      default: \"web\",\n      required: false\n    },\n    \"skip-env\": {\n      type: \"boolean\",\n      description: `Skip loading .env files during build`,\n      required: false\n    }\n  },\n  async run({ args }) {\n    const { build } = await import(\"./cli/build\");\n    const platforms = {\n      ios: \"ios\",\n      web: \"web\",\n      android: \"android\"\n    };\n    if (args.platform && !platforms[args.platform]) {\n      throw new Error(`Invalid platform: ${args.platform}`);\n    }\n    const platform = platforms[args.platform] || \"web\";\n    await build({\n      only: args.only,\n      platform,\n      step: args.step,\n      skipEnv: args[\"skip-env\"]\n    });\n    process.exit(0);\n  }\n});\nconst serveCommand = defineCommand({\n  meta: {\n    name: \"serve\",\n    version,\n    description: withDocsLink(\"Serve a built app for production\", \"serve\")\n  },\n  args: {\n    host: {\n      type: \"string\"\n    },\n    port: {\n      type: \"string\"\n    },\n    compress: {\n      type: \"boolean\"\n    },\n    loadEnv: {\n      type: \"boolean\"\n    },\n    outDir: {\n      type: \"string\",\n      description: \"Build output directory (default: dist)\"\n    },\n    cluster: {\n      type: \"string\",\n      description: \"Enable cluster mode with N workers (default: cpu count)\"\n    }\n  },\n  async run({ args }) {\n    const { serve } = await import(\"./serve\");\n    const port = lastValue(args.port);\n    const host = lastValue(args.host);\n    const clusterArg = lastValue(args.cluster);\n    await serve({\n      port: port ? +port : void 0,\n      host,\n      compress: args.compress,\n      loadEnv: !!args.loadEnv,\n      outDir: lastValue(args.outDir),\n      cluster: clusterArg !== void 0 ? clusterArg ? +clusterArg : true : void 0\n    });\n  }\n});\nconst prebuild = defineCommand({\n  meta: {\n    name: \"prebuild\",\n    version,\n    description: withDocsLink(\"Prebuild native project\", \"prebuild\")\n  },\n  args: {\n    platform: {\n      type: \"string\",\n      description: \"ios or android\"\n    },\n    \"no-install\": {\n      type: \"boolean\",\n      description: \"skip installing native dependencies\",\n      default: false\n    }\n  },\n  async run({ args }) {\n    if (args.install === false) args[\"no-install\"] = true;\n    const { run } = await import(\"./cli/prebuild\");\n    await run(args);\n  }\n});\nconst runIos = defineCommand({\n  meta: {\n    name: \"run:ios\",\n    version,\n    description: withDocsLink(\"Run the iOS app\", \"run:ios\")\n  },\n  args: {\n    simulator: {\n      type: \"string\",\n      description: 'explicitly set the simulator to use, e.g. \"iPhone 16\"'\n    },\n    udid: {\n      type: \"string\",\n      description: \"explicitly set the simulator to use by UDID\"\n    }\n  },\n  async run({ args }) {\n    const { run } = await import(\"./cli/runIos\");\n    await run(args);\n  }\n});\nconst runAndroid = defineCommand({\n  meta: {\n    name: \"run:android\",\n    version,\n    description: withDocsLink(\"Run the Android app\", \"run:android\")\n  },\n  args: {},\n  async run({ args }) {\n    const { run } = await import(\"./cli/runAndroid\");\n    await run(args);\n  }\n});\nconst clean = defineCommand({\n  meta: {\n    name: \"clean\",\n    version: \"0.0.0\",\n    description: withDocsLink(\"Clean build folders\", \"clean\")\n  },\n  args: {},\n  async run() {\n    const { clean: vxrnClean } = await import(\"vxrn\");\n    await vxrnClean({\n      root: process.cwd()\n    });\n  }\n});\nconst patch = defineCommand({\n  meta: {\n    name: \"patch\",\n    version: \"0.0.0\",\n    description: withDocsLink(\"Apply package patches\", \"patch\")\n  },\n  args: {\n    force: {\n      type: \"boolean\",\n      description: \"Force re-apply all patches\"\n    }\n  },\n  async run({ args }) {\n    const { run } = await import(\"./cli/patch\");\n    await run(args);\n  }\n});\nconst generateRoutes = defineCommand({\n  meta: {\n    name: \"generate-routes\",\n    version,\n    description: withDocsLink(\n      \"Generate route type definitions (routes.d.ts)\",\n      \"generate-routes\"\n    )\n  },\n  args: {\n    appDir: {\n      type: \"string\",\n      description: 'Path to app directory (default: \"app\")'\n    },\n    typed: {\n      type: \"string\",\n      description: 'Auto-generate route helpers. Options: \"type\" (type-only helpers) or \"runtime\" (runtime helpers)'\n    }\n  },\n  async run({ args }) {\n    const { run } = await import(\"./cli/generateRoutes\");\n    await run(args);\n  }\n});\nconst typegen = defineCommand({\n  meta: {\n    name: \"typegen\",\n    version,\n    description: withDocsLink(\n      \"Generate routes.d.ts (alias for generate-routes)\",\n      \"typegen\"\n    )\n  },\n  args: {\n    appDir: {\n      type: \"string\",\n      description: 'Path to app directory (default: \"app\")'\n    },\n    typed: {\n      type: \"string\",\n      description: 'Auto-generate route helpers. Options: \"type\" (type-only helpers) or \"runtime\" (runtime helpers)'\n    }\n  },\n  async run({ args }) {\n    const { run } = await import(\"./cli/generateRoutes\");\n    await run(args);\n  }\n});\nconst metroEject = defineCommand({\n  meta: {\n    name: \"metro-eject\",\n    version,\n    description: withDocsLink(\n      \"Write babel.config.cjs + metro.config.cjs so you can own them and customize freely\",\n      \"metro-eject\"\n    )\n  },\n  args: {\n    force: {\n      type: \"boolean\",\n      description: \"Overwrite existing files\"\n    }\n  },\n  async run({ args }) {\n    const { generateBundlerConfig } = await import(\"./cli/generateBundlerConfig\");\n    const { loadUserOneOptions } = await import(\"./vite/loadConfig\");\n    process.env.IS_VXRN_CLI = \"true\";\n    const { oneOptions } = await loadUserOneOptions(\"build\");\n    const { ok } = generateBundlerConfig({\n      force: !!args.force,\n      eject: true,\n      oneOptions\n    });\n    if (!ok) process.exit(1);\n  }\n});\nconst daemonCommand = defineCommand({\n  meta: {\n    name: \"daemon\",\n    version,\n    description: \"Multi-app development server proxy\"\n  },\n  args: {\n    subcommand: {\n      type: \"positional\",\n      description: \"Subcommand: start, stop, status, route (default: start)\",\n      required: false\n    },\n    port: {\n      type: \"string\",\n      description: \"Port to listen on (default: 8081)\"\n    },\n    host: {\n      type: \"string\",\n      description: \"Host to bind to (default: 0.0.0.0)\"\n    },\n    app: {\n      type: \"string\",\n      description: \"Bundle ID for route command\"\n    },\n    slot: {\n      type: \"string\",\n      description: \"Slot number for route command\"\n    },\n    project: {\n      type: \"string\",\n      description: \"Project path for route command\"\n    },\n    tui: {\n      type: \"boolean\",\n      description: \"Show TUI (default: true if TTY)\"\n    }\n  },\n  async run({ args }) {\n    const { daemon } = await import(\"./cli/daemon\");\n    await daemon({\n      ...args,\n      port: lastValue(args.port),\n      host: lastValue(args.host)\n    });\n  }\n});\nconst updatesPublish = defineCommand({\n  meta: {\n    name: \"updates publish\",\n    version,\n    description: withDocsLink(\n      \"Bundle and publish an over-the-air update\",\n      \"updates-publish\"\n    )\n  },\n  args: {\n    platform: {\n      type: \"string\",\n      description: \"ios or android\"\n    },\n    out: {\n      type: \"string\",\n      description: \"Directory to write manifest.json and assets into\"\n    },\n    metadata: {\n      type: \"string\",\n      description: \"Manifest metadata as key=value (repeatable)\"\n    },\n    intermediatesOut: {\n      type: \"string\",\n      description: \"Separate directory for local debug bundle and composed source map; never upload it\"\n    },\n    runtimeVersion: {\n      type: \"string\",\n      description: \"Runtime version for an app built with expo prebuild, which has no native.app\"\n    }\n  },\n  async run({ args }) {\n    const { runUpdatesPublish } = await import(\"./cli/updatesPublish\");\n    await runUpdatesPublish(args);\n  }\n});\nconst updates = defineCommand({\n  meta: {\n    name: \"updates\",\n    version,\n    description: \"Over-the-air updates\"\n  },\n  subCommands: {\n    publish: updatesPublish\n  }\n});\nconst subCommands = {\n  dev,\n  clean,\n  build: buildCommand,\n  prebuild,\n  \"run:ios\": runIos,\n  \"run:android\": runAndroid,\n  patch,\n  serve: serveCommand,\n  \"generate-routes\": generateRoutes,\n  typegen,\n  daemon: daemonCommand,\n  \"metro-eject\": metroEject,\n  updates\n};\nconst subMain = defineCommand({\n  meta: {\n    name: \"one\",\n    version,\n    description: \"Welcome to One\"\n  },\n  subCommands\n});\nconst main = defineCommand({\n  meta: {\n    name: \"one\",\n    version,\n    description: \"Welcome to One\"\n  },\n  args: {\n    name: {\n      type: \"positional\",\n      description: \"Folder name to place the app into\",\n      required: false\n    }\n  },\n  async run({ args }) {\n    if (subCommands[args.name]) {\n      runMain(subMain);\n      return;\n    }\n    const { cliMain } = await import(\"./cli/main\");\n    await cliMain(args);\n  }\n});\nconst helpIndex = process.argv.indexOf(\"--help\");\nif (helpIndex > 0) {\n  const subCommandName = process.argv[helpIndex - 1];\n  const subCommand = subCommands[subCommandName];\n  if (subCommand) {\n    showUsage(subCommand);\n  } else {\n    showUsage(subMain);\n  }\n} else {\n  runMain(main);\n}\n//# sourceMappingURL=cli.js.map\n"],"mappings":"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"}