@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.
- package/CHANGELOG.md +91 -0
- package/cjs/__chunks/VH7oDXx4.cjs +28 -0
- package/cjs/commands/aws/ec2/allow-ip/handler.cjs +261 -0
- package/cjs/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
- package/cjs/commands/aws/ec2/allow-ip/index.cjs +25 -0
- package/cjs/commands/aws/ec2/allow-ip/index.d.ts +3 -0
- package/cjs/commands/aws/ec2/allow-ip/schema.cjs +33 -0
- package/cjs/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
- package/cjs/commands/aws/ec2/allow-ip/utils.cjs +379 -0
- package/cjs/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
- package/cjs/commands/aws/iam/admin-group.cjs +111 -0
- package/cjs/commands/aws/iam/admin-group.d.ts +55 -0
- package/cjs/commands/aws/iam/break-glass/handler.cjs +127 -0
- package/cjs/commands/aws/iam/break-glass/handler.d.ts +7 -0
- package/cjs/commands/aws/iam/break-glass/index.cjs +7 -0
- package/cjs/commands/aws/iam/break-glass/index.d.ts +2 -0
- package/cjs/commands/aws/iam/break-glass/schema.cjs +21 -0
- package/cjs/commands/aws/iam/break-glass/schema.d.ts +25 -0
- package/cjs/commands/aws/iam/check-admin/handler.cjs +89 -0
- package/cjs/commands/aws/iam/check-admin/handler.d.ts +5 -0
- package/cjs/commands/aws/iam/check-admin/index.cjs +7 -0
- package/cjs/commands/aws/iam/check-admin/index.d.ts +2 -0
- package/cjs/commands/aws/iam/check-admin/schema.cjs +19 -0
- package/cjs/commands/aws/iam/check-admin/schema.d.ts +19 -0
- package/cjs/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.json +20 -0
- package/cjs/commands/aws/iam/policies/sts-federation.json +11 -0
- package/cjs/commands/aws/iam/policies/user-admins-deny-list.json +175 -0
- package/cjs/commands/aws/iam/policies/user-admins-deny-regions-list.json +41 -0
- package/cjs/commands/aws/iam/policies/user-admins-self-service-iam.json +56 -0
- package/cjs/commands/aws/iam/policies/user-admins-write-list.json +117 -0
- package/cjs/commands/aws/iam/remove-admin/handler.cjs +120 -0
- package/cjs/commands/aws/iam/remove-admin/handler.d.ts +6 -0
- package/cjs/commands/aws/iam/remove-admin/index.cjs +7 -0
- package/cjs/commands/aws/iam/remove-admin/index.d.ts +2 -0
- package/cjs/commands/aws/iam/remove-admin/schema.cjs +22 -0
- package/cjs/commands/aws/iam/remove-admin/schema.d.ts +28 -0
- package/cjs/commands/aws/iam/setup-acl/handler.cjs +227 -0
- package/cjs/commands/aws/iam/setup-acl/handler.d.ts +6 -0
- package/cjs/commands/aws/iam/setup-acl/index.cjs +13 -0
- package/cjs/commands/aws/iam/setup-acl/index.d.ts +3 -0
- package/cjs/commands/aws/iam/setup-acl/schema.cjs +19 -0
- package/cjs/commands/aws/iam/setup-acl/schema.d.ts +24 -0
- package/cjs/commands/aws/iam/setup-acl/utils.cjs +305 -0
- package/cjs/commands/aws/iam/setup-acl/utils.d.ts +61 -0
- package/cjs/commands/aws/iam/users/handler.cjs +59 -0
- package/cjs/commands/aws/iam/users/handler.d.ts +5 -0
- package/cjs/commands/aws/iam/users/index.cjs +18 -0
- package/cjs/commands/aws/iam/users/index.d.ts +3 -0
- package/cjs/commands/aws/iam/users/schema.cjs +17 -0
- package/cjs/commands/aws/iam/users/schema.d.ts +18 -0
- package/cjs/commands/aws/iam/users/utils.cjs +454 -0
- package/cjs/commands/aws/iam/users/utils.d.ts +119 -0
- package/cjs/commands/aws/index.cjs +223 -0
- package/cjs/commands/aws/index.d.ts +14 -0
- package/cjs/commands/aws/route53/add-record/handler.cjs +264 -0
- package/cjs/commands/aws/route53/add-record/handler.d.ts +36 -0
- package/cjs/commands/aws/route53/add-record/index.cjs +26 -0
- package/cjs/commands/aws/route53/add-record/index.d.ts +3 -0
- package/cjs/commands/aws/route53/add-record/schema.cjs +43 -0
- package/cjs/commands/aws/route53/add-record/schema.d.ts +45 -0
- package/cjs/commands/aws/route53/add-record/utils.cjs +404 -0
- package/cjs/commands/aws/route53/add-record/utils.d.ts +216 -0
- package/cjs/commands/aws/route53/remove-record/handler.cjs +114 -0
- package/cjs/commands/aws/route53/remove-record/handler.d.ts +6 -0
- package/cjs/commands/aws/route53/remove-record/index.cjs +5 -0
- package/cjs/commands/aws/route53/remove-record/index.d.ts +2 -0
- package/cjs/commands/aws/route53/remove-record/schema.cjs +22 -0
- package/cjs/commands/aws/route53/remove-record/schema.d.ts +30 -0
- package/cjs/commands/aws/schema.cjs +19 -0
- package/cjs/commands/aws/schema.d.ts +13 -0
- package/cjs/commands/aws/ses/send-email/handler.cjs +73 -0
- package/cjs/commands/aws/ses/send-email/handler.d.ts +5 -0
- package/cjs/commands/aws/ses/send-email/index.cjs +9 -0
- package/cjs/commands/aws/ses/send-email/index.d.ts +3 -0
- package/cjs/commands/aws/ses/send-email/schema.cjs +24 -0
- package/cjs/commands/aws/ses/send-email/schema.d.ts +39 -0
- package/cjs/commands/aws/ses/send-email/utils.cjs +87 -0
- package/cjs/commands/aws/ses/send-email/utils.d.ts +47 -0
- package/cjs/commands/aws/ses/smtp-password.cjs +72 -0
- package/cjs/commands/aws/ses/smtp-password.d.ts +21 -0
- package/cjs/commands/aws/utils/exec-aws.cjs +145 -0
- package/cjs/commands/aws/utils/exec-aws.d.ts +79 -0
- package/cjs/commands/aws/utils/resolve-policy-path.cjs +15 -0
- package/cjs/commands/aws/utils/resolve-policy-path.d.ts +8 -0
- package/cjs/commands/aws/utils/resolve-profile.cjs +93 -0
- package/cjs/commands/aws/utils/resolve-profile.d.ts +28 -0
- package/cjs/commands/aws/utils/tty.cjs +54 -0
- package/cjs/commands/aws/utils/tty.d.ts +24 -0
- package/cjs/commands/db/create-readonly-user/handler.cjs +254 -0
- package/cjs/commands/db/create-readonly-user/handler.d.ts +5 -0
- package/cjs/commands/db/create-readonly-user/index.cjs +18 -0
- package/cjs/commands/db/create-readonly-user/index.d.ts +3 -0
- package/cjs/commands/db/create-readonly-user/mysql.cjs +102 -0
- package/cjs/commands/db/create-readonly-user/mysql.d.ts +33 -0
- package/cjs/commands/db/create-readonly-user/postgres.cjs +209 -0
- package/cjs/commands/db/create-readonly-user/postgres.d.ts +31 -0
- package/cjs/commands/db/create-readonly-user/schema.cjs +39 -0
- package/cjs/commands/db/create-readonly-user/schema.d.ts +55 -0
- package/cjs/commands/db/create-readonly-user/utils.cjs +160 -0
- package/cjs/commands/db/create-readonly-user/utils.d.ts +112 -0
- package/cjs/commands/db/index.cjs +46 -0
- package/cjs/commands/db/index.d.ts +6 -0
- package/cjs/commands/doppler/handler.cjs +95 -9
- package/cjs/commands/doppler/index.cjs +33 -41
- package/cjs/commands/doppler/index.d.ts +1 -0
- package/cjs/commands/doppler/schema.cjs +130 -6
- package/cjs/commands/doppler/schema.d.ts +233 -17
- package/cjs/commands/doppler/set-secret.cjs +378 -0
- package/cjs/commands/doppler/set-secret.d.ts +113 -0
- package/cjs/commands/doppler/utils/exec.cjs +106 -12
- package/cjs/commands/doppler/utils.cjs +412 -30
- package/cjs/commands/doppler/utils.d.ts +32 -8
- package/cjs/commands/icons/handler.cjs +82 -8
- package/cjs/commands/icons/index.cjs +15 -31
- package/cjs/commands/icons/schema.cjs +101 -13
- package/cjs/commands/icons/schema.d.ts +1 -1
- package/cjs/commands/icons/utils.cjs +131 -13
- package/cjs/commands/index.cjs +54 -82
- package/cjs/commands/schema.cjs +25 -8
- package/cjs/index.cjs +3 -4
- package/esm/commands/aws/ec2/allow-ip/handler.d.ts +6 -0
- package/esm/commands/aws/ec2/allow-ip/handler.js +258 -0
- package/esm/commands/aws/ec2/allow-ip/index.d.ts +3 -0
- package/esm/commands/aws/ec2/allow-ip/index.js +4 -0
- package/esm/commands/aws/ec2/allow-ip/schema.d.ts +33 -0
- package/esm/commands/aws/ec2/allow-ip/schema.js +29 -0
- package/esm/commands/aws/ec2/allow-ip/utils.d.ts +189 -0
- package/esm/commands/aws/ec2/allow-ip/utils.js +363 -0
- package/esm/commands/aws/iam/admin-group.d.ts +55 -0
- package/esm/commands/aws/iam/admin-group.js +104 -0
- package/esm/commands/aws/iam/break-glass/handler.d.ts +7 -0
- package/esm/commands/aws/iam/break-glass/handler.js +124 -0
- package/esm/commands/aws/iam/break-glass/index.d.ts +2 -0
- package/esm/commands/aws/iam/break-glass/index.js +4 -0
- package/esm/commands/aws/iam/break-glass/schema.d.ts +25 -0
- package/esm/commands/aws/iam/break-glass/schema.js +19 -0
- package/esm/commands/aws/iam/check-admin/handler.d.ts +5 -0
- package/esm/commands/aws/iam/check-admin/handler.js +86 -0
- package/esm/commands/aws/iam/check-admin/index.d.ts +2 -0
- package/esm/commands/aws/iam/check-admin/index.js +4 -0
- package/esm/commands/aws/iam/check-admin/schema.d.ts +19 -0
- package/esm/commands/aws/iam/check-admin/schema.js +17 -0
- package/esm/commands/aws/iam/policies/s3-restrictions-deny-non-s3-services.json +20 -0
- package/esm/commands/aws/iam/policies/sts-federation.json +11 -0
- package/esm/commands/aws/iam/policies/user-admins-deny-list.json +175 -0
- package/esm/commands/aws/iam/policies/user-admins-deny-regions-list.json +41 -0
- package/esm/commands/aws/iam/policies/user-admins-self-service-iam.json +56 -0
- package/esm/commands/aws/iam/policies/user-admins-write-list.json +117 -0
- package/esm/commands/aws/iam/remove-admin/handler.d.ts +6 -0
- package/esm/commands/aws/iam/remove-admin/handler.js +117 -0
- package/esm/commands/aws/iam/remove-admin/index.d.ts +2 -0
- package/esm/commands/aws/iam/remove-admin/index.js +4 -0
- package/esm/commands/aws/iam/remove-admin/schema.d.ts +28 -0
- package/esm/commands/aws/iam/remove-admin/schema.js +20 -0
- package/esm/commands/aws/iam/setup-acl/handler.d.ts +6 -0
- package/esm/commands/aws/iam/setup-acl/handler.js +224 -0
- package/esm/commands/aws/iam/setup-acl/index.d.ts +3 -0
- package/esm/commands/aws/iam/setup-acl/index.js +4 -0
- package/esm/commands/aws/iam/setup-acl/schema.d.ts +24 -0
- package/esm/commands/aws/iam/setup-acl/schema.js +18 -0
- package/esm/commands/aws/iam/setup-acl/utils.d.ts +61 -0
- package/esm/commands/aws/iam/setup-acl/utils.js +298 -0
- package/esm/commands/aws/iam/users/handler.d.ts +5 -0
- package/esm/commands/aws/iam/users/handler.js +56 -0
- package/esm/commands/aws/iam/users/index.d.ts +3 -0
- package/esm/commands/aws/iam/users/index.js +4 -0
- package/esm/commands/aws/iam/users/schema.d.ts +18 -0
- package/esm/commands/aws/iam/users/schema.js +16 -0
- package/esm/commands/aws/iam/users/utils.d.ts +119 -0
- package/esm/commands/aws/iam/users/utils.js +440 -0
- package/esm/commands/aws/index.d.ts +14 -0
- package/esm/commands/aws/index.js +142 -0
- package/esm/commands/aws/route53/add-record/handler.d.ts +36 -0
- package/esm/commands/aws/route53/add-record/handler.js +258 -0
- package/esm/commands/aws/route53/add-record/index.d.ts +3 -0
- package/esm/commands/aws/route53/add-record/index.js +4 -0
- package/esm/commands/aws/route53/add-record/schema.d.ts +45 -0
- package/esm/commands/aws/route53/add-record/schema.js +40 -0
- package/esm/commands/aws/route53/add-record/utils.d.ts +216 -0
- package/esm/commands/aws/route53/add-record/utils.js +389 -0
- package/esm/commands/aws/route53/remove-record/handler.d.ts +6 -0
- package/esm/commands/aws/route53/remove-record/handler.js +111 -0
- package/esm/commands/aws/route53/remove-record/index.d.ts +2 -0
- package/esm/commands/aws/route53/remove-record/index.js +3 -0
- package/esm/commands/aws/route53/remove-record/schema.d.ts +30 -0
- package/esm/commands/aws/route53/remove-record/schema.js +21 -0
- package/esm/commands/aws/schema.d.ts +13 -0
- package/esm/commands/aws/schema.js +16 -0
- package/esm/commands/aws/ses/send-email/handler.d.ts +5 -0
- package/esm/commands/aws/ses/send-email/handler.js +70 -0
- package/esm/commands/aws/ses/send-email/index.d.ts +3 -0
- package/esm/commands/aws/ses/send-email/index.js +4 -0
- package/esm/commands/aws/ses/send-email/schema.d.ts +39 -0
- package/esm/commands/aws/ses/send-email/schema.js +23 -0
- package/esm/commands/aws/ses/send-email/utils.d.ts +47 -0
- package/esm/commands/aws/ses/send-email/utils.js +84 -0
- package/esm/commands/aws/ses/smtp-password.d.ts +21 -0
- package/esm/commands/aws/ses/smtp-password.js +69 -0
- package/esm/commands/aws/utils/exec-aws.d.ts +79 -0
- package/esm/commands/aws/utils/exec-aws.js +137 -0
- package/esm/commands/aws/utils/resolve-policy-path.d.ts +8 -0
- package/esm/commands/aws/utils/resolve-policy-path.js +14 -0
- package/esm/commands/aws/utils/resolve-profile.d.ts +28 -0
- package/esm/commands/aws/utils/resolve-profile.js +88 -0
- package/esm/commands/aws/utils/tty.d.ts +24 -0
- package/esm/commands/aws/utils/tty.js +51 -0
- package/esm/commands/db/create-readonly-user/handler.d.ts +5 -0
- package/esm/commands/db/create-readonly-user/handler.js +251 -0
- package/esm/commands/db/create-readonly-user/index.d.ts +3 -0
- package/esm/commands/db/create-readonly-user/index.js +4 -0
- package/esm/commands/db/create-readonly-user/mysql.d.ts +33 -0
- package/esm/commands/db/create-readonly-user/mysql.js +98 -0
- package/esm/commands/db/create-readonly-user/postgres.d.ts +31 -0
- package/esm/commands/db/create-readonly-user/postgres.js +205 -0
- package/esm/commands/db/create-readonly-user/schema.d.ts +55 -0
- package/esm/commands/db/create-readonly-user/schema.js +35 -0
- package/esm/commands/db/create-readonly-user/utils.d.ts +112 -0
- package/esm/commands/db/create-readonly-user/utils.js +151 -0
- package/esm/commands/db/index.d.ts +6 -0
- package/esm/commands/db/index.js +31 -0
- package/esm/commands/doppler/handler.js +92 -9
- package/esm/commands/doppler/index.d.ts +1 -0
- package/esm/commands/doppler/index.js +6 -41
- package/esm/commands/doppler/schema.d.ts +233 -17
- package/esm/commands/doppler/schema.js +125 -7
- package/esm/commands/doppler/set-secret.d.ts +113 -0
- package/esm/commands/doppler/set-secret.js +370 -0
- package/esm/commands/doppler/utils/exec.js +100 -12
- package/esm/commands/doppler/utils.d.ts +32 -8
- package/esm/commands/doppler/utils.js +396 -30
- package/esm/commands/icons/handler.js +79 -8
- package/esm/commands/icons/index.js +4 -31
- package/esm/commands/icons/schema.d.ts +1 -1
- package/esm/commands/icons/schema.js +97 -15
- package/esm/commands/icons/utils.js +125 -13
- package/esm/commands/index.js +49 -78
- package/esm/commands/schema.js +22 -7
- package/esm/index.js +3 -4
- package/package.json +12 -2
- package/vitest.config.ts +11 -0
- package/cjs/__chunks/4GFJUCSP.cjs +0 -52
- package/cjs/__chunks/4SFWHCB3.cjs +0 -133
- package/cjs/__chunks/B2KFW7T7.cjs +0 -1
- package/cjs/__chunks/EMMC33QA.cjs +0 -401
- package/cjs/__chunks/INFOPAHN.cjs +0 -117
- package/cjs/__chunks/J36P6UNE.cjs +0 -75
- package/cjs/__chunks/NIMXXHJQ.cjs +0 -92
- package/cjs/__chunks/NSRFG4DF.cjs +0 -100
- package/cjs/__chunks/WNJ3ZYLI.cjs +0 -1
- package/cjs/__chunks/ZMDIOZPT.cjs +0 -22
- package/esm/__chunks/46HGXFME.js +0 -0
- package/esm/__chunks/6G4PXXKF.js +0 -75
- package/esm/__chunks/6L5RNR7G.js +0 -100
- package/esm/__chunks/FL7AILGH.js +0 -133
- package/esm/__chunks/HJSXC6HP.js +0 -117
- package/esm/__chunks/O262GK4B.js +0 -401
- package/esm/__chunks/O3CCA76Q.js +0 -22
- package/esm/__chunks/SJXQJ7RS.js +0 -92
- package/esm/__chunks/SNCKIAOR.js +0 -0
- package/esm/__chunks/X3R5PSWH.js +0 -52
|
@@ -1,16 +1,104 @@
|
|
|
1
|
-
|
|
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
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
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
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
require(
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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;
|
package/cjs/commands/index.cjs
CHANGED
|
@@ -1,89 +1,61 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
require(
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
require(
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
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
|
-
|
|
28
|
-
|
|
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
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
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
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
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
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
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
|
-
|
|
84
|
-
|
|
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
|
package/cjs/commands/schema.cjs
CHANGED
|
@@ -1,8 +1,25 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
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