lakebed-native-cli 0.1.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (265) hide show
  1. package/dist/cli/apple/branding.d.ts +9 -0
  2. package/dist/cli/apple/branding.d.ts.map +1 -0
  3. package/dist/cli/apple/branding.js +40 -0
  4. package/dist/cli/apple/branding.js.map +1 -0
  5. package/dist/cli/apple/build-cloud.d.ts +6 -0
  6. package/dist/cli/apple/build-cloud.d.ts.map +1 -0
  7. package/dist/cli/apple/build-cloud.js +34 -0
  8. package/dist/cli/apple/build-cloud.js.map +1 -0
  9. package/dist/cli/apple/build-local.d.ts +16 -0
  10. package/dist/cli/apple/build-local.d.ts.map +1 -0
  11. package/dist/cli/apple/build-local.js +97 -0
  12. package/dist/cli/apple/build-local.js.map +1 -0
  13. package/dist/cli/apple/choose-path.d.ts +23 -0
  14. package/dist/cli/apple/choose-path.d.ts.map +1 -0
  15. package/dist/cli/apple/choose-path.js +78 -0
  16. package/dist/cli/apple/choose-path.js.map +1 -0
  17. package/dist/cli/apple/device-pack.d.ts +36 -0
  18. package/dist/cli/apple/device-pack.d.ts.map +1 -0
  19. package/dist/cli/apple/device-pack.js +210 -0
  20. package/dist/cli/apple/device-pack.js.map +1 -0
  21. package/dist/cli/apple/devices.d.ts +6 -0
  22. package/dist/cli/apple/devices.d.ts.map +1 -0
  23. package/dist/cli/apple/devices.js +49 -0
  24. package/dist/cli/apple/devices.js.map +1 -0
  25. package/dist/cli/apple/eas-delegate.d.ts +25 -0
  26. package/dist/cli/apple/eas-delegate.d.ts.map +1 -0
  27. package/dist/cli/apple/eas-delegate.js +63 -0
  28. package/dist/cli/apple/eas-delegate.js.map +1 -0
  29. package/dist/cli/apple/index.d.ts +9 -0
  30. package/dist/cli/apple/index.d.ts.map +1 -0
  31. package/dist/cli/apple/index.js +12 -0
  32. package/dist/cli/apple/index.js.map +1 -0
  33. package/dist/cli/apple/route-device-build.d.ts +16 -0
  34. package/dist/cli/apple/route-device-build.d.ts.map +1 -0
  35. package/dist/cli/apple/route-device-build.js +54 -0
  36. package/dist/cli/apple/route-device-build.js.map +1 -0
  37. package/dist/cli/apple/setup.d.ts +5 -0
  38. package/dist/cli/apple/setup.d.ts.map +1 -0
  39. package/dist/cli/apple/setup.js +69 -0
  40. package/dist/cli/apple/setup.js.map +1 -0
  41. package/dist/cli/apple/shell-ipa.d.ts +7 -0
  42. package/dist/cli/apple/shell-ipa.d.ts.map +1 -0
  43. package/dist/cli/apple/shell-ipa.js +73 -0
  44. package/dist/cli/apple/shell-ipa.js.map +1 -0
  45. package/dist/cli/apple/sign-ios.d.ts +24 -0
  46. package/dist/cli/apple/sign-ios.d.ts.map +1 -0
  47. package/dist/cli/apple/sign-ios.js +148 -0
  48. package/dist/cli/apple/sign-ios.js.map +1 -0
  49. package/dist/cli/apple/status.d.ts +64 -0
  50. package/dist/cli/apple/status.d.ts.map +1 -0
  51. package/dist/cli/apple/status.js +249 -0
  52. package/dist/cli/apple/status.js.map +1 -0
  53. package/dist/cli/bin.d.ts +3 -0
  54. package/dist/cli/bin.d.ts.map +1 -0
  55. package/dist/cli/bin.js +7 -0
  56. package/dist/cli/bin.js.map +1 -0
  57. package/dist/cli/bundler.d.ts +16 -0
  58. package/dist/cli/bundler.d.ts.map +1 -0
  59. package/dist/cli/bundler.js +109 -0
  60. package/dist/cli/bundler.js.map +1 -0
  61. package/dist/cli/capsule-eas.d.ts +27 -0
  62. package/dist/cli/capsule-eas.d.ts.map +1 -0
  63. package/dist/cli/capsule-eas.js +131 -0
  64. package/dist/cli/capsule-eas.js.map +1 -0
  65. package/dist/cli/cloud/index.d.ts +14 -0
  66. package/dist/cli/cloud/index.d.ts.map +1 -0
  67. package/dist/cli/cloud/index.js +118 -0
  68. package/dist/cli/cloud/index.js.map +1 -0
  69. package/dist/cli/cloud-client.d.ts +38 -0
  70. package/dist/cli/cloud-client.d.ts.map +1 -0
  71. package/dist/cli/cloud-client.js +71 -0
  72. package/dist/cli/cloud-client.js.map +1 -0
  73. package/dist/cli/commands/auth.d.ts +2 -0
  74. package/dist/cli/commands/auth.d.ts.map +1 -0
  75. package/dist/cli/commands/auth.js +18 -0
  76. package/dist/cli/commands/auth.js.map +1 -0
  77. package/dist/cli/commands/build-native.d.ts +18 -0
  78. package/dist/cli/commands/build-native.d.ts.map +1 -0
  79. package/dist/cli/commands/build-native.js +156 -0
  80. package/dist/cli/commands/build-native.js.map +1 -0
  81. package/dist/cli/commands/build.d.ts +6 -0
  82. package/dist/cli/commands/build.d.ts.map +1 -0
  83. package/dist/cli/commands/build.js +57 -0
  84. package/dist/cli/commands/build.js.map +1 -0
  85. package/dist/cli/commands/claim.d.ts +2 -0
  86. package/dist/cli/commands/claim.d.ts.map +1 -0
  87. package/dist/cli/commands/claim.js +2 -0
  88. package/dist/cli/commands/claim.js.map +1 -0
  89. package/dist/cli/commands/db.d.ts +7 -0
  90. package/dist/cli/commands/db.d.ts.map +1 -0
  91. package/dist/cli/commands/db.js +18 -0
  92. package/dist/cli/commands/db.js.map +1 -0
  93. package/dist/cli/commands/deploy.d.ts +10 -0
  94. package/dist/cli/commands/deploy.d.ts.map +1 -0
  95. package/dist/cli/commands/deploy.js +101 -0
  96. package/dist/cli/commands/deploy.js.map +1 -0
  97. package/dist/cli/commands/dev.d.ts +5 -0
  98. package/dist/cli/commands/dev.d.ts.map +1 -0
  99. package/dist/cli/commands/dev.js +46 -0
  100. package/dist/cli/commands/dev.js.map +1 -0
  101. package/dist/cli/commands/devices.d.ts +4 -0
  102. package/dist/cli/commands/devices.d.ts.map +1 -0
  103. package/dist/cli/commands/devices.js +27 -0
  104. package/dist/cli/commands/devices.js.map +1 -0
  105. package/dist/cli/commands/domains.d.ts +5 -0
  106. package/dist/cli/commands/domains.d.ts.map +1 -0
  107. package/dist/cli/commands/domains.js +36 -0
  108. package/dist/cli/commands/domains.js.map +1 -0
  109. package/dist/cli/commands/inspect.d.ts +7 -0
  110. package/dist/cli/commands/inspect.d.ts.map +1 -0
  111. package/dist/cli/commands/inspect.js +15 -0
  112. package/dist/cli/commands/inspect.js.map +1 -0
  113. package/dist/cli/commands/logs.d.ts +7 -0
  114. package/dist/cli/commands/logs.d.ts.map +1 -0
  115. package/dist/cli/commands/logs.js +15 -0
  116. package/dist/cli/commands/logs.js.map +1 -0
  117. package/dist/cli/commands/new.d.ts +6 -0
  118. package/dist/cli/commands/new.d.ts.map +1 -0
  119. package/dist/cli/commands/new.js +17 -0
  120. package/dist/cli/commands/new.js.map +1 -0
  121. package/dist/cli/commands/open.d.ts +5 -0
  122. package/dist/cli/commands/open.d.ts.map +1 -0
  123. package/dist/cli/commands/open.js +14 -0
  124. package/dist/cli/commands/open.js.map +1 -0
  125. package/dist/cli/commands/pack.d.ts +32 -0
  126. package/dist/cli/commands/pack.d.ts.map +1 -0
  127. package/dist/cli/commands/pack.js +273 -0
  128. package/dist/cli/commands/pack.js.map +1 -0
  129. package/dist/cli/commands/screenshot.d.ts +5 -0
  130. package/dist/cli/commands/screenshot.d.ts.map +1 -0
  131. package/dist/cli/commands/screenshot.js +8 -0
  132. package/dist/cli/commands/screenshot.js.map +1 -0
  133. package/dist/cli/commands/shell-fetch.d.ts +5 -0
  134. package/dist/cli/commands/shell-fetch.d.ts.map +1 -0
  135. package/dist/cli/commands/shell-fetch.js +123 -0
  136. package/dist/cli/commands/shell-fetch.js.map +1 -0
  137. package/dist/cli/commands/shell.d.ts +2 -0
  138. package/dist/cli/commands/shell.d.ts.map +1 -0
  139. package/dist/cli/commands/shell.js +2 -0
  140. package/dist/cli/commands/shell.js.map +1 -0
  141. package/dist/cli/commands/submit.d.ts +2 -0
  142. package/dist/cli/commands/submit.d.ts.map +1 -0
  143. package/dist/cli/commands/submit.js +2 -0
  144. package/dist/cli/commands/submit.js.map +1 -0
  145. package/dist/cli/commands/tree.d.ts +5 -0
  146. package/dist/cli/commands/tree.d.ts.map +1 -0
  147. package/dist/cli/commands/tree.js +23 -0
  148. package/dist/cli/commands/tree.js.map +1 -0
  149. package/dist/cli/deploy-metadata.d.ts +10 -0
  150. package/dist/cli/deploy-metadata.d.ts.map +1 -0
  151. package/dist/cli/deploy-metadata.js +50 -0
  152. package/dist/cli/deploy-metadata.js.map +1 -0
  153. package/dist/cli/deploy-runtime.d.ts +4 -0
  154. package/dist/cli/deploy-runtime.d.ts.map +1 -0
  155. package/dist/cli/deploy-runtime.js +14 -0
  156. package/dist/cli/deploy-runtime.js.map +1 -0
  157. package/dist/cli/dev-config.d.ts +2 -0
  158. package/dist/cli/dev-config.d.ts.map +1 -0
  159. package/dist/cli/dev-config.js +36 -0
  160. package/dist/cli/dev-config.js.map +1 -0
  161. package/dist/cli/hosted-client.d.ts +39 -0
  162. package/dist/cli/hosted-client.d.ts.map +1 -0
  163. package/dist/cli/hosted-client.js +275 -0
  164. package/dist/cli/hosted-client.js.map +1 -0
  165. package/dist/cli/hosted-v1-store.d.ts +73 -0
  166. package/dist/cli/hosted-v1-store.d.ts.map +1 -0
  167. package/dist/cli/hosted-v1-store.js +96 -0
  168. package/dist/cli/hosted-v1-store.js.map +1 -0
  169. package/dist/cli/hosted.d.ts +13 -0
  170. package/dist/cli/hosted.d.ts.map +1 -0
  171. package/dist/cli/hosted.js +337 -0
  172. package/dist/cli/hosted.js.map +1 -0
  173. package/dist/cli/index.d.ts +2 -0
  174. package/dist/cli/index.d.ts.map +1 -0
  175. package/dist/cli/index.js +261 -0
  176. package/dist/cli/index.js.map +1 -0
  177. package/dist/cli/kit-paths.d.ts +8 -0
  178. package/dist/cli/kit-paths.d.ts.map +1 -0
  179. package/dist/cli/kit-paths.js +67 -0
  180. package/dist/cli/kit-paths.js.map +1 -0
  181. package/dist/cli/loader.d.ts +2 -0
  182. package/dist/cli/loader.d.ts.map +1 -0
  183. package/dist/cli/loader.js +5 -0
  184. package/dist/cli/loader.js.map +1 -0
  185. package/dist/cli/native-deploy-payload.d.ts +17 -0
  186. package/dist/cli/native-deploy-payload.d.ts.map +1 -0
  187. package/dist/cli/native-deploy-payload.js +29 -0
  188. package/dist/cli/native-deploy-payload.js.map +1 -0
  189. package/dist/cli/platform-detect.d.ts +11 -0
  190. package/dist/cli/platform-detect.d.ts.map +1 -0
  191. package/dist/cli/platform-detect.js +54 -0
  192. package/dist/cli/platform-detect.js.map +1 -0
  193. package/dist/cli/site.d.ts +6 -0
  194. package/dist/cli/site.d.ts.map +1 -0
  195. package/dist/cli/site.js +9 -0
  196. package/dist/cli/site.js.map +1 -0
  197. package/dist/cli/util.d.ts +12 -0
  198. package/dist/cli/util.d.ts.map +1 -0
  199. package/dist/cli/util.js +118 -0
  200. package/dist/cli/util.js.map +1 -0
  201. package/dist/cli/web-deploy-envelope.d.ts +15 -0
  202. package/dist/cli/web-deploy-envelope.d.ts.map +1 -0
  203. package/dist/cli/web-deploy-envelope.js +156 -0
  204. package/dist/cli/web-deploy-envelope.js.map +1 -0
  205. package/metro.lakebed-native.cjs +94 -0
  206. package/package.json +38 -0
  207. package/templates/camera-note/.env.lakebed.native.server +1 -0
  208. package/templates/camera-note/.lakebed-native/dev.json +6 -0
  209. package/templates/camera-note/.lakebed-native/metro/.expo/README.md +8 -0
  210. package/templates/camera-note/.lakebed-native/metro/.expo/devices.json +3 -0
  211. package/templates/camera-note/.lakebed-native/metro/index.js +2 -0
  212. package/templates/camera-note/.lakebed-native/metro/metro.config.js +4 -0
  213. package/templates/camera-note/.lakebed-native/metro/package.json +4 -0
  214. package/templates/camera-note/AGENTS.md +1 -0
  215. package/templates/camera-note/README.md +1 -0
  216. package/templates/camera-note/app/index.tsx +64 -0
  217. package/templates/camera-note/server/index.ts +23 -0
  218. package/templates/error-fixture/.env.lakebed.native.server +1 -0
  219. package/templates/error-fixture/.lakebed-native/dev.json +6 -0
  220. package/templates/error-fixture/.lakebed-native/metro/.expo/README.md +8 -0
  221. package/templates/error-fixture/.lakebed-native/metro/.expo/devices.json +3 -0
  222. package/templates/error-fixture/.lakebed-native/metro/index.js +2 -0
  223. package/templates/error-fixture/.lakebed-native/metro/metro.config.js +4 -0
  224. package/templates/error-fixture/.lakebed-native/metro/package.json +4 -0
  225. package/templates/error-fixture/AGENTS.md +1 -0
  226. package/templates/error-fixture/README.md +1 -0
  227. package/templates/error-fixture/app/index.tsx +31 -0
  228. package/templates/error-fixture/server/index.ts +19 -0
  229. package/templates/form/.env.lakebed.native.server +1 -0
  230. package/templates/form/.lakebed-native/dev.json +6 -0
  231. package/templates/form/.lakebed-native/metro/.expo/README.md +8 -0
  232. package/templates/form/.lakebed-native/metro/.expo/devices.json +3 -0
  233. package/templates/form/.lakebed-native/metro/index.js +2 -0
  234. package/templates/form/.lakebed-native/metro/metro.config.js +4 -0
  235. package/templates/form/.lakebed-native/metro/package.json +4 -0
  236. package/templates/form/AGENTS.md +1 -0
  237. package/templates/form/README.md +1 -0
  238. package/templates/form/app/index.tsx +56 -0
  239. package/templates/form/server/index.ts +27 -0
  240. package/templates/guestbook/.env.lakebed.native.server +1 -0
  241. package/templates/guestbook/AGENTS.md +1 -0
  242. package/templates/guestbook/README.md +3 -0
  243. package/templates/guestbook/app/index.tsx +45 -0
  244. package/templates/guestbook/server/index.ts +31 -0
  245. package/templates/location-checkin/.env.lakebed.native.server +1 -0
  246. package/templates/location-checkin/.lakebed-native/dev.json +6 -0
  247. package/templates/location-checkin/.lakebed-native/metro/.expo/README.md +8 -0
  248. package/templates/location-checkin/.lakebed-native/metro/.expo/devices.json +3 -0
  249. package/templates/location-checkin/.lakebed-native/metro/index.js +2 -0
  250. package/templates/location-checkin/.lakebed-native/metro/metro.config.js +4 -0
  251. package/templates/location-checkin/.lakebed-native/metro/package.json +4 -0
  252. package/templates/location-checkin/AGENTS.md +1 -0
  253. package/templates/location-checkin/README.md +1 -0
  254. package/templates/location-checkin/app/index.tsx +52 -0
  255. package/templates/location-checkin/server/index.ts +34 -0
  256. package/templates/tabs/.env.lakebed.native.server +1 -0
  257. package/templates/tabs/AGENTS.md +1 -0
  258. package/templates/tabs/README.md +1 -0
  259. package/templates/tabs/app/index.tsx +39 -0
  260. package/templates/tabs/server/index.ts +9 -0
  261. package/templates/todo/.env.lakebed.native.server +1 -0
  262. package/templates/todo/AGENTS.md +27 -0
  263. package/templates/todo/README.md +18 -0
  264. package/templates/todo/app/index.tsx +112 -0
  265. package/templates/todo/server/index.ts +51 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sign-ios.js","sourceRoot":"","sources":["../../../src/cli/apple/sign-ios.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAC9C,OAAO,EACL,UAAU,EACV,SAAS,EACT,WAAW,EACX,WAAW,EACX,MAAM,EACN,QAAQ,EACR,aAAa,GACd,MAAM,SAAS,CAAC;AACjB,OAAO,EAAE,MAAM,EAAE,MAAM,SAAS,CAAC;AACjC,OAAO,EAAE,IAAI,EAAE,MAAM,WAAW,CAAC;AAGjC,SAAS,GAAG,CAAC,GAAW,EAAE,GAAY;IACpC,QAAQ,CAAC,GAAG,EAAE,EAAE,GAAG,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;AACxC,CAAC;AAED,MAAM,UAAU,gBAAgB;IAC9B,IAAI,OAAO,CAAC,QAAQ,KAAK,QAAQ;QAAE,OAAO,KAAK,CAAC;IAChD,IAAI,CAAC;QACH,QAAQ,CAAC,qBAAqB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QACnD,QAAQ,CAAC,gBAAgB,EAAE,EAAE,KAAK,EAAE,MAAM,EAAE,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC;IACd,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,KAAK,CAAC;IACf,CAAC;AACH,CAAC;AAED,MAAM,UAAU,qBAAqB;IACnC,IAAI,CAAC,gBAAgB,EAAE;QAAE,OAAO,EAAE,CAAC;IACnC,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,0CAA0C,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAC;QACvF,MAAM,GAAG,GAAa,EAAE,CAAC;QACzB,KAAK,MAAM,IAAI,IAAI,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,GAAG,IAAI,CAAC,KAAK,CAAC,6BAA6B,CAAC,CAAC;YACpD,IAAI,CAAC;gBAAE,GAAG,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC,CAAE,CAAC,CAAC;QACzB,CAAC;QACD,OAAO,GAAG,CAAC;IACb,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,EAAE,CAAC;IACZ,CAAC;AACH,CAAC;AAED,qFAAqF;AACrF,MAAM,UAAU,0BAA0B;IACxC,MAAM,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC;IAC9C,MAAM,YAAY,GAAG,qBAAqB,EAAE,CAAC,MAAM,CAAC,CAAC,EAAE,EAAE,EAAE,CACzD,yCAAyC,CAAC,IAAI,CAAC,EAAE,CAAC,CACnD,CAAC;IACF,IAAI,MAAM;QAAE,OAAO,YAAY,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IAClE,OAAO,YAAY,CAAC,MAAM,GAAG,CAAC,CAAC;AACjC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,eAAwB;IAC1D,MAAM,GAAG,GAAG,qBAAqB,EAAE,CAAC;IACpC,IAAI,CAAC,GAAG,CAAC,MAAM;QAAE,OAAO,IAAI,CAAC;IAE7B,MAAM,MAAM,GAAG,CAAC,OAAe,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC,CAAC;IAEvE,IAAI,eAAe,EAAE,CAAC;QACpB,MAAM,SAAS,GAAG,GAAG,CAAC,IAAI,CAAC,CAAC,EAAE,EAAE,EAAE,CAAC,EAAE,CAAC,QAAQ,CAAC,eAAe,CAAC,CAAC,CAAC;QACjE,IAAI,SAAS;YAAE,OAAO,SAAS,CAAC;IAClC,CAAC;IAED,OAAO,CACL,MAAM,CAAC,oBAAoB,CAAC;QAC5B,MAAM,CAAC,mBAAmB,CAAC;QAC3B,MAAM,CAAC,qBAAqB,CAAC;QAC7B,MAAM,CAAC,sBAAsB,CAAC;QAC9B,GAAG,CAAC,CAAC,CAAC;QACN,IAAI,CACL,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,8BAA8B,CAAC,aAAqB;IAClE,IAAI,CAAC;QACH,MAAM,GAAG,GAAG,QAAQ,CAAC,sBAAsB,IAAI,CAAC,SAAS,CAAC,aAAa,CAAC,EAAE,EAAE;YAC1E,QAAQ,EAAE,MAAM;SACjB,CAAC,CAAC;QACH,OAAO,CACL,GAAG,CAAC,KAAK,CAAC,mEAAmE,CAAC,EAAE,CAAC,CAAC,CAAC;YACnF,GAAG,CAAC,KAAK,CAAC,gFAAgF,CAAC,EAAE,CAAC,CAAC,CAAC,CACjG,CAAC;IACJ,CAAC;IAAC,MAAM,CAAC;QACP,OAAO,SAAS,CAAC;IACnB,CAAC;AACH,CAAC;AAED,MAAM,UAAU,sBAAsB,CAAC,UAAkB;IACvD,MAAM,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC;IACvE,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACtB,MAAM,IAAI,KAAK,CACb,wCAAwC,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,QAAQ,EAAE,CACtF,CAAC;IACJ,CAAC;IACD,OAAO,IAAI,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC,CAAE,CAAC,CAAC;AACpC,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,OAAe,EAAE,SAAiB;IACpE,GAAG,CACD,0CAA0C,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,SAAS,CAAC,EAAE,CACnG,CAAC;AACJ,CAAC;AAED,6DAA6D;AAC7D,MAAM,UAAU,eAAe,CAAC,OAAe,EAAE,QAAgB,EAAE,gBAAyB;IAC1F,MAAM,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,YAAY,CAAC,CAAC;IAC1C,IAAI,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;QACtB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;YACtC,MAAM,IAAI,GAAG,IAAI,CAAC,KAAK,EAAE,IAAI,CAAC,CAAC;YAC/B,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC,EAAE,CAAC;gBAC7F,GAAG,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IACzC,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,KAAK,MAAM,IAAI,IAAI,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC;YACxC,MAAM,IAAI,GAAG,IAAI,CAAC,OAAO,EAAE,IAAI,CAAC,CAAC;YACjC,IAAI,QAAQ,CAAC,IAAI,CAAC,CAAC,WAAW,EAAE,IAAI,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;gBAC5D,GAAG,CAAC,oCAAoC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;YAC9F,CAAC;QACH,CAAC;IACH,CAAC;IAED,MAAM,OAAO,GACX,gBAAgB,IAAI,UAAU,CAAC,gBAAgB,CAAC;QAC9C,CAAC,CAAC,kBAAkB,IAAI,CAAC,SAAS,CAAC,gBAAgB,CAAC,GAAG;QACvD,CAAC,CAAC,EAAE,CAAC;IACT,GAAG,CACD,oCAAoC,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CACpG,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,oBAAoB,CAClC,OAAe,EACf,QAA4B,EAC5B,MAAc;IAEd,MAAM,QAAQ,GAAG,IAAI,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC;IAC1C,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;IACzC,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,EAAE,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;IAClF,aAAa,CAAC,IAAI,CAAC,QAAQ,EAAE,gBAAgB,CAAC,EAAE,MAAM,CAAC,CAAC;AAC1D,CAAC;AAED,+EAA+E;AAC/E,MAAM,UAAU,gBAAgB,CAAC,IAMhC;IACC,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACxB,MAAM,IAAI,KAAK,CAAC,8EAA8E,CAAC,CAAC;IAClG,CAAC;IAED,MAAM,IAAI,GAAG,WAAW,CAAC,IAAI,CAAC,MAAM,EAAE,EAAE,cAAc,CAAC,CAAC,CAAC;IACzD,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,EAAE,SAAS,CAAC,CAAC;IAEzC,IAAI,CAAC;QACH,GAAG,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAClF,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;YAC5B,MAAM,IAAI,KAAK,CAAC,+BAA+B,CAAC,CAAC;QACnD,CAAC;QAED,MAAM,OAAO,GAAG,sBAAsB,CAAC,UAAU,CAAC,CAAC;QACnD,MAAM,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,EAAG,CAAC;QAE1C,MAAM,gBAAgB,GAAG,IAAI,CAAC,IAAI,EAAE,oBAAoB,CAAC,CAAC;QAC1D,mBAAmB,CAAC,OAAO,EAAE,gBAAgB,CAAC,CAAC;QAE/C,oBAAoB,CAAC,OAAO,EAAE,IAAI,CAAC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,CAAC;QAE1D,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,EAAE,0BAA0B,CAAC,CAAC;QAC5D,MAAM,MAAM,GAAG,UAAU,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,8BAA8B,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAC;QAC7F,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,IAAI,mBAAmB,CAAC,MAAM,CAAC,CAAC;QAC9D,IAAI,CAAC,QAAQ,EAAE,CAAC;YACd,MAAM,IAAI,KAAK,CACb,uJAAuJ,CACxJ,CAAC;QACJ,CAAC;QAED,eAAe,CAAC,OAAO,EAAE,QAAQ,EAAE,gBAAgB,CAAC,CAAC;QAErD,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,GAAG,IAAI,CAAC,MAAM,MAAM,CAAC;QACjF,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,CAAC,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QACnD,GAAG,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,eAAe,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC;QAE/E,OAAO,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC;IAC/B,CAAC;YAAS,CAAC;QACT,MAAM,CAAC,IAAI,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjD,CAAC;AACH,CAAC"}
@@ -0,0 +1,64 @@
1
+ export type AppleReadiness = {
2
+ ready: boolean;
3
+ isMac: boolean;
4
+ hasXcode: boolean;
5
+ hasEasCli: boolean;
6
+ shellLinked: boolean;
7
+ devicePreviewProfile: boolean;
8
+ ascApiKeyConfigured: boolean;
9
+ credentialsConfigured?: boolean;
10
+ easProjectId?: string;
11
+ bundleIdentifier?: string;
12
+ messages: string[];
13
+ };
14
+ export declare function checkAppleReadiness(capsuleDir?: string): AppleReadiness;
15
+ export declare function signingConfiguredMarkerPath(capsuleDir?: string): string;
16
+ export type SigningConfiguredMarker = {
17
+ configuredAt: string;
18
+ easProjectId?: string;
19
+ bundleIdentifier?: string;
20
+ profile?: string;
21
+ };
22
+ /** Re-validate setup marker for 90 days and the linked build project. */
23
+ export declare const SIGNING_MARKER_MAX_AGE_MS: number;
24
+ export declare function signingMarkerIsFresh(configuredAt: string, nowMs?: number): boolean;
25
+ export declare function signingMarkerMatchesProject(marker: SigningConfiguredMarker, easProjectId?: string): boolean;
26
+ export declare function readSigningConfiguredMarker(capsuleDir?: string): SigningConfiguredMarker | null;
27
+ export declare function clearSigningConfiguredMarker(capsuleDir?: string): void;
28
+ export declare function isSigningConfiguredMarkerValid(capsuleDir?: string): boolean;
29
+ /** Drop expired or project-mismatched markers so stale setup is not treated as current. */
30
+ export declare function refreshSigningConfiguredMarker(capsuleDir?: string): void;
31
+ /** @deprecated Use isSigningConfiguredMarkerValid */
32
+ export declare function hasSigningConfiguredMarker(capsuleDir?: string): boolean;
33
+ /** Record successful `lakebed-native apple setup` without probing EAS with a build. */
34
+ export declare function writeSigningConfiguredMarker(capsuleDir?: string): void;
35
+ /** True when explicit false means "not ready"; undefined counts as ready (callers passing opts). */
36
+ export declare function signingCredentialsReady(configured?: boolean): boolean;
37
+ /** Routing: explicit false blocks; explicit true allows; omitted checks local signing signals. */
38
+ export declare function resolveRouteSigningReady(explicit?: boolean, capsuleDir?: string): boolean;
39
+ /** Per-capsule `.lakebed-native/eas.json` when building a specific capsule. */
40
+ export declare function capsuleBuildConfigPresent(capsuleDir?: string): boolean;
41
+ /** Build toolchain + linked project + device-preview profile (not Apple signing itself). */
42
+ export declare function appleBuildPrerequisitesMet(capsuleDir?: string): boolean;
43
+ /** Local signals that Apple signing setup has been completed for this build project. */
44
+ export declare function hasAppleSigningSignals(capsuleDir?: string): boolean;
45
+ export type DeviceBuildBlockReason = "build-tools" | "capsule-config" | "project-link" | "build-profile" | "signing";
46
+ export type DeviceBuildReadiness = {
47
+ status: AppleReadiness;
48
+ prerequisitesMet: boolean;
49
+ signingConfigured: boolean;
50
+ ready: boolean;
51
+ blockReason?: DeviceBuildBlockReason;
52
+ };
53
+ export declare function evaluateDeviceBuildReadiness(capsuleDir?: string): DeviceBuildReadiness;
54
+ export declare function deviceBuildBlockMessage(blockReason: DeviceBuildBlockReason): {
55
+ error: string;
56
+ hints: string[];
57
+ };
58
+ /** True when prerequisites and signing signals are both present. */
59
+ export declare function fetchCredentialsConfigured(capsuleDir?: string): boolean;
60
+ export declare function cmdAppleStatus(opts: {
61
+ json?: boolean;
62
+ capsuleDir?: string;
63
+ }): Promise<void>;
64
+ //# sourceMappingURL=status.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../../src/cli/apple/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,249 @@
1
+ import { readFileSync, existsSync, mkdirSync, writeFileSync, rmSync } from "node:fs";
2
+ import { join } from "node:path";
3
+ import { detectPlatform } from "../platform-detect.js";
4
+ import { IOS_DEVICE_BUILD_PROFILE, appleAuthHint, hasAscApiKeyEnv, } from "./eas-delegate.js";
5
+ import { readCapsuleEasConfig, resolveEasCwd } from "../capsule-eas.js";
6
+ import { IOS_BUILD_TOOLS_HINT } from "./branding.js";
7
+ import { hasRelevantSigningIdentity } from "./sign-ios.js";
8
+ export function checkAppleReadiness(capsuleDir) {
9
+ const platform = detectPlatform();
10
+ const messages = [];
11
+ let devicePreviewProfile = false;
12
+ let shellLinked = false;
13
+ let easProjectId;
14
+ let bundleIdentifier;
15
+ const easCwd = resolveEasCwd(capsuleDir);
16
+ try {
17
+ const appJson = JSON.parse(readFileSync(join(easCwd, "app.json"), "utf8"));
18
+ easProjectId = appJson.expo?.extra?.eas?.projectId;
19
+ bundleIdentifier = appJson.expo?.ios?.bundleIdentifier;
20
+ shellLinked = !!easProjectId;
21
+ if (!shellLinked) {
22
+ messages.push(capsuleDir
23
+ ? "Capsule build project not linked. Run lakebed-native apple setup from the capsule directory."
24
+ : "Shell build project not linked. Run lakebed-native apple setup.");
25
+ }
26
+ const easJson = JSON.parse(readFileSync(join(easCwd, "eas.json"), "utf8"));
27
+ devicePreviewProfile = !!easJson.build?.[IOS_DEVICE_BUILD_PROFILE];
28
+ if (!devicePreviewProfile) {
29
+ messages.push(`Missing eas.json build profile "${IOS_DEVICE_BUILD_PROFILE}"`);
30
+ }
31
+ }
32
+ catch {
33
+ messages.push("Could not read native build configuration (app.json / eas.json)");
34
+ }
35
+ if (capsuleDir && !readCapsuleEasConfig(capsuleDir)) {
36
+ messages.push("No per-capsule build config yet. Run lakebed-native new (or apple setup) to create one.");
37
+ }
38
+ if (!platform.hasEasCli)
39
+ messages.push(IOS_BUILD_TOOLS_HINT);
40
+ if (!hasAscApiKeyEnv()) {
41
+ messages.push("No App Store Connect API key env vars — interactive Apple login required for first setup");
42
+ }
43
+ return {
44
+ ready: false,
45
+ isMac: platform.isMac,
46
+ hasXcode: platform.hasXcode,
47
+ hasEasCli: platform.hasEasCli,
48
+ shellLinked,
49
+ devicePreviewProfile,
50
+ ascApiKeyConfigured: hasAscApiKeyEnv(),
51
+ easProjectId,
52
+ bundleIdentifier,
53
+ messages,
54
+ };
55
+ }
56
+ export function signingConfiguredMarkerPath(capsuleDir) {
57
+ return join(resolveEasCwd(capsuleDir), ".lakebed-native", "apple-signing-ready.json");
58
+ }
59
+ /** Re-validate setup marker for 90 days and the linked build project. */
60
+ export const SIGNING_MARKER_MAX_AGE_MS = 90 * 24 * 60 * 60 * 1000;
61
+ export function signingMarkerIsFresh(configuredAt, nowMs = Date.now()) {
62
+ const age = nowMs - new Date(configuredAt).getTime();
63
+ return age >= 0 && age <= SIGNING_MARKER_MAX_AGE_MS;
64
+ }
65
+ export function signingMarkerMatchesProject(marker, easProjectId) {
66
+ if (!marker.easProjectId || !easProjectId)
67
+ return false;
68
+ return marker.easProjectId === easProjectId;
69
+ }
70
+ export function readSigningConfiguredMarker(capsuleDir) {
71
+ const path = signingConfiguredMarkerPath(capsuleDir);
72
+ if (!existsSync(path))
73
+ return null;
74
+ try {
75
+ return JSON.parse(readFileSync(path, "utf8"));
76
+ }
77
+ catch {
78
+ return null;
79
+ }
80
+ }
81
+ export function clearSigningConfiguredMarker(capsuleDir) {
82
+ const path = signingConfiguredMarkerPath(capsuleDir);
83
+ if (existsSync(path))
84
+ rmSync(path, { force: true });
85
+ }
86
+ export function isSigningConfiguredMarkerValid(capsuleDir) {
87
+ const marker = readSigningConfiguredMarker(capsuleDir);
88
+ if (!marker?.configuredAt)
89
+ return false;
90
+ if (!signingMarkerIsFresh(marker.configuredAt))
91
+ return false;
92
+ const { easProjectId } = checkAppleReadiness(capsuleDir);
93
+ return signingMarkerMatchesProject(marker, easProjectId);
94
+ }
95
+ /** Drop expired or project-mismatched markers so stale setup is not treated as current. */
96
+ export function refreshSigningConfiguredMarker(capsuleDir) {
97
+ const path = signingConfiguredMarkerPath(capsuleDir);
98
+ if (!existsSync(path))
99
+ return;
100
+ if (!isSigningConfiguredMarkerValid(capsuleDir))
101
+ clearSigningConfiguredMarker(capsuleDir);
102
+ }
103
+ /** @deprecated Use isSigningConfiguredMarkerValid */
104
+ export function hasSigningConfiguredMarker(capsuleDir) {
105
+ return isSigningConfiguredMarkerValid(capsuleDir);
106
+ }
107
+ /** Record successful `lakebed-native apple setup` without probing EAS with a build. */
108
+ export function writeSigningConfiguredMarker(capsuleDir) {
109
+ const status = checkAppleReadiness(capsuleDir);
110
+ if (!status.easProjectId)
111
+ return;
112
+ const path = signingConfiguredMarkerPath(capsuleDir);
113
+ mkdirSync(join(path, ".."), { recursive: true });
114
+ const marker = {
115
+ configuredAt: new Date().toISOString(),
116
+ easProjectId: status.easProjectId,
117
+ bundleIdentifier: status.bundleIdentifier,
118
+ profile: IOS_DEVICE_BUILD_PROFILE,
119
+ };
120
+ writeFileSync(path, `${JSON.stringify(marker, null, 2)}\n`);
121
+ }
122
+ /** True when explicit false means "not ready"; undefined counts as ready (callers passing opts). */
123
+ export function signingCredentialsReady(configured) {
124
+ return configured !== false;
125
+ }
126
+ /** Routing: explicit false blocks; explicit true allows; omitted checks local signing signals. */
127
+ export function resolveRouteSigningReady(explicit, capsuleDir) {
128
+ if (explicit === false)
129
+ return false;
130
+ if (explicit === true)
131
+ return true;
132
+ return hasAppleSigningSignals(capsuleDir);
133
+ }
134
+ /** Per-capsule `.lakebed-native/eas.json` when building a specific capsule. */
135
+ export function capsuleBuildConfigPresent(capsuleDir) {
136
+ return !capsuleDir || !!readCapsuleEasConfig(capsuleDir);
137
+ }
138
+ /** Build toolchain + linked project + device-preview profile (not Apple signing itself). */
139
+ export function appleBuildPrerequisitesMet(capsuleDir) {
140
+ const status = checkAppleReadiness(capsuleDir);
141
+ return (status.hasEasCli &&
142
+ status.shellLinked &&
143
+ status.devicePreviewProfile &&
144
+ capsuleBuildConfigPresent(capsuleDir));
145
+ }
146
+ /** Local signals that Apple signing setup has been completed for this build project. */
147
+ export function hasAppleSigningSignals(capsuleDir) {
148
+ refreshSigningConfiguredMarker(capsuleDir);
149
+ return (hasAscApiKeyEnv() ||
150
+ hasRelevantSigningIdentity() ||
151
+ isSigningConfiguredMarkerValid(capsuleDir));
152
+ }
153
+ export function evaluateDeviceBuildReadiness(capsuleDir) {
154
+ const status = checkAppleReadiness(capsuleDir);
155
+ const prerequisitesMet = appleBuildPrerequisitesMet(capsuleDir);
156
+ const signingConfigured = hasAppleSigningSignals(capsuleDir);
157
+ let blockReason;
158
+ if (!status.hasEasCli)
159
+ blockReason = "build-tools";
160
+ else if (capsuleDir && !readCapsuleEasConfig(capsuleDir))
161
+ blockReason = "capsule-config";
162
+ else if (!status.shellLinked)
163
+ blockReason = "project-link";
164
+ else if (!status.devicePreviewProfile)
165
+ blockReason = "build-profile";
166
+ else if (!signingConfigured)
167
+ blockReason = "signing";
168
+ const ready = prerequisitesMet && signingConfigured;
169
+ return {
170
+ status,
171
+ prerequisitesMet,
172
+ signingConfigured,
173
+ ready,
174
+ blockReason: ready ? undefined : blockReason,
175
+ };
176
+ }
177
+ export function deviceBuildBlockMessage(blockReason) {
178
+ switch (blockReason) {
179
+ case "build-tools":
180
+ return {
181
+ error: "Lakebed Native build tools not available",
182
+ hints: [IOS_BUILD_TOOLS_HINT],
183
+ };
184
+ case "capsule-config":
185
+ return {
186
+ error: "Capsule build config missing",
187
+ hints: ["Run: lakebed-native new (or apple setup) to create one."],
188
+ };
189
+ case "project-link":
190
+ return {
191
+ error: "Build project not linked",
192
+ hints: ["Run: lakebed-native apple setup"],
193
+ };
194
+ case "build-profile":
195
+ return {
196
+ error: 'Missing device-preview build profile in eas.json',
197
+ hints: ["Run: lakebed-native apple setup"],
198
+ };
199
+ case "signing":
200
+ return {
201
+ error: "Apple signing not configured for device builds",
202
+ hints: [
203
+ "Run: lakebed-native apple setup",
204
+ "Then: lakebed-native apple devices register",
205
+ ],
206
+ };
207
+ }
208
+ }
209
+ /** True when prerequisites and signing signals are both present. */
210
+ export function fetchCredentialsConfigured(capsuleDir) {
211
+ return evaluateDeviceBuildReadiness(capsuleDir).ready;
212
+ }
213
+ export async function cmdAppleStatus(opts) {
214
+ const readiness = evaluateDeviceBuildReadiness(opts.capsuleDir);
215
+ const status = readiness.status;
216
+ status.credentialsConfigured = readiness.signingConfigured;
217
+ if (readiness.blockReason === "signing") {
218
+ status.messages.push("iOS signing not configured for device builds. Run: lakebed-native apple setup");
219
+ }
220
+ status.ready = readiness.ready;
221
+ if (opts.json) {
222
+ console.log(JSON.stringify({ ...status, blockReason: readiness.blockReason }, null, 2));
223
+ return;
224
+ }
225
+ console.log("Apple / physical iPhone build readiness");
226
+ console.log("");
227
+ console.log(` Mac: ${status.isMac}`);
228
+ console.log(` Xcode: ${status.hasXcode}`);
229
+ console.log(` Build tools: ${status.hasEasCli}`);
230
+ console.log(` Project linked: ${status.shellLinked}`);
231
+ if (status.easProjectId)
232
+ console.log(` Build project: ${status.easProjectId}`);
233
+ if (status.bundleIdentifier)
234
+ console.log(` iOS bundle ID: ${status.bundleIdentifier}`);
235
+ console.log(` device-preview: ${status.devicePreviewProfile}`);
236
+ console.log(` ASC API key env: ${status.ascApiKeyConfigured}`);
237
+ console.log(` Signing ready: ${!readiness.prerequisitesMet ? "n/a" : readiness.signingConfigured ? "yes" : "no"}`);
238
+ console.log(` Ready: ${status.ready}`);
239
+ if (status.messages.length) {
240
+ console.log("");
241
+ for (const m of status.messages)
242
+ console.log(` • ${m}`);
243
+ }
244
+ if (!status.ready) {
245
+ console.log("");
246
+ console.log(appleAuthHint());
247
+ }
248
+ }
249
+ //# sourceMappingURL=status.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"status.js","sourceRoot":"","sources":["../../../src/cli/apple/status.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,3 @@
1
+ #!/usr/bin/env node
2
+ export {};
3
+ //# sourceMappingURL=bin.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":""}
@@ -0,0 +1,7 @@
1
+ #!/usr/bin/env node
2
+ import { runCli } from "./index.js";
3
+ runCli(process.argv).catch((err) => {
4
+ console.error(err instanceof Error ? err.message : err);
5
+ process.exit(1);
6
+ });
7
+ //# sourceMappingURL=bin.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bin.js","sourceRoot":"","sources":["../../src/cli/bin.ts"],"names":[],"mappings":";AACA,OAAO,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AAEpC,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;IACjC,OAAO,CAAC,KAAK,CAAC,GAAG,YAAY,KAAK,CAAC,CAAC,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC;IACxD,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;AAClB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,16 @@
1
+ /** Metro JS bundle URL for `expo start` dev servers (not the manifest root). */
2
+ export declare function metroDevBundleUrl(portOrBase: number | string, platform?: "ios" | "android"): string;
3
+ export declare function startNativeBundler(capsuleDir: string, port: number): Promise<void>;
4
+ export declare function bundleNativeApp(capsuleDir: string): Promise<{
5
+ bundle: string;
6
+ hash: string;
7
+ }>;
8
+ export declare function bundleServer(capsuleDir: string): Promise<{
9
+ bundle: string;
10
+ hash: string;
11
+ }>;
12
+ export declare function readSourceFiles(capsuleDir: string): {
13
+ path: string;
14
+ content: string;
15
+ }[];
16
+ //# sourceMappingURL=bundler.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler.d.ts","sourceRoot":"","sources":["../../src/cli/bundler.ts"],"names":[],"mappings":"AASA,gFAAgF;AAChF,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,EAAE,QAAQ,GAAE,KAAK,GAAG,SAAiB,GAAG,MAAM,CAM1G;AAED,wBAAsB,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CA0CxF;AAED,wBAAsB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAwBnG;AAED,wBAAsB,YAAY,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IAAE,MAAM,EAAE,MAAM,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAAC,CAgBhG;AAED,wBAAgB,eAAe,CAAC,UAAU,EAAE,MAAM,GAAG;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,OAAO,EAAE,MAAM,CAAA;CAAE,EAAE,CAqBvF"}
@@ -0,0 +1,109 @@
1
+ import { spawn } from "node:child_process";
2
+ import { writeFileSync, mkdirSync, existsSync, readdirSync, statSync, readFileSync } from "node:fs";
3
+ import { join } from "node:path";
4
+ import { getKitRoot, resolveLakebedServerEntry } from "./kit-paths.js";
5
+ const REPO_ROOT = getKitRoot();
6
+ let metroProcess = null;
7
+ /** Metro JS bundle URL for `expo start` dev servers (not the manifest root). */
8
+ export function metroDevBundleUrl(portOrBase, platform = "ios") {
9
+ const base = typeof portOrBase === "number"
10
+ ? `http://localhost:${portOrBase}`
11
+ : portOrBase.replace(/\/+$/, "");
12
+ return `${base}/index.bundle?platform=${platform}&dev=true&minify=false`;
13
+ }
14
+ export async function startNativeBundler(capsuleDir, port) {
15
+ const metroDir = join(capsuleDir, ".lakebed-native", "metro");
16
+ mkdirSync(metroDir, { recursive: true });
17
+ const entry = join(capsuleDir, "app", "index.tsx");
18
+ const metroEntry = join(metroDir, "index.js");
19
+ writeFileSync(metroEntry, `import App from "../../app/index.tsx";\nglobalThis.__LAKEBED_CAPSULE_EXPORT__ = App;\n`);
20
+ writeFileSync(join(metroDir, "metro.config.js"), `
21
+ const path = require('path');
22
+ const { createLakebedNativeMetroConfig } = require(${JSON.stringify(join(REPO_ROOT, "metro.lakebed-native.cjs"))});
23
+ module.exports = createLakebedNativeMetroConfig(${JSON.stringify(metroDir)}, ${JSON.stringify(REPO_ROOT)});
24
+ `);
25
+ writeFileSync(join(metroDir, "package.json"), JSON.stringify({ name: "capsule-metro", version: "1.0.0" }, null, 2));
26
+ if (metroProcess)
27
+ metroProcess.kill();
28
+ metroProcess = spawn("npx", [
29
+ "expo",
30
+ "start",
31
+ "--port",
32
+ String(port),
33
+ "--non-interactive",
34
+ ], {
35
+ cwd: metroDir,
36
+ env: { ...process.env, EXPO_NO_TELEMETRY: "1" },
37
+ stdio: "inherit",
38
+ });
39
+ }
40
+ export async function bundleNativeApp(capsuleDir) {
41
+ const entry = join(capsuleDir, "app", "index.tsx");
42
+ const esbuild = await import("esbuild");
43
+ const result = await esbuild.build({
44
+ entryPoints: [entry],
45
+ bundle: true,
46
+ write: false,
47
+ format: "cjs",
48
+ platform: "neutral",
49
+ target: "es2015",
50
+ jsx: "automatic",
51
+ loader: { ".tsx": "tsx", ".ts": "ts" },
52
+ external: [
53
+ "react",
54
+ "react-native",
55
+ "react/jsx-runtime",
56
+ "lakebed-native/client",
57
+ "lakebed-native/ui",
58
+ "lakebed-native/capabilities",
59
+ ],
60
+ });
61
+ const bundle = result.outputFiles[0]?.text ?? "";
62
+ const { hashString } = await import("@lakebed-native/shared");
63
+ return { bundle, hash: hashString(bundle) };
64
+ }
65
+ export async function bundleServer(capsuleDir) {
66
+ const entry = join(capsuleDir, "server", "index.ts");
67
+ const esbuild = await import("esbuild");
68
+ const result = await esbuild.build({
69
+ entryPoints: [entry],
70
+ bundle: true,
71
+ write: false,
72
+ format: "cjs",
73
+ platform: "node",
74
+ alias: {
75
+ "lakebed/server": resolveLakebedServerEntry(),
76
+ },
77
+ });
78
+ const bundle = result.outputFiles[0]?.text ?? "";
79
+ const { hashString } = await import("@lakebed-native/shared");
80
+ return { bundle, hash: hashString(bundle) };
81
+ }
82
+ export function readSourceFiles(capsuleDir) {
83
+ const files = [];
84
+ const walk = (rel) => {
85
+ const full = join(capsuleDir, rel);
86
+ if (!existsSync(full))
87
+ return;
88
+ for (const name of readdirSync(full)) {
89
+ if (name.startsWith(".") || name === "node_modules")
90
+ continue;
91
+ const p = join(rel, name);
92
+ const fp = join(capsuleDir, p);
93
+ if (statSync(fp).isDirectory())
94
+ walk(p);
95
+ else if (/\.(tsx?|md|env.*)$/.test(name)) {
96
+ files.push({ path: p, content: readFileSync(fp, "utf8") });
97
+ }
98
+ }
99
+ };
100
+ for (const d of ["app", "server", "shared", "assets"])
101
+ walk(d);
102
+ for (const f of ["README.md", "AGENTS.md", ".env.lakebed.native.server"]) {
103
+ const fp = join(capsuleDir, f);
104
+ if (existsSync(fp))
105
+ files.push({ path: f, content: readFileSync(fp, "utf8") });
106
+ }
107
+ return files;
108
+ }
109
+ //# sourceMappingURL=bundler.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"bundler.js","sourceRoot":"","sources":["../../src/cli/bundler.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,27 @@
1
+ export type CapsuleEasConfig = {
2
+ projectId: string;
3
+ slug: string;
4
+ owner?: string;
5
+ ios: {
6
+ bundleIdentifier: string;
7
+ };
8
+ android: {
9
+ package: string;
10
+ };
11
+ createdAt: string;
12
+ };
13
+ export declare function capsuleEasDir(capsuleDir: string): string;
14
+ export declare function capsuleEasConfigPath(capsuleDir: string): string;
15
+ export declare function readCapsuleEasConfig(capsuleDir: string): CapsuleEasConfig | null;
16
+ export declare function writeCapsuleEasConfig(capsuleDir: string, config: CapsuleEasConfig): void;
17
+ /** Resolve EAS working directory: per-capsule project when configured, else repo shell. */
18
+ export declare function resolveEasCwd(capsuleDir?: string): string;
19
+ export declare function deviceShellIpaPath(capsuleDir: string): string;
20
+ /**
21
+ * Create a dedicated EAS project for this capsule (one project per capsule).
22
+ * Requires eas-cli login or EXPO_TOKEN.
23
+ */
24
+ export declare function ensureCapsuleEasProject(capsuleDir: string, opts?: {
25
+ json?: boolean;
26
+ }): Promise<CapsuleEasConfig>;
27
+ //# sourceMappingURL=capsule-eas.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"capsule-eas.d.ts","sourceRoot":"","sources":["../../src/cli/capsule-eas.ts"],"names":[],"mappings":"AAWA,MAAM,MAAM,gBAAgB,GAAG;IAC7B,SAAS,EAAE,MAAM,CAAC;IAClB,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,GAAG,EAAE;QAAE,gBAAgB,EAAE,MAAM,CAAA;KAAE,CAAC;IAClC,OAAO,EAAE;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAC7B,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAEF,wBAAgB,aAAa,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE/D;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,gBAAgB,GAAG,IAAI,CAIhF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,EAAE,gBAAgB,GAAG,IAAI,CAIxF;AA4DD,2FAA2F;AAC3F,wBAAgB,aAAa,CAAC,UAAU,CAAC,EAAE,MAAM,GAAG,MAAM,CAYzD;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED;;;GAGG;AACH,wBAAsB,uBAAuB,CAC3C,UAAU,EAAE,MAAM,EAClB,IAAI,CAAC,EAAE;IAAE,IAAI,CAAC,EAAE,OAAO,CAAA;CAAE,GACxB,OAAO,CAAC,gBAAgB,CAAC,CAoD3B"}