one 2.6.3 → 2.6.5

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.
package/dist/cjs/cli.cjs CHANGED
@@ -441,7 +441,7 @@ const subCommands = {
441
441
  };
442
442
  const subMain = (0, import_citty.defineCommand)({
443
443
  meta: {
444
- name: "main",
444
+ name: "one",
445
445
  version,
446
446
  description: "Welcome to One"
447
447
  },
@@ -449,7 +449,7 @@ const subMain = (0, import_citty.defineCommand)({
449
449
  });
450
450
  const main = (0, import_citty.defineCommand)({
451
451
  meta: {
452
- name: "main",
452
+ name: "one",
453
453
  version,
454
454
  description: "Welcome to One"
455
455
  },
@@ -455,7 +455,7 @@ var subCommands = {
455
455
  };
456
456
  var subMain = (0, import_citty.defineCommand)({
457
457
  meta: {
458
- name: "main",
458
+ name: "one",
459
459
  version,
460
460
  description: "Welcome to One"
461
461
  },
@@ -463,7 +463,7 @@ var subMain = (0, import_citty.defineCommand)({
463
463
  });
464
464
  var main = (0, import_citty.defineCommand)({
465
465
  meta: {
466
- name: "main",
466
+ name: "one",
467
467
  version,
468
468
  description: "Welcome to One"
469
469
  },
@@ -455,7 +455,7 @@ var subCommands = {
455
455
  };
456
456
  var subMain = (0, import_citty.defineCommand)({
457
457
  meta: {
458
- name: "main",
458
+ name: "one",
459
459
  version,
460
460
  description: "Welcome to One"
461
461
  },
@@ -463,7 +463,7 @@ var subMain = (0, import_citty.defineCommand)({
463
463
  });
464
464
  var main = (0, import_citty.defineCommand)({
465
465
  meta: {
466
- name: "main",
466
+ name: "one",
467
467
  version,
468
468
  description: "Welcome to One"
469
469
  },
@@ -1 +1 @@
1
- {"version":3,"file":"cli.native.js","names":[],"sources":["cjs/cli.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar import_citty = require(\"citty\");\nvar import_fs = require(\"fs\");\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_url = require(\"url\");\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nconst import_meta = {};\nfunction getPackageVersion() {\n var dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = import_path.default.dirname((0, import_url.fileURLToPath)(import_meta.url));\n }\n var packagePath = import_path.default.join(dirname, \"..\", \"..\", \"package.json\");\n var packageJson = JSON.parse((0, import_fs.readFileSync)(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nvar version = getPackageVersion();\nvar DOCS_BASE = \"https://onestack.dev/docs\";\nvar 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 (import_path.default.sep !== \"/\") {\n console.warn(import_picocolors.default.bgYellow(\"WARNING: UNSUPPORTED OS\") + import_picocolors.default.yellow(\" - It appears you\\u2019re using Windows, which is currently not supported. You may experience unexpected issues.\"));\n}\nvar 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}\nvar dev = (0, import_citty.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(param) {\n var { args } = param;\n var { 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});\nvar buildCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { build } = await import(\"./cli/build\");\n var 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 var 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});\nvar serveCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { serve } = await import(\"./serve\");\n var port = lastValue(args.port);\n var host = lastValue(args.host);\n var 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});\nvar prebuild = (0, import_citty.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(param) {\n var { args } = param;\n if (args.install === false) args[\"no-install\"] = true;\n var { run } = await import(\"./cli/prebuild\");\n await run(args);\n }\n});\nvar runIos = (0, import_citty.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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/runIos\");\n await run(args);\n }\n});\nvar runAndroid = (0, import_citty.defineCommand)({\n meta: {\n name: \"run:android\",\n version,\n description: withDocsLink(\"Run the Android app\", \"run:android\")\n },\n args: {},\n async run(param) {\n var { args } = param;\n var { run } = await import(\"./cli/runAndroid\");\n await run(args);\n }\n});\nvar clean = (0, import_citty.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 var { clean: vxrnClean } = await import(\"vxrn\");\n await vxrnClean({\n root: process.cwd()\n });\n }\n});\nvar patch = (0, import_citty.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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/patch\");\n await run(args);\n }\n});\nvar generateRoutes = (0, import_citty.defineCommand)({\n meta: {\n name: \"generate-routes\",\n version,\n description: withDocsLink(\"Generate route type definitions (routes.d.ts)\", \"generate-routes\")\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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/generateRoutes\");\n await run(args);\n }\n});\nvar typegen = (0, import_citty.defineCommand)({\n meta: {\n name: \"typegen\",\n version,\n description: withDocsLink(\"Generate routes.d.ts (alias for generate-routes)\", \"typegen\")\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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/generateRoutes\");\n await run(args);\n }\n});\nvar metroEject = (0, import_citty.defineCommand)({\n meta: {\n name: \"metro-eject\",\n version,\n description: withDocsLink(\"Write babel.config.cjs + metro.config.cjs so you can own them and customize freely\", \"metro-eject\")\n },\n args: {\n force: {\n type: \"boolean\",\n description: \"Overwrite existing files\"\n }\n },\n async run(param) {\n var { args } = param;\n var { generateBundlerConfig } = await import(\"./cli/generateBundlerConfig\");\n var { loadUserOneOptions } = await import(\"./vite/loadConfig\");\n process.env.IS_VXRN_CLI = \"true\";\n var { oneOptions } = await loadUserOneOptions(\"build\");\n var { ok } = generateBundlerConfig({\n force: !!args.force,\n eject: true,\n oneOptions\n });\n if (!ok) process.exit(1);\n }\n});\nvar daemonCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { daemon } = await import(\"./cli/daemon\");\n await daemon({\n ...args,\n port: lastValue(args.port),\n host: lastValue(args.host)\n });\n }\n});\nvar updatesPublish = (0, import_citty.defineCommand)({\n meta: {\n name: \"updates publish\",\n version,\n description: withDocsLink(\"Bundle and publish an over-the-air update\", \"updates-publish\")\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(param) {\n var { args } = param;\n var { runUpdatesPublish } = await import(\"./cli/updatesPublish\");\n await runUpdatesPublish(args);\n }\n});\nvar updates = (0, import_citty.defineCommand)({\n meta: {\n name: \"updates\",\n version,\n description: \"Over-the-air updates\"\n },\n subCommands: {\n publish: updatesPublish\n }\n});\nvar 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};\nvar subMain = (0, import_citty.defineCommand)({\n meta: {\n name: \"main\",\n version,\n description: \"Welcome to One\"\n },\n subCommands\n});\nvar main = (0, import_citty.defineCommand)({\n meta: {\n name: \"main\",\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(param) {\n var { args } = param;\n if (subCommands[args.name]) {\n (0, import_citty.runMain)(subMain);\n return;\n }\n var { cliMain } = await import(\"./cli/main\");\n await cliMain(args);\n }\n});\nvar helpIndex = process.argv.indexOf(\"--help\");\nif (helpIndex > 0) {\n var subCommandName = process.argv[helpIndex - 1];\n var subCommand = subCommands[subCommandName];\n if (subCommand) {\n (0, import_citty.showUsage)(subCommand);\n } else {\n (0, import_citty.showUsage)(subMain);\n }\n} else {\n (0, import_citty.runMain)(main);\n}\n//# sourceMappingURL=cli.js.map\n"],"mappings":";;;AACA,IAAI,WAAW,OAAO;AACtB,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO;AAC1B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,WAAW,KAAK,YAAY,YAAY,SAAS,OAAO,OAAO,SAAS,aAAa,GAAG,CAAC,IAAI,CAAC,GAAG,YAKnG,cAAc,CAAC,OAAO,CAAC,IAAI,aAAa,UAAU,QAAQ,WAAW;CAAE,OAAO;CAAK,YAAY;AAAK,CAAC,IAAI,QACzG,GACF;AACA,IAAI,eAAe,QAAQ,OAAO;AAClC,IAAI,YAAY,QAAQ,IAAI;AAC5B,IAAI,cAAc,QAAQ,QAAQ,MAAM,GAAG,CAAC;AAC5C,IAAI,aAAa,QAAQ,KAAK;AAC9B,IAAI,oBAAoB,QAAQ,QAAQ,YAAY,GAAG,CAAC;AACxD,MAAM,cAAc,CAAC;AACrB,SAAS,oBAAoB;CAC3B,IAAI;CACJ,IAAI,OAAO,cAAc,aAAa;EACpC,UAAU;CACZ,OAAO;EACL,UAAU,YAAY,QAAQ,SAAS,GAAG,WAAW,cAAa,CAAE,YAAY,GAAG,CAAC;CACtF;CACA,IAAI,cAAc,YAAY,QAAQ,KAAK,SAAS,MAAM,MAAM,cAAc;CAC9E,IAAI,cAAc,KAAK,OAAO,GAAG,UAAU,aAAY,CAAE,aAAa,OAAO,CAAC;CAC9E,OAAO,YAAY;AACrB;AACA,IAAI,UAAU,kBAAkB;AAChC,IAAI,YAAY;AAChB,IAAI,YAAY;CACd,KAAK,GAAG,UAAU;CAClB,OAAO,GAAG,UAAU;CACpB,OAAO,GAAG,UAAU;CACpB,UAAU,GAAG,UAAU;CACvB,WAAW,GAAG,UAAU;CACxB,eAAe,GAAG,UAAU;CAC5B,OAAO,GAAG,UAAU;CACpB,OAAO,GAAG,UAAU;CACpB,mBAAmB,GAAG,UAAU;CAChC,SAAS,GAAG,UAAU;CACtB,eAAe,GAAG,UAAU;CAC5B,mBAAmB;AACrB;AACA,SAAS,aAAa,aAAa,SAAS;CAC1C,OAAO,GAAG,YAAY;;QAEhB,UAAU;AAClB;AACA,IAAI,YAAY,QAAQ,QAAQ,KAAK;CACnC,QAAQ,KAAK,kBAAkB,QAAQ,SAAS,yBAAyB,IAAI,kBAAkB,QAAQ,OAAO,6GAAkH,CAAC;AACnO;AACA,IAAI,QAAQ;CACV,aAAa;CACb,YAAY;AACd;AACA,SAAS,UAAU,KAAK;CACtB,IAAI,MAAM,QAAQ,GAAG,GAAG;EACtB,OAAO,IAAI,IAAI,SAAS;CAC1B;CACA,OAAO;AACT;AACA,IAAI,OAAO,GAAG,aAAa,cAAa,CAAE;CACxC,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,wBAAwB,KAAK;CACzD;CACA,MAAM;EACJ,OAAO,EACL,MAAM,UACR;EACA,MAAM,EACJ,MAAM,SACR;EACA,MAAM,EACJ,MAAM,SACR;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;EACA,gBAAgB;GACd,MAAM;GACN,aAAa;EACf;EACA,OAAO;GACL,MAAM;GACN,aAAa;EACf;EACA,gBAAgB;GACd,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,KAAK,SAAS,MAAM,OAAO;EACjC,MAAM,KAAK;GACT,GAAG;GACH,MAAM,UAAU,KAAK,IAAI;GACzB,MAAM,UAAU,KAAK,IAAI;GACzB,aAAa,UAAU,KAAK,eAAe;GAC3C,MAAM,MAAM,UAAU,KAAK,IAAI;GAC/B,aAAa,UAAU,KAAK,eAAe;EAC7C,CAAC;CACH;AACF,CAAC;AACD,IAAI,gBAAgB,GAAG,aAAa,cAAa,CAAE;CACjD,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,kBAAkB,OAAO;CACrD;CACA,MAAM;EACJ,MAAM;GACJ,MAAM;GACN,UAAU;EACZ;EAEA,MAAM;GACJ,MAAM;GACN,UAAU;EACZ;EACA,UAAU;GACR,MAAM;GACN,aAAa;GACb,SAAS;GACT,UAAU;EACZ;EACA,YAAY;GACV,MAAM;GACN,aAAa;GACb,UAAU;EACZ;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,UAAU,MAAM,OAAO;EAC7B,IAAI,YAAY;GACd,KAAK;GACL,KAAK;GACL,SAAS;EACX;EACA,IAAI,KAAK,YAAY,CAAC,UAAU,KAAK,WAAW;GAC9C,MAAM,IAAI,MAAM,qBAAqB,KAAK,UAAU;EACtD;EACA,IAAI,WAAW,UAAU,KAAK,aAAa;EAC3C,MAAM,MAAM;GACV,MAAM,KAAK;GACX;GACA,MAAM,KAAK;GACX,SAAS,KAAK;EAChB,CAAC;EACD,QAAQ,KAAK,CAAC;CAChB;AACF,CAAC;AACD,IAAI,gBAAgB,GAAG,aAAa,cAAa,CAAE;CACjD,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,oCAAoC,OAAO;CACvE;CACA,MAAM;EACJ,MAAM,EACJ,MAAM,SACR;EACA,MAAM,EACJ,MAAM,SACR;EACA,UAAU,EACR,MAAM,UACR;EACA,SAAS,EACP,MAAM,UACR;EACA,QAAQ;GACN,MAAM;GACN,aAAa;EACf;EACA,SAAS;GACP,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,UAAU,MAAM,OAAO;EAC7B,IAAI,OAAO,UAAU,KAAK,IAAI;EAC9B,IAAI,OAAO,UAAU,KAAK,IAAI;EAC9B,IAAI,aAAa,UAAU,KAAK,OAAO;EACvC,MAAM,MAAM;GACV,MAAM,OAAO,CAAC,OAAO,KAAK;GAC1B;GACA,UAAU,KAAK;GACf,SAAS,CAAC,CAAC,KAAK;GAChB,QAAQ,UAAU,KAAK,MAAM;GAC7B,SAAS,eAAe,KAAK,IAAI,aAAa,CAAC,aAAa,OAAO,KAAK;EAC1E,CAAC;CACH;AACF,CAAC;AACD,IAAI,YAAY,GAAG,aAAa,cAAa,CAAE;CAC7C,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,2BAA2B,UAAU;CACjE;CACA,MAAM;EACJ,UAAU;GACR,MAAM;GACN,aAAa;EACf;EACA,cAAc;GACZ,MAAM;GACN,aAAa;GACb,SAAS;EACX;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,KAAK,YAAY,OAAO,KAAK,gBAAgB;EACjD,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,UAAU,GAAG,aAAa,cAAa,CAAE;CAC3C,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,mBAAmB,SAAS;CACxD;CACA,MAAM;EACJ,WAAW;GACT,MAAM;GACN,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,cAAc,GAAG,aAAa,cAAa,CAAE;CAC/C,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,uBAAuB,aAAa;CAChE;CACA,MAAM,CAAC;CACP,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,SAAS,GAAG,aAAa,cAAa,CAAE;CAC1C,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa,aAAa,uBAAuB,OAAO;CAC1D;CACA,MAAM,CAAC;CACP,MAAM,MAAM;EACV,IAAI,EAAE,OAAO,cAAc,MAAM,OAAO;EACxC,MAAM,UAAU,EACd,MAAM,QAAQ,IAAI,EACpB,CAAC;CACH;AACF,CAAC;AACD,IAAI,SAAS,GAAG,aAAa,cAAa,CAAE;CAC1C,MAAM;EACJ,MAAM;EACN,SAAS;EACT,aAAa,aAAa,yBAAyB,OAAO;CAC5D;CACA,MAAM,EACJ,OAAO;EACL,MAAM;EACN,aAAa;CACf,EACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,kBAAkB,GAAG,aAAa,cAAa,CAAE;CACnD,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,iDAAiD,iBAAiB;CAC9F;CACA,MAAM;EACJ,QAAQ;GACN,MAAM;GACN,aAAa;EACf;EACA,OAAO;GACL,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,WAAW,GAAG,aAAa,cAAa,CAAE;CAC5C,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,oDAAoD,SAAS;CACzF;CACA,MAAM;EACJ,QAAQ;GACN,MAAM;GACN,aAAa;EACf;EACA,OAAO;GACL,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,QAAQ,MAAM,OAAO;EAC3B,MAAM,IAAI,IAAI;CAChB;AACF,CAAC;AACD,IAAI,cAAc,GAAG,aAAa,cAAa,CAAE;CAC/C,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,sFAAsF,aAAa;CAC/H;CACA,MAAM,EACJ,OAAO;EACL,MAAM;EACN,aAAa;CACf,EACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,0BAA0B,MAAM,OAAO;EAC7C,IAAI,EAAE,uBAAuB,MAAM,OAAO;EAC1C,QAAQ,IAAI,cAAc;EAC1B,IAAI,EAAE,eAAe,MAAM,mBAAmB,OAAO;EACrD,IAAI,EAAE,OAAO,sBAAsB;GACjC,OAAO,CAAC,CAAC,KAAK;GACd,OAAO;GACP;EACF,CAAC;EACD,IAAI,CAAC,IAAI,QAAQ,KAAK,CAAC;CACzB;AACF,CAAC;AACD,IAAI,iBAAiB,GAAG,aAAa,cAAa,CAAE;CAClD,MAAM;EACJ,MAAM;EACN;EACA,aAAa;CACf;CACA,MAAM;EACJ,YAAY;GACV,MAAM;GACN,aAAa;GACb,UAAU;EACZ;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;EACA,KAAK;GACH,MAAM;GACN,aAAa;EACf;EACA,MAAM;GACJ,MAAM;GACN,aAAa;EACf;EACA,SAAS;GACP,MAAM;GACN,aAAa;EACf;EACA,KAAK;GACH,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,WAAW,MAAM,OAAO;EAC9B,MAAM,OAAO;GACX,GAAG;GACH,MAAM,UAAU,KAAK,IAAI;GACzB,MAAM,UAAU,KAAK,IAAI;EAC3B,CAAC;CACH;AACF,CAAC;AACD,IAAI,kBAAkB,GAAG,aAAa,cAAa,CAAE;CACnD,MAAM;EACJ,MAAM;EACN;EACA,aAAa,aAAa,6CAA6C,iBAAiB;CAC1F;CACA,MAAM;EACJ,UAAU;GACR,MAAM;GACN,aAAa;EACf;EACA,KAAK;GACH,MAAM;GACN,aAAa;EACf;EACA,UAAU;GACR,MAAM;GACN,aAAa;EACf;EACA,kBAAkB;GAChB,MAAM;GACN,aAAa;EACf;EACA,gBAAgB;GACd,MAAM;GACN,aAAa;EACf;CACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,EAAE,sBAAsB,MAAM,OAAO;EACzC,MAAM,kBAAkB,IAAI;CAC9B;AACF,CAAC;AACD,IAAI,WAAW,GAAG,aAAa,cAAa,CAAE;CAC5C,MAAM;EACJ,MAAM;EACN;EACA,aAAa;CACf;CACA,aAAa,EACX,SAAS,eACX;AACF,CAAC;AACD,IAAI,cAAc;CAChB;CACA;CACA,OAAO;CACP;CACA,WAAW;CACX,eAAe;CACf;CACA,OAAO;CACP,mBAAmB;CACnB;CACA,QAAQ;CACR,eAAe;CACf;AACF;AACA,IAAI,WAAW,GAAG,aAAa,cAAa,CAAE;CAC5C,MAAM;EACJ,MAAM;EACN;EACA,aAAa;CACf;CACA;AACF,CAAC;AACD,IAAI,QAAQ,GAAG,aAAa,cAAa,CAAE;CACzC,MAAM;EACJ,MAAM;EACN;EACA,aAAa;CACf;CACA,MAAM,EACJ,MAAM;EACJ,MAAM;EACN,aAAa;EACb,UAAU;CACZ,EACF;CACA,MAAM,IAAI,OAAO;EACf,IAAI,EAAE,SAAS;EACf,IAAI,YAAY,KAAK,OAAO;GAC1B,CAAC,GAAG,aAAa,QAAO,CAAE,OAAO;GACjC;EACF;EACA,IAAI,EAAE,YAAY,MAAM,OAAO;EAC/B,MAAM,QAAQ,IAAI;CACpB;AACF,CAAC;AACD,IAAI,YAAY,QAAQ,KAAK,QAAQ,QAAQ;AAC7C,IAAI,YAAY,GAAG;CACjB,IAAI,iBAAiB,QAAQ,KAAK,YAAY;CAC9C,IAAI,aAAa,YAAY;CAC7B,IAAI,YAAY;EACd,CAAC,GAAG,aAAa,UAAS,CAAE,UAAU;CACxC,OAAO;EACL,CAAC,GAAG,aAAa,UAAS,CAAE,OAAO;CACrC;AACF,OAAO;CACL,CAAC,GAAG,aAAa,QAAO,CAAE,IAAI;AAChC"}
1
+ {"version":3,"file":"cli.native.js","names":[],"sources":["cjs/cli.native.js"],"sourcesContent":["\"use strict\";\nvar __create = Object.create;\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __getProtoOf = Object.getPrototypeOf;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toESM = (mod, isNodeMode, target) => (target = mod != null ? __create(__getProtoOf(mod)) : {}, __copyProps(\n // If the importer is in node compatibility mode or this is not an ESM\n // file that has been converted to a CommonJS file using a Babel-\n // compatible transform (i.e. \"__esModule\" has not been set), then set\n // \"default\" to the CommonJS \"module.exports\" for node compatibility.\n isNodeMode || !mod || !mod.__esModule ? __defProp(target, \"default\", { value: mod, enumerable: true }) : target,\n mod\n));\nvar import_citty = require(\"citty\");\nvar import_fs = require(\"fs\");\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_url = require(\"url\");\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nconst import_meta = {};\nfunction getPackageVersion() {\n var dirname;\n if (typeof __dirname !== \"undefined\") {\n dirname = __dirname;\n } else {\n dirname = import_path.default.dirname((0, import_url.fileURLToPath)(import_meta.url));\n }\n var packagePath = import_path.default.join(dirname, \"..\", \"..\", \"package.json\");\n var packageJson = JSON.parse((0, import_fs.readFileSync)(packagePath, \"utf-8\"));\n return packageJson.version;\n}\nvar version = getPackageVersion();\nvar DOCS_BASE = \"https://onestack.dev/docs\";\nvar 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 (import_path.default.sep !== \"/\") {\n console.warn(import_picocolors.default.bgYellow(\"WARNING: UNSUPPORTED OS\") + import_picocolors.default.yellow(\" - It appears you\\u2019re using Windows, which is currently not supported. You may experience unexpected issues.\"));\n}\nvar 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}\nvar dev = (0, import_citty.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(param) {\n var { args } = param;\n var { 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});\nvar buildCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { build } = await import(\"./cli/build\");\n var 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 var 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});\nvar serveCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { serve } = await import(\"./serve\");\n var port = lastValue(args.port);\n var host = lastValue(args.host);\n var 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});\nvar prebuild = (0, import_citty.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(param) {\n var { args } = param;\n if (args.install === false) args[\"no-install\"] = true;\n var { run } = await import(\"./cli/prebuild\");\n await run(args);\n }\n});\nvar runIos = (0, import_citty.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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/runIos\");\n await run(args);\n }\n});\nvar runAndroid = (0, import_citty.defineCommand)({\n meta: {\n name: \"run:android\",\n version,\n description: withDocsLink(\"Run the Android app\", \"run:android\")\n },\n args: {},\n async run(param) {\n var { args } = param;\n var { run } = await import(\"./cli/runAndroid\");\n await run(args);\n }\n});\nvar clean = (0, import_citty.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 var { clean: vxrnClean } = await import(\"vxrn\");\n await vxrnClean({\n root: process.cwd()\n });\n }\n});\nvar patch = (0, import_citty.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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/patch\");\n await run(args);\n }\n});\nvar generateRoutes = (0, import_citty.defineCommand)({\n meta: {\n name: \"generate-routes\",\n version,\n description: withDocsLink(\"Generate route type definitions (routes.d.ts)\", \"generate-routes\")\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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/generateRoutes\");\n await run(args);\n }\n});\nvar typegen = (0, import_citty.defineCommand)({\n meta: {\n name: \"typegen\",\n version,\n description: withDocsLink(\"Generate routes.d.ts (alias for generate-routes)\", \"typegen\")\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(param) {\n var { args } = param;\n var { run } = await import(\"./cli/generateRoutes\");\n await run(args);\n }\n});\nvar metroEject = (0, import_citty.defineCommand)({\n meta: {\n name: \"metro-eject\",\n version,\n description: withDocsLink(\"Write babel.config.cjs + metro.config.cjs so you can own them and customize freely\", \"metro-eject\")\n },\n args: {\n force: {\n type: \"boolean\",\n description: \"Overwrite existing files\"\n }\n },\n async run(param) {\n var { args } = param;\n var { generateBundlerConfig } = await import(\"./cli/generateBundlerConfig\");\n var { loadUserOneOptions } = await import(\"./vite/loadConfig\");\n process.env.IS_VXRN_CLI = \"true\";\n var { oneOptions } = await loadUserOneOptions(\"build\");\n var { ok } = generateBundlerConfig({\n force: !!args.force,\n eject: true,\n oneOptions\n });\n if (!ok) process.exit(1);\n }\n});\nvar daemonCommand = (0, import_citty.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(param) {\n var { args } = param;\n var { daemon } = await import(\"./cli/daemon\");\n await daemon({\n ...args,\n port: lastValue(args.port),\n host: lastValue(args.host)\n });\n }\n});\nvar updatesPublish = (0, import_citty.defineCommand)({\n meta: {\n name: \"updates publish\",\n version,\n description: withDocsLink(\"Bundle and publish an over-the-air update\", \"updates-publish\")\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(param) {\n var { args } = param;\n var { runUpdatesPublish } = await import(\"./cli/updatesPublish\");\n await runUpdatesPublish(args);\n }\n});\nvar updates = (0, import_citty.defineCommand)({\n meta: {\n name: \"updates\",\n version,\n description: \"Over-the-air updates\"\n },\n subCommands: {\n publish: updatesPublish\n }\n});\nvar 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};\nvar subMain = (0, import_citty.defineCommand)({\n meta: {\n name: \"one\",\n version,\n description: \"Welcome to One\"\n },\n subCommands\n});\nvar main = (0, import_citty.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(param) {\n var { args } = param;\n if (subCommands[args.name]) {\n (0, import_citty.runMain)(subMain);\n return;\n }\n var { cliMain } = await import(\"./cli/main\");\n await cliMain(args);\n }\n});\nvar helpIndex = process.argv.indexOf(\"--help\");\nif (helpIndex > 0) {\n var subCommandName = process.argv[helpIndex - 1];\n var subCommand = subCommands[subCommandName];\n if (subCommand) {\n (0, import_citty.showUsage)(subCommand);\n } else {\n (0, import_citty.showUsage)(subMain);\n }\n} else {\n (0, import_citty.runMain)(main);\n}\n//# sourceMappingURL=cli.js.map\n"],"mappings":"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"}
@@ -23,35 +23,103 @@ __export(assetRange_exports, { withRange: () => withRange });
23
23
  module.exports = __toCommonJS(assetRange_exports);
24
24
  async function withRange(request, response) {
25
25
  const range = request.headers.get("range");
26
- if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
26
+ if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
27
27
  return response;
28
28
  }
29
29
  const match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
30
30
  if (!match || !match[1] && !match[2]) return response;
31
- const bytes = new Uint8Array(await response.arrayBuffer());
32
- const size = bytes.byteLength;
33
- let start;
34
- let end;
35
- if (!match[1]) {
36
- start = Math.max(0, size - Number(match[2]));
37
- end = size - 1;
38
- } else {
39
- start = Number(match[1]);
40
- end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
41
- }
31
+ const length = response.headers.get("content-length");
32
+ const known = length && /^\d+$/.test(length) ? Number(length) : void 0;
42
33
  const headers = new Headers(response.headers);
43
34
  headers.set("accept-ranges", "bytes");
44
- if (start >= size || start > end) {
35
+ headers.delete("content-length");
36
+ const { size, kept, keptStart } = await readRange(response.body, match, known);
37
+ const span = resolve(match, size);
38
+ if (!span) {
45
39
  headers.set("content-range", `bytes */${size}`);
46
40
  return new Response(null, {
47
41
  status: 416,
48
42
  headers
49
43
  });
50
44
  }
51
- headers.set("content-range", `bytes ${start}-${end}/${size}`);
52
- headers.set("content-length", String(end - start + 1));
53
- return new Response(bytes.subarray(start, end + 1), {
45
+ headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
46
+ headers.set("content-length", String(span.end - span.start + 1));
47
+ return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
54
48
  status: 206,
55
49
  headers
56
50
  });
57
51
  }
52
+ function ifRangeMatches(ifRange, headers) {
53
+ if (!ifRange) return true;
54
+ const value = ifRange.trim();
55
+ if (value.startsWith("\"")) {
56
+ const etag = headers.get("etag");
57
+ return !!etag && !etag.startsWith("W/") && etag === value;
58
+ }
59
+ if (value.startsWith("W/")) return false;
60
+ return headers.get("last-modified") === value;
61
+ }
62
+ function resolve(match, size) {
63
+ let start;
64
+ let end;
65
+ if (!match[1]) {
66
+ start = Math.max(0, size - Number(match[2]));
67
+ end = size - 1;
68
+ } else {
69
+ start = Number(match[1]);
70
+ end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
71
+ }
72
+ if (start >= size || start > end) return;
73
+ return {
74
+ start,
75
+ end
76
+ };
77
+ }
78
+ async function readRange(body, match, known) {
79
+ const span = known === void 0 ? void 0 : resolve(match, known) ?? {
80
+ start: known,
81
+ end: -1
82
+ };
83
+ const suffix = !span && !match[1] ? Number(match[2]) : 0;
84
+ const from = span ? span.start : match[1] ? Number(match[1]) : 0;
85
+ const to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
86
+ const chunks = [];
87
+ let keptBytes = 0;
88
+ let size = 0;
89
+ const reader = body.getReader();
90
+ while (known === void 0 || size <= to) {
91
+ const { done, value } = await reader.read();
92
+ if (done) break;
93
+ const chunkStart = size;
94
+ size += value.byteLength;
95
+ if (suffix) {
96
+ chunks.push(value);
97
+ keptBytes += value.byteLength;
98
+ while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
99
+ keptBytes -= chunks.shift().byteLength;
100
+ }
101
+ continue;
102
+ }
103
+ const lo = Math.max(from, chunkStart);
104
+ const hi = Math.min(to + 1, size);
105
+ if (hi > lo) {
106
+ chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
107
+ keptBytes += hi - lo;
108
+ }
109
+ }
110
+ if (known !== void 0) {
111
+ await reader.cancel();
112
+ size = known;
113
+ }
114
+ const kept = new Uint8Array(keptBytes);
115
+ let at = 0;
116
+ for (const chunk of chunks) {
117
+ kept.set(chunk, at);
118
+ at += chunk.byteLength;
119
+ }
120
+ return {
121
+ size,
122
+ kept,
123
+ keptStart: suffix ? size - keptBytes : from
124
+ };
125
+ }
@@ -25,35 +25,121 @@ __export(assetRange_exports, { withRange: () => withRange });
25
25
  module.exports = __toCommonJS(assetRange_exports);
26
26
  async function withRange(request, response) {
27
27
  var range = request.headers.get("range");
28
- if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
28
+ if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
29
29
  return response;
30
30
  }
31
31
  var match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
32
32
  if (!match || !match[1] && !match[2]) return response;
33
- var bytes = new Uint8Array(await response.arrayBuffer());
34
- var size = bytes.byteLength;
35
- var start;
36
- var end;
37
- if (!match[1]) {
38
- start = Math.max(0, size - Number(match[2]));
39
- end = size - 1;
40
- } else {
41
- start = Number(match[1]);
42
- end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
43
- }
33
+ var length = response.headers.get("content-length");
34
+ var known = length && /^\d+$/.test(length) ? Number(length) : void 0;
44
35
  var headers = new Headers(response.headers);
45
36
  headers.set("accept-ranges", "bytes");
46
- if (start >= size || start > end) {
37
+ headers.delete("content-length");
38
+ var { size, kept, keptStart } = await readRange(response.body, match, known);
39
+ var span = resolve(match, size);
40
+ if (!span) {
47
41
  headers.set("content-range", `bytes */${size}`);
48
42
  return new Response(null, {
49
43
  status: 416,
50
44
  headers
51
45
  });
52
46
  }
53
- headers.set("content-range", `bytes ${start}-${end}/${size}`);
54
- headers.set("content-length", String(end - start + 1));
55
- return new Response(bytes.subarray(start, end + 1), {
47
+ headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
48
+ headers.set("content-length", String(span.end - span.start + 1));
49
+ return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
56
50
  status: 206,
57
51
  headers
58
52
  });
59
53
  }
54
+ function ifRangeMatches(ifRange, headers) {
55
+ if (!ifRange) return true;
56
+ var value = ifRange.trim();
57
+ if (value.startsWith("\"")) {
58
+ var etag = headers.get("etag");
59
+ return !!etag && !etag.startsWith("W/") && etag === value;
60
+ }
61
+ if (value.startsWith("W/")) return false;
62
+ return headers.get("last-modified") === value;
63
+ }
64
+ function resolve(match, size) {
65
+ var start;
66
+ var end;
67
+ if (!match[1]) {
68
+ start = Math.max(0, size - Number(match[2]));
69
+ end = size - 1;
70
+ } else {
71
+ start = Number(match[1]);
72
+ end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
73
+ }
74
+ if (start >= size || start > end) return;
75
+ return {
76
+ start,
77
+ end
78
+ };
79
+ }
80
+ async function readRange(body, match, known) {
81
+ var _resolve;
82
+ var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {
83
+ start: known,
84
+ end: -1
85
+ };
86
+ var suffix = !span && !match[1] ? Number(match[2]) : 0;
87
+ var from = span ? span.start : match[1] ? Number(match[1]) : 0;
88
+ var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
89
+ var chunks = [];
90
+ var keptBytes = 0;
91
+ var size = 0;
92
+ var reader = body.getReader();
93
+ while (known === void 0 || size <= to) {
94
+ var { done, value } = await reader.read();
95
+ if (done) break;
96
+ var chunkStart = size;
97
+ size += value.byteLength;
98
+ if (suffix) {
99
+ chunks.push(value);
100
+ keptBytes += value.byteLength;
101
+ while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
102
+ keptBytes -= chunks.shift().byteLength;
103
+ }
104
+ continue;
105
+ }
106
+ var lo = Math.max(from, chunkStart);
107
+ var hi = Math.min(to + 1, size);
108
+ if (hi > lo) {
109
+ chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
110
+ keptBytes += hi - lo;
111
+ }
112
+ }
113
+ if (known !== void 0) {
114
+ await reader.cancel();
115
+ size = known;
116
+ }
117
+ var kept = new Uint8Array(keptBytes);
118
+ var at = 0;
119
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
120
+ try {
121
+ for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
122
+ var chunk = _step.value;
123
+ kept.set(chunk, at);
124
+ at += chunk.byteLength;
125
+ }
126
+ } catch (err) {
127
+ _didIteratorError = true;
128
+ _iteratorError = err;
129
+ } finally {
130
+ try {
131
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
132
+ _iterator.return();
133
+ }
134
+ } finally {
135
+ if (_didIteratorError) {
136
+ throw _iteratorError;
137
+ }
138
+ }
139
+ }
140
+ return {
141
+ size,
142
+ kept,
143
+ keptStart: suffix ? size - keptBytes : from
144
+ };
145
+ }
@@ -25,37 +25,123 @@ __export(assetRange_exports, { withRange: () => withRange });
25
25
  module.exports = __toCommonJS(assetRange_exports);
26
26
  async function withRange(request, response) {
27
27
  var range = request.headers.get("range");
28
- if (!range || request.method !== "GET" || response.status !== 200 || response.headers.has("content-range") || response.headers.has("content-encoding")) {
28
+ if (!range || request.method !== "GET" || response.status !== 200 || !response.body || response.headers.has("content-range") || response.headers.has("content-encoding") || !ifRangeMatches(request.headers.get("if-range"), response.headers)) {
29
29
  return response;
30
30
  }
31
31
  var match = /^bytes=(\d*)-(\d*)$/.exec(range.trim());
32
32
  if (!match || !match[1] && !match[2]) return response;
33
- var bytes = new Uint8Array(await response.arrayBuffer());
34
- var size = bytes.byteLength;
35
- var start;
36
- var end;
37
- if (!match[1]) {
38
- start = Math.max(0, size - Number(match[2]));
39
- end = size - 1;
40
- } else {
41
- start = Number(match[1]);
42
- end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
43
- }
33
+ var length = response.headers.get("content-length");
34
+ var known = length && /^\d+$/.test(length) ? Number(length) : void 0;
44
35
  var headers = new Headers(response.headers);
45
36
  headers.set("accept-ranges", "bytes");
46
- if (start >= size || start > end) {
37
+ headers.delete("content-length");
38
+ var { size, kept, keptStart } = await readRange(response.body, match, known);
39
+ var span = resolve(match, size);
40
+ if (!span) {
47
41
  headers.set("content-range", `bytes */${size}`);
48
42
  return new Response(null, {
49
43
  status: 416,
50
44
  headers
51
45
  });
52
46
  }
53
- headers.set("content-range", `bytes ${start}-${end}/${size}`);
54
- headers.set("content-length", String(end - start + 1));
55
- return new Response(bytes.subarray(start, end + 1), {
47
+ headers.set("content-range", `bytes ${span.start}-${span.end}/${size}`);
48
+ headers.set("content-length", String(span.end - span.start + 1));
49
+ return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {
56
50
  status: 206,
57
51
  headers
58
52
  });
59
53
  }
54
+ function ifRangeMatches(ifRange, headers) {
55
+ if (!ifRange) return true;
56
+ var value = ifRange.trim();
57
+ if (value.startsWith("\"")) {
58
+ var etag = headers.get("etag");
59
+ return !!etag && !etag.startsWith("W/") && etag === value;
60
+ }
61
+ if (value.startsWith("W/")) return false;
62
+ return headers.get("last-modified") === value;
63
+ }
64
+ function resolve(match, size) {
65
+ var start;
66
+ var end;
67
+ if (!match[1]) {
68
+ start = Math.max(0, size - Number(match[2]));
69
+ end = size - 1;
70
+ } else {
71
+ start = Number(match[1]);
72
+ end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;
73
+ }
74
+ if (start >= size || start > end) return;
75
+ return {
76
+ start,
77
+ end
78
+ };
79
+ }
80
+ async function readRange(body, match, known) {
81
+ var _resolve;
82
+ var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {
83
+ start: known,
84
+ end: -1
85
+ };
86
+ var suffix = !span && !match[1] ? Number(match[2]) : 0;
87
+ var from = span ? span.start : match[1] ? Number(match[1]) : 0;
88
+ var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;
89
+ var chunks = [];
90
+ var keptBytes = 0;
91
+ var size = 0;
92
+ var reader = body.getReader();
93
+ while (known === void 0 || size <= to) {
94
+ var { done, value } = await reader.read();
95
+ if (done) break;
96
+ var chunkStart = size;
97
+ size += value.byteLength;
98
+ if (suffix) {
99
+ chunks.push(value);
100
+ keptBytes += value.byteLength;
101
+ while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {
102
+ keptBytes -= chunks.shift().byteLength;
103
+ }
104
+ continue;
105
+ }
106
+ var lo = Math.max(from, chunkStart);
107
+ var hi = Math.min(to + 1, size);
108
+ if (hi > lo) {
109
+ chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));
110
+ keptBytes += hi - lo;
111
+ }
112
+ }
113
+ if (known !== void 0) {
114
+ await reader.cancel();
115
+ size = known;
116
+ }
117
+ var kept = new Uint8Array(keptBytes);
118
+ var at = 0;
119
+ var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;
120
+ try {
121
+ for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {
122
+ var chunk = _step.value;
123
+ kept.set(chunk, at);
124
+ at += chunk.byteLength;
125
+ }
126
+ } catch (err) {
127
+ _didIteratorError = true;
128
+ _iteratorError = err;
129
+ } finally {
130
+ try {
131
+ if (!_iteratorNormalCompletion && _iterator.return != null) {
132
+ _iterator.return();
133
+ }
134
+ } finally {
135
+ if (_didIteratorError) {
136
+ throw _iteratorError;
137
+ }
138
+ }
139
+ }
140
+ return {
141
+ size,
142
+ kept,
143
+ keptStart: suffix ? size - keptBytes : from
144
+ };
145
+ }
60
146
 
61
147
  //# sourceMappingURL=assetRange.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"assetRange.native.js","names":[],"sources":["cjs/server/assetRange.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar assetRange_exports = {};\n__export(assetRange_exports, {\n withRange: () => withRange\n});\nmodule.exports = __toCommonJS(assetRange_exports);\nasync function withRange(request, response) {\n var range = request.headers.get(\"range\");\n if (!range || request.method !== \"GET\" || response.status !== 200 || response.headers.has(\"content-range\") || response.headers.has(\"content-encoding\")) {\n return response;\n }\n var match = /^bytes=(\\d*)-(\\d*)$/.exec(range.trim());\n if (!match || !match[1] && !match[2]) return response;\n var bytes = new Uint8Array(await response.arrayBuffer());\n var size = bytes.byteLength;\n var start;\n var end;\n if (!match[1]) {\n start = Math.max(0, size - Number(match[2]));\n end = size - 1;\n } else {\n start = Number(match[1]);\n end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;\n }\n var headers = new Headers(response.headers);\n headers.set(\"accept-ranges\", \"bytes\");\n if (start >= size || start > end) {\n headers.set(\"content-range\", `bytes */${size}`);\n return new Response(null, {\n status: 416,\n headers\n });\n }\n headers.set(\"content-range\", `bytes ${start}-${end}/${size}`);\n headers.set(\"content-length\", String(end - start + 1));\n return new Response(bytes.subarray(start, end + 1), {\n status: 206,\n headers\n });\n}\n//# sourceMappingURL=assetRange.js.map\n"],"mappings":";;;AACA,IAAI,YAAY,OAAO;AACvB,IAAI,mBAAmB,OAAO;AAC9B,IAAI,oBAAoB,OAAO;AAC/B,IAAI,eAAe,OAAO,UAAU;AACpC,IAAI,YAAY,QAAQ,QAAQ;CAC9B,KAAK,IAAI,QAAQ,KACf,UAAU,QAAQ,MAAM;EAAE,KAAK,IAAI;EAAO,YAAY;CAAK,CAAC;AAChE;AACA,IAAI,eAAe,IAAI,MAAM,QAAQ,SAAS;CAC5C,IAAI,QAAQ,OAAO,SAAS,YAAY,OAAO,SAAS,YAAY;EAClE,KAAK,IAAI,OAAO,kBAAkB,IAAI,GACpC,IAAI,CAAC,aAAa,KAAK,IAAI,GAAG,KAAK,QAAQ,QACzC,UAAU,IAAI,KAAK;GAAE,WAAW,KAAK;GAAM,YAAY,EAAE,OAAO,iBAAiB,MAAM,GAAG,MAAM,KAAK;EAAW,CAAC;CACvH;CACA,OAAO;AACT;AACA,IAAI,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,qBAAqB,CAAC;AAC1B,SAAS,oBAAoB,EAC3B,iBAAiB,UACnB,CAAC;AACD,OAAO,UAAU,aAAa,kBAAkB;AAChD,eAAe,UAAU,SAAS,UAAU;CAC1C,IAAI,QAAQ,QAAQ,QAAQ,IAAI,OAAO;CACvC,IAAI,CAAC,SAAS,QAAQ,WAAW,SAAS,SAAS,WAAW,OAAO,SAAS,QAAQ,IAAI,eAAe,KAAK,SAAS,QAAQ,IAAI,kBAAkB,GAAG;EACtJ,OAAO;CACT;CACA,IAAI,QAAQ,sBAAsB,KAAK,MAAM,KAAK,CAAC;CACnD,IAAI,CAAC,SAAS,CAAC,MAAM,MAAM,CAAC,MAAM,IAAI,OAAO;CAC7C,IAAI,QAAQ,IAAI,WAAW,MAAM,SAAS,YAAY,CAAC;CACvD,IAAI,OAAO,MAAM;CACjB,IAAI;CACJ,IAAI;CACJ,IAAI,CAAC,MAAM,IAAI;EACb,QAAQ,KAAK,IAAI,GAAG,OAAO,OAAO,MAAM,EAAE,CAAC;EAC3C,MAAM,OAAO;CACf,OAAO;EACL,QAAQ,OAAO,MAAM,EAAE;EACvB,MAAM,MAAM,KAAK,KAAK,IAAI,OAAO,MAAM,EAAE,GAAG,OAAO,CAAC,IAAI,OAAO;CACjE;CACA,IAAI,UAAU,IAAI,QAAQ,SAAS,OAAO;CAC1C,QAAQ,IAAI,iBAAiB,OAAO;CACpC,IAAI,SAAS,QAAQ,QAAQ,KAAK;EAChC,QAAQ,IAAI,iBAAiB,WAAW,MAAM;EAC9C,OAAO,IAAI,SAAS,MAAM;GACxB,QAAQ;GACR;EACF,CAAC;CACH;CACA,QAAQ,IAAI,iBAAiB,SAAS,MAAM,GAAG,IAAI,GAAG,MAAM;CAC5D,QAAQ,IAAI,kBAAkB,OAAO,MAAM,QAAQ,CAAC,CAAC;CACrD,OAAO,IAAI,SAAS,MAAM,SAAS,OAAO,MAAM,CAAC,GAAG;EAClD,QAAQ;EACR;CACF,CAAC;AACH"}
1
+ {"version":3,"file":"assetRange.native.js","names":[],"sources":["cjs/server/assetRange.native.js"],"sourcesContent":["\"use strict\";\nvar __defProp = Object.defineProperty;\nvar __getOwnPropDesc = Object.getOwnPropertyDescriptor;\nvar __getOwnPropNames = Object.getOwnPropertyNames;\nvar __hasOwnProp = Object.prototype.hasOwnProperty;\nvar __export = (target, all) => {\n for (var name in all)\n __defProp(target, name, { get: all[name], enumerable: true });\n};\nvar __copyProps = (to, from, except, desc) => {\n if (from && typeof from === \"object\" || typeof from === \"function\") {\n for (let key of __getOwnPropNames(from))\n if (!__hasOwnProp.call(to, key) && key !== except)\n __defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });\n }\n return to;\n};\nvar __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar assetRange_exports = {};\n__export(assetRange_exports, {\n withRange: () => withRange\n});\nmodule.exports = __toCommonJS(assetRange_exports);\nasync function withRange(request, response) {\n var range = request.headers.get(\"range\");\n if (!range || request.method !== \"GET\" || response.status !== 200 || !response.body || response.headers.has(\"content-range\") || response.headers.has(\"content-encoding\") || !ifRangeMatches(request.headers.get(\"if-range\"), response.headers)) {\n return response;\n }\n var match = /^bytes=(\\d*)-(\\d*)$/.exec(range.trim());\n if (!match || !match[1] && !match[2]) return response;\n var length = response.headers.get(\"content-length\");\n var known = length && /^\\d+$/.test(length) ? Number(length) : void 0;\n var headers = new Headers(response.headers);\n headers.set(\"accept-ranges\", \"bytes\");\n headers.delete(\"content-length\");\n var { size, kept, keptStart } = await readRange(response.body, match, known);\n var span = resolve(match, size);\n if (!span) {\n headers.set(\"content-range\", `bytes */${size}`);\n return new Response(null, {\n status: 416,\n headers\n });\n }\n headers.set(\"content-range\", `bytes ${span.start}-${span.end}/${size}`);\n headers.set(\"content-length\", String(span.end - span.start + 1));\n return new Response(kept.subarray(span.start - keptStart, span.end - keptStart + 1), {\n status: 206,\n headers\n });\n}\nfunction ifRangeMatches(ifRange, headers) {\n if (!ifRange) return true;\n var value = ifRange.trim();\n if (value.startsWith('\"')) {\n var etag = headers.get(\"etag\");\n return !!etag && !etag.startsWith(\"W/\") && etag === value;\n }\n if (value.startsWith(\"W/\")) return false;\n return headers.get(\"last-modified\") === value;\n}\nfunction resolve(match, size) {\n var start;\n var end;\n if (!match[1]) {\n start = Math.max(0, size - Number(match[2]));\n end = size - 1;\n } else {\n start = Number(match[1]);\n end = match[2] ? Math.min(Number(match[2]), size - 1) : size - 1;\n }\n if (start >= size || start > end) return;\n return {\n start,\n end\n };\n}\nasync function readRange(body, match, known) {\n var _resolve;\n var span = known === void 0 ? void 0 : (_resolve = resolve(match, known)) !== null && _resolve !== void 0 ? _resolve : {\n start: known,\n end: -1\n };\n var suffix = !span && !match[1] ? Number(match[2]) : 0;\n var from = span ? span.start : match[1] ? Number(match[1]) : 0;\n var to = span ? span.end : match[2] && match[1] ? Number(match[2]) : Number.POSITIVE_INFINITY;\n var chunks = [];\n var keptBytes = 0;\n var size = 0;\n var reader = body.getReader();\n while (known === void 0 || size <= to) {\n var { done, value } = await reader.read();\n if (done) break;\n var chunkStart = size;\n size += value.byteLength;\n if (suffix) {\n chunks.push(value);\n keptBytes += value.byteLength;\n while (chunks.length > 1 && keptBytes - chunks[0].byteLength >= suffix) {\n keptBytes -= chunks.shift().byteLength;\n }\n continue;\n }\n var lo = Math.max(from, chunkStart);\n var hi = Math.min(to + 1, size);\n if (hi > lo) {\n chunks.push(value.subarray(lo - chunkStart, hi - chunkStart));\n keptBytes += hi - lo;\n }\n }\n if (known !== void 0) {\n await reader.cancel();\n size = known;\n }\n var kept = new Uint8Array(keptBytes);\n var at = 0;\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = chunks[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var chunk = _step.value;\n kept.set(chunk, at);\n at += chunk.byteLength;\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 return {\n size,\n kept,\n keptStart: suffix ? size - keptBytes : from\n };\n}\n//# sourceMappingURL=assetRange.js.map\n"],"mappings":"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"}
package/dist/esm/cli.mjs CHANGED
@@ -422,7 +422,7 @@ const subCommands = {
422
422
  };
423
423
  const subMain = defineCommand({
424
424
  meta: {
425
- name: "main",
425
+ name: "one",
426
426
  version,
427
427
  description: "Welcome to One"
428
428
  },
@@ -430,7 +430,7 @@ const subMain = defineCommand({
430
430
  });
431
431
  const main = defineCommand({
432
432
  meta: {
433
- name: "main",
433
+ name: "one",
434
434
  version,
435
435
  description: "Welcome to One"
436
436
  },