@mtndev/cli 1.1.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (260) hide show
  1. package/CHANGELOG.md +91 -0
  2. package/cjs/__chunks/VH7oDXx4.cjs +28 -0
  3. package/cjs/commands/aws/ec2/allow-ip/handler.cjs +261 -0
  4. package/cjs/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
  5. package/cjs/commands/aws/ec2/allow-ip/index.cjs +25 -0
  6. package/cjs/commands/aws/ec2/allow-ip/index.d.ts +3 -0
  7. package/cjs/commands/aws/ec2/allow-ip/schema.cjs +33 -0
  8. package/cjs/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
  9. package/cjs/commands/aws/ec2/allow-ip/utils.cjs +379 -0
  10. package/cjs/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
  11. package/cjs/commands/aws/iam/admin-group.cjs +111 -0
  12. package/cjs/commands/aws/iam/admin-group.d.ts +55 -0
  13. package/cjs/commands/aws/iam/break-glass/handler.cjs +127 -0
  14. package/cjs/commands/aws/iam/break-glass/handler.d.ts +7 -0
  15. package/cjs/commands/aws/iam/break-glass/index.cjs +7 -0
  16. package/cjs/commands/aws/iam/break-glass/index.d.ts +2 -0
  17. package/cjs/commands/aws/iam/break-glass/schema.cjs +21 -0
  18. package/cjs/commands/aws/iam/break-glass/schema.d.ts +25 -0
  19. package/cjs/commands/aws/iam/check-admin/handler.cjs +89 -0
  20. package/cjs/commands/aws/iam/check-admin/handler.d.ts +5 -0
  21. package/cjs/commands/aws/iam/check-admin/index.cjs +7 -0
  22. package/cjs/commands/aws/iam/check-admin/index.d.ts +2 -0
  23. package/cjs/commands/aws/iam/check-admin/schema.cjs +19 -0
  24. package/cjs/commands/aws/iam/check-admin/schema.d.ts +19 -0
  25. package/cjs/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.json +20 -0
  26. package/cjs/commands/aws/iam/policies/sts-federation.json +11 -0
  27. package/cjs/commands/aws/iam/policies/user-admins-deny-list.json +175 -0
  28. package/cjs/commands/aws/iam/policies/user-admins-deny-regions-list.json +41 -0
  29. package/cjs/commands/aws/iam/policies/user-admins-self-service-iam.json +56 -0
  30. package/cjs/commands/aws/iam/policies/user-admins-write-list.json +117 -0
  31. package/cjs/commands/aws/iam/remove-admin/handler.cjs +120 -0
  32. package/cjs/commands/aws/iam/remove-admin/handler.d.ts +6 -0
  33. package/cjs/commands/aws/iam/remove-admin/index.cjs +7 -0
  34. package/cjs/commands/aws/iam/remove-admin/index.d.ts +2 -0
  35. package/cjs/commands/aws/iam/remove-admin/schema.cjs +22 -0
  36. package/cjs/commands/aws/iam/remove-admin/schema.d.ts +28 -0
  37. package/cjs/commands/aws/iam/setup-acl/handler.cjs +227 -0
  38. package/cjs/commands/aws/iam/setup-acl/handler.d.ts +6 -0
  39. package/cjs/commands/aws/iam/setup-acl/index.cjs +13 -0
  40. package/cjs/commands/aws/iam/setup-acl/index.d.ts +3 -0
  41. package/cjs/commands/aws/iam/setup-acl/schema.cjs +19 -0
  42. package/cjs/commands/aws/iam/setup-acl/schema.d.ts +24 -0
  43. package/cjs/commands/aws/iam/setup-acl/utils.cjs +305 -0
  44. package/cjs/commands/aws/iam/setup-acl/utils.d.ts +61 -0
  45. package/cjs/commands/aws/iam/users/handler.cjs +59 -0
  46. package/cjs/commands/aws/iam/users/handler.d.ts +5 -0
  47. package/cjs/commands/aws/iam/users/index.cjs +18 -0
  48. package/cjs/commands/aws/iam/users/index.d.ts +3 -0
  49. package/cjs/commands/aws/iam/users/schema.cjs +17 -0
  50. package/cjs/commands/aws/iam/users/schema.d.ts +18 -0
  51. package/cjs/commands/aws/iam/users/utils.cjs +454 -0
  52. package/cjs/commands/aws/iam/users/utils.d.ts +119 -0
  53. package/cjs/commands/aws/index.cjs +223 -0
  54. package/cjs/commands/aws/index.d.ts +14 -0
  55. package/cjs/commands/aws/route53/add-record/handler.cjs +264 -0
  56. package/cjs/commands/aws/route53/add-record/handler.d.ts +36 -0
  57. package/cjs/commands/aws/route53/add-record/index.cjs +26 -0
  58. package/cjs/commands/aws/route53/add-record/index.d.ts +3 -0
  59. package/cjs/commands/aws/route53/add-record/schema.cjs +43 -0
  60. package/cjs/commands/aws/route53/add-record/schema.d.ts +45 -0
  61. package/cjs/commands/aws/route53/add-record/utils.cjs +404 -0
  62. package/cjs/commands/aws/route53/add-record/utils.d.ts +216 -0
  63. package/cjs/commands/aws/route53/remove-record/handler.cjs +114 -0
  64. package/cjs/commands/aws/route53/remove-record/handler.d.ts +6 -0
  65. package/cjs/commands/aws/route53/remove-record/index.cjs +5 -0
  66. package/cjs/commands/aws/route53/remove-record/index.d.ts +2 -0
  67. package/cjs/commands/aws/route53/remove-record/schema.cjs +22 -0
  68. package/cjs/commands/aws/route53/remove-record/schema.d.ts +30 -0
  69. package/cjs/commands/aws/schema.cjs +19 -0
  70. package/cjs/commands/aws/schema.d.ts +13 -0
  71. package/cjs/commands/aws/ses/send-email/handler.cjs +73 -0
  72. package/cjs/commands/aws/ses/send-email/handler.d.ts +5 -0
  73. package/cjs/commands/aws/ses/send-email/index.cjs +9 -0
  74. package/cjs/commands/aws/ses/send-email/index.d.ts +3 -0
  75. package/cjs/commands/aws/ses/send-email/schema.cjs +24 -0
  76. package/cjs/commands/aws/ses/send-email/schema.d.ts +39 -0
  77. package/cjs/commands/aws/ses/send-email/utils.cjs +87 -0
  78. package/cjs/commands/aws/ses/send-email/utils.d.ts +47 -0
  79. package/cjs/commands/aws/ses/smtp-password.cjs +72 -0
  80. package/cjs/commands/aws/ses/smtp-password.d.ts +21 -0
  81. package/cjs/commands/aws/utils/exec-aws.cjs +145 -0
  82. package/cjs/commands/aws/utils/exec-aws.d.ts +79 -0
  83. package/cjs/commands/aws/utils/resolve-policy-path.cjs +15 -0
  84. package/cjs/commands/aws/utils/resolve-policy-path.d.ts +8 -0
  85. package/cjs/commands/aws/utils/resolve-profile.cjs +93 -0
  86. package/cjs/commands/aws/utils/resolve-profile.d.ts +28 -0
  87. package/cjs/commands/aws/utils/tty.cjs +54 -0
  88. package/cjs/commands/aws/utils/tty.d.ts +24 -0
  89. package/cjs/commands/db/create-readonly-user/handler.cjs +254 -0
  90. package/cjs/commands/db/create-readonly-user/handler.d.ts +5 -0
  91. package/cjs/commands/db/create-readonly-user/index.cjs +18 -0
  92. package/cjs/commands/db/create-readonly-user/index.d.ts +3 -0
  93. package/cjs/commands/db/create-readonly-user/mysql.cjs +102 -0
  94. package/cjs/commands/db/create-readonly-user/mysql.d.ts +33 -0
  95. package/cjs/commands/db/create-readonly-user/postgres.cjs +209 -0
  96. package/cjs/commands/db/create-readonly-user/postgres.d.ts +31 -0
  97. package/cjs/commands/db/create-readonly-user/schema.cjs +39 -0
  98. package/cjs/commands/db/create-readonly-user/schema.d.ts +55 -0
  99. package/cjs/commands/db/create-readonly-user/utils.cjs +160 -0
  100. package/cjs/commands/db/create-readonly-user/utils.d.ts +112 -0
  101. package/cjs/commands/db/index.cjs +46 -0
  102. package/cjs/commands/db/index.d.ts +6 -0
  103. package/cjs/commands/doppler/handler.cjs +95 -9
  104. package/cjs/commands/doppler/index.cjs +33 -41
  105. package/cjs/commands/doppler/index.d.ts +1 -0
  106. package/cjs/commands/doppler/schema.cjs +130 -6
  107. package/cjs/commands/doppler/schema.d.ts +233 -17
  108. package/cjs/commands/doppler/set-secret.cjs +378 -0
  109. package/cjs/commands/doppler/set-secret.d.ts +113 -0
  110. package/cjs/commands/doppler/utils/exec.cjs +106 -12
  111. package/cjs/commands/doppler/utils.cjs +412 -30
  112. package/cjs/commands/doppler/utils.d.ts +32 -8
  113. package/cjs/commands/icons/handler.cjs +82 -8
  114. package/cjs/commands/icons/index.cjs +15 -31
  115. package/cjs/commands/icons/schema.cjs +101 -13
  116. package/cjs/commands/icons/schema.d.ts +1 -1
  117. package/cjs/commands/icons/utils.cjs +131 -13
  118. package/cjs/commands/index.cjs +54 -82
  119. package/cjs/commands/schema.cjs +25 -8
  120. package/cjs/index.cjs +3 -4
  121. package/esm/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
  122. package/esm/commands/aws/ec2/allow-ip/handler.js +258 -0
  123. package/esm/commands/aws/ec2/allow-ip/index.d.ts +3 -0
  124. package/esm/commands/aws/ec2/allow-ip/index.js +4 -0
  125. package/esm/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
  126. package/esm/commands/aws/ec2/allow-ip/schema.js +29 -0
  127. package/esm/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
  128. package/esm/commands/aws/ec2/allow-ip/utils.js +363 -0
  129. package/esm/commands/aws/iam/admin-group.d.ts +55 -0
  130. package/esm/commands/aws/iam/admin-group.js +104 -0
  131. package/esm/commands/aws/iam/break-glass/handler.d.ts +7 -0
  132. package/esm/commands/aws/iam/break-glass/handler.js +124 -0
  133. package/esm/commands/aws/iam/break-glass/index.d.ts +2 -0
  134. package/esm/commands/aws/iam/break-glass/index.js +4 -0
  135. package/esm/commands/aws/iam/break-glass/schema.d.ts +25 -0
  136. package/esm/commands/aws/iam/break-glass/schema.js +19 -0
  137. package/esm/commands/aws/iam/check-admin/handler.d.ts +5 -0
  138. package/esm/commands/aws/iam/check-admin/handler.js +86 -0
  139. package/esm/commands/aws/iam/check-admin/index.d.ts +2 -0
  140. package/esm/commands/aws/iam/check-admin/index.js +4 -0
  141. package/esm/commands/aws/iam/check-admin/schema.d.ts +19 -0
  142. package/esm/commands/aws/iam/check-admin/schema.js +17 -0
  143. package/esm/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.json +20 -0
  144. package/esm/commands/aws/iam/policies/sts-federation.json +11 -0
  145. package/esm/commands/aws/iam/policies/user-admins-deny-list.json +175 -0
  146. package/esm/commands/aws/iam/policies/user-admins-deny-regions-list.json +41 -0
  147. package/esm/commands/aws/iam/policies/user-admins-self-service-iam.json +56 -0
  148. package/esm/commands/aws/iam/policies/user-admins-write-list.json +117 -0
  149. package/esm/commands/aws/iam/remove-admin/handler.d.ts +6 -0
  150. package/esm/commands/aws/iam/remove-admin/handler.js +117 -0
  151. package/esm/commands/aws/iam/remove-admin/index.d.ts +2 -0
  152. package/esm/commands/aws/iam/remove-admin/index.js +4 -0
  153. package/esm/commands/aws/iam/remove-admin/schema.d.ts +28 -0
  154. package/esm/commands/aws/iam/remove-admin/schema.js +20 -0
  155. package/esm/commands/aws/iam/setup-acl/handler.d.ts +6 -0
  156. package/esm/commands/aws/iam/setup-acl/handler.js +224 -0
  157. package/esm/commands/aws/iam/setup-acl/index.d.ts +3 -0
  158. package/esm/commands/aws/iam/setup-acl/index.js +4 -0
  159. package/esm/commands/aws/iam/setup-acl/schema.d.ts +24 -0
  160. package/esm/commands/aws/iam/setup-acl/schema.js +18 -0
  161. package/esm/commands/aws/iam/setup-acl/utils.d.ts +61 -0
  162. package/esm/commands/aws/iam/setup-acl/utils.js +298 -0
  163. package/esm/commands/aws/iam/users/handler.d.ts +5 -0
  164. package/esm/commands/aws/iam/users/handler.js +56 -0
  165. package/esm/commands/aws/iam/users/index.d.ts +3 -0
  166. package/esm/commands/aws/iam/users/index.js +4 -0
  167. package/esm/commands/aws/iam/users/schema.d.ts +18 -0
  168. package/esm/commands/aws/iam/users/schema.js +16 -0
  169. package/esm/commands/aws/iam/users/utils.d.ts +119 -0
  170. package/esm/commands/aws/iam/users/utils.js +440 -0
  171. package/esm/commands/aws/index.d.ts +14 -0
  172. package/esm/commands/aws/index.js +142 -0
  173. package/esm/commands/aws/route53/add-record/handler.d.ts +36 -0
  174. package/esm/commands/aws/route53/add-record/handler.js +258 -0
  175. package/esm/commands/aws/route53/add-record/index.d.ts +3 -0
  176. package/esm/commands/aws/route53/add-record/index.js +4 -0
  177. package/esm/commands/aws/route53/add-record/schema.d.ts +45 -0
  178. package/esm/commands/aws/route53/add-record/schema.js +40 -0
  179. package/esm/commands/aws/route53/add-record/utils.d.ts +216 -0
  180. package/esm/commands/aws/route53/add-record/utils.js +389 -0
  181. package/esm/commands/aws/route53/remove-record/handler.d.ts +6 -0
  182. package/esm/commands/aws/route53/remove-record/handler.js +111 -0
  183. package/esm/commands/aws/route53/remove-record/index.d.ts +2 -0
  184. package/esm/commands/aws/route53/remove-record/index.js +3 -0
  185. package/esm/commands/aws/route53/remove-record/schema.d.ts +30 -0
  186. package/esm/commands/aws/route53/remove-record/schema.js +21 -0
  187. package/esm/commands/aws/schema.d.ts +13 -0
  188. package/esm/commands/aws/schema.js +16 -0
  189. package/esm/commands/aws/ses/send-email/handler.d.ts +5 -0
  190. package/esm/commands/aws/ses/send-email/handler.js +70 -0
  191. package/esm/commands/aws/ses/send-email/index.d.ts +3 -0
  192. package/esm/commands/aws/ses/send-email/index.js +4 -0
  193. package/esm/commands/aws/ses/send-email/schema.d.ts +39 -0
  194. package/esm/commands/aws/ses/send-email/schema.js +23 -0
  195. package/esm/commands/aws/ses/send-email/utils.d.ts +47 -0
  196. package/esm/commands/aws/ses/send-email/utils.js +84 -0
  197. package/esm/commands/aws/ses/smtp-password.d.ts +21 -0
  198. package/esm/commands/aws/ses/smtp-password.js +69 -0
  199. package/esm/commands/aws/utils/exec-aws.d.ts +79 -0
  200. package/esm/commands/aws/utils/exec-aws.js +137 -0
  201. package/esm/commands/aws/utils/resolve-policy-path.d.ts +8 -0
  202. package/esm/commands/aws/utils/resolve-policy-path.js +14 -0
  203. package/esm/commands/aws/utils/resolve-profile.d.ts +28 -0
  204. package/esm/commands/aws/utils/resolve-profile.js +88 -0
  205. package/esm/commands/aws/utils/tty.d.ts +24 -0
  206. package/esm/commands/aws/utils/tty.js +51 -0
  207. package/esm/commands/db/create-readonly-user/handler.d.ts +5 -0
  208. package/esm/commands/db/create-readonly-user/handler.js +251 -0
  209. package/esm/commands/db/create-readonly-user/index.d.ts +3 -0
  210. package/esm/commands/db/create-readonly-user/index.js +4 -0
  211. package/esm/commands/db/create-readonly-user/mysql.d.ts +33 -0
  212. package/esm/commands/db/create-readonly-user/mysql.js +98 -0
  213. package/esm/commands/db/create-readonly-user/postgres.d.ts +31 -0
  214. package/esm/commands/db/create-readonly-user/postgres.js +205 -0
  215. package/esm/commands/db/create-readonly-user/schema.d.ts +55 -0
  216. package/esm/commands/db/create-readonly-user/schema.js +35 -0
  217. package/esm/commands/db/create-readonly-user/utils.d.ts +112 -0
  218. package/esm/commands/db/create-readonly-user/utils.js +151 -0
  219. package/esm/commands/db/index.d.ts +6 -0
  220. package/esm/commands/db/index.js +31 -0
  221. package/esm/commands/doppler/handler.js +92 -9
  222. package/esm/commands/doppler/index.d.ts +1 -0
  223. package/esm/commands/doppler/index.js +6 -41
  224. package/esm/commands/doppler/schema.d.ts +233 -17
  225. package/esm/commands/doppler/schema.js +125 -7
  226. package/esm/commands/doppler/set-secret.d.ts +113 -0
  227. package/esm/commands/doppler/set-secret.js +370 -0
  228. package/esm/commands/doppler/utils/exec.js +100 -12
  229. package/esm/commands/doppler/utils.d.ts +32 -8
  230. package/esm/commands/doppler/utils.js +396 -30
  231. package/esm/commands/icons/handler.js +79 -8
  232. package/esm/commands/icons/index.js +4 -31
  233. package/esm/commands/icons/schema.d.ts +1 -1
  234. package/esm/commands/icons/schema.js +97 -15
  235. package/esm/commands/icons/utils.js +125 -13
  236. package/esm/commands/index.js +49 -78
  237. package/esm/commands/schema.js +22 -7
  238. package/esm/index.js +3 -4
  239. package/package.json +12 -2
  240. package/vitest.config.ts +11 -0
  241. package/cjs/__chunks/4GFJUCSP.cjs +0 -52
  242. package/cjs/__chunks/4SFWHCB3.cjs +0 -133
  243. package/cjs/__chunks/B2KFW7T7.cjs +0 -1
  244. package/cjs/__chunks/EMMC33QA.cjs +0 -401
  245. package/cjs/__chunks/INFOPAHN.cjs +0 -117
  246. package/cjs/__chunks/J36P6UNE.cjs +0 -75
  247. package/cjs/__chunks/NIMXXHJQ.cjs +0 -92
  248. package/cjs/__chunks/NSRFG4DF.cjs +0 -100
  249. package/cjs/__chunks/WNJ3ZYLI.cjs +0 -1
  250. package/cjs/__chunks/ZMDIOZPT.cjs +0 -22
  251. package/esm/__chunks/46HGXFME.js +0 -0
  252. package/esm/__chunks/6G4PXXKF.js +0 -75
  253. package/esm/__chunks/6L5RNR7G.js +0 -100
  254. package/esm/__chunks/FL7AILGH.js +0 -133
  255. package/esm/__chunks/HJSXC6HP.js +0 -117
  256. package/esm/__chunks/O262GK4B.js +0 -401
  257. package/esm/__chunks/O3CCA76Q.js +0 -22
  258. package/esm/__chunks/SJXQJ7RS.js +0 -92
  259. package/esm/__chunks/SNCKIAOR.js +0 -0
  260. package/esm/__chunks/X3R5PSWH.js +0 -52
@@ -1,16 +1,104 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let zod = require("zod");
3
+ //#region src/commands/icons/schema.js
4
+ /**
5
+ * Available channels for icon generation
6
+ */
7
+ const CHANNELS = [
8
+ "dev",
9
+ "staging",
10
+ "test"
11
+ ];
12
+ /**
13
+ * Available icon types
14
+ */
15
+ const ICON_TYPES = ["icon", "adaptive-icon"];
16
+ /**
17
+ * Channel text mapping for icon overlay
18
+ */
19
+ const CHANNEL_TEXT_MAP = {
20
+ dev: "DEV",
21
+ local: "LOC",
22
+ staging: "STG",
23
+ test: "TST"
24
+ };
25
+ /**
26
+ * Icon type to point size mapping
27
+ */
28
+ const ICON_SIZE_MAP = {
29
+ "adaptive-icon": 250,
30
+ icon: 378
31
+ };
32
+ /**
33
+ * Zod schema for icons command options
34
+ */
35
+ const iconsCommandOptionsSchema = zod.z.object({
36
+ input: zod.z.string().describe("Path to the input image directory containing icon.png and adaptive-icon.png"),
37
+ channels: zod.z.array(zod.z.enum([
38
+ "dev",
39
+ "local",
40
+ "staging",
41
+ "test"
42
+ ])).optional().default([
43
+ "dev",
44
+ "local",
45
+ "staging",
46
+ "test"
47
+ ]).describe("Channels to generate icons for"),
48
+ iconTypes: zod.z.array(zod.z.enum(["icon", "adaptive-icon"])).optional().default(["icon", "adaptive-icon"]).describe("Icon types to generate"),
49
+ verbose: zod.z.boolean().optional().default(false).describe("Enable verbose logging for detailed error information"),
50
+ help: zod.z.boolean().optional().default(false).describe("Display help for command")
51
+ });
52
+ /**
53
+ * Icons command metadata
54
+ */
55
+ const iconsCommandMetadata = {
56
+ name: "icons",
57
+ description: `Generate app channel version icons with overlay text
2
58
 
59
+ This command generates icon variants for different app channels (dev, local, staging, test)
60
+ by overlaying text on base icon images using ImageMagick.
3
61
 
62
+ Requirements:
63
+ • ImageMagick must be installed (brew install imagemagick)
64
+ • Base icons (icon.png, adaptive-icon.png) must exist in the input directory
4
65
 
5
-
6
-
7
-
8
- var _J36P6UNEcjs = require('../../__chunks/J36P6UNE.cjs');
9
-
10
-
11
-
12
-
13
-
14
-
15
-
16
- exports.CHANNELS = _J36P6UNEcjs.CHANNELS; exports.CHANNEL_TEXT_MAP = _J36P6UNEcjs.CHANNEL_TEXT_MAP; exports.ICON_SIZE_MAP = _J36P6UNEcjs.ICON_SIZE_MAP; exports.ICON_TYPES = _J36P6UNEcjs.ICON_TYPES; exports.iconsCommandMetadata = _J36P6UNEcjs.iconsCommandMetadata; exports.iconsCommandOptionsSchema = _J36P6UNEcjs.iconsCommandOptionsSchema;
66
+ Examples:
67
+ $ mtn icons ./apps/my-app/assets # Generate all channel icons
68
+ $ mtn icons ./assets -c dev,staging # Generate only dev and staging icons
69
+ $ mtn icons ./assets -t icon # Generate only standard icons
70
+ $ mtn icons ./assets -v # Verbose output`,
71
+ options: {
72
+ input: {
73
+ description: iconsCommandOptionsSchema.shape.input.description,
74
+ required: true
75
+ },
76
+ channels: {
77
+ description: iconsCommandOptionsSchema.shape.channels.description,
78
+ default: "dev,local,staging,test",
79
+ alias: "c"
80
+ },
81
+ iconTypes: {
82
+ description: iconsCommandOptionsSchema.shape.iconTypes.description,
83
+ default: "icon,adaptive-icon",
84
+ alias: "t"
85
+ },
86
+ verbose: {
87
+ description: iconsCommandOptionsSchema.shape.verbose.description,
88
+ default: false,
89
+ alias: "v"
90
+ },
91
+ help: {
92
+ description: iconsCommandOptionsSchema.shape.help.description,
93
+ default: false,
94
+ alias: "h"
95
+ }
96
+ }
97
+ };
98
+ //#endregion
99
+ exports.CHANNELS = CHANNELS;
100
+ exports.CHANNEL_TEXT_MAP = CHANNEL_TEXT_MAP;
101
+ exports.ICON_SIZE_MAP = ICON_SIZE_MAP;
102
+ exports.ICON_TYPES = ICON_TYPES;
103
+ exports.iconsCommandMetadata = iconsCommandMetadata;
104
+ exports.iconsCommandOptionsSchema = iconsCommandOptionsSchema;
@@ -30,8 +30,8 @@ export const iconsCommandOptionsSchema: z.ZodObject<{
30
30
  help: z.ZodDefault<z.ZodOptional<z.ZodBoolean>>;
31
31
  }, "strip", z.ZodTypeAny, {
32
32
  verbose: boolean;
33
- help: boolean;
34
33
  input: string;
34
+ help: boolean;
35
35
  channels: ("dev" | "staging" | "test" | "local")[];
36
36
  iconTypes: ("icon" | "adaptive-icon")[];
37
37
  }, {
@@ -1,13 +1,131 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
-
5
-
6
- var _4SFWHCB3cjs = require('../../__chunks/4SFWHCB3.cjs');
7
- require('../../__chunks/J36P6UNE.cjs');
8
-
9
-
10
-
11
-
12
-
13
- exports.checkDependencies = _4SFWHCB3cjs.checkDependencies; exports.generateAllIcons = _4SFWHCB3cjs.generateAllIcons; exports.generateIcon = _4SFWHCB3cjs.generateIcon; exports.validateBaseIcons = _4SFWHCB3cjs.validateBaseIcons;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ const require_rolldown_runtime = require("../../__chunks/VH7oDXx4.cjs");
3
+ const require_commands_icons_schema = require("./schema.cjs");
4
+ let chalk = require("chalk");
5
+ chalk = require_rolldown_runtime.__toESM(chalk, 1);
6
+ let child_process = require("child_process");
7
+ let fs = require("fs");
8
+ let path = require("path");
9
+ //#region src/commands/icons/utils.js
10
+ /**
11
+ * Check if ImageMagick is installed
12
+ * @param {boolean} verbose - Show verbose output
13
+ * @throws {Error} If ImageMagick is not installed
14
+ */
15
+ function checkDependencies(verbose = false) {
16
+ if (verbose) console.log(chalk.default.blue("\n🔍 Checking dependencies..."));
17
+ try {
18
+ (0, child_process.execSync)("which magick", { stdio: "pipe" });
19
+ if (verbose) console.log(chalk.default.green(" ✓ ImageMagick is installed"));
20
+ } catch {
21
+ throw new Error("ImageMagick is not installed. Please install it (brew install imagemagick) and try again.");
22
+ }
23
+ }
24
+ /**
25
+ * Validate that required base icons exist
26
+ * @param {string} baseDir - Base directory containing icons
27
+ * @param {string[]} iconTypes - Icon types to validate
28
+ * @param {boolean} verbose - Show verbose output
29
+ * @throws {Error} If required icons are missing
30
+ */
31
+ function validateBaseIcons(baseDir, iconTypes, verbose = false) {
32
+ if (verbose) console.log(chalk.default.blue("\n📁 Validating base icons..."));
33
+ const resolvedDir = (0, path.resolve)(baseDir);
34
+ if (!(0, fs.existsSync)(resolvedDir)) throw new Error(`Input directory does not exist: ${resolvedDir}`);
35
+ const missingIcons = [];
36
+ for (const iconType of iconTypes) {
37
+ const iconPath = (0, path.join)(resolvedDir, `${iconType}.png`);
38
+ if (!(0, fs.existsSync)(iconPath)) missingIcons.push(`${iconType}.png`);
39
+ else if (verbose) console.log(chalk.default.green(` ✓ Found: ${iconType}.png`));
40
+ }
41
+ if (missingIcons.length > 0) throw new Error(`Missing base icons in ${resolvedDir}: ${missingIcons.join(", ")}`);
42
+ }
43
+ /**
44
+ * Generate a single icon with channel overlay
45
+ * @param {{
46
+ * baseDir: string;
47
+ * channel: string;
48
+ * iconType: string;
49
+ * verbose: boolean;
50
+ * }} options - Generation options
51
+ * @returns {string} Path to generated icon
52
+ */
53
+ function generateIcon(options) {
54
+ const { baseDir, channel, iconType, verbose } = options;
55
+ const resolvedDir = (0, path.resolve)(baseDir);
56
+ const inputFile = (0, path.join)(resolvedDir, `${iconType}.png`);
57
+ const outputFile = (0, path.join)(resolvedDir, `${iconType}-${channel}.png`);
58
+ const size = require_commands_icons_schema.ICON_SIZE_MAP[iconType] || 378;
59
+ const text = require_commands_icons_schema.CHANNEL_TEXT_MAP[channel] || channel.toUpperCase().slice(0, 3);
60
+ const command = [
61
+ "magick",
62
+ `"${inputFile}"`,
63
+ `-pointsize ${size}`,
64
+ "-fill white",
65
+ "-gravity center",
66
+ "-font Arial-Black",
67
+ "-stroke black",
68
+ "-strokewidth 5",
69
+ `-draw "rotate -45 text 0,0 '${text}'"`,
70
+ `"${outputFile}"`
71
+ ].join(" ");
72
+ if (verbose) console.log(chalk.default.gray(` Command: ${command}`));
73
+ try {
74
+ (0, child_process.execSync)(command, { stdio: verbose ? "inherit" : "pipe" });
75
+ return outputFile;
76
+ } catch (error) {
77
+ throw new Error(`Failed to generate ${iconType}-${channel}.png: ${error instanceof Error ? error.message : String(error)}`);
78
+ }
79
+ }
80
+ /**
81
+ * Generate all icons for specified channels and types
82
+ * @param {{
83
+ * baseDir: string;
84
+ * channels: string[];
85
+ * iconTypes: string[];
86
+ * verbose: boolean;
87
+ * }} options - Generation options
88
+ * @returns {{ success: string[]; failed: { icon: string; error: string }[] }}
89
+ */
90
+ function generateAllIcons(options) {
91
+ const { baseDir, channels, iconTypes, verbose } = options;
92
+ /** @type {string[]} */
93
+ const success = [];
94
+ /** @type {{ icon: string; error: string }[]} */
95
+ const failed = [];
96
+ const totalIcons = channels.length * iconTypes.length;
97
+ let current = 0;
98
+ if (verbose) console.log(chalk.default.blue(`\n🎨 Generating ${totalIcons} icon(s)...`));
99
+ for (const channel of channels) for (const iconType of iconTypes) {
100
+ current++;
101
+ const iconName = `${iconType}-${channel}.png`;
102
+ if (verbose) console.log(chalk.default.blue(`\n[${current}/${totalIcons}] Generating ${iconName}...`));
103
+ try {
104
+ const outputPath = generateIcon({
105
+ baseDir,
106
+ channel,
107
+ iconType,
108
+ verbose
109
+ });
110
+ success.push(outputPath);
111
+ console.log(chalk.default.green(` ✓ Generated: ${iconName}`));
112
+ } catch (error) {
113
+ const errorMessage = error instanceof Error ? error.message : String(error);
114
+ failed.push({
115
+ icon: iconName,
116
+ error: errorMessage
117
+ });
118
+ console.log(chalk.default.red(` ✗ Failed: ${iconName}`));
119
+ if (verbose) console.log(chalk.default.red(` ${errorMessage}`));
120
+ }
121
+ }
122
+ return {
123
+ success,
124
+ failed
125
+ };
126
+ }
127
+ //#endregion
128
+ exports.checkDependencies = checkDependencies;
129
+ exports.generateAllIcons = generateAllIcons;
130
+ exports.generateIcon = generateIcon;
131
+ exports.validateBaseIcons = validateBaseIcons;
@@ -1,89 +1,61 @@
1
1
  #!/usr/bin/env node
2
- "use strict"; function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _optionalChain(ops) { let lastAccessLHS = undefined; let value = ops[0]; let i = 1; while (i < ops.length) { const op = ops[i]; const fn = ops[i + 1]; i += 2; if ((op === 'optionalAccess' || op === 'optionalCall') && value == null) { return undefined; } if (op === 'access' || op === 'optionalAccess') { lastAccessLHS = value; value = fn(value); } else if (op === 'call' || op === 'optionalCall') { value = fn((...args) => value.call(lastAccessLHS, ...args)); lastAccessLHS = undefined; } } return value; }
3
-
4
- var _ZMDIOZPTcjs = require('../__chunks/ZMDIOZPT.cjs');
5
- require('../__chunks/B2KFW7T7.cjs');
6
-
7
-
8
- var _INFOPAHNcjs = require('../__chunks/INFOPAHN.cjs');
9
- require('../__chunks/4SFWHCB3.cjs');
10
-
11
-
12
- var _J36P6UNEcjs = require('../__chunks/J36P6UNE.cjs');
13
- require('../__chunks/WNJ3ZYLI.cjs');
14
-
15
-
16
- var _NSRFG4DFcjs = require('../__chunks/NSRFG4DF.cjs');
17
- require('../__chunks/EMMC33QA.cjs');
18
- require('../__chunks/NIMXXHJQ.cjs');
19
-
20
-
21
- var _4GFJUCSPcjs = require('../__chunks/4GFJUCSP.cjs');
22
-
23
- // src/commands/index.js
24
- var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
25
- var _commander = require('commander');
2
+ const require_rolldown_runtime = require("../__chunks/VH7oDXx4.cjs");
3
+ const require_commands_icons_schema = require("./icons/schema.cjs");
4
+ const require_commands_icons_handler = require("./icons/handler.cjs");
5
+ require("./icons/index.cjs");
6
+ const require_commands_doppler_schema = require("./doppler/schema.cjs");
7
+ const require_commands_doppler_handler = require("./doppler/handler.cjs");
8
+ require("./doppler/index.cjs");
9
+ const require_commands_db_index = require("./db/index.cjs");
10
+ const require_commands_aws_index = require("./aws/index.cjs");
11
+ const require_commands_schema = require("./schema.cjs");
12
+ let chalk = require("chalk");
13
+ chalk = require_rolldown_runtime.__toESM(chalk, 1);
14
+ let commander = require("commander");
15
+ //#region src/commands/index.js
26
16
  function displayWelcomeMessage() {
27
- console.log(_chalk2.default.bold.blue("\n\u{1F680} @mtndev/cli"));
28
- console.log(_chalk2.default.gray(` ${_ZMDIOZPTcjs.globalCommandsMetadata.description}
29
- `));
17
+ console.log(chalk.default.bold.blue("\n🚀 @mtndev/cli"));
18
+ console.log(chalk.default.gray(` ${require_commands_schema.globalCommandsMetadata.description}\n`));
30
19
  }
31
20
  displayWelcomeMessage();
32
- _commander.program.name(_ZMDIOZPTcjs.globalCommandsMetadata.name).description(_ZMDIOZPTcjs.globalCommandsMetadata.description).version(_ZMDIOZPTcjs.globalCommandsMetadata.version).option(
33
- `-${_ZMDIOZPTcjs.globalCommandsMetadata.options.verbose.alias}, --verbose`,
34
- _ZMDIOZPTcjs.globalCommandsMetadata.options.verbose.description,
35
- _ZMDIOZPTcjs.globalCommandsMetadata.options.verbose.default
36
- ).configureHelp({
37
- subcommandDescription: (cmd) => {
38
- const desc = cmd.summary() || cmd.description().split("\n")[0] || "";
39
- return desc + "\n";
40
- }
21
+ commander.program.name(require_commands_schema.globalCommandsMetadata.name).description(require_commands_schema.globalCommandsMetadata.description).version(require_commands_schema.globalCommandsMetadata.version).option(`-${require_commands_schema.globalCommandsMetadata.options.verbose.alias}, --verbose`, require_commands_schema.globalCommandsMetadata.options.verbose.description, require_commands_schema.globalCommandsMetadata.options.verbose.default).configureHelp({ subcommandDescription: (cmd) => {
22
+ return (cmd.summary() || cmd.description().split("\n")[0] || "") + "\n";
23
+ } });
24
+ commander.program.command("doppler [action]").summary("Manage Doppler configurations").description(require_commands_doppler_schema.dopplerCommandMetadata.description).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.environments.alias}, --environments <envs>`, require_commands_doppler_schema.dopplerCommandMetadata.options.environments.description).option(`--from <project>`, require_commands_doppler_schema.dopplerCommandMetadata.options.from.description).option(`--to <project>`, require_commands_doppler_schema.dopplerCommandMetadata.options.to.description).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.force.alias}, --force`, require_commands_doppler_schema.dopplerCommandMetadata.options.force.description, require_commands_doppler_schema.dopplerCommandMetadata.options.force.default).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.project.alias}, --project <project>`, require_commands_doppler_schema.dopplerCommandMetadata.options.project.description).option(`--environment <env>`, require_commands_doppler_schema.dopplerCommandMetadata.options.environment.description).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.config.alias}, --config <config>`, require_commands_doppler_schema.dopplerCommandMetadata.options.config.description).option(`--name <name>`, require_commands_doppler_schema.dopplerCommandMetadata.options.name.description).option(`--value <value>`, require_commands_doppler_schema.dopplerCommandMetadata.options.value.description).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.yes.alias}, --yes`, require_commands_doppler_schema.dopplerCommandMetadata.options.yes.description, require_commands_doppler_schema.dopplerCommandMetadata.options.yes.default).option(`-${require_commands_doppler_schema.dopplerCommandMetadata.options.help.alias}, --help`, require_commands_doppler_schema.dopplerCommandMetadata.options.help.description, require_commands_doppler_schema.dopplerCommandMetadata.options.help.default).action(async (action, options, cmd) => {
25
+ const globalOptions = cmd.parent?.opts() || {};
26
+ await require_commands_doppler_handler.dopplerCommand({
27
+ action,
28
+ environments: options.environments,
29
+ from: options.from,
30
+ to: options.to,
31
+ force: options.force,
32
+ project: options.project,
33
+ environment: options.environment,
34
+ config: options.config,
35
+ name: options.name,
36
+ value: options.value,
37
+ yes: options.yes,
38
+ verbose: globalOptions.verbose,
39
+ help: options.help
40
+ });
41
41
  });
42
- _commander.program.command("doppler [action]").summary("Manage Doppler configurations").description(_4GFJUCSPcjs.dopplerCommandMetadata.description).option(
43
- `-${_4GFJUCSPcjs.dopplerCommandMetadata.options.environment.alias}, --environment <env>`,
44
- _4GFJUCSPcjs.dopplerCommandMetadata.options.environment.description,
45
- _4GFJUCSPcjs.dopplerCommandMetadata.options.environment.default
46
- ).option(
47
- `-${_4GFJUCSPcjs.dopplerCommandMetadata.options.help.alias}, --help`,
48
- _4GFJUCSPcjs.dopplerCommandMetadata.options.help.description,
49
- _4GFJUCSPcjs.dopplerCommandMetadata.options.help.default
50
- ).action(async (action, options, cmd) => {
51
- const globalOptions = _optionalChain([cmd, 'access', _ => _.parent, 'optionalAccess', _2 => _2.opts, 'call', _3 => _3()]) || {};
52
- await _NSRFG4DFcjs.dopplerCommand.call(void 0, {
53
- action,
54
- environment: options.environment,
55
- verbose: globalOptions.verbose,
56
- help: options.help
57
- });
42
+ commander.program.command("icons <input>").summary("Generate app channel version icons with overlay text").description(require_commands_icons_schema.iconsCommandMetadata.description).option(`-${require_commands_icons_schema.iconsCommandMetadata.options.channels.alias}, --channels <channels>`, require_commands_icons_schema.iconsCommandMetadata.options.channels.description, require_commands_icons_schema.iconsCommandMetadata.options.channels.default).option(`-${require_commands_icons_schema.iconsCommandMetadata.options.iconTypes.alias}, --icon-types <types>`, require_commands_icons_schema.iconsCommandMetadata.options.iconTypes.description, require_commands_icons_schema.iconsCommandMetadata.options.iconTypes.default).option(`-${require_commands_icons_schema.iconsCommandMetadata.options.help.alias}, --help`, require_commands_icons_schema.iconsCommandMetadata.options.help.description, require_commands_icons_schema.iconsCommandMetadata.options.help.default).action(async (input, options, cmd) => {
43
+ const globalOptions = cmd.parent?.opts() || {};
44
+ const channels = typeof options.channels === "string" ? options.channels.split(",").map((c) => c.trim()) : options.channels;
45
+ const iconTypes = typeof options.iconTypes === "string" ? options.iconTypes.split(",").map((t) => t.trim()) : options.iconTypes;
46
+ await require_commands_icons_handler.iconsCommand({
47
+ input,
48
+ channels,
49
+ iconTypes,
50
+ verbose: globalOptions.verbose,
51
+ help: options.help
52
+ });
58
53
  });
59
- _commander.program.command("icons <input>").summary("Generate app channel version icons with overlay text").description(_J36P6UNEcjs.iconsCommandMetadata.description).option(
60
- `-${_J36P6UNEcjs.iconsCommandMetadata.options.channels.alias}, --channels <channels>`,
61
- _J36P6UNEcjs.iconsCommandMetadata.options.channels.description,
62
- _J36P6UNEcjs.iconsCommandMetadata.options.channels.default
63
- ).option(
64
- `-${_J36P6UNEcjs.iconsCommandMetadata.options.iconTypes.alias}, --icon-types <types>`,
65
- _J36P6UNEcjs.iconsCommandMetadata.options.iconTypes.description,
66
- _J36P6UNEcjs.iconsCommandMetadata.options.iconTypes.default
67
- ).option(
68
- `-${_J36P6UNEcjs.iconsCommandMetadata.options.help.alias}, --help`,
69
- _J36P6UNEcjs.iconsCommandMetadata.options.help.description,
70
- _J36P6UNEcjs.iconsCommandMetadata.options.help.default
71
- ).action(async (input, options, cmd) => {
72
- const globalOptions = _optionalChain([cmd, 'access', _4 => _4.parent, 'optionalAccess', _5 => _5.opts, 'call', _6 => _6()]) || {};
73
- const channels = typeof options.channels === "string" ? options.channels.split(",").map((c) => c.trim()) : options.channels;
74
- const iconTypes = typeof options.iconTypes === "string" ? options.iconTypes.split(",").map((t) => t.trim()) : options.iconTypes;
75
- await _INFOPAHNcjs.iconsCommand.call(void 0, {
76
- input,
77
- channels,
78
- iconTypes,
79
- verbose: globalOptions.verbose,
80
- help: options.help
81
- });
54
+ require_commands_aws_index.registerAwsCommands(commander.program);
55
+ require_commands_db_index.registerDbCommands(commander.program);
56
+ commander.program.on("command:*", () => {
57
+ commander.program.help();
82
58
  });
83
- _commander.program.on("command:*", () => {
84
- _commander.program.help();
85
- });
86
- if (process.argv.length <= 2) {
87
- _commander.program.help();
88
- }
89
- _commander.program.parse();
59
+ if (process.argv.length <= 2) commander.program.help();
60
+ commander.program.parse();
61
+ //#endregion
@@ -1,8 +1,25 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});
2
-
3
-
4
- var _ZMDIOZPTcjs = require('../__chunks/ZMDIOZPT.cjs');
5
-
6
-
7
-
8
- exports.globalCommandsMetadata = _ZMDIOZPTcjs.globalCommandsMetadata; exports.globalOptionsSchema = _ZMDIOZPTcjs.globalOptionsSchema;
1
+ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
2
+ let zod = require("zod");
3
+ //#region src/commands/schema.js
4
+ /**
5
+ * Zod schema for global command options
6
+ * These options are available across all commands
7
+ */
8
+ const globalOptionsSchema = zod.z.object({ verbose: zod.z.boolean().default(false).optional().describe("Enable verbose logging for detailed output and error traces") });
9
+ /**
10
+ * Global CLI metadata
11
+ * Defines the CLI contract and available global options
12
+ */
13
+ const globalCommandsMetadata = {
14
+ name: "mtndev-cli",
15
+ version: "1.0.0",
16
+ description: "Omnibus CLI tool for mtndev projects",
17
+ options: { verbose: {
18
+ description: globalOptionsSchema.shape.verbose.description,
19
+ default: false,
20
+ alias: "v"
21
+ } }
22
+ };
23
+ //#endregion
24
+ exports.globalCommandsMetadata = globalCommandsMetadata;
25
+ exports.globalOptionsSchema = globalOptionsSchema;
package/cjs/index.cjs CHANGED
@@ -1,5 +1,4 @@
1
- "use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/index.js
1
+ //#region src/index.js
2
2
  var src_default = void 0;
3
-
4
-
5
- exports.default = src_default;
3
+ //#endregion
4
+ module.exports = src_default;
@@ -0,0 +1,6 @@
1
+ /**
2
+ * `aws ec2 allow-ip` handler: update or create a named roaming SSH rule for the
3
+ * caller's current public IP on a chosen EC2 instance's security group.
4
+ * @param {unknown} options
5
+ */
6
+ export function allowIpCommand(options: unknown): Promise<void>;