@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,401 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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; }
|
|
2
|
-
|
|
3
|
-
var _NIMXXHJQcjs = require('./NIMXXHJQ.cjs');
|
|
4
|
-
|
|
5
|
-
// src/commands/doppler/utils.js
|
|
6
|
-
var _child_process = require('child_process');
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
var _fs = require('fs');
|
|
15
|
-
var _readline = require('readline');
|
|
16
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
17
|
-
var DEFAULT_DOPPLER_ENVIRONMENT = "dev";
|
|
18
|
-
function execDoppler(args, parser = "string", silent = false, verbose = false) {
|
|
19
|
-
const command = `doppler ${args.join(" ")}`;
|
|
20
|
-
let verbosity = "default";
|
|
21
|
-
if (verbose) {
|
|
22
|
-
verbosity = "verbose";
|
|
23
|
-
} else if (silent) {
|
|
24
|
-
verbosity = "silent";
|
|
25
|
-
}
|
|
26
|
-
return _NIMXXHJQcjs.exec.call(void 0, command, {
|
|
27
|
-
verbosity,
|
|
28
|
-
stdoutParser: parser,
|
|
29
|
-
throwOnError: true
|
|
30
|
-
});
|
|
31
|
-
}
|
|
32
|
-
function checkDependencies(verbose = false) {
|
|
33
|
-
if (verbose) {
|
|
34
|
-
console.log(_chalk2.default.blue("\n\u{1F50D} Checking Doppler dependencies..."));
|
|
35
|
-
}
|
|
36
|
-
try {
|
|
37
|
-
_child_process.execSync.call(void 0, "which doppler", { stdio: "pipe" });
|
|
38
|
-
if (verbose) {
|
|
39
|
-
console.log(_chalk2.default.green(" \u2713 Doppler CLI is installed"));
|
|
40
|
-
}
|
|
41
|
-
} catch (e) {
|
|
42
|
-
throw new Error(
|
|
43
|
-
"Doppler is not installed. Please install Doppler (brew install dopplerhq/cli/doppler), login, setup, and try again."
|
|
44
|
-
);
|
|
45
|
-
}
|
|
46
|
-
try {
|
|
47
|
-
execDoppler(["me"], "string", true, verbose);
|
|
48
|
-
if (verbose) {
|
|
49
|
-
console.log(_chalk2.default.green(" \u2713 Doppler is authenticated"));
|
|
50
|
-
}
|
|
51
|
-
} catch (e2) {
|
|
52
|
-
throw new Error(
|
|
53
|
-
"Doppler is not logged in. Please run 'doppler login' then 'doppler setup' and try again."
|
|
54
|
-
);
|
|
55
|
-
}
|
|
56
|
-
try {
|
|
57
|
-
execDoppler(["configs", "--json"], "json", true, verbose);
|
|
58
|
-
if (verbose) {
|
|
59
|
-
console.log(_chalk2.default.green(" \u2713 Doppler project is configured"));
|
|
60
|
-
}
|
|
61
|
-
} catch (e3) {
|
|
62
|
-
throw new Error(
|
|
63
|
-
"Doppler is not configured. Please run 'doppler setup' and try again."
|
|
64
|
-
);
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
function getConfigs(environment, verbose = false) {
|
|
68
|
-
if (verbose) {
|
|
69
|
-
console.log(
|
|
70
|
-
_chalk2.default.blue(
|
|
71
|
-
`
|
|
72
|
-
\u{1F4CB} Resolving configurations for environment: ${_chalk2.default.cyan(environment)}`
|
|
73
|
-
)
|
|
74
|
-
);
|
|
75
|
-
}
|
|
76
|
-
const availableConfigs = execDoppler(
|
|
77
|
-
["configs", "--json"],
|
|
78
|
-
"json",
|
|
79
|
-
true,
|
|
80
|
-
verbose
|
|
81
|
-
);
|
|
82
|
-
const configNames = Array.isArray(availableConfigs) ? availableConfigs.map(
|
|
83
|
-
(config) => config.name
|
|
84
|
-
) : [];
|
|
85
|
-
if (verbose && configNames.length > 0) {
|
|
86
|
-
console.log(
|
|
87
|
-
_chalk2.default.gray(` Available configurations: ${configNames.join(", ")}`)
|
|
88
|
-
);
|
|
89
|
-
}
|
|
90
|
-
if (environment === "all") {
|
|
91
|
-
if (configNames.length === 0) {
|
|
92
|
-
throw new Error("No configurations found in Doppler");
|
|
93
|
-
}
|
|
94
|
-
if (verbose) {
|
|
95
|
-
console.log(
|
|
96
|
-
_chalk2.default.green(` \u2713 Using all ${configNames.length} configurations`)
|
|
97
|
-
);
|
|
98
|
-
}
|
|
99
|
-
return configNames;
|
|
100
|
-
}
|
|
101
|
-
if (configNames.length > 0 && !configNames.includes(environment)) {
|
|
102
|
-
throw new Error(
|
|
103
|
-
`Configuration "${environment}" not found. Available configurations: ${configNames.join(", ")}`
|
|
104
|
-
);
|
|
105
|
-
}
|
|
106
|
-
if (verbose) {
|
|
107
|
-
console.log(_chalk2.default.green(` \u2713 Using configuration: ${environment}`));
|
|
108
|
-
}
|
|
109
|
-
return [environment];
|
|
110
|
-
}
|
|
111
|
-
function normalizeEscapeSequences(content) {
|
|
112
|
-
return content.replace(/\\n/g, "\n").replace(/\\t/g, " ").replace(/\\r/g, "\r");
|
|
113
|
-
}
|
|
114
|
-
function createDiff(oldContent, newContent) {
|
|
115
|
-
const oldLines = oldContent.split("\n");
|
|
116
|
-
const newLines = newContent.split("\n");
|
|
117
|
-
const diff = [];
|
|
118
|
-
const maxLines = Math.max(oldLines.length, newLines.length);
|
|
119
|
-
for (let i = 0; i < maxLines; i++) {
|
|
120
|
-
const oldLine = oldLines[i] || "";
|
|
121
|
-
const newLine = newLines[i] || "";
|
|
122
|
-
if (oldLine !== newLine) {
|
|
123
|
-
if (oldLine && !newLine) {
|
|
124
|
-
diff.push(`-${oldLine}`);
|
|
125
|
-
} else if (!oldLine && newLine) {
|
|
126
|
-
diff.push(`+${newLine}`);
|
|
127
|
-
} else {
|
|
128
|
-
diff.push(`-${oldLine}`);
|
|
129
|
-
diff.push(`+${newLine}`);
|
|
130
|
-
}
|
|
131
|
-
}
|
|
132
|
-
}
|
|
133
|
-
return diff;
|
|
134
|
-
}
|
|
135
|
-
function promptConfirmation(message) {
|
|
136
|
-
return new Promise((resolve) => {
|
|
137
|
-
const rl = _readline.createInterface.call(void 0, {
|
|
138
|
-
input: process.stdin,
|
|
139
|
-
output: process.stdout
|
|
140
|
-
});
|
|
141
|
-
rl.question(message, (answer) => {
|
|
142
|
-
rl.close();
|
|
143
|
-
resolve(answer.toLowerCase() === "y" || answer.toLowerCase() === "yes");
|
|
144
|
-
});
|
|
145
|
-
});
|
|
146
|
-
}
|
|
147
|
-
async function downloadConfigs(options) {
|
|
148
|
-
const { environment, verbose } = options;
|
|
149
|
-
const actualEnvironment = _nullishCoalesce(environment, () => ( DEFAULT_DOPPLER_ENVIRONMENT));
|
|
150
|
-
const configs = getConfigs(actualEnvironment, verbose);
|
|
151
|
-
if (verbose) {
|
|
152
|
-
console.log(
|
|
153
|
-
_chalk2.default.blue(
|
|
154
|
-
`
|
|
155
|
-
\u2B07\uFE0F Starting download process for ${configs.length} configuration(s)...`
|
|
156
|
-
)
|
|
157
|
-
);
|
|
158
|
-
}
|
|
159
|
-
if (configs.length === 1 && environment !== "all") {
|
|
160
|
-
console.log(
|
|
161
|
-
"You can use -e all to download all configurations, or -e <env> for a specific environment."
|
|
162
|
-
);
|
|
163
|
-
}
|
|
164
|
-
for (const config of configs) {
|
|
165
|
-
const envFile = `.env.${config}`;
|
|
166
|
-
const backupFile = `${envFile}.backup`;
|
|
167
|
-
let backupMsg = "";
|
|
168
|
-
if (verbose) {
|
|
169
|
-
console.log(_chalk2.default.blue(`
|
|
170
|
-
\u{1F4E6} Processing config: ${_chalk2.default.cyan(config)}`));
|
|
171
|
-
}
|
|
172
|
-
try {
|
|
173
|
-
if (_fs.existsSync.call(void 0, envFile)) {
|
|
174
|
-
if (verbose) {
|
|
175
|
-
console.log(_chalk2.default.gray(` Creating backup: ${backupFile}`));
|
|
176
|
-
}
|
|
177
|
-
_fs.renameSync.call(void 0, envFile, backupFile);
|
|
178
|
-
backupMsg = "Backed up existing file, ";
|
|
179
|
-
}
|
|
180
|
-
if (verbose) {
|
|
181
|
-
console.log(_chalk2.default.gray(` Downloading secrets from Doppler...`));
|
|
182
|
-
}
|
|
183
|
-
const content = execDoppler(
|
|
184
|
-
[
|
|
185
|
-
"secrets",
|
|
186
|
-
"download",
|
|
187
|
-
"--no-file",
|
|
188
|
-
"--format",
|
|
189
|
-
"env",
|
|
190
|
-
"--config",
|
|
191
|
-
config
|
|
192
|
-
],
|
|
193
|
-
"string",
|
|
194
|
-
!verbose,
|
|
195
|
-
// Only silent if not verbose
|
|
196
|
-
verbose
|
|
197
|
-
);
|
|
198
|
-
if (typeof content === "string") {
|
|
199
|
-
_fs.writeFileSync.call(void 0, envFile, content, "utf-8");
|
|
200
|
-
if (verbose) {
|
|
201
|
-
console.log(_chalk2.default.gray(` Written to: ${envFile}`));
|
|
202
|
-
}
|
|
203
|
-
} else {
|
|
204
|
-
throw new Error("Invalid content received from Doppler");
|
|
205
|
-
}
|
|
206
|
-
console.log(
|
|
207
|
-
`Config ${_chalk2.default.blue(config)}: ${backupMsg}downloaded successfully to ${_chalk2.default.green(envFile)}`
|
|
208
|
-
);
|
|
209
|
-
if (config === "dev" && !_fs.existsSync.call(void 0, ".env")) {
|
|
210
|
-
_fs.copyFileSync.call(void 0, envFile, ".env");
|
|
211
|
-
console.log(
|
|
212
|
-
`Copied ${_chalk2.default.green(".env.dev")} to ${_chalk2.default.green(".env")}`
|
|
213
|
-
);
|
|
214
|
-
}
|
|
215
|
-
if (_fs.existsSync.call(void 0, backupFile)) {
|
|
216
|
-
if (verbose) {
|
|
217
|
-
console.log(_chalk2.default.gray(` Removing backup file`));
|
|
218
|
-
}
|
|
219
|
-
_fs.unlinkSync.call(void 0, backupFile);
|
|
220
|
-
}
|
|
221
|
-
} catch (error) {
|
|
222
|
-
console.error(`Failed to download ${config}: ${_optionalChain([error, 'optionalAccess', _ => _.message]) || error}`);
|
|
223
|
-
if (_fs.existsSync.call(void 0, backupFile)) {
|
|
224
|
-
_fs.renameSync.call(void 0, backupFile, envFile);
|
|
225
|
-
console.log(`Restored backup for ${envFile}`);
|
|
226
|
-
}
|
|
227
|
-
}
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
async function uploadConfigs(options) {
|
|
231
|
-
const { environment, verbose } = options;
|
|
232
|
-
const configs = getConfigs(environment, verbose);
|
|
233
|
-
if (verbose) {
|
|
234
|
-
console.log(
|
|
235
|
-
_chalk2.default.blue(
|
|
236
|
-
`
|
|
237
|
-
\u2B06\uFE0F Starting upload process for ${configs.length} configuration(s)...`
|
|
238
|
-
)
|
|
239
|
-
);
|
|
240
|
-
}
|
|
241
|
-
for (const config of configs) {
|
|
242
|
-
const envFile = `.env.${config}`;
|
|
243
|
-
const backupFile = `${envFile}.doppler`;
|
|
244
|
-
const normalizedFile = `${envFile}.normalized`;
|
|
245
|
-
if (verbose) {
|
|
246
|
-
console.log(_chalk2.default.blue(`
|
|
247
|
-
\u{1F4E6} Processing config: ${_chalk2.default.cyan(config)}`));
|
|
248
|
-
}
|
|
249
|
-
try {
|
|
250
|
-
if (!_fs.existsSync.call(void 0, envFile)) {
|
|
251
|
-
console.log(
|
|
252
|
-
`Config ${config}: ${_chalk2.default.green(envFile)} does not exist. Skipping upload.`
|
|
253
|
-
);
|
|
254
|
-
continue;
|
|
255
|
-
}
|
|
256
|
-
if (verbose) {
|
|
257
|
-
console.log(
|
|
258
|
-
_chalk2.default.gray(` Creating backup of current Doppler config...`)
|
|
259
|
-
);
|
|
260
|
-
}
|
|
261
|
-
try {
|
|
262
|
-
const backupContent2 = execDoppler(
|
|
263
|
-
[
|
|
264
|
-
"secrets",
|
|
265
|
-
"download",
|
|
266
|
-
"--no-file",
|
|
267
|
-
"--format",
|
|
268
|
-
"env",
|
|
269
|
-
"--config",
|
|
270
|
-
config
|
|
271
|
-
],
|
|
272
|
-
"string",
|
|
273
|
-
!verbose,
|
|
274
|
-
// Only silent if not verbose
|
|
275
|
-
verbose
|
|
276
|
-
);
|
|
277
|
-
if (typeof backupContent2 === "string") {
|
|
278
|
-
_fs.writeFileSync.call(void 0, backupFile, backupContent2, "utf-8");
|
|
279
|
-
if (verbose) {
|
|
280
|
-
console.log(_chalk2.default.gray(` Backup created: ${backupFile}`));
|
|
281
|
-
}
|
|
282
|
-
} else {
|
|
283
|
-
throw new Error("Invalid backup content received from Doppler");
|
|
284
|
-
}
|
|
285
|
-
} catch (e4) {
|
|
286
|
-
console.log(
|
|
287
|
-
`Config ${config}: Failed to create backup. Skipping upload.`
|
|
288
|
-
);
|
|
289
|
-
continue;
|
|
290
|
-
}
|
|
291
|
-
if (verbose) {
|
|
292
|
-
console.log(_chalk2.default.gray(` Reading local file: ${envFile}`));
|
|
293
|
-
}
|
|
294
|
-
const localContent = _fs.readFileSync.call(void 0, envFile, "utf-8");
|
|
295
|
-
const normalizedContent = normalizeEscapeSequences(localContent);
|
|
296
|
-
_fs.writeFileSync.call(void 0, normalizedFile, normalizedContent, "utf-8");
|
|
297
|
-
if (verbose) {
|
|
298
|
-
console.log(_chalk2.default.gray(` Comparing local changes with Doppler...`));
|
|
299
|
-
}
|
|
300
|
-
const backupContent = _fs.readFileSync.call(void 0, backupFile, "utf-8");
|
|
301
|
-
const diff = createDiff(backupContent, normalizedContent);
|
|
302
|
-
if (diff.length === 0) {
|
|
303
|
-
console.log(`Config ${config}: No differences found. Skipping upload.`);
|
|
304
|
-
_fs.unlinkSync.call(void 0, backupFile);
|
|
305
|
-
_fs.unlinkSync.call(void 0, normalizedFile);
|
|
306
|
-
continue;
|
|
307
|
-
}
|
|
308
|
-
if (verbose) {
|
|
309
|
-
console.log(_chalk2.default.yellow(` Found ${diff.length} line changes`));
|
|
310
|
-
}
|
|
311
|
-
console.log("\nChanges to be uploaded:");
|
|
312
|
-
for (const line of diff) {
|
|
313
|
-
if (line.startsWith("-")) {
|
|
314
|
-
console.log(_chalk2.default.red(line));
|
|
315
|
-
} else if (line.startsWith("+")) {
|
|
316
|
-
console.log(_chalk2.default.green(line));
|
|
317
|
-
}
|
|
318
|
-
}
|
|
319
|
-
const confirmed = await promptConfirmation(
|
|
320
|
-
"\nDo you want to proceed with the upload? (y/n) "
|
|
321
|
-
);
|
|
322
|
-
if (!confirmed) {
|
|
323
|
-
console.log(`Upload cancelled for ${_chalk2.default.green(envFile)}`);
|
|
324
|
-
_fs.unlinkSync.call(void 0, backupFile);
|
|
325
|
-
_fs.unlinkSync.call(void 0, normalizedFile);
|
|
326
|
-
continue;
|
|
327
|
-
}
|
|
328
|
-
if (verbose) {
|
|
329
|
-
console.log(_chalk2.default.gray(` Uploading to Doppler...`));
|
|
330
|
-
}
|
|
331
|
-
try {
|
|
332
|
-
execDoppler(
|
|
333
|
-
["secrets", "upload", normalizedFile, "--config", config, "--silent"],
|
|
334
|
-
"string",
|
|
335
|
-
!verbose,
|
|
336
|
-
// Only silent if not verbose
|
|
337
|
-
verbose
|
|
338
|
-
);
|
|
339
|
-
if (config === "dev") {
|
|
340
|
-
console.log(
|
|
341
|
-
`Config ${_chalk2.default.blue(config)}: Successfully uploaded ${_chalk2.default.green(envFile)}`
|
|
342
|
-
);
|
|
343
|
-
} else {
|
|
344
|
-
console.log(
|
|
345
|
-
`Config ${config}: Successfully uploaded ${_chalk2.default.green(envFile)}`
|
|
346
|
-
);
|
|
347
|
-
}
|
|
348
|
-
} catch (e5) {
|
|
349
|
-
console.error(
|
|
350
|
-
`Config ${config}: Failed to upload ${_chalk2.default.green(envFile)}. Restoring previous configuration.`
|
|
351
|
-
);
|
|
352
|
-
try {
|
|
353
|
-
if (verbose) {
|
|
354
|
-
console.log(_chalk2.default.gray(` Restoring previous configuration...`));
|
|
355
|
-
}
|
|
356
|
-
execDoppler(
|
|
357
|
-
["secrets", "upload", backupFile, "--config", config, "--silent"],
|
|
358
|
-
"string",
|
|
359
|
-
!verbose,
|
|
360
|
-
// Only silent if not verbose
|
|
361
|
-
verbose
|
|
362
|
-
);
|
|
363
|
-
console.log(
|
|
364
|
-
`Config ${config}: Successfully restored previous configuration`
|
|
365
|
-
);
|
|
366
|
-
} catch (e6) {
|
|
367
|
-
console.error(
|
|
368
|
-
`Config ${config}: Failed to restore previous configuration`
|
|
369
|
-
);
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
if (_fs.existsSync.call(void 0, backupFile)) {
|
|
373
|
-
_fs.unlinkSync.call(void 0, backupFile);
|
|
374
|
-
}
|
|
375
|
-
if (_fs.existsSync.call(void 0, normalizedFile)) {
|
|
376
|
-
_fs.unlinkSync.call(void 0, normalizedFile);
|
|
377
|
-
}
|
|
378
|
-
} catch (error) {
|
|
379
|
-
console.error(
|
|
380
|
-
`Error processing config ${config}: ${_optionalChain([error, 'optionalAccess', _2 => _2.message]) || error}`
|
|
381
|
-
);
|
|
382
|
-
if (_fs.existsSync.call(void 0, backupFile)) {
|
|
383
|
-
_fs.unlinkSync.call(void 0, backupFile);
|
|
384
|
-
}
|
|
385
|
-
if (_fs.existsSync.call(void 0, normalizedFile)) {
|
|
386
|
-
_fs.unlinkSync.call(void 0, normalizedFile);
|
|
387
|
-
}
|
|
388
|
-
}
|
|
389
|
-
}
|
|
390
|
-
}
|
|
391
|
-
|
|
392
|
-
|
|
393
|
-
|
|
394
|
-
|
|
395
|
-
|
|
396
|
-
|
|
397
|
-
|
|
398
|
-
|
|
399
|
-
|
|
400
|
-
|
|
401
|
-
exports.execDoppler = execDoppler; exports.checkDependencies = checkDependencies; exports.getConfigs = getConfigs; exports.normalizeEscapeSequences = normalizeEscapeSequences; exports.createDiff = createDiff; exports.promptConfirmation = promptConfirmation; exports.downloadConfigs = downloadConfigs; exports.uploadConfigs = uploadConfigs;
|
|
@@ -1,117 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; } function _nullishCoalesce(lhs, rhsFn) { if (lhs != null) { return lhs; } else { return rhsFn(); } } 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; }
|
|
2
|
-
|
|
3
|
-
|
|
4
|
-
|
|
5
|
-
var _4SFWHCB3cjs = require('./4SFWHCB3.cjs');
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
var _J36P6UNEcjs = require('./J36P6UNE.cjs');
|
|
10
|
-
|
|
11
|
-
// src/commands/icons/handler.js
|
|
12
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
13
|
-
var _zod = require('zod');
|
|
14
|
-
async function iconsCommand(options) {
|
|
15
|
-
try {
|
|
16
|
-
const validatedOptions = _J36P6UNEcjs.iconsCommandOptionsSchema.parse(options);
|
|
17
|
-
if (validatedOptions.help) {
|
|
18
|
-
console.log(_chalk2.default.bold(`
|
|
19
|
-
Usage: mtn icons <input> [options]`));
|
|
20
|
-
console.log(_chalk2.default.gray(_J36P6UNEcjs.iconsCommandMetadata.description));
|
|
21
|
-
console.log(_chalk2.default.bold("\nOptions:"));
|
|
22
|
-
Object.entries(_J36P6UNEcjs.iconsCommandOptionsSchema.shape).forEach(
|
|
23
|
-
([key, fieldSchema]) => {
|
|
24
|
-
if (key === "input") return;
|
|
25
|
-
const description = fieldSchema.description || "No description available";
|
|
26
|
-
const optionMeta = (
|
|
27
|
-
/** @type {any} */
|
|
28
|
-
_J36P6UNEcjs.iconsCommandMetadata.options[key]
|
|
29
|
-
);
|
|
30
|
-
const defaultValue = _nullishCoalesce(_optionalChain([optionMeta, 'optionalAccess', _ => _.default]), () => ( false));
|
|
31
|
-
const alias = _optionalChain([optionMeta, 'optionalAccess', _2 => _2.alias]) ? _chalk2.default.cyan(`, -${optionMeta.alias}`) : "";
|
|
32
|
-
console.log(
|
|
33
|
-
_chalk2.default.cyan(` --${key}`) + alias + ` ${description} (default: ${defaultValue})`
|
|
34
|
-
);
|
|
35
|
-
}
|
|
36
|
-
);
|
|
37
|
-
console.log("");
|
|
38
|
-
return;
|
|
39
|
-
}
|
|
40
|
-
const { input, channels, iconTypes, verbose } = validatedOptions;
|
|
41
|
-
if (verbose) {
|
|
42
|
-
console.log(_chalk2.default.blue("\n\u{1F4F1} Icon Generation"));
|
|
43
|
-
console.log(_chalk2.default.gray(` Input directory: ${input}`));
|
|
44
|
-
console.log(_chalk2.default.gray(` Channels: ${channels.join(", ")}`));
|
|
45
|
-
console.log(_chalk2.default.gray(` Icon types: ${iconTypes.join(", ")}`));
|
|
46
|
-
}
|
|
47
|
-
_4SFWHCB3cjs.checkDependencies.call(void 0, verbose);
|
|
48
|
-
_4SFWHCB3cjs.validateBaseIcons.call(void 0, input, iconTypes, verbose);
|
|
49
|
-
const result = _4SFWHCB3cjs.generateAllIcons.call(void 0, {
|
|
50
|
-
baseDir: input,
|
|
51
|
-
channels,
|
|
52
|
-
iconTypes,
|
|
53
|
-
verbose
|
|
54
|
-
});
|
|
55
|
-
console.log(_chalk2.default.bold("\n\u{1F4CA} Summary:"));
|
|
56
|
-
console.log(
|
|
57
|
-
_chalk2.default.green(
|
|
58
|
-
` \u2713 Successfully generated: ${result.success.length} icon(s)`
|
|
59
|
-
)
|
|
60
|
-
);
|
|
61
|
-
if (result.failed.length > 0) {
|
|
62
|
-
console.log(_chalk2.default.red(` \u2717 Failed: ${result.failed.length} icon(s)`));
|
|
63
|
-
result.failed.forEach(({ icon, error }) => {
|
|
64
|
-
console.log(_chalk2.default.red(` - ${icon}: ${error}`));
|
|
65
|
-
});
|
|
66
|
-
process.exit(1);
|
|
67
|
-
}
|
|
68
|
-
console.log(_chalk2.default.green(`
|
|
69
|
-
\u2705 All icons generated successfully!`));
|
|
70
|
-
} catch (error) {
|
|
71
|
-
if (error instanceof _zod.ZodError) {
|
|
72
|
-
console.error(_chalk2.default.red(`
|
|
73
|
-
\u274C Invalid command options:`));
|
|
74
|
-
error.errors.forEach((err) => {
|
|
75
|
-
console.error(_chalk2.default.red(` ${err.path.join(".")}: ${err.message}`));
|
|
76
|
-
});
|
|
77
|
-
process.exit(1);
|
|
78
|
-
}
|
|
79
|
-
const verbose = (
|
|
80
|
-
/** @type {any} */
|
|
81
|
-
_optionalChain([options, 'optionalAccess', _3 => _3.verbose]) || false
|
|
82
|
-
);
|
|
83
|
-
console.error(_chalk2.default.red(`
|
|
84
|
-
\u274C Icon generation failed:`));
|
|
85
|
-
if (error instanceof Error) {
|
|
86
|
-
console.error(_chalk2.default.red(` ${error.message}`));
|
|
87
|
-
if (verbose && error.stack) {
|
|
88
|
-
console.error(_chalk2.default.gray("\nStack trace:"));
|
|
89
|
-
console.error(_chalk2.default.gray(error.stack));
|
|
90
|
-
}
|
|
91
|
-
} else {
|
|
92
|
-
console.error(_chalk2.default.red(` ${String(error)}`));
|
|
93
|
-
}
|
|
94
|
-
console.error(_chalk2.default.yellow("\n\u{1F4A1} Troubleshooting tips:"));
|
|
95
|
-
console.error(
|
|
96
|
-
_chalk2.default.yellow(
|
|
97
|
-
" \u2022 Ensure ImageMagick is installed (brew install imagemagick)"
|
|
98
|
-
)
|
|
99
|
-
);
|
|
100
|
-
console.error(
|
|
101
|
-
_chalk2.default.yellow(
|
|
102
|
-
" \u2022 Make sure icon.png and adaptive-icon.png exist in the input directory"
|
|
103
|
-
)
|
|
104
|
-
);
|
|
105
|
-
console.error(
|
|
106
|
-
_chalk2.default.yellow(" \u2022 Verify the input directory path is correct")
|
|
107
|
-
);
|
|
108
|
-
console.error(
|
|
109
|
-
_chalk2.default.yellow(" \u2022 Use --verbose for detailed error information\n")
|
|
110
|
-
);
|
|
111
|
-
process.exit(1);
|
|
112
|
-
}
|
|
113
|
-
}
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
exports.iconsCommand = iconsCommand;
|
|
@@ -1,75 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true});// src/commands/icons/schema.js
|
|
2
|
-
var _zod = require('zod');
|
|
3
|
-
var CHANNELS = ["dev", "staging", "test"];
|
|
4
|
-
var ICON_TYPES = ["icon", "adaptive-icon"];
|
|
5
|
-
var CHANNEL_TEXT_MAP = {
|
|
6
|
-
dev: "DEV",
|
|
7
|
-
local: "LOC",
|
|
8
|
-
staging: "STG",
|
|
9
|
-
test: "TST"
|
|
10
|
-
};
|
|
11
|
-
var ICON_SIZE_MAP = {
|
|
12
|
-
"adaptive-icon": 250,
|
|
13
|
-
icon: 378
|
|
14
|
-
};
|
|
15
|
-
var iconsCommandOptionsSchema = _zod.z.object({
|
|
16
|
-
input: _zod.z.string().describe(
|
|
17
|
-
"Path to the input image directory containing icon.png and adaptive-icon.png"
|
|
18
|
-
),
|
|
19
|
-
channels: _zod.z.array(_zod.z.enum(["dev", "local", "staging", "test"])).optional().default(["dev", "local", "staging", "test"]).describe("Channels to generate icons for"),
|
|
20
|
-
iconTypes: _zod.z.array(_zod.z.enum(["icon", "adaptive-icon"])).optional().default(["icon", "adaptive-icon"]).describe("Icon types to generate"),
|
|
21
|
-
verbose: _zod.z.boolean().optional().default(false).describe("Enable verbose logging for detailed error information"),
|
|
22
|
-
help: _zod.z.boolean().optional().default(false).describe("Display help for command")
|
|
23
|
-
});
|
|
24
|
-
var iconsCommandMetadata = {
|
|
25
|
-
name: "icons",
|
|
26
|
-
description: `Generate app channel version icons with overlay text
|
|
27
|
-
|
|
28
|
-
This command generates icon variants for different app channels (dev, local, staging, test)
|
|
29
|
-
by overlaying text on base icon images using ImageMagick.
|
|
30
|
-
|
|
31
|
-
Requirements:
|
|
32
|
-
\u2022 ImageMagick must be installed (brew install imagemagick)
|
|
33
|
-
\u2022 Base icons (icon.png, adaptive-icon.png) must exist in the input directory
|
|
34
|
-
|
|
35
|
-
Examples:
|
|
36
|
-
$ mtn icons ./apps/my-app/assets # Generate all channel icons
|
|
37
|
-
$ mtn icons ./assets -c dev,staging # Generate only dev and staging icons
|
|
38
|
-
$ mtn icons ./assets -t icon # Generate only standard icons
|
|
39
|
-
$ mtn icons ./assets -v # Verbose output`,
|
|
40
|
-
options: {
|
|
41
|
-
input: {
|
|
42
|
-
description: iconsCommandOptionsSchema.shape.input.description,
|
|
43
|
-
required: true
|
|
44
|
-
},
|
|
45
|
-
channels: {
|
|
46
|
-
description: iconsCommandOptionsSchema.shape.channels.description,
|
|
47
|
-
default: "dev,local,staging,test",
|
|
48
|
-
alias: "c"
|
|
49
|
-
},
|
|
50
|
-
iconTypes: {
|
|
51
|
-
description: iconsCommandOptionsSchema.shape.iconTypes.description,
|
|
52
|
-
default: "icon,adaptive-icon",
|
|
53
|
-
alias: "t"
|
|
54
|
-
},
|
|
55
|
-
verbose: {
|
|
56
|
-
description: iconsCommandOptionsSchema.shape.verbose.description,
|
|
57
|
-
default: false,
|
|
58
|
-
alias: "v"
|
|
59
|
-
},
|
|
60
|
-
help: {
|
|
61
|
-
description: iconsCommandOptionsSchema.shape.help.description,
|
|
62
|
-
default: false,
|
|
63
|
-
alias: "h"
|
|
64
|
-
}
|
|
65
|
-
}
|
|
66
|
-
};
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
exports.CHANNELS = CHANNELS; exports.ICON_TYPES = ICON_TYPES; exports.CHANNEL_TEXT_MAP = CHANNEL_TEXT_MAP; exports.ICON_SIZE_MAP = ICON_SIZE_MAP; exports.iconsCommandOptionsSchema = iconsCommandOptionsSchema; exports.iconsCommandMetadata = iconsCommandMetadata;
|
|
@@ -1,92 +0,0 @@
|
|
|
1
|
-
"use strict";Object.defineProperty(exports, "__esModule", {value: true}); function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }// src/commands/doppler/utils/exec.js
|
|
2
|
-
var _child_process = require('child_process');
|
|
3
|
-
var _chalk = require('chalk'); var _chalk2 = _interopRequireDefault(_chalk);
|
|
4
|
-
function exec(command, options = {}) {
|
|
5
|
-
const {
|
|
6
|
-
stdoutParser = "string",
|
|
7
|
-
throwOnError = true,
|
|
8
|
-
verbosity = "default",
|
|
9
|
-
stdio: userStdio,
|
|
10
|
-
...execSyncOptions
|
|
11
|
-
} = options;
|
|
12
|
-
try {
|
|
13
|
-
if (verbosity === "verbose") {
|
|
14
|
-
console.log(_chalk2.default.gray(` Executing: ${command}`));
|
|
15
|
-
}
|
|
16
|
-
let stdio;
|
|
17
|
-
if (userStdio) {
|
|
18
|
-
stdio = userStdio;
|
|
19
|
-
} else if (verbosity === "verbose") {
|
|
20
|
-
stdio = "inherit";
|
|
21
|
-
} else if (verbosity === "silent") {
|
|
22
|
-
stdio = "pipe";
|
|
23
|
-
} else {
|
|
24
|
-
stdio = ["pipe", "pipe", "pipe"];
|
|
25
|
-
}
|
|
26
|
-
const result = (
|
|
27
|
-
/** @type {string} */
|
|
28
|
-
_child_process.execSync.call(void 0, command, {
|
|
29
|
-
encoding: "utf-8",
|
|
30
|
-
stdio,
|
|
31
|
-
...execSyncOptions
|
|
32
|
-
})
|
|
33
|
-
);
|
|
34
|
-
if (stdio === "inherit") {
|
|
35
|
-
return stdoutParser === "string" ? "" : void 0;
|
|
36
|
-
}
|
|
37
|
-
if (!result || typeof result === "string" && !result.trim()) {
|
|
38
|
-
return stdoutParser === "string" ? "" : void 0;
|
|
39
|
-
}
|
|
40
|
-
switch (stdoutParser) {
|
|
41
|
-
case "json": {
|
|
42
|
-
try {
|
|
43
|
-
return JSON.parse(result);
|
|
44
|
-
} catch (parseError) {
|
|
45
|
-
if (throwOnError) {
|
|
46
|
-
throw new Error(
|
|
47
|
-
`Failed to parse JSON output: ${parseError.message}`
|
|
48
|
-
);
|
|
49
|
-
}
|
|
50
|
-
return void 0;
|
|
51
|
-
}
|
|
52
|
-
}
|
|
53
|
-
case "number": {
|
|
54
|
-
const num = parseFloat(result.trim());
|
|
55
|
-
if (isNaN(num)) {
|
|
56
|
-
if (throwOnError) {
|
|
57
|
-
throw new Error(`Failed to parse number from output: ${result}`);
|
|
58
|
-
}
|
|
59
|
-
return void 0;
|
|
60
|
-
}
|
|
61
|
-
return num;
|
|
62
|
-
}
|
|
63
|
-
case "string":
|
|
64
|
-
default:
|
|
65
|
-
return result;
|
|
66
|
-
}
|
|
67
|
-
} catch (error) {
|
|
68
|
-
if (!throwOnError) {
|
|
69
|
-
return void 0;
|
|
70
|
-
}
|
|
71
|
-
if (error.stderr) {
|
|
72
|
-
throw new Error(error.stderr.toString());
|
|
73
|
-
}
|
|
74
|
-
throw error;
|
|
75
|
-
}
|
|
76
|
-
}
|
|
77
|
-
function execString(command, options = {}) {
|
|
78
|
-
return exec(command, { ...options, stdoutParser: "string" });
|
|
79
|
-
}
|
|
80
|
-
function execJson(command, options = {}) {
|
|
81
|
-
return exec(command, { ...options, stdoutParser: "json" });
|
|
82
|
-
}
|
|
83
|
-
function execNumber(command, options = {}) {
|
|
84
|
-
return exec(command, { ...options, stdoutParser: "number" });
|
|
85
|
-
}
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
exports.exec = exec; exports.execString = execString; exports.execJson = execJson; exports.execNumber = execNumber;
|