one 2.0.0-beta.53.1 → 2.0.0-beta.56.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (202) hide show
  1. package/dist/cjs/babel-preset/index.cjs +10 -23
  2. package/dist/cjs/babel-preset/index.native.cjs +10 -23
  3. package/dist/cjs/babel-preset/index.native.js +10 -23
  4. package/dist/cjs/babel-preset/index.native.js.map +1 -1
  5. package/dist/cjs/cli/generateBundlerConfig.cjs +18 -39
  6. package/dist/cjs/cli/generateBundlerConfig.native.cjs +18 -42
  7. package/dist/cjs/cli/generateBundlerConfig.native.js +18 -42
  8. package/dist/cjs/cli/generateBundlerConfig.native.js.map +1 -1
  9. package/dist/cjs/cli/patch.cjs +0 -4
  10. package/dist/cjs/cli/patch.native.cjs +0 -4
  11. package/dist/cjs/cli/patch.native.js +0 -4
  12. package/dist/cjs/cli/patch.native.js.map +1 -1
  13. package/dist/cjs/fork/extractPathFromURL.cjs +3 -52
  14. package/dist/cjs/fork/extractPathFromURL.native.cjs +3 -57
  15. package/dist/cjs/fork/extractPathFromURL.native.js +3 -57
  16. package/dist/cjs/fork/extractPathFromURL.native.js.map +1 -1
  17. package/dist/cjs/layouts/Stack.cjs +32 -12
  18. package/dist/cjs/layouts/Stack.native.cjs +37 -15
  19. package/dist/cjs/layouts/Stack.native.js +37 -15
  20. package/dist/cjs/layouts/Stack.native.js.map +1 -1
  21. package/dist/cjs/layouts/stack-utils/StackScreen.cjs +2 -0
  22. package/dist/cjs/layouts/stack-utils/StackScreen.native.cjs +2 -0
  23. package/dist/cjs/layouts/stack-utils/StackScreen.native.js +2 -0
  24. package/dist/cjs/layouts/stack-utils/StackScreen.native.js.map +1 -1
  25. package/dist/cjs/layouts/stack-utils/StackToolbar.cjs +59 -0
  26. package/dist/cjs/layouts/stack-utils/StackToolbar.native.cjs +61 -0
  27. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js +63 -0
  28. package/dist/cjs/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  29. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.cjs +91 -0
  30. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.cjs +103 -0
  31. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.js +105 -0
  32. package/dist/cjs/layouts/stack-utils/StackToolbarBottomHost.native.js.map +1 -0
  33. package/dist/cjs/layouts/stack-utils/index.cjs +7 -0
  34. package/dist/cjs/layouts/stack-utils/index.native.cjs +7 -0
  35. package/dist/cjs/layouts/stack-utils/index.native.js +7 -0
  36. package/dist/cjs/layouts/stack-utils/index.native.js.map +1 -1
  37. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.cjs +286 -0
  38. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.cjs +300 -0
  39. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.js +302 -0
  40. package/dist/cjs/layouts/stack-utils/stackToolbarDescriptors.native.js.map +1 -0
  41. package/dist/cjs/native/appManifest.cjs +7 -0
  42. package/dist/cjs/native/appManifest.native.cjs +7 -0
  43. package/dist/cjs/native/appManifest.native.js +7 -0
  44. package/dist/cjs/native/appManifest.native.js.map +1 -1
  45. package/dist/cjs/native/index.cjs +1 -15
  46. package/dist/cjs/native/index.native.cjs +1 -15
  47. package/dist/cjs/native/index.native.js +1 -15
  48. package/dist/cjs/native/index.native.js.map +1 -1
  49. package/dist/cjs/one.cjs +33 -14
  50. package/dist/cjs/one.native.cjs +34 -16
  51. package/dist/cjs/one.native.js +34 -16
  52. package/dist/cjs/one.native.js.map +1 -1
  53. package/dist/cjs/vite/ensureTsConfig.cjs +0 -1
  54. package/dist/cjs/vite/ensureTsConfig.native.cjs +0 -1
  55. package/dist/cjs/vite/ensureTsConfig.native.js +0 -1
  56. package/dist/cjs/vite/ensureTsConfig.native.js.map +1 -1
  57. package/dist/cjs/vite/one.native.js.map +1 -1
  58. package/dist/esm/babel-preset/index.mjs +10 -23
  59. package/dist/esm/babel-preset/index.mjs.map +1 -1
  60. package/dist/esm/babel-preset/index.native.js +10 -23
  61. package/dist/esm/babel-preset/index.native.js.map +1 -1
  62. package/dist/esm/cli/generateBundlerConfig.mjs +18 -37
  63. package/dist/esm/cli/generateBundlerConfig.mjs.map +1 -1
  64. package/dist/esm/cli/generateBundlerConfig.native.js +18 -40
  65. package/dist/esm/cli/generateBundlerConfig.native.js.map +1 -1
  66. package/dist/esm/cli/patch.mjs +0 -4
  67. package/dist/esm/cli/patch.mjs.map +1 -1
  68. package/dist/esm/cli/patch.native.js +0 -4
  69. package/dist/esm/cli/patch.native.js.map +1 -1
  70. package/dist/esm/fork/extractPathFromURL.mjs +3 -46
  71. package/dist/esm/fork/extractPathFromURL.mjs.map +1 -1
  72. package/dist/esm/fork/extractPathFromURL.native.js +3 -51
  73. package/dist/esm/fork/extractPathFromURL.native.js.map +1 -1
  74. package/dist/esm/layouts/Stack.mjs +33 -13
  75. package/dist/esm/layouts/Stack.mjs.map +1 -1
  76. package/dist/esm/layouts/Stack.native.js +38 -16
  77. package/dist/esm/layouts/Stack.native.js.map +1 -1
  78. package/dist/esm/layouts/stack-utils/StackScreen.mjs +2 -0
  79. package/dist/esm/layouts/stack-utils/StackScreen.mjs.map +1 -1
  80. package/dist/esm/layouts/stack-utils/StackScreen.native.js +2 -0
  81. package/dist/esm/layouts/stack-utils/StackScreen.native.js.map +1 -1
  82. package/dist/esm/layouts/stack-utils/StackToolbar.mjs +32 -0
  83. package/dist/esm/layouts/stack-utils/StackToolbar.mjs.map +1 -0
  84. package/dist/esm/layouts/stack-utils/StackToolbar.native.js +32 -0
  85. package/dist/esm/layouts/stack-utils/StackToolbar.native.js.map +1 -0
  86. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.mjs +72 -0
  87. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.mjs.map +1 -0
  88. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.native.js +82 -0
  89. package/dist/esm/layouts/stack-utils/StackToolbarBottomHost.native.js.map +1 -0
  90. package/dist/esm/layouts/stack-utils/index.mjs +2 -1
  91. package/dist/esm/layouts/stack-utils/index.mjs.map +1 -1
  92. package/dist/esm/layouts/stack-utils/index.native.js +2 -1
  93. package/dist/esm/layouts/stack-utils/index.native.js.map +1 -1
  94. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.mjs +258 -0
  95. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.mjs.map +1 -0
  96. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.native.js +270 -0
  97. package/dist/esm/layouts/stack-utils/stackToolbarDescriptors.native.js.map +1 -0
  98. package/dist/esm/native/appManifest.mjs +7 -0
  99. package/dist/esm/native/appManifest.mjs.map +1 -1
  100. package/dist/esm/native/appManifest.native.js +7 -0
  101. package/dist/esm/native/appManifest.native.js.map +1 -1
  102. package/dist/esm/native/index.mjs +1 -3
  103. package/dist/esm/native/index.native.js +1 -3
  104. package/dist/esm/one.mjs +33 -14
  105. package/dist/esm/one.mjs.map +1 -1
  106. package/dist/esm/one.native.js +34 -16
  107. package/dist/esm/one.native.js.map +1 -1
  108. package/dist/esm/vite/ensureTsConfig.mjs +0 -1
  109. package/dist/esm/vite/ensureTsConfig.mjs.map +1 -1
  110. package/dist/esm/vite/ensureTsConfig.native.js +0 -1
  111. package/dist/esm/vite/ensureTsConfig.native.js.map +1 -1
  112. package/dist/esm/vite/one.mjs.map +1 -1
  113. package/dist/esm/vite/one.native.js.map +1 -1
  114. package/package.json +14 -19
  115. package/react-native-config.cjs +10 -0
  116. package/src/babel-preset/index.test.ts +1 -13
  117. package/src/babel-preset/index.ts +12 -29
  118. package/src/babel-preset/integration.test.ts +1 -4
  119. package/src/cli/build.ts +1 -3
  120. package/src/cli/generateBundlerConfig.test.ts +8 -119
  121. package/src/cli/generateBundlerConfig.ts +19 -60
  122. package/src/cli/patch.ts +0 -8
  123. package/src/fork/extractPathFromURL.ts +3 -78
  124. package/src/index.ts +12 -0
  125. package/src/layouts/Stack.tsx +68 -13
  126. package/src/layouts/stack-utils/README.md +60 -0
  127. package/src/layouts/stack-utils/StackScreen.tsx +10 -0
  128. package/src/layouts/stack-utils/StackToolbar.tsx +71 -0
  129. package/src/layouts/stack-utils/StackToolbarBottomHost.tsx +98 -0
  130. package/src/layouts/stack-utils/__tests__/toolbar.test.tsx +333 -0
  131. package/src/layouts/stack-utils/index.tsx +18 -0
  132. package/src/layouts/stack-utils/stackToolbarDescriptors.ts +515 -0
  133. package/src/metro-config/buildOneMetroResolverOverrides.ts +1 -1
  134. package/src/metro-config/withOne.test.ts +44 -3
  135. package/src/metro-config/withOne.ts +7 -12
  136. package/src/native/appManifest.test.ts +24 -0
  137. package/src/native/appManifest.ts +47 -7
  138. package/src/native/index.ts +2 -23
  139. package/src/native/packedClosure.test.ts +274 -11
  140. package/src/one.test.ts +19 -15
  141. package/src/one.ts +100 -28
  142. package/src/setup.ts +0 -6
  143. package/src/vite/ensureTsConfig.ts +0 -1
  144. package/src/vite/one.ts +3 -9
  145. package/types/babel-preset/index.d.ts +6 -6
  146. package/types/babel-preset/index.d.ts.map +1 -1
  147. package/types/cli/build.d.ts.map +1 -1
  148. package/types/cli/generateBundlerConfig.d.ts +1 -20
  149. package/types/cli/generateBundlerConfig.d.ts.map +1 -1
  150. package/types/cli/patch.d.ts.map +1 -1
  151. package/types/fork/extractPathFromURL.d.ts +1 -11
  152. package/types/fork/extractPathFromURL.d.ts.map +1 -1
  153. package/types/index.d.ts +1 -0
  154. package/types/index.d.ts.map +1 -1
  155. package/types/layouts/Stack.d.ts +14 -1
  156. package/types/layouts/Stack.d.ts.map +1 -1
  157. package/types/layouts/stack-utils/StackScreen.d.ts.map +1 -1
  158. package/types/layouts/stack-utils/StackToolbar.d.ts +30 -0
  159. package/types/layouts/stack-utils/StackToolbar.d.ts.map +1 -0
  160. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts +9 -0
  161. package/types/layouts/stack-utils/StackToolbarBottomHost.d.ts.map +1 -0
  162. package/types/layouts/stack-utils/index.d.ts +1 -0
  163. package/types/layouts/stack-utils/index.d.ts.map +1 -1
  164. package/types/layouts/stack-utils/stackToolbarDescriptors.d.ts +160 -0
  165. package/types/layouts/stack-utils/stackToolbarDescriptors.d.ts.map +1 -0
  166. package/types/metro-config/buildOneMetroResolverOverrides.d.ts +1 -1
  167. package/types/metro-config/withOne.d.ts +6 -11
  168. package/types/metro-config/withOne.d.ts.map +1 -1
  169. package/types/native/appManifest.d.ts +11 -3
  170. package/types/native/appManifest.d.ts.map +1 -1
  171. package/types/native/index.d.ts +0 -2
  172. package/types/native/index.d.ts.map +1 -1
  173. package/types/one.d.ts +31 -9
  174. package/types/one.d.ts.map +1 -1
  175. package/types/vite/ensureTsConfig.d.ts.map +1 -1
  176. package/types/vite/one.d.ts.map +1 -1
  177. package/dist/cjs/native/generator.cjs +0 -160
  178. package/dist/cjs/native/generator.native.cjs +0 -246
  179. package/dist/cjs/native/generator.native.js +0 -248
  180. package/dist/cjs/native/generator.native.js.map +0 -1
  181. package/dist/cjs/native/platform.cjs +0 -145
  182. package/dist/cjs/native/platform.native.cjs +0 -166
  183. package/dist/cjs/native/platform.native.js +0 -168
  184. package/dist/cjs/native/platform.native.js.map +0 -1
  185. package/dist/esm/native/generator.mjs +0 -135
  186. package/dist/esm/native/generator.mjs.map +0 -1
  187. package/dist/esm/native/generator.native.js +0 -219
  188. package/dist/esm/native/generator.native.js.map +0 -1
  189. package/dist/esm/native/platform.mjs +0 -117
  190. package/dist/esm/native/platform.mjs.map +0 -1
  191. package/dist/esm/native/platform.native.js +0 -136
  192. package/dist/esm/native/platform.native.js.map +0 -1
  193. package/expo-plugin.cjs +0 -1
  194. package/react-native-commands.cjs +0 -1
  195. package/src/native/generator.test.ts +0 -39
  196. package/src/native/generator.ts +0 -205
  197. package/src/native/platform.test.ts +0 -46
  198. package/src/native/platform.ts +0 -173
  199. package/types/native/generator.d.ts +0 -36
  200. package/types/native/generator.d.ts.map +0 -1
  201. package/types/native/platform.d.ts +0 -26
  202. package/types/native/platform.d.ts.map +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"generateBundlerConfig.native.js","names":[],"sources":["cjs/cli/generateBundlerConfig.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 __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 __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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar generateBundlerConfig_exports = {};\n__export(generateBundlerConfig_exports, {\n ONE_GENERATED_MARKER: () => ONE_GENERATED_MARKER,\n generateBundlerConfig: () => generateBundlerConfig,\n getBundlerConfigOptionsFromOneOptions: () => getBundlerConfigOptionsFromOneOptions,\n isCiEnvironment: () => isCiEnvironment,\n maybeGenerateBundlerConfigOnInstall: () => maybeGenerateBundlerConfigOnInstall\n});\nmodule.exports = __toCommonJS(generateBundlerConfig_exports);\nvar import_fs = require(\"fs\");\nvar import_module = __toESM(require(\"module\"), 1);\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nvar import_getRouterRootFromOneOptions = require(\"../utils/getRouterRootFromOneOptions\");\nvar ONE_GENERATED_MARKER = \"@one/generated bundler-config\";\nfunction buildBabelConfigContent(param) {\n var { eject, options } = param;\n var header = eject ? `// you own this file. edit freely \\u2014 \\`one\\` will not regenerate it.\n// delegates to one/babel-preset which holds the canonical plugin chain.\n` : `// ${ONE_GENERATED_MARKER}\n//\n// auto-generated by \\`one patch\\` on ci/eas workers when expo-updates is\n// in deps. delegates to one/babel-preset so expo export / eas update\n// use the same router/setup options as \\`one dev\\` and \\`one build\\`.\n//\n// to customize, delete this header and edit freely \\u2014 re-runs will then\n// leave this file alone.\n`;\n return `${header}\nconst oneBabelPreset = require('one/babel-preset')\nconst preset = oneBabelPreset.default || oneBabelPreset\nconst oneBundlerOptions = ${serializeBundlerConfigOptions(options)}\n\nmodule.exports = function (api) {\n return preset(api, oneBundlerOptions)\n}\n`;\n}\nfunction buildMetroConfigContent(param) {\n var { eject, options } = param;\n var header = eject ? `// you own this file. edit freely \\u2014 \\`one\\` will not regenerate it.\n// withOne() invokes the same Metro pipeline One uses for production bundles.\n` : `// ${ONE_GENERATED_MARKER}\n//\n// auto-generated by \\`one patch\\` on ci/eas workers when expo-updates is\n// in deps. delegates to one/metro-config which invokes the exact same\n// metro pipeline one uses for production native bundles with your\n// router/setup options \\u2014 no separate expo/metro-config setup needed.\n//\n// to customize, delete this header and edit freely \\u2014 re-runs will then\n// leave this file alone.\n`;\n return `${header}\nconst { withOne } = require('one/metro-config')\nconst oneBundlerOptions = ${serializeBundlerConfigOptions(options)}\n\nmodule.exports = withOne(__dirname, oneBundlerOptions)\n`;\n}\nvar FILES = [\n {\n name: \"babel.config.cjs\",\n getContent: buildBabelConfigContent,\n conflicting: [\n \"babel.config.js\",\n \"babel.config.mjs\",\n \".babelrc\",\n \".babelrc.js\"\n ]\n },\n {\n name: \"metro.config.cjs\",\n getContent: buildMetroConfigContent,\n conflicting: [\n \"metro.config.js\",\n \"metro.config.mjs\"\n ]\n }\n];\nfunction stripUndefined(value) {\n if (Array.isArray(value)) {\n return value.map(stripUndefined);\n }\n if (value && typeof value === \"object\") {\n return Object.fromEntries(Object.entries(value).filter(function(param) {\n var [, entry] = param;\n return entry !== void 0;\n }).map(function(param) {\n var [key, entry] = param;\n return [\n key,\n stripUndefined(entry)\n ];\n }));\n }\n return value;\n}\nfunction assertSerializable(value) {\n var keyPath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"one bundler options\";\n if (typeof value === \"function\" || typeof value === \"symbol\" || typeof value === \"bigint\") {\n throw new Error(`[one] ${keyPath} must be JSON-serializable to generate Babel/Metro config files. Move function-valued native linking/customization into an ejected config.`);\n }\n if (Array.isArray(value)) {\n value.forEach(function(entry2, index) {\n return assertSerializable(entry2, `${keyPath}[${index}]`);\n });\n return;\n }\n if (value && typeof value === \"object\") {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(value)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, entry] = _step.value;\n assertSerializable(entry, `${keyPath}.${key}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction serializeBundlerConfigOptions(options) {\n var clean = stripUndefined(options);\n assertSerializable(clean);\n return JSON.stringify(clean, null, 2);\n}\nfunction getBundlerConfigOptionsFromOneOptions() {\n var oneOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _oneOptions_router, _oneOptions_router1;\n return stripUndefined({\n routerRoot: (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(oneOptions),\n ignoredRouteFiles: (_oneOptions_router = oneOptions.router) === null || _oneOptions_router === void 0 ? void 0 : _oneOptions_router.ignoredRouteFiles,\n linking: (_oneOptions_router1 = oneOptions.router) === null || _oneOptions_router1 === void 0 ? void 0 : _oneOptions_router1.linking,\n setupFile: oneOptions.setupFile\n });\n}\nfunction generateBundlerConfig() {\n var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _args_cwd;\n var cwd = import_path.default.resolve((_args_cwd = args.cwd) !== null && _args_cwd !== void 0 ? _args_cwd : process.cwd());\n var force = !!args.force;\n var check = !!args.check;\n var quiet = !!args.quiet;\n var log = function(msg) {\n if (!quiet) console.info(msg);\n };\n var warn = function(msg) {\n if (!quiet) console.warn(msg);\n };\n var results = [];\n var eject = !!args.eject;\n var bundlerOptions = getBundlerConfigOptionsFromOneOptions(args.oneOptions);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = FILES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var file = _step.value;\n var filePath = import_path.default.join(cwd, file.name);\n var targetContent = file.getContent({\n eject,\n options: bundlerOptions\n });\n var conflict = file.conflicting.find(function(alt) {\n return (0, import_fs.existsSync)(import_path.default.join(cwd, alt));\n });\n if (conflict && !(0, import_fs.existsSync)(filePath)) {\n results.push({\n filePath: import_path.default.join(cwd, conflict),\n action: \"skipped-other-format\",\n reason: `Found ${conflict}; not creating ${file.name}. To switch, delete ${conflict} and re-run with --force.`\n });\n warn(import_picocolors.default.yellow(`[one] found ${conflict} \\u2014 leaving it alone. Delete it and re-run with --force to switch to ${file.name}.`));\n continue;\n }\n if (!(0, import_fs.existsSync)(filePath)) {\n if (check) {\n results.push({\n filePath,\n action: \"would-write\"\n });\n log(import_picocolors.default.yellow(`[one] missing: ${file.name}`));\n continue;\n }\n (0, import_fs.writeFileSync)(filePath, targetContent);\n results.push({\n filePath,\n action: \"wrote\"\n });\n log(import_picocolors.default.green(`[one] wrote ${file.name}`));\n continue;\n }\n var existing = (0, import_fs.readFileSync)(filePath, \"utf8\");\n if (existing === targetContent) {\n results.push({\n filePath,\n action: \"kept\"\n });\n log(import_picocolors.default.dim(`[one] up to date: ${file.name}`));\n continue;\n }\n var hasMarker = existing.includes(ONE_GENERATED_MARKER);\n if (!hasMarker && !force) {\n results.push({\n filePath,\n action: \"skipped-customized\",\n reason: `${file.name} has been customized (no @one marker). Re-add the marker comment or pass --force to overwrite.`\n });\n warn(import_picocolors.default.yellow(`[one] ${file.name} appears customized \\u2014 skipping. Pass --force to overwrite.`));\n continue;\n }\n if (check) {\n results.push({\n filePath,\n action: \"would-overwrite\"\n });\n log(import_picocolors.default.yellow(`[one] out of date: ${file.name}`));\n continue;\n }\n (0, import_fs.writeFileSync)(filePath, targetContent);\n results.push({\n filePath,\n action: \"wrote\"\n });\n log(import_picocolors.default.green(`[one] updated ${file.name}`));\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 var acceptableAlways = /* @__PURE__ */ new Set([\n \"wrote\",\n \"kept\",\n \"skipped-other-format\",\n \"skipped-customized\"\n ]);\n var acceptableInCheck = /* @__PURE__ */ new Set([\n \"kept\",\n \"skipped-other-format\",\n \"skipped-customized\"\n ]);\n var ok = (check ? acceptableInCheck : acceptableAlways).size ? results.every(function(r) {\n return (check ? acceptableInCheck : acceptableAlways).has(r.action);\n }) : false;\n return {\n results,\n ok\n };\n}\nfunction isCiEnvironment() {\n var truthy = function(v) {\n return !!v && v !== \"false\" && v !== \"0\";\n };\n return truthy(process.env.EAS_BUILD) || truthy(process.env.CI);\n}\nfunction maybeGenerateBundlerConfigOnInstall() {\n var cwd = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : process.cwd(), oneOptions = arguments.length > 1 ? arguments[1] : void 0;\n if (!isCiEnvironment()) return;\n try {\n import_module.default.createRequire(cwd + \"/\").resolve(\"expo-updates/package.json\");\n } catch (unused) {\n return;\n }\n generateBundlerConfig({\n cwd,\n quiet: false,\n oneOptions\n });\n}\n//# sourceMappingURL=generateBundlerConfig.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"generateBundlerConfig.native.js","names":[],"sources":["cjs/cli/generateBundlerConfig.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 __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 __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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar generateBundlerConfig_exports = {};\n__export(generateBundlerConfig_exports, {\n ONE_GENERATED_MARKER: () => ONE_GENERATED_MARKER,\n generateBundlerConfig: () => generateBundlerConfig,\n getBundlerConfigOptionsFromOneOptions: () => getBundlerConfigOptionsFromOneOptions\n});\nmodule.exports = __toCommonJS(generateBundlerConfig_exports);\nvar import_fs = require(\"fs\");\nvar import_path = __toESM(require(\"path\"), 1);\nvar import_picocolors = __toESM(require(\"picocolors\"), 1);\nvar import_getRouterRootFromOneOptions = require(\"../utils/getRouterRootFromOneOptions\");\nvar ONE_GENERATED_MARKER = \"@one/generated bundler-config\";\nfunction buildBabelConfigContent(param) {\n var { eject, options } = param;\n var header = eject ? `// you own this file. edit freely. \\`one\\` will not regenerate it.\n// composes React Native's Metro preset with One's canonical plugin chain.\n` : `// ${ONE_GENERATED_MARKER}\n//\n// auto-generated by \\`one metro-eject\\`. composes React Native's Metro\n// preset with One's router/setup transforms.\n//\n// to customize, delete this header and edit freely. re-runs will then\n// leave this file alone.\n`;\n return `${header}\nconst oneBundlerOptions = ${serializeBundlerConfigOptions(options)}\n\nmodule.exports = {\n presets: [\n '@react-native/babel-preset',\n ['one/babel-preset', oneBundlerOptions],\n ],\n}\n`;\n}\nfunction buildMetroConfigContent(param) {\n var { eject, options } = param;\n var header = eject ? `// you own this file. edit freely. \\`one\\` will not regenerate it.\n// withOne() invokes the same Metro pipeline One uses for production bundles.\n` : `// ${ONE_GENERATED_MARKER}\n//\n// auto-generated by \\`one metro-eject\\`. delegates to one/metro-config,\n// which invokes the same metro pipeline One uses for production native\n// bundles with your router and setup options.\n//\n// to customize, delete this header and edit freely. re-runs will then\n// leave this file alone.\n`;\n return `${header}\nconst { withOne } = require('one/metro-config')\nconst oneBundlerOptions = ${serializeBundlerConfigOptions(options)}\n\nmodule.exports = withOne(__dirname, oneBundlerOptions)\n`;\n}\nvar FILES = [\n {\n name: \"babel.config.cjs\",\n getContent: buildBabelConfigContent,\n conflicting: [\n \"babel.config.js\",\n \"babel.config.mjs\",\n \".babelrc\",\n \".babelrc.js\"\n ]\n },\n {\n name: \"metro.config.cjs\",\n getContent: buildMetroConfigContent,\n conflicting: [\n \"metro.config.js\",\n \"metro.config.mjs\"\n ]\n }\n];\nfunction stripUndefined(value) {\n if (Array.isArray(value)) {\n return value.map(stripUndefined);\n }\n if (value && typeof value === \"object\") {\n return Object.fromEntries(Object.entries(value).filter(function(param) {\n var [, entry] = param;\n return entry !== void 0;\n }).map(function(param) {\n var [key, entry] = param;\n return [\n key,\n stripUndefined(entry)\n ];\n }));\n }\n return value;\n}\nfunction assertSerializable(value) {\n var keyPath = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"one bundler options\";\n if (typeof value === \"function\" || typeof value === \"symbol\" || typeof value === \"bigint\") {\n throw new Error(`[one] ${keyPath} must be JSON-serializable to generate Babel/Metro config files. Move function-valued native linking/customization into an ejected config.`);\n }\n if (Array.isArray(value)) {\n value.forEach(function(entry2, index) {\n return assertSerializable(entry2, `${keyPath}[${index}]`);\n });\n return;\n }\n if (value && typeof value === \"object\") {\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = Object.entries(value)[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var [key, entry] = _step.value;\n assertSerializable(entry, `${keyPath}.${key}`);\n }\n } catch (err) {\n _didIteratorError = true;\n _iteratorError = err;\n } finally {\n try {\n if (!_iteratorNormalCompletion && _iterator.return != null) {\n _iterator.return();\n }\n } finally {\n if (_didIteratorError) {\n throw _iteratorError;\n }\n }\n }\n }\n}\nfunction serializeBundlerConfigOptions(options) {\n var clean = stripUndefined(options);\n assertSerializable(clean);\n return JSON.stringify(clean, null, 2);\n}\nfunction getBundlerConfigOptionsFromOneOptions() {\n var oneOptions = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _oneOptions_router, _oneOptions_router1;\n return stripUndefined({\n routerRoot: (0, import_getRouterRootFromOneOptions.getRouterRootFromOneOptions)(oneOptions),\n ignoredRouteFiles: (_oneOptions_router = oneOptions.router) === null || _oneOptions_router === void 0 ? void 0 : _oneOptions_router.ignoredRouteFiles,\n linking: (_oneOptions_router1 = oneOptions.router) === null || _oneOptions_router1 === void 0 ? void 0 : _oneOptions_router1.linking,\n setupFile: oneOptions.setupFile\n });\n}\nfunction generateBundlerConfig() {\n var args = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : {};\n var _args_cwd;\n var cwd = import_path.default.resolve((_args_cwd = args.cwd) !== null && _args_cwd !== void 0 ? _args_cwd : process.cwd());\n var force = !!args.force;\n var check = !!args.check;\n var quiet = !!args.quiet;\n var log = function(msg) {\n if (!quiet) console.info(msg);\n };\n var warn = function(msg) {\n if (!quiet) console.warn(msg);\n };\n var results = [];\n var eject = !!args.eject;\n var bundlerOptions = getBundlerConfigOptionsFromOneOptions(args.oneOptions);\n var _iteratorNormalCompletion = true, _didIteratorError = false, _iteratorError = void 0;\n try {\n for (var _iterator = FILES[Symbol.iterator](), _step; !(_iteratorNormalCompletion = (_step = _iterator.next()).done); _iteratorNormalCompletion = true) {\n var file = _step.value;\n var filePath = import_path.default.join(cwd, file.name);\n var targetContent = file.getContent({\n eject,\n options: bundlerOptions\n });\n var conflict = file.conflicting.find(function(alt) {\n return (0, import_fs.existsSync)(import_path.default.join(cwd, alt));\n });\n if (conflict && !(0, import_fs.existsSync)(filePath)) {\n results.push({\n filePath: import_path.default.join(cwd, conflict),\n action: \"skipped-other-format\",\n reason: `Found ${conflict}; not creating ${file.name}. To switch, delete ${conflict} and re-run with --force.`\n });\n warn(import_picocolors.default.yellow(`[one] found ${conflict}. Leaving it alone. Delete it and re-run with --force to switch to ${file.name}.`));\n continue;\n }\n if (!(0, import_fs.existsSync)(filePath)) {\n if (check) {\n results.push({\n filePath,\n action: \"would-write\"\n });\n log(import_picocolors.default.yellow(`[one] missing: ${file.name}`));\n continue;\n }\n (0, import_fs.writeFileSync)(filePath, targetContent);\n results.push({\n filePath,\n action: \"wrote\"\n });\n log(import_picocolors.default.green(`[one] wrote ${file.name}`));\n continue;\n }\n var existing = (0, import_fs.readFileSync)(filePath, \"utf8\");\n if (existing === targetContent) {\n results.push({\n filePath,\n action: \"kept\"\n });\n log(import_picocolors.default.dim(`[one] up to date: ${file.name}`));\n continue;\n }\n var hasMarker = existing.includes(ONE_GENERATED_MARKER);\n if (!hasMarker && !force) {\n results.push({\n filePath,\n action: \"skipped-customized\",\n reason: `${file.name} has been customized (no @one marker). Re-add the marker comment or pass --force to overwrite.`\n });\n warn(import_picocolors.default.yellow(`[one] ${file.name} appears customized. Skipping. Pass --force to overwrite.`));\n continue;\n }\n if (check) {\n results.push({\n filePath,\n action: \"would-overwrite\"\n });\n log(import_picocolors.default.yellow(`[one] out of date: ${file.name}`));\n continue;\n }\n (0, import_fs.writeFileSync)(filePath, targetContent);\n results.push({\n filePath,\n action: \"wrote\"\n });\n log(import_picocolors.default.green(`[one] updated ${file.name}`));\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 var acceptableAlways = /* @__PURE__ */ new Set([\n \"wrote\",\n \"kept\",\n \"skipped-other-format\",\n \"skipped-customized\"\n ]);\n var acceptableInCheck = /* @__PURE__ */ new Set([\n \"kept\",\n \"skipped-other-format\",\n \"skipped-customized\"\n ]);\n var ok = (check ? acceptableInCheck : acceptableAlways).size ? results.every(function(r) {\n return (check ? acceptableInCheck : acceptableAlways).has(r.action);\n }) : false;\n return {\n results,\n ok\n };\n}\n//# sourceMappingURL=generateBundlerConfig.js.map\n"],"mappings":"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"}
@@ -28,7 +28,6 @@ var patch_exports = {};
28
28
  __export(patch_exports, { run: () => run });
29
29
  module.exports = __toCommonJS(patch_exports);
30
30
  var import_loadConfig = require("../vite/loadConfig.cjs");
31
- var import_generateBundlerConfig = require("./generateBundlerConfig.cjs");
32
31
  function isMissingViteConfigError(error) {
33
32
  return error instanceof Error && error.message.startsWith("No config config in ") && error.message.endsWith(" Is this the correct directory?");
34
33
  }
@@ -46,9 +45,6 @@ async function run(args) {
46
45
  process.env.IS_VXRN_CLI = "true";
47
46
  const { patch } = await import("vxrn");
48
47
  const options = await loadUserOptions();
49
- if (options) {
50
- (0, import_generateBundlerConfig.maybeGenerateBundlerConfigOnInstall)(process.cwd(), options.oneOptions);
51
- }
52
48
  const patches = options?.oneOptions.patches;
53
49
  if (process.env.DEBUG) {
54
50
  console.info("User patches:", Object.keys(patches || {}));
@@ -30,7 +30,6 @@ var patch_exports = {};
30
30
  __export(patch_exports, { run: () => run });
31
31
  module.exports = __toCommonJS(patch_exports);
32
32
  var import_loadConfig = require("../vite/loadConfig.native.js");
33
- var import_generateBundlerConfig = require("./generateBundlerConfig.native.js");
34
33
  function isMissingViteConfigError(error) {
35
34
  return error instanceof Error && error.message.startsWith("No config config in ") && error.message.endsWith(" Is this the correct directory?");
36
35
  }
@@ -48,9 +47,6 @@ async function run(args) {
48
47
  process.env.IS_VXRN_CLI = "true";
49
48
  var { patch } = await import("vxrn");
50
49
  var options = await loadUserOptions();
51
- if (options) {
52
- (0, import_generateBundlerConfig.maybeGenerateBundlerConfigOnInstall)(process.cwd(), options.oneOptions);
53
- }
54
50
  var patches = options === null || options === void 0 ? void 0 : options.oneOptions.patches;
55
51
  if (process.env.DEBUG) {
56
52
  console.info("User patches:", Object.keys(patches || {}));
@@ -30,7 +30,6 @@ var patch_exports = {};
30
30
  __export(patch_exports, { run: () => run });
31
31
  module.exports = __toCommonJS(patch_exports);
32
32
  var import_loadConfig = require("../vite/loadConfig.native.js");
33
- var import_generateBundlerConfig = require("./generateBundlerConfig.native.js");
34
33
  function isMissingViteConfigError(error) {
35
34
  return error instanceof Error && error.message.startsWith("No config config in ") && error.message.endsWith(" Is this the correct directory?");
36
35
  }
@@ -48,9 +47,6 @@ async function run(args) {
48
47
  process.env.IS_VXRN_CLI = "true";
49
48
  var { patch } = await import("vxrn");
50
49
  var options = await loadUserOptions();
51
- if (options) {
52
- (0, import_generateBundlerConfig.maybeGenerateBundlerConfigOnInstall)(process.cwd(), options.oneOptions);
53
- }
54
50
  var patches = options === null || options === void 0 ? void 0 : options.oneOptions.patches;
55
51
  if (process.env.DEBUG) {
56
52
  console.info("User patches:", Object.keys(patches || {}));
@@ -1 +1 @@
1
- {"version":3,"file":"patch.native.js","names":[],"sources":["cjs/cli/patch.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 __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 __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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar patch_exports = {};\n__export(patch_exports, {\n run: () => run\n});\nmodule.exports = __toCommonJS(patch_exports);\nvar import_loadConfig = require(\"../vite/loadConfig\");\nvar import_generateBundlerConfig = require(\"./generateBundlerConfig\");\nfunction isMissingViteConfigError(error) {\n return error instanceof Error && error.message.startsWith(\"No config config in \") && error.message.endsWith(\" Is this the correct directory?\");\n}\nasync function loadUserOptions() {\n try {\n return await (0, import_loadConfig.loadUserOneOptions)(\"build\");\n } catch (error) {\n if (isMissingViteConfigError(error)) {\n return void 0;\n }\n throw error;\n }\n}\nasync function run(args) {\n process.env.IS_VXRN_CLI = \"true\";\n var { patch } = await import(\"vxrn\");\n var options = await loadUserOptions();\n if (options) {\n (0, import_generateBundlerConfig.maybeGenerateBundlerConfigOnInstall)(process.cwd(), options.oneOptions);\n }\n var patches = options === null || options === void 0 ? void 0 : options.oneOptions.patches;\n if (process.env.DEBUG) {\n console.info(\"User patches:\", Object.keys(patches || {}));\n }\n await patch({\n root: process.cwd(),\n deps: patches,\n force: args.force\n });\n}\n//# sourceMappingURL=patch.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,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,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,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gBAAgB,CAAC;AACrB,SAAS,eAAe,EACtB,WAAW,IACb,CAAC;AACD,OAAO,UAAU,aAAa,aAAa;AAC3C,IAAI,oBAAoB,QAAQ,8BAAoB;AACpD,IAAI,+BAA+B,QAAQ,mCAAyB;AACpE,SAAS,yBAAyB,OAAO;CACvC,OAAO,iBAAiB,SAAS,MAAM,QAAQ,WAAW,sBAAsB,KAAK,MAAM,QAAQ,SAAS,iCAAiC;AAC/I;AACA,eAAe,kBAAkB;CAC/B,IAAI;EACF,OAAO,OAAO,GAAG,kBAAkB,mBAAkB,CAAE,OAAO;CAChE,SAAS,OAAO;EACd,IAAI,yBAAyB,KAAK,GAAG;GACnC,OAAO,KAAK;EACd;EACA,MAAM;CACR;AACF;AACA,eAAe,IAAI,MAAM;CACvB,QAAQ,IAAI,cAAc;CAC1B,IAAI,EAAE,UAAU,MAAM,OAAO;CAC7B,IAAI,UAAU,MAAM,gBAAgB;CACpC,IAAI,SAAS;EACX,CAAC,GAAG,6BAA6B,oCAAmC,CAAE,QAAQ,IAAI,GAAG,QAAQ,UAAU;CACzG;CACA,IAAI,UAAU,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,WAAW;CACnF,IAAI,QAAQ,IAAI,OAAO;EACrB,QAAQ,KAAK,iBAAiB,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC;CAC1D;CACA,MAAM,MAAM;EACV,MAAM,QAAQ,IAAI;EAClB,MAAM;EACN,OAAO,KAAK;CACd,CAAC;AACH"}
1
+ {"version":3,"file":"patch.native.js","names":[],"sources":["cjs/cli/patch.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 __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 __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 __toCommonJS = (mod) => __copyProps(__defProp({}, \"__esModule\", { value: true }), mod);\nvar patch_exports = {};\n__export(patch_exports, {\n run: () => run\n});\nmodule.exports = __toCommonJS(patch_exports);\nvar import_loadConfig = require(\"../vite/loadConfig\");\nfunction isMissingViteConfigError(error) {\n return error instanceof Error && error.message.startsWith(\"No config config in \") && error.message.endsWith(\" Is this the correct directory?\");\n}\nasync function loadUserOptions() {\n try {\n return await (0, import_loadConfig.loadUserOneOptions)(\"build\");\n } catch (error) {\n if (isMissingViteConfigError(error)) {\n return void 0;\n }\n throw error;\n }\n}\nasync function run(args) {\n process.env.IS_VXRN_CLI = \"true\";\n var { patch } = await import(\"vxrn\");\n var options = await loadUserOptions();\n var patches = options === null || options === void 0 ? void 0 : options.oneOptions.patches;\n if (process.env.DEBUG) {\n console.info(\"User patches:\", Object.keys(patches || {}));\n }\n await patch({\n root: process.cwd(),\n deps: patches,\n force: args.force\n });\n}\n//# sourceMappingURL=patch.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,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,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,gBAAgB,QAAQ,YAAY,UAAU,CAAC,GAAG,cAAc,EAAE,OAAO,KAAK,CAAC,GAAG,GAAG;AACzF,IAAI,gBAAgB,CAAC;AACrB,SAAS,eAAe,EACtB,WAAW,IACb,CAAC;AACD,OAAO,UAAU,aAAa,aAAa;AAC3C,IAAI,oBAAoB,QAAQ,8BAAoB;AACpD,SAAS,yBAAyB,OAAO;CACvC,OAAO,iBAAiB,SAAS,MAAM,QAAQ,WAAW,sBAAsB,KAAK,MAAM,QAAQ,SAAS,iCAAiC;AAC/I;AACA,eAAe,kBAAkB;CAC/B,IAAI;EACF,OAAO,OAAO,GAAG,kBAAkB,mBAAkB,CAAE,OAAO;CAChE,SAAS,OAAO;EACd,IAAI,yBAAyB,KAAK,GAAG;GACnC,OAAO,KAAK;EACd;EACA,MAAM;CACR;AACF;AACA,eAAe,IAAI,MAAM;CACvB,QAAQ,IAAI,cAAc;CAC1B,IAAI,EAAE,UAAU,MAAM,OAAO;CAC7B,IAAI,UAAU,MAAM,gBAAgB;CACpC,IAAI,UAAU,YAAY,QAAQ,YAAY,KAAK,IAAI,KAAK,IAAI,QAAQ,WAAW;CACnF,IAAI,QAAQ,IAAI,OAAO;EACrB,QAAQ,KAAK,iBAAiB,OAAO,KAAK,WAAW,CAAC,CAAC,CAAC;CAC1D;CACA,MAAM,MAAM;EACV,MAAM,QAAQ,IAAI;EAClB,MAAM;EACN,OAAO,KAAK;CACd,CAAC;AACH"}
@@ -19,50 +19,15 @@ var __copyProps = (to, from, except, desc) => {
19
19
  };
20
20
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
21
21
  var extractPathFromURL_exports = {};
22
- __export(extractPathFromURL_exports, {
23
- adjustPathname: () => adjustPathname,
24
- extractExpoPathFromURL: () => extractExpoPathFromURL,
25
- extractPathFromURL: () => extractPathFromURL,
26
- parsePathAndParamsFromExpoGoLink: () => parsePathAndParamsFromExpoGoLink,
27
- parsePathFromExpoGoLink: () => parsePathFromExpoGoLink
28
- });
22
+ __export(extractPathFromURL_exports, { extractPathFromURL: () => extractPathFromURL });
29
23
  module.exports = __toCommonJS(extractPathFromURL_exports);
30
- function parsePathAndParamsFromExpoGoLink(url) {
31
- const href = parsePathFromExpoGoLink(url);
32
- const results = href.match(/([^?]*)(\?.*)?/);
33
- return {
34
- pathname: results?.[1] ?? "",
35
- queryString: results?.[2] ?? ""
36
- };
37
- }
38
- function parsePathFromExpoGoLink(url) {
39
- return url.match(/exps?:\/\/.*?\/--\/(.*)/)?.[1] ?? "";
40
- }
41
24
  function extractExactPathFromURL(url) {
42
25
  if (url.match(/^https?:\/\//)) {
43
- const { origin, href, hostname } = new URL(url);
44
- if (hostname === "exp.host" || hostname === "u.expo.dev") {
45
- return "";
46
- }
26
+ const { origin, href } = new URL(url);
47
27
  return href.replace(origin, "");
48
28
  }
49
- const isExpoGo = typeof globalThis.expo !== "undefined" && globalThis.expo?.modules?.ExpoGo;
50
- if (isExpoGo && url.match(/^exp(s)?:\/\//)) {
51
- const pathname = parsePathFromExpoGoLink(url);
52
- if (pathname) {
53
- return fromDeepLink("a://" + pathname);
54
- }
55
- const queryParams = url.match(/exps?:\/\/.*\?(.*)/)?.[1];
56
- if (queryParams) {
57
- return fromDeepLink("a://?" + queryParams);
58
- }
59
- return "";
60
- }
61
29
  return fromDeepLink(url);
62
30
  }
63
- function isExpoDevelopmentClient(url) {
64
- return url.hostname === "expo-development-client";
65
- }
66
31
  function fromDeepLink(url) {
67
32
  let res;
68
33
  try {
@@ -73,13 +38,6 @@ function fromDeepLink(url) {
73
38
  }
74
39
  return url.replace(/^[^:]+:\/\//, "");
75
40
  }
76
- if (isExpoDevelopmentClient(res)) {
77
- if (!res.searchParams.get("url")) {
78
- return "";
79
- }
80
- const incomingUrl = res.searchParams.get("url");
81
- return extractExactPathFromURL(decodeURI(incomingUrl));
82
- }
83
41
  let results = "";
84
42
  if (res.host) {
85
43
  results += res.host;
@@ -93,7 +51,7 @@ function fromDeepLink(url) {
93
51
  }
94
52
  return results;
95
53
  }
96
- function extractExpoPathFromURL(_prefixes, url = "") {
54
+ function extractPathFromURL(_prefixes, url = "") {
97
55
  const pathFromPrefix = extractPathFromPrefix(_prefixes, url);
98
56
  if (pathFromPrefix !== void 0) {
99
57
  return pathFromPrefix.replace(/^\//, "");
@@ -119,10 +77,3 @@ function matchesPrefix(prefix, url) {
119
77
  if (prefix.endsWith("/")) return true;
120
78
  return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);
121
79
  }
122
- function adjustPathname(url) {
123
- if (url.hostname === "exp.host" || url.hostname === "u.expo.dev") {
124
- return url.pathname.split("/").slice(2).join("/");
125
- }
126
- return url.pathname;
127
- }
128
- const extractPathFromURL = extractExpoPathFromURL;
@@ -21,55 +21,15 @@ var __copyProps = (to, from, except, desc) => {
21
21
  };
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var extractPathFromURL_exports = {};
24
- __export(extractPathFromURL_exports, {
25
- adjustPathname: () => adjustPathname,
26
- extractExpoPathFromURL: () => extractExpoPathFromURL,
27
- extractPathFromURL: () => extractPathFromURL,
28
- parsePathAndParamsFromExpoGoLink: () => parsePathAndParamsFromExpoGoLink,
29
- parsePathFromExpoGoLink: () => parsePathFromExpoGoLink
30
- });
24
+ __export(extractPathFromURL_exports, { extractPathFromURL: () => extractPathFromURL });
31
25
  module.exports = __toCommonJS(extractPathFromURL_exports);
32
- function parsePathAndParamsFromExpoGoLink(url) {
33
- var _ref, _ref1;
34
- var href = parsePathFromExpoGoLink(url);
35
- var results = href.match(/([^?]*)(\?.*)?/);
36
- return {
37
- pathname: (_ref = results === null || results === void 0 ? void 0 : results[1]) !== null && _ref !== void 0 ? _ref : "",
38
- queryString: (_ref1 = results === null || results === void 0 ? void 0 : results[2]) !== null && _ref1 !== void 0 ? _ref1 : ""
39
- };
40
- }
41
- function parsePathFromExpoGoLink(url) {
42
- var _ref;
43
- var _url_match;
44
- return (_ref = (_url_match = url.match(/exps?:\/\/.*?\/--\/(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1]) !== null && _ref !== void 0 ? _ref : "";
45
- }
46
26
  function extractExactPathFromURL(url) {
47
- var _globalThis_expo_modules, _globalThis_expo;
48
27
  if (url.match(/^https?:\/\//)) {
49
- var { origin, href, hostname } = new URL(url);
50
- if (hostname === "exp.host" || hostname === "u.expo.dev") {
51
- return "";
52
- }
28
+ var { origin, href } = new URL(url);
53
29
  return href.replace(origin, "");
54
30
  }
55
- var isExpoGo = typeof globalThis.expo !== "undefined" && ((_globalThis_expo = globalThis.expo) === null || _globalThis_expo === void 0 ? void 0 : (_globalThis_expo_modules = _globalThis_expo.modules) === null || _globalThis_expo_modules === void 0 ? void 0 : _globalThis_expo_modules.ExpoGo);
56
- if (isExpoGo && url.match(/^exp(s)?:\/\//)) {
57
- var _url_match;
58
- var pathname = parsePathFromExpoGoLink(url);
59
- if (pathname) {
60
- return fromDeepLink("a://" + pathname);
61
- }
62
- var queryParams = (_url_match = url.match(/exps?:\/\/.*\?(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
63
- if (queryParams) {
64
- return fromDeepLink("a://?" + queryParams);
65
- }
66
- return "";
67
- }
68
31
  return fromDeepLink(url);
69
32
  }
70
- function isExpoDevelopmentClient(url) {
71
- return url.hostname === "expo-development-client";
72
- }
73
33
  function fromDeepLink(url) {
74
34
  var res;
75
35
  try {
@@ -80,13 +40,6 @@ function fromDeepLink(url) {
80
40
  }
81
41
  return url.replace(/^[^:]+:\/\//, "");
82
42
  }
83
- if (isExpoDevelopmentClient(res)) {
84
- if (!res.searchParams.get("url")) {
85
- return "";
86
- }
87
- var incomingUrl = res.searchParams.get("url");
88
- return extractExactPathFromURL(decodeURI(incomingUrl));
89
- }
90
43
  var results = "";
91
44
  if (res.host) {
92
45
  results += res.host;
@@ -103,7 +56,7 @@ function fromDeepLink(url) {
103
56
  }
104
57
  return results;
105
58
  }
106
- function extractExpoPathFromURL(_prefixes) {
59
+ function extractPathFromURL(_prefixes) {
107
60
  var url = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
108
61
  var pathFromPrefix = extractPathFromPrefix(_prefixes, url);
109
62
  if (pathFromPrefix !== void 0) {
@@ -135,10 +88,3 @@ function matchesPrefix(prefix, url) {
135
88
  if (prefix.endsWith("/")) return true;
136
89
  return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);
137
90
  }
138
- function adjustPathname(url) {
139
- if (url.hostname === "exp.host" || url.hostname === "u.expo.dev") {
140
- return url.pathname.split("/").slice(2).join("/");
141
- }
142
- return url.pathname;
143
- }
144
- var extractPathFromURL = extractExpoPathFromURL;
@@ -21,55 +21,15 @@ var __copyProps = (to, from, except, desc) => {
21
21
  };
22
22
  var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
23
23
  var extractPathFromURL_exports = {};
24
- __export(extractPathFromURL_exports, {
25
- adjustPathname: () => adjustPathname,
26
- extractExpoPathFromURL: () => extractExpoPathFromURL,
27
- extractPathFromURL: () => extractPathFromURL,
28
- parsePathAndParamsFromExpoGoLink: () => parsePathAndParamsFromExpoGoLink,
29
- parsePathFromExpoGoLink: () => parsePathFromExpoGoLink
30
- });
24
+ __export(extractPathFromURL_exports, { extractPathFromURL: () => extractPathFromURL });
31
25
  module.exports = __toCommonJS(extractPathFromURL_exports);
32
- function parsePathAndParamsFromExpoGoLink(url) {
33
- var _ref, _ref1;
34
- var href = parsePathFromExpoGoLink(url);
35
- var results = href.match(/([^?]*)(\?.*)?/);
36
- return {
37
- pathname: (_ref = results === null || results === void 0 ? void 0 : results[1]) !== null && _ref !== void 0 ? _ref : "",
38
- queryString: (_ref1 = results === null || results === void 0 ? void 0 : results[2]) !== null && _ref1 !== void 0 ? _ref1 : ""
39
- };
40
- }
41
- function parsePathFromExpoGoLink(url) {
42
- var _ref;
43
- var _url_match;
44
- return (_ref = (_url_match = url.match(/exps?:\/\/.*?\/--\/(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1]) !== null && _ref !== void 0 ? _ref : "";
45
- }
46
26
  function extractExactPathFromURL(url) {
47
- var _globalThis_expo_modules, _globalThis_expo;
48
27
  if (url.match(/^https?:\/\//)) {
49
- var { origin, href, hostname } = new URL(url);
50
- if (hostname === "exp.host" || hostname === "u.expo.dev") {
51
- return "";
52
- }
28
+ var { origin, href } = new URL(url);
53
29
  return href.replace(origin, "");
54
30
  }
55
- var isExpoGo = typeof globalThis.expo !== "undefined" && ((_globalThis_expo = globalThis.expo) === null || _globalThis_expo === void 0 ? void 0 : (_globalThis_expo_modules = _globalThis_expo.modules) === null || _globalThis_expo_modules === void 0 ? void 0 : _globalThis_expo_modules.ExpoGo);
56
- if (isExpoGo && url.match(/^exp(s)?:\/\//)) {
57
- var _url_match;
58
- var pathname = parsePathFromExpoGoLink(url);
59
- if (pathname) {
60
- return fromDeepLink("a://" + pathname);
61
- }
62
- var queryParams = (_url_match = url.match(/exps?:\/\/.*\?(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];
63
- if (queryParams) {
64
- return fromDeepLink("a://?" + queryParams);
65
- }
66
- return "";
67
- }
68
31
  return fromDeepLink(url);
69
32
  }
70
- function isExpoDevelopmentClient(url) {
71
- return url.hostname === "expo-development-client";
72
- }
73
33
  function fromDeepLink(url) {
74
34
  var res;
75
35
  try {
@@ -80,13 +40,6 @@ function fromDeepLink(url) {
80
40
  }
81
41
  return url.replace(/^[^:]+:\/\//, "");
82
42
  }
83
- if (isExpoDevelopmentClient(res)) {
84
- if (!res.searchParams.get("url")) {
85
- return "";
86
- }
87
- var incomingUrl = res.searchParams.get("url");
88
- return extractExactPathFromURL(decodeURI(incomingUrl));
89
- }
90
43
  var results = "";
91
44
  if (res.host) {
92
45
  results += res.host;
@@ -103,7 +56,7 @@ function fromDeepLink(url) {
103
56
  }
104
57
  return results;
105
58
  }
106
- function extractExpoPathFromURL(_prefixes) {
59
+ function extractPathFromURL(_prefixes) {
107
60
  var url = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : "";
108
61
  var pathFromPrefix = extractPathFromPrefix(_prefixes, url);
109
62
  if (pathFromPrefix !== void 0) {
@@ -135,12 +88,5 @@ function matchesPrefix(prefix, url) {
135
88
  if (prefix.endsWith("/")) return true;
136
89
  return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);
137
90
  }
138
- function adjustPathname(url) {
139
- if (url.hostname === "exp.host" || url.hostname === "u.expo.dev") {
140
- return url.pathname.split("/").slice(2).join("/");
141
- }
142
- return url.pathname;
143
- }
144
- var extractPathFromURL = extractExpoPathFromURL;
145
91
 
146
92
  //# sourceMappingURL=extractPathFromURL.native.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"extractPathFromURL.native.js","names":[],"sources":["cjs/fork/extractPathFromURL.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 extractPathFromURL_exports = {};\n__export(extractPathFromURL_exports, {\n adjustPathname: () => adjustPathname,\n extractExpoPathFromURL: () => extractExpoPathFromURL,\n extractPathFromURL: () => extractPathFromURL,\n parsePathAndParamsFromExpoGoLink: () => parsePathAndParamsFromExpoGoLink,\n parsePathFromExpoGoLink: () => parsePathFromExpoGoLink\n});\nmodule.exports = __toCommonJS(extractPathFromURL_exports);\nfunction parsePathAndParamsFromExpoGoLink(url) {\n var _ref, _ref1;\n var href = parsePathFromExpoGoLink(url);\n var results = href.match(/([^?]*)(\\?.*)?/);\n return {\n pathname: (_ref = results === null || results === void 0 ? void 0 : results[1]) !== null && _ref !== void 0 ? _ref : \"\",\n queryString: (_ref1 = results === null || results === void 0 ? void 0 : results[2]) !== null && _ref1 !== void 0 ? _ref1 : \"\"\n };\n}\nfunction parsePathFromExpoGoLink(url) {\n var _ref;\n var _url_match;\n return (_ref = (_url_match = url.match(/exps?:\\/\\/.*?\\/--\\/(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1]) !== null && _ref !== void 0 ? _ref : \"\";\n}\nfunction extractExactPathFromURL(url) {\n var _globalThis_expo_modules, _globalThis_expo;\n if (\n // If a universal link / app link / web URL is used, we should use the path\n // from the URL, while stripping the origin.\n url.match(/^https?:\\/\\//)\n ) {\n var { origin, href, hostname } = new URL(url);\n if (hostname === \"exp.host\" || hostname === \"u.expo.dev\") {\n return \"\";\n }\n return href.replace(origin, \"\");\n }\n var isExpoGo = typeof globalThis.expo !== \"undefined\" && ((_globalThis_expo = globalThis.expo) === null || _globalThis_expo === void 0 ? void 0 : (_globalThis_expo_modules = _globalThis_expo.modules) === null || _globalThis_expo_modules === void 0 ? void 0 : _globalThis_expo_modules.ExpoGo);\n if (isExpoGo && // while not exhaustive, `exp` and `exps` are the only two schemes which\n // are passed through to other apps in Expo Go.\n url.match(/^exp(s)?:\\/\\//)) {\n var _url_match;\n var pathname = parsePathFromExpoGoLink(url);\n if (pathname) {\n return fromDeepLink(\"a://\" + pathname);\n }\n var queryParams = (_url_match = url.match(/exps?:\\/\\/.*\\?(.*)/)) === null || _url_match === void 0 ? void 0 : _url_match[1];\n if (queryParams) {\n return fromDeepLink(\"a://?\" + queryParams);\n }\n return \"\";\n }\n return fromDeepLink(url);\n}\nfunction isExpoDevelopmentClient(url) {\n return url.hostname === \"expo-development-client\";\n}\nfunction fromDeepLink(url) {\n var res;\n try {\n res = new URL(url);\n } catch (unused) {\n if (url.startsWith(\"/\")) {\n return url;\n }\n return url.replace(/^[^:]+:\\/\\//, \"\");\n }\n if (isExpoDevelopmentClient(res)) {\n if (!res.searchParams.get(\"url\")) {\n return \"\";\n }\n var incomingUrl = res.searchParams.get(\"url\");\n return extractExactPathFromURL(decodeURI(incomingUrl));\n }\n var results = \"\";\n if (res.host) {\n results += res.host;\n }\n if (res.pathname) {\n results += res.pathname;\n }\n var qs = !res.search ? \"\" : (\n // @ts-ignore: `entries` is not on `URLSearchParams` in some typechecks.\n [\n ...res.searchParams.entries()\n ].map(function(param) {\n var [k, v] = param;\n return `${k}=${decodeURIComponent(v)}`;\n }).join(\"&\")\n );\n if (qs) {\n results += \"?\" + qs;\n }\n return results;\n}\nfunction extractExpoPathFromURL(_prefixes) {\n var url = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n var pathFromPrefix = extractPathFromPrefix(_prefixes, url);\n if (pathFromPrefix !== void 0) {\n return pathFromPrefix.replace(/^\\//, \"\");\n }\n return extractExactPathFromURL(url).replace(/^\\//, \"\");\n}\nfunction extractPathFromPrefix() {\n var prefixes = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], url = arguments.length > 1 ? arguments[1] : void 0;\n var prefix = getMatchingPrefix(prefixes, url);\n if (!prefix) return void 0;\n return url.slice(prefix.length);\n}\nvar PREFIX_BOUNDARY_CHARS = [\n \"/\",\n \"?\",\n \"#\"\n];\nfunction getMatchingPrefix(prefixes, url) {\n return prefixes.filter(function(prefix) {\n return matchesPrefix(prefix, url);\n }).sort(function(a, b) {\n return b.length - a.length;\n })[0];\n}\nfunction matchesPrefix(prefix, url) {\n if (!url.startsWith(prefix)) return false;\n if (url.length === prefix.length) return true;\n if (prefix.endsWith(\"/\")) return true;\n return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);\n}\nfunction adjustPathname(url) {\n if (url.hostname === \"exp.host\" || url.hostname === \"u.expo.dev\") {\n return url.pathname.split(\"/\").slice(2).join(\"/\");\n }\n return url.pathname;\n}\nvar extractPathFromURL = extractExpoPathFromURL;\n//# sourceMappingURL=extractPathFromURL.js.map\n"],"mappings":"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"}
1
+ {"version":3,"file":"extractPathFromURL.native.js","names":[],"sources":["cjs/fork/extractPathFromURL.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 extractPathFromURL_exports = {};\n__export(extractPathFromURL_exports, {\n extractPathFromURL: () => extractPathFromURL\n});\nmodule.exports = __toCommonJS(extractPathFromURL_exports);\nfunction extractExactPathFromURL(url) {\n if (\n // If a universal link / app link / web URL is used, we should use the path\n // from the URL, while stripping the origin.\n url.match(/^https?:\\/\\//)\n ) {\n var { origin, href } = new URL(url);\n return href.replace(origin, \"\");\n }\n return fromDeepLink(url);\n}\nfunction fromDeepLink(url) {\n var res;\n try {\n res = new URL(url);\n } catch (unused) {\n if (url.startsWith(\"/\")) {\n return url;\n }\n return url.replace(/^[^:]+:\\/\\//, \"\");\n }\n var results = \"\";\n if (res.host) {\n results += res.host;\n }\n if (res.pathname) {\n results += res.pathname;\n }\n var qs = !res.search ? \"\" : (\n // @ts-ignore: `entries` is not on `URLSearchParams` in some typechecks.\n [\n ...res.searchParams.entries()\n ].map(function(param) {\n var [k, v] = param;\n return `${k}=${decodeURIComponent(v)}`;\n }).join(\"&\")\n );\n if (qs) {\n results += \"?\" + qs;\n }\n return results;\n}\nfunction extractPathFromURL(_prefixes) {\n var url = arguments.length > 1 && arguments[1] !== void 0 ? arguments[1] : \"\";\n var pathFromPrefix = extractPathFromPrefix(_prefixes, url);\n if (pathFromPrefix !== void 0) {\n return pathFromPrefix.replace(/^\\//, \"\");\n }\n return extractExactPathFromURL(url).replace(/^\\//, \"\");\n}\nfunction extractPathFromPrefix() {\n var prefixes = arguments.length > 0 && arguments[0] !== void 0 ? arguments[0] : [], url = arguments.length > 1 ? arguments[1] : void 0;\n var prefix = getMatchingPrefix(prefixes, url);\n if (!prefix) return void 0;\n return url.slice(prefix.length);\n}\nvar PREFIX_BOUNDARY_CHARS = [\n \"/\",\n \"?\",\n \"#\"\n];\nfunction getMatchingPrefix(prefixes, url) {\n return prefixes.filter(function(prefix) {\n return matchesPrefix(prefix, url);\n }).sort(function(a, b) {\n return b.length - a.length;\n })[0];\n}\nfunction matchesPrefix(prefix, url) {\n if (!url.startsWith(prefix)) return false;\n if (url.length === prefix.length) return true;\n if (prefix.endsWith(\"/\")) return true;\n return PREFIX_BOUNDARY_CHARS.includes(url[prefix.length]);\n}\n//# sourceMappingURL=extractPathFromURL.js.map\n"],"mappings":"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"}
@@ -36,6 +36,7 @@ var import_Protected = require("../views/Protected.cjs");
36
36
  var import_Screen = require("../views/Screen.cjs");
37
37
  var import_stack_navigator = require("./stack-navigator.cjs");
38
38
  var import_stack_utils = require("./stack-utils/index.cjs");
39
+ var import_StackToolbarBottomHost = require("./stack-utils/StackToolbarBottomHost.cjs");
39
40
  var import_withLayoutContext = require("./withLayoutContext.cjs");
40
41
  var import_jsx_runtime = require("react/jsx-runtime");
41
42
  const NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;
@@ -56,6 +57,9 @@ function mapChildren(children) {
56
57
  if ((0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent)) {
57
58
  return null;
58
59
  }
60
+ if ((0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent)) {
61
+ return null;
62
+ }
59
63
  if ((0, import_children.isChildOfType)(child, import_Screen.Screen)) {
60
64
  return child;
61
65
  }
@@ -66,20 +70,26 @@ const StackWithComposition = import_react.default.forwardRef((props, ref) => {
66
70
  const { children, screenOptions, ...rest } = props;
67
71
  const screenOptionsWithHeader = (0, import_react.useMemo)(() => {
68
72
  const stackHeader = import_react.Children.toArray(children).find((child) => (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent));
69
- if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
70
- const headerProps = { children: stackHeader };
71
- if (screenOptions) {
72
- if (typeof screenOptions === "function") {
73
- return (...args) => {
74
- const opts = screenOptions(...args);
75
- return (0, import_stack_utils.appendScreenStackPropsToOptions)(opts, headerProps);
76
- };
77
- }
78
- return (0, import_stack_utils.appendScreenStackPropsToOptions)(screenOptions, headerProps);
73
+ const stackToolbar = import_react.Children.toArray(children).find((child) => (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent));
74
+ if (!stackHeader && !stackToolbar) return screenOptions;
75
+ const applyComposition = (opts) => {
76
+ let result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});
77
+ if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
78
+ const headerProps = { children: stackHeader };
79
+ result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);
79
80
  }
80
- return (0, import_stack_utils.appendScreenStackPropsToOptions)({}, headerProps);
81
+ return result;
82
+ };
83
+ if (screenOptions) {
84
+ if (typeof screenOptions === "function") {
85
+ return (...args) => {
86
+ const opts = screenOptions(...args);
87
+ return applyComposition(opts);
88
+ };
89
+ }
90
+ return applyComposition(screenOptions);
81
91
  }
82
- return screenOptions;
92
+ return applyComposition({});
83
93
  }, [children, screenOptions]);
84
94
  const processedChildren = (0, import_react.useMemo)(() => mapChildren(children), [children]);
85
95
  const navigatorProps = (0, import_react.useMemo)(() => (0, import_stack_navigator.getStackNavigatorProps)(children), [children]);
@@ -91,9 +101,19 @@ const StackWithComposition = import_react.default.forwardRef((props, ref) => {
91
101
  children: processedChildren
92
102
  });
93
103
  });
104
+ const StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {
105
+ Leading: import_stack_utils.StackToolbarLeading,
106
+ Left: import_stack_utils.StackToolbarLeading,
107
+ Trailing: import_stack_utils.StackToolbarTrailing,
108
+ Right: import_stack_utils.StackToolbarTrailing,
109
+ Bottom: import_StackToolbarBottomHost.StackToolbarBottom,
110
+ Item: import_stack_utils.StackToolbarItem,
111
+ Menu: import_stack_utils.StackToolbarMenu
112
+ });
94
113
  const Stack = Object.assign(StackWithComposition, {
95
114
  Screen: import_stack_utils.StackScreen,
96
115
  Header: import_stack_utils.StackHeader,
116
+ Toolbar: StackToolbar,
97
117
  Protected: import_Protected.Protected,
98
118
  SearchBar: import_stack_utils.StackHeaderSearchBar
99
119
  });
@@ -39,6 +39,7 @@ var import_Protected = require("../views/Protected.native.js");
39
39
  var import_Screen = require("../views/Screen.native.js");
40
40
  var import_stack_navigator = require("./stack-navigator.native.js");
41
41
  var import_stack_utils = require("./stack-utils/index.native.js");
42
+ var import_StackToolbarBottomHost = require("./stack-utils/StackToolbarBottomHost.native.js");
42
43
  var import_withLayoutContext = require("./withLayoutContext.native.js");
43
44
  var NativeStackNavigator = (0, import_stack_navigator.createStackNavigator)().Navigator;
44
45
  var RNStack = (0, import_withLayoutContext.withLayoutContext)(NativeStackNavigator);
@@ -59,6 +60,9 @@ function mapChildren(children) {
59
60
  if ((0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent)) {
60
61
  return null;
61
62
  }
63
+ if ((0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent)) {
64
+ return null;
65
+ }
62
66
  if ((0, import_children.isChildOfType)(child, import_Screen.Screen)) {
63
67
  return child;
64
68
  }
@@ -71,23 +75,31 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
71
75
  var stackHeader = import_react.Children.toArray(children).find(function(child) {
72
76
  return (0, import_children.isChildOfType)(child, import_stack_utils.StackHeaderComponent);
73
77
  });
74
- if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
75
- var headerProps = { children: stackHeader };
76
- if (screenOptions) {
77
- if (typeof screenOptions === "function") {
78
- return function() {
79
- for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
80
- args[_key] = arguments[_key];
81
- }
82
- var opts = screenOptions(...args);
83
- return (0, import_stack_utils.appendScreenStackPropsToOptions)(opts, headerProps);
84
- };
85
- }
86
- return (0, import_stack_utils.appendScreenStackPropsToOptions)(screenOptions, headerProps);
78
+ var stackToolbar = import_react.Children.toArray(children).find(function(child) {
79
+ return (0, import_children.isChildOfType)(child, import_stack_utils.StackToolbarComponent);
80
+ });
81
+ if (!stackHeader && !stackToolbar) return screenOptions;
82
+ var applyComposition = function(opts) {
83
+ var result = (0, import_stack_utils.appendStackToolbarPropsToOptions)(opts, stackToolbar && (0, import_children.isChildOfType)(stackToolbar, import_stack_utils.StackToolbarComponent) ? stackToolbar.props : {});
84
+ if (stackHeader && (0, import_children.isChildOfType)(stackHeader, import_stack_utils.StackHeaderComponent)) {
85
+ var headerProps = { children: stackHeader };
86
+ result = (0, import_stack_utils.appendScreenStackPropsToOptions)(result, headerProps);
87
87
  }
88
- return (0, import_stack_utils.appendScreenStackPropsToOptions)({}, headerProps);
88
+ return result;
89
+ };
90
+ if (screenOptions) {
91
+ if (typeof screenOptions === "function") {
92
+ return function() {
93
+ for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {
94
+ args[_key] = arguments[_key];
95
+ }
96
+ var opts = screenOptions(...args);
97
+ return applyComposition(opts);
98
+ };
99
+ }
100
+ return applyComposition(screenOptions);
89
101
  }
90
- return screenOptions;
102
+ return applyComposition({});
91
103
  }, [children, screenOptions]);
92
104
  var processedChildren = (0, import_react.useMemo)(function() {
93
105
  return mapChildren(children);
@@ -103,9 +115,19 @@ var StackWithComposition = /* @__PURE__ */ import_react.default.forwardRef(funct
103
115
  children: processedChildren
104
116
  });
105
117
  });
118
+ var StackToolbar = Object.assign(import_stack_utils.StackToolbarComponent, {
119
+ Leading: import_stack_utils.StackToolbarLeading,
120
+ Left: import_stack_utils.StackToolbarLeading,
121
+ Trailing: import_stack_utils.StackToolbarTrailing,
122
+ Right: import_stack_utils.StackToolbarTrailing,
123
+ Bottom: import_StackToolbarBottomHost.StackToolbarBottom,
124
+ Item: import_stack_utils.StackToolbarItem,
125
+ Menu: import_stack_utils.StackToolbarMenu
126
+ });
106
127
  var Stack = Object.assign(StackWithComposition, {
107
128
  Screen: import_stack_utils.StackScreen,
108
129
  Header: import_stack_utils.StackHeader,
130
+ Toolbar: StackToolbar,
109
131
  Protected: import_Protected.Protected,
110
132
  SearchBar: import_stack_utils.StackHeaderSearchBar
111
133
  });