@invarn/cibuild 2.9.4 → 2.9.7

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 (547) hide show
  1. package/dist/chunk-35SI42CD.mjs +1 -0
  2. package/dist/chunk-IC45KVLJ.mjs +1 -0
  3. package/dist/chunk-XDY4V23V.mjs +1 -0
  4. package/dist/cli.cjs +14 -14
  5. package/dist/commands.mjs +1 -0
  6. package/dist/lib.mjs +3934 -0
  7. package/package.json +6 -10
  8. package/dist/src/cli.d.ts +0 -3
  9. package/dist/src/cli.d.ts.map +0 -1
  10. package/dist/src/cli.js +0 -399
  11. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts +0 -38
  12. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.d.ts.map +0 -1
  13. package/dist/src/commands/a-credential-target-follows-the-flavor-source-set.test.js +0 -222
  14. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts +0 -41
  15. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.d.ts.map +0 -1
  16. package/dist/src/commands/a-credential-two-workflows-cannot-share-is-declared-per-workflow.test.js +0 -324
  17. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts +0 -2
  18. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.d.ts.map +0 -1
  19. package/dist/src/commands/a-properties-stand-in-declares-the-keys-the-build-reads.test.js +0 -382
  20. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts +0 -29
  21. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.d.ts.map +0 -1
  22. package/dist/src/commands/an-already-stored-value-does-not-answer-the-target-question.test.js +0 -160
  23. package/dist/src/commands/android-gms-guard.test.d.ts +0 -9
  24. package/dist/src/commands/android-gms-guard.test.d.ts.map +0 -1
  25. package/dist/src/commands/android-gms-guard.test.js +0 -78
  26. package/dist/src/commands/android-java-version.test.d.ts +0 -12
  27. package/dist/src/commands/android-java-version.test.d.ts.map +0 -1
  28. package/dist/src/commands/android-java-version.test.js +0 -209
  29. package/dist/src/commands/android-scanner-java.test.d.ts +0 -2
  30. package/dist/src/commands/android-scanner-java.test.d.ts.map +0 -1
  31. package/dist/src/commands/android-scanner-java.test.js +0 -130
  32. package/dist/src/commands/android-scanner.d.ts +0 -250
  33. package/dist/src/commands/android-scanner.d.ts.map +0 -1
  34. package/dist/src/commands/android-scanner.js +0 -1639
  35. package/dist/src/commands/build.d.ts +0 -215
  36. package/dist/src/commands/build.d.ts.map +0 -1
  37. package/dist/src/commands/build.js +0 -1433
  38. package/dist/src/commands/build.test.d.ts +0 -13
  39. package/dist/src/commands/build.test.d.ts.map +0 -1
  40. package/dist/src/commands/build.test.js +0 -121
  41. package/dist/src/commands/detect-platform.d.ts +0 -13
  42. package/dist/src/commands/detect-platform.d.ts.map +0 -1
  43. package/dist/src/commands/detect-platform.js +0 -51
  44. package/dist/src/commands/detect-project.d.ts +0 -7
  45. package/dist/src/commands/detect-project.d.ts.map +0 -1
  46. package/dist/src/commands/detect-project.js +0 -12
  47. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts +0 -26
  48. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.d.ts.map +0 -1
  49. package/dist/src/commands/each-flavor-is-asked-for-its-own-properties-file.test.js +0 -196
  50. package/dist/src/commands/edit.d.ts +0 -12
  51. package/dist/src/commands/edit.d.ts.map +0 -1
  52. package/dist/src/commands/edit.js +0 -652
  53. package/dist/src/commands/edit.test.d.ts +0 -6
  54. package/dist/src/commands/edit.test.d.ts.map +0 -1
  55. package/dist/src/commands/edit.test.js +0 -45
  56. package/dist/src/commands/fidelity-trim.d.ts +0 -13
  57. package/dist/src/commands/fidelity-trim.d.ts.map +0 -1
  58. package/dist/src/commands/fidelity-trim.js +0 -21
  59. package/dist/src/commands/fidelity-trim.test.d.ts +0 -8
  60. package/dist/src/commands/fidelity-trim.test.d.ts.map +0 -1
  61. package/dist/src/commands/fidelity-trim.test.js +0 -79
  62. package/dist/src/commands/file-secret-collector.d.ts +0 -50
  63. package/dist/src/commands/file-secret-collector.d.ts.map +0 -1
  64. package/dist/src/commands/file-secret-collector.js +0 -217
  65. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts +0 -38
  66. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.d.ts.map +0 -1
  67. package/dist/src/commands/flavors-a-convention-plugin-creates-are-still-found.test.js +0 -300
  68. package/dist/src/commands/github-workflow.d.ts +0 -5
  69. package/dist/src/commands/github-workflow.d.ts.map +0 -1
  70. package/dist/src/commands/github-workflow.js +0 -45
  71. package/dist/src/commands/index.d.ts +0 -33
  72. package/dist/src/commands/index.d.ts.map +0 -1
  73. package/dist/src/commands/index.js +0 -33
  74. package/dist/src/commands/init.d.ts +0 -20
  75. package/dist/src/commands/init.d.ts.map +0 -1
  76. package/dist/src/commands/init.js +0 -264
  77. package/dist/src/commands/ios-scanner.d.ts +0 -104
  78. package/dist/src/commands/ios-scanner.d.ts.map +0 -1
  79. package/dist/src/commands/ios-scanner.js +0 -492
  80. package/dist/src/commands/ios-scheme-ranking.test.d.ts +0 -2
  81. package/dist/src/commands/ios-scheme-ranking.test.d.ts.map +0 -1
  82. package/dist/src/commands/ios-scheme-ranking.test.js +0 -264
  83. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts +0 -30
  84. package/dist/src/commands/local-properties-reaches-every-workflow.test.d.ts.map +0 -1
  85. package/dist/src/commands/local-properties-reaches-every-workflow.test.js +0 -146
  86. package/dist/src/commands/reset.d.ts +0 -7
  87. package/dist/src/commands/reset.d.ts.map +0 -1
  88. package/dist/src/commands/reset.js +0 -81
  89. package/dist/src/commands/run.d.ts +0 -22
  90. package/dist/src/commands/run.d.ts.map +0 -1
  91. package/dist/src/commands/run.js +0 -141
  92. package/dist/src/commands/secrets-sync-workflow.d.ts +0 -15
  93. package/dist/src/commands/secrets-sync-workflow.d.ts.map +0 -1
  94. package/dist/src/commands/secrets-sync-workflow.js +0 -255
  95. package/dist/src/commands/secrets-upload.d.ts +0 -21
  96. package/dist/src/commands/secrets-upload.d.ts.map +0 -1
  97. package/dist/src/commands/secrets-upload.js +0 -177
  98. package/dist/src/commands/secrets-upload.test.d.ts +0 -5
  99. package/dist/src/commands/secrets-upload.test.d.ts.map +0 -1
  100. package/dist/src/commands/secrets-upload.test.js +0 -60
  101. package/dist/src/commands/validate.d.ts +0 -10
  102. package/dist/src/commands/validate.d.ts.map +0 -1
  103. package/dist/src/commands/validate.js +0 -46
  104. package/dist/src/config.d.ts +0 -3
  105. package/dist/src/config.d.ts.map +0 -1
  106. package/dist/src/config.js +0 -47
  107. package/dist/src/envman/cli.d.ts +0 -21
  108. package/dist/src/envman/cli.d.ts.map +0 -1
  109. package/dist/src/envman/cli.js +0 -240
  110. package/dist/src/envman/envman.d.ts +0 -83
  111. package/dist/src/envman/envman.d.ts.map +0 -1
  112. package/dist/src/envman/envman.js +0 -361
  113. package/dist/src/envman/envman.test.d.ts +0 -5
  114. package/dist/src/envman/envman.test.d.ts.map +0 -1
  115. package/dist/src/envman/envman.test.js +0 -236
  116. package/dist/src/envman/envstore-round-trip.test.d.ts +0 -27
  117. package/dist/src/envman/envstore-round-trip.test.d.ts.map +0 -1
  118. package/dist/src/envman/envstore-round-trip.test.js +0 -130
  119. package/dist/src/envman/index.d.ts +0 -23
  120. package/dist/src/envman/index.d.ts.map +0 -1
  121. package/dist/src/envman/index.js +0 -23
  122. package/dist/src/envman/shim.d.ts +0 -16
  123. package/dist/src/envman/shim.d.ts.map +0 -1
  124. package/dist/src/envman/shim.js +0 -66
  125. package/dist/src/envman/types.d.ts +0 -55
  126. package/dist/src/envman/types.d.ts.map +0 -1
  127. package/dist/src/envman/types.js +0 -12
  128. package/dist/src/lib.d.ts +0 -33
  129. package/dist/src/lib.d.ts.map +0 -1
  130. package/dist/src/lib.js +0 -37
  131. package/dist/src/pipeline.d.ts +0 -3
  132. package/dist/src/pipeline.d.ts.map +0 -1
  133. package/dist/src/pipeline.js +0 -57
  134. package/dist/src/runner-node-step.test.d.ts +0 -12
  135. package/dist/src/runner-node-step.test.d.ts.map +0 -1
  136. package/dist/src/runner-node-step.test.js +0 -61
  137. package/dist/src/runner.d.ts +0 -31
  138. package/dist/src/runner.d.ts.map +0 -1
  139. package/dist/src/runner.js +0 -240
  140. package/dist/src/shared/detect-project.d.ts +0 -57
  141. package/dist/src/shared/detect-project.d.ts.map +0 -1
  142. package/dist/src/shared/detect-project.js +0 -219
  143. package/dist/src/shared/detect-project.test.d.ts +0 -2
  144. package/dist/src/shared/detect-project.test.d.ts.map +0 -1
  145. package/dist/src/shared/detect-project.test.js +0 -161
  146. package/dist/src/shared/git.d.ts +0 -25
  147. package/dist/src/shared/git.d.ts.map +0 -1
  148. package/dist/src/shared/git.js +0 -53
  149. package/dist/src/shared/git.test.d.ts +0 -9
  150. package/dist/src/shared/git.test.d.ts.map +0 -1
  151. package/dist/src/shared/git.test.js +0 -66
  152. package/dist/src/shared/gitignore.d.ts +0 -6
  153. package/dist/src/shared/gitignore.d.ts.map +0 -1
  154. package/dist/src/shared/gitignore.js +0 -26
  155. package/dist/src/shared/gradle-settings.d.ts +0 -49
  156. package/dist/src/shared/gradle-settings.d.ts.map +0 -1
  157. package/dist/src/shared/gradle-settings.js +0 -138
  158. package/dist/src/shared/gradle-settings.test.d.ts +0 -2
  159. package/dist/src/shared/gradle-settings.test.d.ts.map +0 -1
  160. package/dist/src/shared/gradle-settings.test.js +0 -65
  161. package/dist/src/shared/prompts.d.ts +0 -30
  162. package/dist/src/shared/prompts.d.ts.map +0 -1
  163. package/dist/src/shared/prompts.js +0 -121
  164. package/dist/src/shared/xcode-container.test.d.ts +0 -2
  165. package/dist/src/shared/xcode-container.test.d.ts.map +0 -1
  166. package/dist/src/shared/xcode-container.test.js +0 -123
  167. package/dist/src/step-marker.d.ts +0 -12
  168. package/dist/src/step-marker.d.ts.map +0 -1
  169. package/dist/src/step-marker.js +0 -29
  170. package/dist/src/step-marker.test.d.ts +0 -11
  171. package/dist/src/step-marker.test.d.ts.map +0 -1
  172. package/dist/src/step-marker.test.js +0 -45
  173. package/dist/src/types.d.ts +0 -58
  174. package/dist/src/types.d.ts.map +0 -1
  175. package/dist/src/types.js +0 -2
  176. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts +0 -28
  177. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.d.ts.map +0 -1
  178. package/dist/src/yaml/a-cache-path-must-not-swallow-a-credential.test.js +0 -223
  179. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts +0 -20
  180. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.d.ts.map +0 -1
  181. package/dist/src/yaml/a-declared-secret-reaches-the-file-step.test.js +0 -201
  182. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts +0 -37
  183. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.d.ts.map +0 -1
  184. package/dist/src/yaml/a-declared-slot-may-name-the-workflow-it-belongs-to.test.js +0 -255
  185. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts +0 -32
  186. package/dist/src/yaml/a-missing-credential-is-loud.test.d.ts.map +0 -1
  187. package/dist/src/yaml/a-missing-credential-is-loud.test.js +0 -301
  188. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts +0 -18
  189. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.d.ts.map +0 -1
  190. package/dist/src/yaml/a-runtime-requirement-names-a-real-provider.test.js +0 -66
  191. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts +0 -34
  192. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.d.ts.map +0 -1
  193. package/dist/src/yaml/a-scoped-slot-must-name-a-workflow-the-pipeline-has.test.js +0 -218
  194. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts +0 -27
  195. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.d.ts.map +0 -1
  196. package/dist/src/yaml/a-value-this-instance-stored-is-a-value-it-has.test.js +0 -126
  197. package/dist/src/yaml/bitrise-compat.d.ts +0 -65
  198. package/dist/src/yaml/bitrise-compat.d.ts.map +0 -1
  199. package/dist/src/yaml/bitrise-compat.js +0 -206
  200. package/dist/src/yaml/bitrise-compat.test.d.ts +0 -5
  201. package/dist/src/yaml/bitrise-compat.test.d.ts.map +0 -1
  202. package/dist/src/yaml/bitrise-compat.test.js +0 -347
  203. package/dist/src/yaml/cache-key-missing-file.test.d.ts +0 -12
  204. package/dist/src/yaml/cache-key-missing-file.test.d.ts.map +0 -1
  205. package/dist/src/yaml/cache-key-missing-file.test.js +0 -116
  206. package/dist/src/yaml/converter.d.ts +0 -103
  207. package/dist/src/yaml/converter.d.ts.map +0 -1
  208. package/dist/src/yaml/converter.js +0 -420
  209. package/dist/src/yaml/converter.test.d.ts +0 -5
  210. package/dist/src/yaml/converter.test.d.ts.map +0 -1
  211. package/dist/src/yaml/converter.test.js +0 -548
  212. package/dist/src/yaml/e2e.test.d.ts +0 -6
  213. package/dist/src/yaml/e2e.test.d.ts.map +0 -1
  214. package/dist/src/yaml/e2e.test.js +0 -446
  215. package/dist/src/yaml/env-resolver.d.ts +0 -218
  216. package/dist/src/yaml/env-resolver.d.ts.map +0 -1
  217. package/dist/src/yaml/env-resolver.js +0 -591
  218. package/dist/src/yaml/env-resolver.test.d.ts +0 -5
  219. package/dist/src/yaml/env-resolver.test.d.ts.map +0 -1
  220. package/dist/src/yaml/env-resolver.test.js +0 -502
  221. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts +0 -16
  222. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.d.ts.map +0 -1
  223. package/dist/src/yaml/every-build-log-witnesses-the-commit-on-disk.test.js +0 -126
  224. package/dist/src/yaml/fidelity-input-digest.d.ts +0 -37
  225. package/dist/src/yaml/fidelity-input-digest.d.ts.map +0 -1
  226. package/dist/src/yaml/fidelity-input-digest.js +0 -208
  227. package/dist/src/yaml/fidelity-input-digest.test.d.ts +0 -2
  228. package/dist/src/yaml/fidelity-input-digest.test.d.ts.map +0 -1
  229. package/dist/src/yaml/fidelity-input-digest.test.js +0 -167
  230. package/dist/src/yaml/fidelity-manifest.d.ts +0 -126
  231. package/dist/src/yaml/fidelity-manifest.d.ts.map +0 -1
  232. package/dist/src/yaml/fidelity-manifest.js +0 -134
  233. package/dist/src/yaml/fidelity-manifest.test.d.ts +0 -12
  234. package/dist/src/yaml/fidelity-manifest.test.d.ts.map +0 -1
  235. package/dist/src/yaml/fidelity-manifest.test.js +0 -251
  236. package/dist/src/yaml/interactive-prompts.d.ts +0 -71
  237. package/dist/src/yaml/interactive-prompts.d.ts.map +0 -1
  238. package/dist/src/yaml/interactive-prompts.js +0 -260
  239. package/dist/src/yaml/meta-helpers.d.ts +0 -28
  240. package/dist/src/yaml/meta-helpers.d.ts.map +0 -1
  241. package/dist/src/yaml/meta-helpers.js +0 -46
  242. package/dist/src/yaml/missing-env-handler.d.ts +0 -45
  243. package/dist/src/yaml/missing-env-handler.d.ts.map +0 -1
  244. package/dist/src/yaml/missing-env-handler.js +0 -64
  245. package/dist/src/yaml/parser.d.ts +0 -33
  246. package/dist/src/yaml/parser.d.ts.map +0 -1
  247. package/dist/src/yaml/parser.js +0 -148
  248. package/dist/src/yaml/parser.test.d.ts +0 -5
  249. package/dist/src/yaml/parser.test.d.ts.map +0 -1
  250. package/dist/src/yaml/parser.test.js +0 -83
  251. package/dist/src/yaml/pipeline-with-secrets.d.ts +0 -25
  252. package/dist/src/yaml/pipeline-with-secrets.d.ts.map +0 -1
  253. package/dist/src/yaml/pipeline-with-secrets.js +0 -76
  254. package/dist/src/yaml/platform-detector.d.ts +0 -83
  255. package/dist/src/yaml/platform-detector.d.ts.map +0 -1
  256. package/dist/src/yaml/platform-detector.js +0 -189
  257. package/dist/src/yaml/platform-detector.test.d.ts +0 -5
  258. package/dist/src/yaml/platform-detector.test.d.ts.map +0 -1
  259. package/dist/src/yaml/platform-detector.test.js +0 -525
  260. package/dist/src/yaml/preflight-validation.d.ts +0 -29
  261. package/dist/src/yaml/preflight-validation.d.ts.map +0 -1
  262. package/dist/src/yaml/preflight-validation.js +0 -21
  263. package/dist/src/yaml/secrets-manager.d.ts +0 -87
  264. package/dist/src/yaml/secrets-manager.d.ts.map +0 -1
  265. package/dist/src/yaml/secrets-manager.js +0 -230
  266. package/dist/src/yaml/shell-assignments.d.ts +0 -40
  267. package/dist/src/yaml/shell-assignments.d.ts.map +0 -1
  268. package/dist/src/yaml/shell-assignments.js +0 -77
  269. package/dist/src/yaml/step-validator-check-failure.test.d.ts +0 -24
  270. package/dist/src/yaml/step-validator-check-failure.test.d.ts.map +0 -1
  271. package/dist/src/yaml/step-validator-check-failure.test.js +0 -130
  272. package/dist/src/yaml/step-validator-self-assigned.test.d.ts +0 -23
  273. package/dist/src/yaml/step-validator-self-assigned.test.d.ts.map +0 -1
  274. package/dist/src/yaml/step-validator-self-assigned.test.js +0 -191
  275. package/dist/src/yaml/step-validator.d.ts +0 -67
  276. package/dist/src/yaml/step-validator.d.ts.map +0 -1
  277. package/dist/src/yaml/step-validator.js +0 -466
  278. package/dist/src/yaml/step-validator.test.d.ts +0 -18
  279. package/dist/src/yaml/step-validator.test.d.ts.map +0 -1
  280. package/dist/src/yaml/step-validator.test.js +0 -140
  281. package/dist/src/yaml/steps/android-sign.d.ts +0 -35
  282. package/dist/src/yaml/steps/android-sign.d.ts.map +0 -1
  283. package/dist/src/yaml/steps/android-sign.js +0 -147
  284. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts +0 -2
  285. package/dist/src/yaml/steps/android-variant-resolution.test.d.ts.map +0 -1
  286. package/dist/src/yaml/steps/android-variant-resolution.test.js +0 -260
  287. package/dist/src/yaml/steps/android-version.d.ts +0 -26
  288. package/dist/src/yaml/steps/android-version.d.ts.map +0 -1
  289. package/dist/src/yaml/steps/android-version.js +0 -128
  290. package/dist/src/yaml/steps/android-version.test.d.ts +0 -5
  291. package/dist/src/yaml/steps/android-version.test.d.ts.map +0 -1
  292. package/dist/src/yaml/steps/android-version.test.js +0 -196
  293. package/dist/src/yaml/steps/android.d.ts +0 -156
  294. package/dist/src/yaml/steps/android.d.ts.map +0 -1
  295. package/dist/src/yaml/steps/android.js +0 -1084
  296. package/dist/src/yaml/steps/app-store-deploy.d.ts +0 -48
  297. package/dist/src/yaml/steps/app-store-deploy.d.ts.map +0 -1
  298. package/dist/src/yaml/steps/app-store-deploy.js +0 -167
  299. package/dist/src/yaml/steps/base.d.ts +0 -263
  300. package/dist/src/yaml/steps/base.d.ts.map +0 -1
  301. package/dist/src/yaml/steps/base.js +0 -380
  302. package/dist/src/yaml/steps/bitrise-android-tools.d.ts +0 -26
  303. package/dist/src/yaml/steps/bitrise-android-tools.d.ts.map +0 -1
  304. package/dist/src/yaml/steps/bitrise-android-tools.js +0 -200
  305. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts +0 -5
  306. package/dist/src/yaml/steps/bitrise-android-tools.test.d.ts.map +0 -1
  307. package/dist/src/yaml/steps/bitrise-android-tools.test.js +0 -280
  308. package/dist/src/yaml/steps/bitrise-apk-info.d.ts +0 -22
  309. package/dist/src/yaml/steps/bitrise-apk-info.d.ts.map +0 -1
  310. package/dist/src/yaml/steps/bitrise-apk-info.js +0 -144
  311. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts +0 -5
  312. package/dist/src/yaml/steps/bitrise-apk-info.test.d.ts.map +0 -1
  313. package/dist/src/yaml/steps/bitrise-apk-info.test.js +0 -331
  314. package/dist/src/yaml/steps/bitrise-slack.d.ts +0 -49
  315. package/dist/src/yaml/steps/bitrise-slack.d.ts.map +0 -1
  316. package/dist/src/yaml/steps/bitrise-slack.js +0 -280
  317. package/dist/src/yaml/steps/bitrise-slack.test.d.ts +0 -5
  318. package/dist/src/yaml/steps/bitrise-slack.test.d.ts.map +0 -1
  319. package/dist/src/yaml/steps/bitrise-slack.test.js +0 -484
  320. package/dist/src/yaml/steps/bitrise-ssh.d.ts +0 -27
  321. package/dist/src/yaml/steps/bitrise-ssh.d.ts.map +0 -1
  322. package/dist/src/yaml/steps/bitrise-ssh.js +0 -134
  323. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts +0 -5
  324. package/dist/src/yaml/steps/bitrise-ssh.test.d.ts.map +0 -1
  325. package/dist/src/yaml/steps/bitrise-ssh.test.js +0 -205
  326. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts +0 -27
  327. package/dist/src/yaml/steps/cache-pull-daemon.test.d.ts.map +0 -1
  328. package/dist/src/yaml/steps/cache-pull-daemon.test.js +0 -212
  329. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts +0 -42
  330. package/dist/src/yaml/steps/cache-pull-restore-roots.test.d.ts.map +0 -1
  331. package/dist/src/yaml/steps/cache-pull-restore-roots.test.js +0 -209
  332. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts +0 -27
  333. package/dist/src/yaml/steps/cache-push-daemon.test.d.ts.map +0 -1
  334. package/dist/src/yaml/steps/cache-push-daemon.test.js +0 -171
  335. package/dist/src/yaml/steps/cache.d.ts +0 -59
  336. package/dist/src/yaml/steps/cache.d.ts.map +0 -1
  337. package/dist/src/yaml/steps/cache.js +0 -1027
  338. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts +0 -42
  339. package/dist/src/yaml/steps/cocoapods-deployment-floor.d.ts.map +0 -1
  340. package/dist/src/yaml/steps/cocoapods-deployment-floor.js +0 -140
  341. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts +0 -11
  342. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.d.ts.map +0 -1
  343. package/dist/src/yaml/steps/cocoapods-deployment-floor.test.js +0 -176
  344. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts +0 -22
  345. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.d.ts.map +0 -1
  346. package/dist/src/yaml/steps/cocoapods-install-emits-valid-bash.test.js +0 -97
  347. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts +0 -17
  348. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.d.ts.map +0 -1
  349. package/dist/src/yaml/steps/cocoapods-locked-bundler.test.js +0 -282
  350. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts +0 -17
  351. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.d.ts.map +0 -1
  352. package/dist/src/yaml/steps/cocoapods-skip-if-absent.test.js +0 -132
  353. package/dist/src/yaml/steps/envstore-loader.test.d.ts +0 -15
  354. package/dist/src/yaml/steps/envstore-loader.test.d.ts.map +0 -1
  355. package/dist/src/yaml/steps/envstore-loader.test.js +0 -143
  356. package/dist/src/yaml/steps/fastlane.d.ts +0 -27
  357. package/dist/src/yaml/steps/fastlane.d.ts.map +0 -1
  358. package/dist/src/yaml/steps/fastlane.js +0 -79
  359. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts +0 -53
  360. package/dist/src/yaml/steps/fidelity-aspect-guard.d.ts.map +0 -1
  361. package/dist/src/yaml/steps/fidelity-aspect-guard.js +0 -72
  362. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts +0 -11
  363. package/dist/src/yaml/steps/fidelity-aspect-guard.test.d.ts.map +0 -1
  364. package/dist/src/yaml/steps/fidelity-aspect-guard.test.js +0 -50
  365. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts +0 -87
  366. package/dist/src/yaml/steps/fidelity-reference-provenance.d.ts.map +0 -1
  367. package/dist/src/yaml/steps/fidelity-reference-provenance.js +0 -111
  368. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts +0 -22
  369. package/dist/src/yaml/steps/fidelity-reference-provenance.test.d.ts.map +0 -1
  370. package/dist/src/yaml/steps/fidelity-reference-provenance.test.js +0 -118
  371. package/dist/src/yaml/steps/file.d.ts +0 -52
  372. package/dist/src/yaml/steps/file.d.ts.map +0 -1
  373. package/dist/src/yaml/steps/file.js +0 -108
  374. package/dist/src/yaml/steps/flutter.d.ts +0 -63
  375. package/dist/src/yaml/steps/flutter.d.ts.map +0 -1
  376. package/dist/src/yaml/steps/flutter.js +0 -215
  377. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts +0 -16
  378. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.d.ts.map +0 -1
  379. package/dist/src/yaml/steps/git-clone-names-the-inputs-it-ignores.test.js +0 -127
  380. package/dist/src/yaml/steps/git-clone.d.ts +0 -32
  381. package/dist/src/yaml/steps/git-clone.d.ts.map +0 -1
  382. package/dist/src/yaml/steps/git-clone.js +0 -171
  383. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts +0 -10
  384. package/dist/src/yaml/steps/git-fetch-retry-exec.test.d.ts.map +0 -1
  385. package/dist/src/yaml/steps/git-fetch-retry-exec.test.js +0 -162
  386. package/dist/src/yaml/steps/git-fetch-retry.d.ts +0 -62
  387. package/dist/src/yaml/steps/git-fetch-retry.d.ts.map +0 -1
  388. package/dist/src/yaml/steps/git-fetch-retry.js +0 -155
  389. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts +0 -5
  390. package/dist/src/yaml/steps/git-fetch-retry.test.d.ts.map +0 -1
  391. package/dist/src/yaml/steps/git-fetch-retry.test.js +0 -86
  392. package/dist/src/yaml/steps/google-play-deploy.d.ts +0 -37
  393. package/dist/src/yaml/steps/google-play-deploy.d.ts.map +0 -1
  394. package/dist/src/yaml/steps/google-play-deploy.js +0 -193
  395. package/dist/src/yaml/steps/google-play-deploy.test.d.ts +0 -5
  396. package/dist/src/yaml/steps/google-play-deploy.test.d.ts.map +0 -1
  397. package/dist/src/yaml/steps/google-play-deploy.test.js +0 -310
  398. package/dist/src/yaml/steps/gradle-memory.d.ts +0 -61
  399. package/dist/src/yaml/steps/gradle-memory.d.ts.map +0 -1
  400. package/dist/src/yaml/steps/gradle-memory.js +0 -311
  401. package/dist/src/yaml/steps/gradle-memory.test.d.ts +0 -2
  402. package/dist/src/yaml/steps/gradle-memory.test.d.ts.map +0 -1
  403. package/dist/src/yaml/steps/gradle-memory.test.js +0 -297
  404. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts +0 -28
  405. package/dist/src/yaml/steps/gradle-sdk-cmake.d.ts.map +0 -1
  406. package/dist/src/yaml/steps/gradle-sdk-cmake.js +0 -107
  407. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts +0 -2
  408. package/dist/src/yaml/steps/gradle-sdk-cmake.test.d.ts.map +0 -1
  409. package/dist/src/yaml/steps/gradle-sdk-cmake.test.js +0 -183
  410. package/dist/src/yaml/steps/index.d.ts +0 -10
  411. package/dist/src/yaml/steps/index.d.ts.map +0 -1
  412. package/dist/src/yaml/steps/index.js +0 -1461
  413. package/dist/src/yaml/steps/ios-deps.d.ts +0 -78
  414. package/dist/src/yaml/steps/ios-deps.d.ts.map +0 -1
  415. package/dist/src/yaml/steps/ios-deps.js +0 -279
  416. package/dist/src/yaml/steps/ios-deps.test.d.ts +0 -5
  417. package/dist/src/yaml/steps/ios-deps.test.d.ts.map +0 -1
  418. package/dist/src/yaml/steps/ios-deps.test.js +0 -90
  419. package/dist/src/yaml/steps/ios-signing.d.ts +0 -31
  420. package/dist/src/yaml/steps/ios-signing.d.ts.map +0 -1
  421. package/dist/src/yaml/steps/ios-signing.js +0 -144
  422. package/dist/src/yaml/steps/ios-version.d.ts +0 -47
  423. package/dist/src/yaml/steps/ios-version.d.ts.map +0 -1
  424. package/dist/src/yaml/steps/ios-version.js +0 -151
  425. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts +0 -10
  426. package/dist/src/yaml/steps/java-home-version-spec.test.d.ts.map +0 -1
  427. package/dist/src/yaml/steps/java-home-version-spec.test.js +0 -58
  428. package/dist/src/yaml/steps/linting.d.ts +0 -47
  429. package/dist/src/yaml/steps/linting.d.ts.map +0 -1
  430. package/dist/src/yaml/steps/linting.js +0 -148
  431. package/dist/src/yaml/steps/phase2.test.d.ts +0 -6
  432. package/dist/src/yaml/steps/phase2.test.d.ts.map +0 -1
  433. package/dist/src/yaml/steps/phase2.test.js +0 -197
  434. package/dist/src/yaml/steps/phase3.test.d.ts +0 -5
  435. package/dist/src/yaml/steps/phase3.test.d.ts.map +0 -1
  436. package/dist/src/yaml/steps/phase3.test.js +0 -144
  437. package/dist/src/yaml/steps/phase4.test.d.ts +0 -5
  438. package/dist/src/yaml/steps/phase4.test.d.ts.map +0 -1
  439. package/dist/src/yaml/steps/phase4.test.js +0 -166
  440. package/dist/src/yaml/steps/phase5.test.d.ts +0 -6
  441. package/dist/src/yaml/steps/phase5.test.d.ts.map +0 -1
  442. package/dist/src/yaml/steps/phase5.test.js +0 -263
  443. package/dist/src/yaml/steps/registry.d.ts +0 -88
  444. package/dist/src/yaml/steps/registry.d.ts.map +0 -1
  445. package/dist/src/yaml/steps/registry.js +0 -125
  446. package/dist/src/yaml/steps/registry.test.d.ts +0 -5
  447. package/dist/src/yaml/steps/registry.test.d.ts.map +0 -1
  448. package/dist/src/yaml/steps/registry.test.js +0 -235
  449. package/dist/src/yaml/steps/release.d.ts +0 -50
  450. package/dist/src/yaml/steps/release.d.ts.map +0 -1
  451. package/dist/src/yaml/steps/release.js +0 -154
  452. package/dist/src/yaml/steps/render-post-processor.d.ts +0 -100
  453. package/dist/src/yaml/steps/render-post-processor.d.ts.map +0 -1
  454. package/dist/src/yaml/steps/render-post-processor.js +0 -270
  455. package/dist/src/yaml/steps/render-post-processor.test.d.ts +0 -13
  456. package/dist/src/yaml/steps/render-post-processor.test.d.ts.map +0 -1
  457. package/dist/src/yaml/steps/render-post-processor.test.js +0 -220
  458. package/dist/src/yaml/steps/script.d.ts +0 -23
  459. package/dist/src/yaml/steps/script.d.ts.map +0 -1
  460. package/dist/src/yaml/steps/script.js +0 -63
  461. package/dist/src/yaml/steps/spec-validation.test.d.ts +0 -6
  462. package/dist/src/yaml/steps/spec-validation.test.d.ts.map +0 -1
  463. package/dist/src/yaml/steps/spec-validation.test.js +0 -130
  464. package/dist/src/yaml/steps/steps.test.d.ts +0 -6
  465. package/dist/src/yaml/steps/steps.test.d.ts.map +0 -1
  466. package/dist/src/yaml/steps/steps.test.js +0 -881
  467. package/dist/src/yaml/steps/structural-facts.d.ts +0 -992
  468. package/dist/src/yaml/steps/structural-facts.d.ts.map +0 -1
  469. package/dist/src/yaml/steps/structural-facts.js +0 -3276
  470. package/dist/src/yaml/steps/structural-facts.test.d.ts +0 -12
  471. package/dist/src/yaml/steps/structural-facts.test.d.ts.map +0 -1
  472. package/dist/src/yaml/steps/structural-facts.test.js +0 -3039
  473. package/dist/src/yaml/steps/test-config.d.ts +0 -5
  474. package/dist/src/yaml/steps/test-config.d.ts.map +0 -1
  475. package/dist/src/yaml/steps/test-config.js +0 -25
  476. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts +0 -28
  477. package/dist/src/yaml/steps/trim-align-corpus.test.d.ts.map +0 -1
  478. package/dist/src/yaml/steps/trim-align-corpus.test.js +0 -383
  479. package/dist/src/yaml/steps/trim-align.d.ts +0 -87
  480. package/dist/src/yaml/steps/trim-align.d.ts.map +0 -1
  481. package/dist/src/yaml/steps/trim-align.js +0 -367
  482. package/dist/src/yaml/steps/trim-align.test.d.ts +0 -11
  483. package/dist/src/yaml/steps/trim-align.test.d.ts.map +0 -1
  484. package/dist/src/yaml/steps/trim-align.test.js +0 -261
  485. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts +0 -66
  486. package/dist/src/yaml/steps/ui-fidelity-preview-android.d.ts.map +0 -1
  487. package/dist/src/yaml/steps/ui-fidelity-preview-android.js +0 -251
  488. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts +0 -13
  489. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.d.ts.map +0 -1
  490. package/dist/src/yaml/steps/ui-fidelity-preview-android.test.js +0 -302
  491. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts +0 -134
  492. package/dist/src/yaml/steps/ui-fidelity-preview.d.ts.map +0 -1
  493. package/dist/src/yaml/steps/ui-fidelity-preview.js +0 -173
  494. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts +0 -11
  495. package/dist/src/yaml/steps/ui-fidelity-preview.test.d.ts.map +0 -1
  496. package/dist/src/yaml/steps/ui-fidelity-preview.test.js +0 -210
  497. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts +0 -155
  498. package/dist/src/yaml/steps/ui-fidelity-render-android.d.ts.map +0 -1
  499. package/dist/src/yaml/steps/ui-fidelity-render-android.js +0 -1389
  500. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts +0 -2
  501. package/dist/src/yaml/steps/ui-fidelity-render-android.test.d.ts.map +0 -1
  502. package/dist/src/yaml/steps/ui-fidelity-render-android.test.js +0 -1106
  503. package/dist/src/yaml/steps/ui-fidelity-render.d.ts +0 -230
  504. package/dist/src/yaml/steps/ui-fidelity-render.d.ts.map +0 -1
  505. package/dist/src/yaml/steps/ui-fidelity-render.js +0 -1597
  506. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts +0 -18
  507. package/dist/src/yaml/steps/ui-fidelity-render.test.d.ts.map +0 -1
  508. package/dist/src/yaml/steps/ui-fidelity-render.test.js +0 -1871
  509. package/dist/src/yaml/steps/xcode-app-product.d.ts +0 -90
  510. package/dist/src/yaml/steps/xcode-app-product.d.ts.map +0 -1
  511. package/dist/src/yaml/steps/xcode-app-product.js +0 -247
  512. package/dist/src/yaml/steps/xcode-app-product.test.d.ts +0 -2
  513. package/dist/src/yaml/steps/xcode-app-product.test.d.ts.map +0 -1
  514. package/dist/src/yaml/steps/xcode-app-product.test.js +0 -202
  515. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts +0 -30
  516. package/dist/src/yaml/steps/xcode-derived-data.test.d.ts.map +0 -1
  517. package/dist/src/yaml/steps/xcode-derived-data.test.js +0 -253
  518. package/dist/src/yaml/steps/xcode-destination.d.ts +0 -47
  519. package/dist/src/yaml/steps/xcode-destination.d.ts.map +0 -1
  520. package/dist/src/yaml/steps/xcode-destination.js +0 -202
  521. package/dist/src/yaml/steps/xcode-destination.test.d.ts +0 -9
  522. package/dist/src/yaml/steps/xcode-destination.test.d.ts.map +0 -1
  523. package/dist/src/yaml/steps/xcode-destination.test.js +0 -227
  524. package/dist/src/yaml/steps/xcode-new.test.d.ts +0 -5
  525. package/dist/src/yaml/steps/xcode-new.test.d.ts.map +0 -1
  526. package/dist/src/yaml/steps/xcode-new.test.js +0 -211
  527. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts +0 -9
  528. package/dist/src/yaml/steps/xcode-resolve-retry.test.d.ts.map +0 -1
  529. package/dist/src/yaml/steps/xcode-resolve-retry.test.js +0 -146
  530. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts +0 -53
  531. package/dist/src/yaml/steps/xcode-simulator-archs.d.ts.map +0 -1
  532. package/dist/src/yaml/steps/xcode-simulator-archs.js +0 -98
  533. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts +0 -21
  534. package/dist/src/yaml/steps/xcode-simulator-archs.test.d.ts.map +0 -1
  535. package/dist/src/yaml/steps/xcode-simulator-archs.test.js +0 -155
  536. package/dist/src/yaml/steps/xcode.d.ts +0 -230
  537. package/dist/src/yaml/steps/xcode.d.ts.map +0 -1
  538. package/dist/src/yaml/steps/xcode.js +0 -1340
  539. package/dist/src/yaml/types.d.ts +0 -76
  540. package/dist/src/yaml/types.d.ts.map +0 -1
  541. package/dist/src/yaml/types.js +0 -5
  542. package/dist/src/yaml/validation-types.d.ts +0 -102
  543. package/dist/src/yaml/validation-types.d.ts.map +0 -1
  544. package/dist/src/yaml/validation-types.js +0 -8
  545. package/dist/src/yaml/yaml-updater.d.ts +0 -24
  546. package/dist/src/yaml/yaml-updater.d.ts.map +0 -1
  547. package/dist/src/yaml/yaml-updater.js +0 -128
@@ -1,260 +0,0 @@
1
- /**
2
- * Interactive prompts for missing environment variables
3
- * Allows users to fill in missing values or cancel the build
4
- */
5
- // Static — see the note in `steps/android.ts`. `pkg` cannot evaluate a
6
- // dynamic `import()` of a builtin.
7
- import { spawn } from 'node:child_process';
8
- import prompts from 'prompts';
9
- /**
10
- * Interactive prompt manager for collecting missing environment variables
11
- */
12
- export class InteractivePrompts {
13
- secretsManager;
14
- workflow;
15
- constructor(secretsManager, workflow) {
16
- this.secretsManager = secretsManager;
17
- this.workflow = workflow;
18
- }
19
- /**
20
- * Prompt user for a missing environment variable
21
- * @param varName Variable name
22
- * @param stepName Optional step name that requires this variable
23
- * @param hint Optional hint describing what the variable is for and expected format
24
- * @returns Promise with the entered value or cancellation
25
- */
26
- async promptForVariable(varName, stepName, hint) {
27
- console.log('\n╔═══════════════════════════════════════════════════════════════════╗');
28
- console.log('║ MISSING REQUIRED ENVIRONMENT VARIABLE ║');
29
- console.log('╚═══════════════════════════════════════════════════════════════════╝\n');
30
- console.log(`Variable: ${varName}`);
31
- if (stepName) {
32
- console.log(`Required by: ${stepName} step`);
33
- }
34
- // Display hint if provided
35
- if (hint) {
36
- console.log('');
37
- console.log('💡 Hint:');
38
- // Process hint lines - preserve formatting, only wrap plain text
39
- const hintLines = this.processHintText(hint, 67);
40
- hintLines.forEach(line => console.log(line));
41
- }
42
- console.log('');
43
- // Check if this variable is already in secrets (workflow-scoped first, then global)
44
- const existingSecretId = this.secretsManager.getSecretIdByName(varName, this.workflow);
45
- if (existingSecretId) {
46
- const secretName = this.secretsManager.getSecretName(existingSecretId);
47
- const workflowInfo = this.workflow ? ` (workflow: ${this.workflow})` : ' (global)';
48
- console.log(`\nℹ️ This variable already exists in your secrets file${workflowInfo}.`);
49
- const useExisting = await this.promptYesNo('Use existing value?');
50
- if (useExisting) {
51
- const value = this.secretsManager.getSecret(existingSecretId);
52
- if (value) {
53
- return { value, cancelled: false };
54
- }
55
- }
56
- }
57
- console.log('');
58
- // Show interactive menu
59
- const menuResponse = await prompts({
60
- type: 'select',
61
- name: 'action',
62
- message: 'What would you like to do?',
63
- choices: [
64
- { title: 'Enter value now (will be saved to secrets file)', value: 'enter' },
65
- { title: 'Copy prompt for AI (get guidance from AI assistant)', value: 'ai' },
66
- { title: 'Cancel build', value: 'cancel' }
67
- ],
68
- initial: 0,
69
- });
70
- if (!menuResponse.action || menuResponse.action === 'cancel') {
71
- return { value: '', cancelled: true };
72
- }
73
- if (menuResponse.action === 'ai') {
74
- // Copy AI prompt to clipboard
75
- if (hint) {
76
- const aiPrompt = this.generateAIPrompt(hint);
77
- await this.copyToClipboard(aiPrompt);
78
- console.log('\n✅ AI prompt copied to clipboard!');
79
- console.log('📋 Paste it into your AI assistant to get guidance.\n');
80
- }
81
- else {
82
- console.log('\n⚠️ No hint available for this variable.\n');
83
- }
84
- return { value: '', cancelled: true, copiedToAI: true };
85
- }
86
- // Prompt for value
87
- const isSensitive = this.isSensitiveVariable(varName);
88
- console.log('');
89
- if (isSensitive) {
90
- console.log('⚠️ This appears to be a sensitive value (input will be hidden)\n');
91
- }
92
- const valueResponse = await prompts({
93
- type: isSensitive ? 'password' : 'text',
94
- name: 'value',
95
- message: `Enter value for ${varName}:`,
96
- validate: value => value.trim() === '' ? 'Value cannot be empty' : true
97
- });
98
- if (!valueResponse.value || valueResponse.value.trim() === '') {
99
- console.log('❌ Error: Value cannot be empty');
100
- return { value: '', cancelled: true };
101
- }
102
- return { value: valueResponse.value, cancelled: false };
103
- }
104
- /**
105
- * Determine if a variable name suggests it's sensitive
106
- * @param varName Variable name
107
- * @returns True if variable appears to be sensitive
108
- */
109
- isSensitiveVariable(varName) {
110
- const sensitivePatterns = [
111
- /KEY/i,
112
- /SECRET/i,
113
- /PASSWORD/i,
114
- /TOKEN/i,
115
- /API/i,
116
- /WEBHOOK/i,
117
- /PRIVATE/i,
118
- /CREDENTIAL/i,
119
- ];
120
- return sensitivePatterns.some((pattern) => pattern.test(varName));
121
- }
122
- /**
123
- * Prompt for yes/no confirmation
124
- * @param message Prompt message
125
- * @returns Promise with true for yes, false for no
126
- */
127
- async promptYesNo(message) {
128
- const response = await prompts({
129
- type: 'confirm',
130
- name: 'value',
131
- message,
132
- initial: true,
133
- });
134
- return response.value ?? false;
135
- }
136
- /**
137
- * Process hint text to preserve formatting while wrapping plain text
138
- * @param hint Hint text (may contain newlines and formatted sections)
139
- * @param maxWidth Maximum width for wrapping plain text lines
140
- * @returns Array of processed lines ready for display
141
- */
142
- processHintText(hint, maxWidth) {
143
- const lines = hint.split('\n');
144
- const result = [];
145
- for (const line of lines) {
146
- // Check if this line is formatted (contains box chars, bullets, or is indented)
147
- const isFormatted = line.includes('┌') || line.includes('┐') ||
148
- line.includes('└') || line.includes('┘') ||
149
- line.includes('│') || line.includes('─') ||
150
- line.trimStart().startsWith('•') ||
151
- (line.startsWith(' ') && line.trim().length > 0);
152
- if (isFormatted || line.trim() === '') {
153
- // Preserve formatted lines and empty lines as-is with indent
154
- result.push(` ${line}`);
155
- }
156
- else {
157
- // Wrap plain text lines
158
- const wrapped = this.wrapText(line, maxWidth);
159
- wrapped.forEach(wrappedLine => result.push(` ${wrappedLine}`));
160
- }
161
- }
162
- return result;
163
- }
164
- /**
165
- * Wrap text to fit within a specified width
166
- * @param text Text to wrap
167
- * @param maxWidth Maximum width per line
168
- * @returns Array of wrapped lines
169
- */
170
- wrapText(text, maxWidth) {
171
- const words = text.split(' ');
172
- const lines = [];
173
- let currentLine = '';
174
- for (const word of words) {
175
- const testLine = currentLine ? `${currentLine} ${word}` : word;
176
- if (testLine.length <= maxWidth) {
177
- currentLine = testLine;
178
- }
179
- else {
180
- if (currentLine) {
181
- lines.push(currentLine);
182
- }
183
- currentLine = word;
184
- }
185
- }
186
- if (currentLine) {
187
- lines.push(currentLine);
188
- }
189
- return lines.length > 0 ? lines : [''];
190
- }
191
- /**
192
- * Generate AI prompt with hint for getting guidance
193
- * @param hint Hint text from the step
194
- * @returns Formatted AI prompt
195
- */
196
- generateAIPrompt(hint) {
197
- return `This is a mobile CI/CD build step. Provide a brief, senior-level explanation of its purpose and when it is used. Do not execute anything.
198
-
199
- ${hint}
200
-
201
- Instructions for the assistant:
202
- - Give a short purpose summary (what it enables in CI/CD).
203
- - List only the required setup/usage steps.
204
- - Include example commands if relevant (e.g., how to generate, retrieve, or configure the value).
205
- - Include key security handling notes (storage, scope, rotation).
206
- - Skip beginner explanations and background theory.
207
- - Do not request or expose real secret values.
208
- - Do not simulate execution.
209
- - Ask only the minimum clarification questions required to avoid provider-specific mistakes. If setup differs by CI system, Git provider, signing provider, artifact host, or mobile platform — ask first; otherwise answer directly.
210
-
211
- Finish with a short "Follow-up questions" numbered list only if clarification would change the setup guidance.`;
212
- }
213
- /**
214
- * Copy text to system clipboard
215
- * @param text Text to copy
216
- */
217
- async copyToClipboard(text) {
218
- return new Promise((resolve, reject) => {
219
- // Detect platform and use appropriate clipboard command
220
- const platform = process.platform;
221
- let clipboardProcess;
222
- if (platform === 'darwin') {
223
- // macOS
224
- clipboardProcess = spawn('pbcopy');
225
- }
226
- else if (platform === 'linux') {
227
- // Linux - try xclip first, then xsel
228
- clipboardProcess = spawn('xclip', ['-selection', 'clipboard']);
229
- }
230
- else if (platform === 'win32') {
231
- // Windows
232
- clipboardProcess = spawn('clip');
233
- }
234
- else {
235
- reject(new Error(`Clipboard not supported on platform: ${platform}`));
236
- return;
237
- }
238
- clipboardProcess.stdin.write(text);
239
- clipboardProcess.stdin.end();
240
- clipboardProcess.on('close', (code) => {
241
- if (code === 0) {
242
- resolve();
243
- }
244
- else {
245
- reject(new Error(`Clipboard command failed with code ${code}`));
246
- }
247
- });
248
- clipboardProcess.on('error', (error) => {
249
- reject(error);
250
- });
251
- });
252
- }
253
- /**
254
- * Close the prompts interface (no-op with prompts library)
255
- */
256
- close() {
257
- // No cleanup needed with prompts library
258
- }
259
- }
260
- //# sourceMappingURL=interactive-prompts.js.map
@@ -1,28 +0,0 @@
1
- /**
2
- * Helpers for reading the Invarn-owned metadata block from a parsed YAML pipeline.
3
- *
4
- * Invarn-owned configuration historically lived under `meta.cibuild.io` and is
5
- * being migrated to `meta.invarn`. Both keys share the same shape (YAMLCIBuildMeta).
6
- * Readers should always go through `getInvarnMeta()` so that:
7
- *
8
- * 1. New YAMLs that emit `meta.invarn` are read directly.
9
- * 2. Legacy YAMLs that still carry `meta.cibuild.io` continue to work.
10
- * 3. When both blocks are present, `meta.invarn` wins as a whole — the legacy
11
- * block is treated as stale and ignored field-by-field, matching the
12
- * migration plan in `.scratch/cibuild-io-namespace-rename/PRD.md`.
13
- *
14
- * Removing the `meta.cibuild.io` fallback is the last step of that migration; it
15
- * happens in a single place once usage of the legacy namespace drops to zero.
16
- */
17
- import type { YAMLCIBuildMeta, YAMLPipeline } from './types.js';
18
- export declare function getInvarnMeta(pipeline: YAMLPipeline): YAMLCIBuildMeta | undefined;
19
- /**
20
- * Whether the pipeline *declares* an app that spans both mobile platforms.
21
- *
22
- * Read only from the explicit declaration, never inferred from the steps.
23
- * Inference would defeat the point: a workflow that mixes platforms by mistake
24
- * is exactly what the gate exists to catch, and it looks identical to one that
25
- * does so on purpose.
26
- */
27
- export declare function declaresMultiplatformApp(pipeline: YAMLPipeline): boolean;
28
- //# sourceMappingURL=meta-helpers.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"meta-helpers.d.ts","sourceRoot":"","sources":["../../../src/yaml/meta-helpers.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,OAAO,KAAK,EAAE,eAAe,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAEhE,wBAAgB,aAAa,CAAC,QAAQ,EAAE,YAAY,GAAG,eAAe,GAAG,SAAS,CAEjF;AAiBD;;;;;;;GAOG;AACH,wBAAgB,wBAAwB,CAAC,QAAQ,EAAE,YAAY,GAAG,OAAO,CAGxE"}
@@ -1,46 +0,0 @@
1
- /**
2
- * Helpers for reading the Invarn-owned metadata block from a parsed YAML pipeline.
3
- *
4
- * Invarn-owned configuration historically lived under `meta.cibuild.io` and is
5
- * being migrated to `meta.invarn`. Both keys share the same shape (YAMLCIBuildMeta).
6
- * Readers should always go through `getInvarnMeta()` so that:
7
- *
8
- * 1. New YAMLs that emit `meta.invarn` are read directly.
9
- * 2. Legacy YAMLs that still carry `meta.cibuild.io` continue to work.
10
- * 3. When both blocks are present, `meta.invarn` wins as a whole — the legacy
11
- * block is treated as stale and ignored field-by-field, matching the
12
- * migration plan in `.scratch/cibuild-io-namespace-rename/PRD.md`.
13
- *
14
- * Removing the `meta.cibuild.io` fallback is the last step of that migration; it
15
- * happens in a single place once usage of the legacy namespace drops to zero.
16
- */
17
- export function getInvarnMeta(pipeline) {
18
- return pipeline.meta?.invarn ?? pipeline.meta?.['cibuild.io'];
19
- }
20
- /**
21
- * App types whose build is inherently both platforms in a single pass, and so
22
- * whose one workflow legitimately holds both android and ios steps.
23
- *
24
- * A Kotlin Multiplatform build is the case that forced this: gradle assembles
25
- * the XCFramework that `xcodebuild` then consumes, in that order, on one
26
- * machine. It cannot be split — a workflow is one dispatch and two workflows
27
- * share no filesystem, so the artifact would never reach the second half.
28
- *
29
- * `ios` and `android` are single-platform by definition. `other` means the app
30
- * type was never classified, and an unclassified app has not declared anything
31
- * — silence is not permission.
32
- */
33
- const MULTIPLATFORM_APP_TYPES = new Set(['kmm']);
34
- /**
35
- * Whether the pipeline *declares* an app that spans both mobile platforms.
36
- *
37
- * Read only from the explicit declaration, never inferred from the steps.
38
- * Inference would defeat the point: a workflow that mixes platforms by mistake
39
- * is exactly what the gate exists to catch, and it looks identical to one that
40
- * does so on purpose.
41
- */
42
- export function declaresMultiplatformApp(pipeline) {
43
- const platform = getInvarnMeta(pipeline)?.platform;
44
- return platform !== undefined && MULTIPLATFORM_APP_TYPES.has(platform);
45
- }
46
- //# sourceMappingURL=meta-helpers.js.map
@@ -1,45 +0,0 @@
1
- /**
2
- * Handler for missing environment variables with interactive prompts
3
- */
4
- import { SecretsManager } from './secrets-manager.js';
5
- import { MissingEnvironmentVariableError } from './env-resolver.js';
6
- /**
7
- * Options for MissingEnvHandler
8
- */
9
- export interface MissingEnvHandlerOptions {
10
- interactive: boolean;
11
- workflow?: string;
12
- secretsManager?: SecretsManager;
13
- }
14
- /**
15
- * Result of handling a missing environment variable
16
- */
17
- export interface HandleResult {
18
- value?: string;
19
- cancelled: boolean;
20
- }
21
- /**
22
- * Handler for missing environment variables
23
- * Stores values in the universal secrets file — no YAML modification
24
- */
25
- export declare class MissingEnvHandler {
26
- private secretsManager;
27
- private prompts;
28
- private interactive;
29
- private workflow?;
30
- constructor(options: MissingEnvHandlerOptions);
31
- /**
32
- * Handle a missing environment variable error
33
- * Prompts user for value and saves to the universal secrets file
34
- */
35
- handleMissingVariable(error: MissingEnvironmentVariableError): Promise<HandleResult>;
36
- /**
37
- * Close the prompts interface
38
- */
39
- close(): void;
40
- /**
41
- * Get the secrets manager instance
42
- */
43
- getSecretsManager(): SecretsManager;
44
- }
45
- //# sourceMappingURL=missing-env-handler.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"missing-env-handler.d.ts","sourceRoot":"","sources":["../../../src/yaml/missing-env-handler.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,OAAO,EAAE,+BAA+B,EAAE,MAAM,mBAAmB,CAAC;AAEpE;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACvC,WAAW,EAAE,OAAO,CAAC;IACrB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,cAAc,CAAC,EAAE,cAAc,CAAC;CACjC;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,OAAO,CAAC;CACpB;AAED;;;GAGG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,OAAO,CAAqB;IACpC,OAAO,CAAC,WAAW,CAAU;IAC7B,OAAO,CAAC,QAAQ,CAAC,CAAS;gBAEd,OAAO,EAAE,wBAAwB;IAO7C;;;OAGG;IACG,qBAAqB,CAAC,KAAK,EAAE,+BAA+B,GAAG,OAAO,CAAC,YAAY,CAAC;IAgC1F;;OAEG;IACH,KAAK,IAAI,IAAI;IAIb;;OAEG;IACH,iBAAiB,IAAI,cAAc;CAGpC"}
@@ -1,64 +0,0 @@
1
- /**
2
- * Handler for missing environment variables with interactive prompts
3
- */
4
- import { SecretsManager } from './secrets-manager.js';
5
- import { InteractivePrompts } from './interactive-prompts.js';
6
- /**
7
- * Handler for missing environment variables
8
- * Stores values in the universal secrets file — no YAML modification
9
- */
10
- export class MissingEnvHandler {
11
- secretsManager;
12
- prompts;
13
- interactive;
14
- workflow;
15
- constructor(options) {
16
- this.secretsManager = options.secretsManager || new SecretsManager();
17
- this.workflow = options.workflow;
18
- this.prompts = new InteractivePrompts(this.secretsManager, this.workflow);
19
- this.interactive = options.interactive;
20
- }
21
- /**
22
- * Handle a missing environment variable error
23
- * Prompts user for value and saves to the universal secrets file
24
- */
25
- async handleMissingVariable(error) {
26
- const { variableName, stepName, hint } = error;
27
- if (!this.interactive) {
28
- return { cancelled: true };
29
- }
30
- const promptResult = await this.prompts.promptForVariable(variableName, stepName, hint);
31
- if (promptResult.cancelled) {
32
- if (promptResult.copiedToAI) {
33
- console.log('💡 After getting guidance from AI, run the pipeline again to enter the value.');
34
- }
35
- else {
36
- console.log('\n❌ Build cancelled by user');
37
- }
38
- return { cancelled: true };
39
- }
40
- // Store in secrets file (workflow-scoped if workflow is set) and inject into current process env
41
- this.secretsManager.storeSecret(variableName, promptResult.value, this.workflow);
42
- process.env[variableName] = promptResult.value;
43
- console.log(`\n✅ Secret stored: ${variableName}`);
44
- if (this.workflow) {
45
- console.log(` Workflow: ${this.workflow}`);
46
- }
47
- console.log(` Location: ${this.secretsManager.getSecretsFilePath()}`);
48
- console.log(`\n💡 Next time you run this pipeline, the value will be loaded automatically.\n`);
49
- return { value: promptResult.value, cancelled: false };
50
- }
51
- /**
52
- * Close the prompts interface
53
- */
54
- close() {
55
- this.prompts.close();
56
- }
57
- /**
58
- * Get the secrets manager instance
59
- */
60
- getSecretsManager() {
61
- return this.secretsManager;
62
- }
63
- }
64
- //# sourceMappingURL=missing-env-handler.js.map
@@ -1,33 +0,0 @@
1
- /**
2
- * YAML pipeline parser - loads and validates YAML pipeline files
3
- */
4
- import type { YAMLPipeline } from './types.js';
5
- export declare class YAMLParseError extends Error {
6
- readonly filePath?: string | undefined;
7
- constructor(message: string, filePath?: string | undefined);
8
- }
9
- export declare class YAMLValidationError extends Error {
10
- constructor(message: string);
11
- }
12
- /**
13
- * Loads and parses a YAML pipeline file
14
- * @param filePath Path to the YAML file
15
- * @returns Parsed YAML pipeline object
16
- * @throws YAMLParseError if file doesn't exist or YAML syntax is invalid
17
- * @throws YAMLValidationError if YAML structure is invalid
18
- */
19
- export declare function loadYAMLPipeline(filePath: string): YAMLPipeline;
20
- /**
21
- * Gets the list of workflow names from a YAML pipeline
22
- * @param pipeline Parsed YAML pipeline
23
- * @returns Array of workflow names
24
- */
25
- export declare function getWorkflowNames(pipeline: YAMLPipeline): string[];
26
- /**
27
- * Checks if a specific workflow exists in the pipeline
28
- * @param pipeline Parsed YAML pipeline
29
- * @param workflowName Name of the workflow to check
30
- * @returns True if workflow exists
31
- */
32
- export declare function hasWorkflow(pipeline: YAMLPipeline, workflowName: string): boolean;
33
- //# sourceMappingURL=parser.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.d.ts","sourceRoot":"","sources":["../../../src/yaml/parser.ts"],"names":[],"mappings":"AAAA;;GAEG;AAKH,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAC;AAG/C,qBAAa,cAAe,SAAQ,KAAK;aACM,QAAQ,CAAC,EAAE,MAAM;gBAAlD,OAAO,EAAE,MAAM,EAAkB,QAAQ,CAAC,EAAE,MAAM,YAAA;CAI/D;AAED,qBAAa,mBAAoB,SAAQ,KAAK;gBAChC,OAAO,EAAE,MAAM;CAI5B;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,MAAM,GAAG,YAAY,CA0C/D;AAkHD;;;;GAIG;AACH,wBAAgB,gBAAgB,CAAC,QAAQ,EAAE,YAAY,GAAG,MAAM,EAAE,CAEjE;AAED;;;;;GAKG;AACH,wBAAgB,WAAW,CAAC,QAAQ,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,GAAG,OAAO,CAEjF"}
@@ -1,148 +0,0 @@
1
- /**
2
- * YAML pipeline parser - loads and validates YAML pipeline files
3
- */
4
- import * as yaml from 'js-yaml';
5
- import { readFileSync, existsSync } from 'fs';
6
- import { resolve } from 'path';
7
- import { convertBitriseMetadata } from './bitrise-compat.js';
8
- export class YAMLParseError extends Error {
9
- filePath;
10
- constructor(message, filePath) {
11
- super(message);
12
- this.filePath = filePath;
13
- this.name = 'YAMLParseError';
14
- }
15
- }
16
- export class YAMLValidationError extends Error {
17
- constructor(message) {
18
- super(message);
19
- this.name = 'YAMLValidationError';
20
- }
21
- }
22
- /**
23
- * Loads and parses a YAML pipeline file
24
- * @param filePath Path to the YAML file
25
- * @returns Parsed YAML pipeline object
26
- * @throws YAMLParseError if file doesn't exist or YAML syntax is invalid
27
- * @throws YAMLValidationError if YAML structure is invalid
28
- */
29
- export function loadYAMLPipeline(filePath) {
30
- const absolutePath = resolve(filePath);
31
- // Check if file exists
32
- if (!existsSync(absolutePath)) {
33
- throw new YAMLParseError(`YAML pipeline file not found: ${filePath}`, absolutePath);
34
- }
35
- let fileContent;
36
- try {
37
- fileContent = readFileSync(absolutePath, 'utf-8');
38
- }
39
- catch (err) {
40
- throw new YAMLParseError(`Failed to read YAML file: ${filePath}\n${err.message}`, absolutePath);
41
- }
42
- // Parse YAML
43
- let parsed;
44
- try {
45
- parsed = yaml.load(fileContent);
46
- }
47
- catch (err) {
48
- const yamlError = err;
49
- throw new YAMLParseError(`Failed to parse YAML file: ${filePath}\n${yamlError.name}: ${yamlError.message}`, absolutePath);
50
- }
51
- // Validate structure
52
- validateYAMLPipeline(parsed, filePath);
53
- const pipeline = parsed;
54
- // Convert Bitrise metadata to CI Build format (FR-1.1, FR-1.2)
55
- convertBitriseMetadata(pipeline);
56
- return pipeline;
57
- }
58
- /**
59
- * Validates the basic structure of a parsed YAML pipeline
60
- * @param parsed Parsed YAML object
61
- * @param filePath File path for error messages
62
- * @throws YAMLValidationError if validation fails
63
- */
64
- function validateYAMLPipeline(parsed, filePath) {
65
- if (!parsed || typeof parsed !== 'object') {
66
- throw new YAMLValidationError(`Invalid YAML structure in ${filePath}: Expected an object at root level`);
67
- }
68
- // Check required fields
69
- if (!parsed.format_version) {
70
- throw new YAMLValidationError(`Missing required field 'format_version' in ${filePath}`);
71
- }
72
- if (!parsed.workflows || typeof parsed.workflows !== 'object') {
73
- throw new YAMLValidationError(`Missing or invalid 'workflows' section in ${filePath}`);
74
- }
75
- // Check that workflows is not empty
76
- const workflowNames = Object.keys(parsed.workflows);
77
- if (workflowNames.length === 0) {
78
- throw new YAMLValidationError(`No workflows defined in ${filePath}. At least one workflow is required.`);
79
- }
80
- // Validate each workflow has required fields
81
- for (const workflowName of workflowNames) {
82
- const workflow = parsed.workflows[workflowName];
83
- if (!workflow || typeof workflow !== 'object') {
84
- throw new YAMLValidationError(`Invalid workflow '${workflowName}' in ${filePath}: Expected an object`);
85
- }
86
- if (!Array.isArray(workflow.steps)) {
87
- throw new YAMLValidationError(`Missing or invalid 'steps' array in workflow '${workflowName}' in ${filePath}`);
88
- }
89
- if (workflow.steps.length === 0) {
90
- throw new YAMLValidationError(`Workflow '${workflowName}' in ${filePath} has no steps defined`);
91
- }
92
- }
93
- // Validate meta section if present
94
- if (parsed.meta) {
95
- if (typeof parsed.meta !== 'object') {
96
- throw new YAMLValidationError(`Invalid 'meta' section in ${filePath}: Expected an object`);
97
- }
98
- // Validate platform if specified
99
- if (parsed.meta.platform) {
100
- const validPlatforms = ['macos', 'linux'];
101
- if (!validPlatforms.includes(parsed.meta.platform)) {
102
- throw new YAMLValidationError(`Invalid platform '${parsed.meta.platform}' in ${filePath}. Must be one of: ${validPlatforms.join(', ')}`);
103
- }
104
- }
105
- // Validate the Invarn-owned metadata block under either namespace.
106
- // Both `meta.invarn` (preferred) and `meta.cibuild.io` (legacy) share the same shape.
107
- validateInvarnMetaBlock(parsed.meta.invarn, 'meta.invarn', filePath);
108
- validateInvarnMetaBlock(parsed.meta['cibuild.io'], 'meta.cibuild.io', filePath);
109
- }
110
- }
111
- function validateInvarnMetaBlock(block, blockName, filePath) {
112
- if (block === undefined || block === null) {
113
- return;
114
- }
115
- if (typeof block !== 'object') {
116
- throw new YAMLValidationError(`Invalid '${blockName}' section in ${filePath}: Expected an object`);
117
- }
118
- if (block.stack && typeof block.stack === 'string') {
119
- const stackPattern = /^(macos|linux)-/;
120
- if (block.stack !== 'local' && !stackPattern.test(block.stack)) {
121
- throw new YAMLValidationError(`Invalid stack '${block.stack}' in ${filePath}. Stack must be 'local' or start with 'macos-' or 'linux-'`);
122
- }
123
- }
124
- if (block.machine_type) {
125
- const validMachineTypes = ['standard', 'performance'];
126
- if (!validMachineTypes.includes(block.machine_type)) {
127
- throw new YAMLValidationError(`Invalid machine_type '${block.machine_type}' in ${filePath}. Must be one of: ${validMachineTypes.join(', ')}`);
128
- }
129
- }
130
- }
131
- /**
132
- * Gets the list of workflow names from a YAML pipeline
133
- * @param pipeline Parsed YAML pipeline
134
- * @returns Array of workflow names
135
- */
136
- export function getWorkflowNames(pipeline) {
137
- return Object.keys(pipeline.workflows);
138
- }
139
- /**
140
- * Checks if a specific workflow exists in the pipeline
141
- * @param pipeline Parsed YAML pipeline
142
- * @param workflowName Name of the workflow to check
143
- * @returns True if workflow exists
144
- */
145
- export function hasWorkflow(pipeline, workflowName) {
146
- return workflowName in pipeline.workflows;
147
- }
148
- //# sourceMappingURL=parser.js.map
@@ -1,5 +0,0 @@
1
- /**
2
- * Unit tests for parser validation of the meta.invarn / meta.cibuild.io blocks.
3
- */
4
- export {};
5
- //# sourceMappingURL=parser.test.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"parser.test.d.ts","sourceRoot":"","sources":["../../../src/yaml/parser.test.ts"],"names":[],"mappings":"AAAA;;GAEG"}