@padua/cli 1.3.0 → 1.4.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/commands/login/config.d.ts.map +1 -1
- package/dist/commands/login/config.js +2 -8
- package/dist/commands/login/config.js.map +1 -1
- package/dist/commands/login/index.d.ts.map +1 -1
- package/dist/commands/login/index.js +55 -0
- package/dist/commands/login/index.js.map +1 -1
- package/dist/commands/login/sso.d.ts +13 -0
- package/dist/commands/login/sso.d.ts.map +1 -1
- package/dist/commands/login/sso.js +72 -0
- package/dist/commands/login/sso.js.map +1 -1
- package/dist/commands/login/types.d.ts +2 -0
- package/dist/commands/login/types.d.ts.map +1 -1
- package/dist/commands/login/types.js.map +1 -1
- package/dist/commands/profile/index.d.ts +39 -0
- package/dist/commands/profile/index.d.ts.map +1 -0
- package/dist/commands/profile/index.js +266 -0
- package/dist/commands/profile/index.js.map +1 -0
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/login/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../../src/commands/login/config.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AAiBtC;;;GAGG;AACH,wBAAsB,UAAU,IAAI,OAAO,CAAC,WAAW,GAAG,IAAI,CAAC,CAc9D;AAED;;GAEG;AACH,wBAAsB,UAAU,CAAC,MAAM,EAAE,WAAW,EAAE,QAAQ,GAAE,OAAO,GAAG,QAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAkB3G"}
|
|
@@ -40,16 +40,10 @@ const path = __importStar(require("path"));
|
|
|
40
40
|
const os = __importStar(require("os"));
|
|
41
41
|
const CONFIG_FILENAME = 'padua.config.json';
|
|
42
42
|
/**
|
|
43
|
-
* Get the path to the config file
|
|
44
|
-
*
|
|
43
|
+
* Get the path to the global config file (~/.padua/padua.config.json)
|
|
44
|
+
* Config is only loaded from the global location to ensure consistency
|
|
45
45
|
*/
|
|
46
46
|
function getConfigPath() {
|
|
47
|
-
// Check current directory first
|
|
48
|
-
const localPath = path.join(process.cwd(), CONFIG_FILENAME);
|
|
49
|
-
if (fs.existsSync(localPath)) {
|
|
50
|
-
return localPath;
|
|
51
|
-
}
|
|
52
|
-
// Check ~/.padua/ directory
|
|
53
47
|
const globalPath = path.join(os.homedir(), '.padua', CONFIG_FILENAME);
|
|
54
48
|
if (fs.existsSync(globalPath)) {
|
|
55
49
|
return globalPath;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/login/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
1
|
+
{"version":3,"file":"config.js","sourceRoot":"","sources":["../../../src/commands/login/config.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAwBA,gCAcC;AAKD,gCAkBC;AA7DD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAM,eAAe,GAAG,mBAAmB,CAAC;AAE5C;;;GAGG;AACH,SAAS,aAAa;IACpB,MAAM,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;IACtE,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;QAC9B,OAAO,UAAU,CAAC;IACpB,CAAC;IAED,OAAO,IAAI,CAAC;AACd,CAAC;AAED;;;GAGG;AACI,KAAK,UAAU,UAAU;IAC9B,MAAM,UAAU,GAAG,aAAa,EAAE,CAAC;IAEnC,IAAI,CAAC,UAAU,EAAE,CAAC;QAChB,OAAO,IAAI,CAAC;IACd,CAAC;IAED,IAAI,CAAC;QACH,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;QACrD,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,OAAO,CAAgB,CAAC;QAClD,OAAO,MAAM,CAAC;IAChB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,8BAA8B,UAAU,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IAC3F,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU,CAAC,MAAmB,EAAE,WAA+B,OAAO;IAC1F,IAAI,UAAkB,CAAC;IAEvB,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QAC1B,MAAM,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,QAAQ,CAAC,CAAC;QACnD,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,EAAE,CAAC;YAC7B,EAAE,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC;QAC9C,CAAC;QACD,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,eAAe,CAAC,CAAC;IACpD,CAAC;SAAM,CAAC;QACN,UAAU,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,eAAe,CAAC,CAAC;IACzD,CAAC;IAED,IAAI,CAAC;QACH,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,GAAG,IAAI,EAAE,OAAO,CAAC,CAAC;IAChF,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,UAAU,KAAM,KAAe,CAAC,OAAO,EAAE,CAAC,CAAC;IACzF,CAAC;AACH,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC;;GAEG;AACH,eAAO,MAAM,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/login/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAcpC;;GAEG;AACH,eAAO,MAAM,YAAY,SAQH,CAAC"}
|
|
@@ -18,6 +18,7 @@ exports.loginCommand = new commander_1.Command('login')
|
|
|
18
18
|
.description('Authenticate to AWS SSO, CodeArtifact (npm), and ECR (Docker)')
|
|
19
19
|
.option('-p, --profile <name>', 'AWS SSO profile to use')
|
|
20
20
|
.option('--sso-only', 'Only authenticate to SSO, skip CodeArtifact and ECR')
|
|
21
|
+
.option('--list-profiles', 'List available AWS SSO profiles and exit')
|
|
21
22
|
.option('--no-color', 'Disable colored output')
|
|
22
23
|
.option('-q, --quiet', 'Suppress non-error output')
|
|
23
24
|
.option('-v, --verbose', 'Show detailed output')
|
|
@@ -26,8 +27,62 @@ exports.loginCommand = new commander_1.Command('login')
|
|
|
26
27
|
* Handle the login command execution
|
|
27
28
|
*/
|
|
28
29
|
async function handleLogin(options) {
|
|
30
|
+
const noColor = options.noColor ?? false;
|
|
31
|
+
// Handle --list-profiles flag
|
|
32
|
+
if (options.listProfiles) {
|
|
33
|
+
const profiles = (0, sso_1.listSSOProfiles)();
|
|
34
|
+
if (profiles.length === 0) {
|
|
35
|
+
if (!noColor) {
|
|
36
|
+
console.log(chalk_1.default.yellow('No AWS SSO profiles found.'));
|
|
37
|
+
console.log(chalk_1.default.gray('Run: padua init'));
|
|
38
|
+
}
|
|
39
|
+
else {
|
|
40
|
+
console.log('No AWS SSO profiles found.');
|
|
41
|
+
console.log('Run: padua init');
|
|
42
|
+
}
|
|
43
|
+
process.exit(1);
|
|
44
|
+
}
|
|
45
|
+
if (!noColor) {
|
|
46
|
+
console.log(chalk_1.default.cyan.bold('Available AWS SSO profiles:'));
|
|
47
|
+
}
|
|
48
|
+
else {
|
|
49
|
+
console.log('Available AWS SSO profiles:');
|
|
50
|
+
}
|
|
51
|
+
profiles.forEach(p => console.log(` ${p}`));
|
|
52
|
+
process.exit(0);
|
|
53
|
+
}
|
|
29
54
|
const config = await (0, config_1.loadConfig)();
|
|
30
55
|
const profile = (0, types_1.getEffectiveProfile)(options, config ?? undefined);
|
|
56
|
+
// Validate profile exists before attempting login
|
|
57
|
+
if (!(0, sso_1.profileExists)(profile)) {
|
|
58
|
+
const available = (0, sso_1.listSSOProfiles)();
|
|
59
|
+
if (!noColor) {
|
|
60
|
+
console.error(chalk_1.default.red(`Profile '${profile}' not found in ~/.aws/config`));
|
|
61
|
+
}
|
|
62
|
+
else {
|
|
63
|
+
console.error(`Profile '${profile}' not found in ~/.aws/config`);
|
|
64
|
+
}
|
|
65
|
+
console.error('');
|
|
66
|
+
if (available.length > 0) {
|
|
67
|
+
if (!noColor) {
|
|
68
|
+
console.error(chalk_1.default.cyan('Available profiles:'));
|
|
69
|
+
}
|
|
70
|
+
else {
|
|
71
|
+
console.error('Available profiles:');
|
|
72
|
+
}
|
|
73
|
+
available.slice(0, 10).forEach(p => console.error(` ${p}`));
|
|
74
|
+
if (available.length > 10) {
|
|
75
|
+
console.error(` ... and ${available.length - 10} more`);
|
|
76
|
+
}
|
|
77
|
+
console.error('');
|
|
78
|
+
console.error(`Use: padua login -p <profile>`);
|
|
79
|
+
console.error(`Or update ~/.padua/padua.config.json with a valid defaultProfile`);
|
|
80
|
+
}
|
|
81
|
+
else {
|
|
82
|
+
console.error('No SSO profiles found. Run: padua init');
|
|
83
|
+
}
|
|
84
|
+
process.exit(2);
|
|
85
|
+
}
|
|
31
86
|
const result = {
|
|
32
87
|
sso: { success: false, skipped: false, duration: 0 },
|
|
33
88
|
codeartifact: { success: false, skipped: false, duration: 0 },
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/login/index.ts"],"names":[],"mappings":";;;;;;AAAA,yCAAoC;AACpC,kDAA0B;AAC1B,qCAAsC;AACtC,+
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/login/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -14,4 +14,17 @@ export declare function authenticateSSO(profile: string, options: LoginOptions):
|
|
|
14
14
|
* @returns true if session is valid, false otherwise
|
|
15
15
|
*/
|
|
16
16
|
export declare function checkSSOSession(profile: string): Promise<boolean>;
|
|
17
|
+
/**
|
|
18
|
+
* List available AWS SSO profiles from ~/.aws/config
|
|
19
|
+
*
|
|
20
|
+
* @returns Array of profile names that have SSO configuration
|
|
21
|
+
*/
|
|
22
|
+
export declare function listSSOProfiles(): string[];
|
|
23
|
+
/**
|
|
24
|
+
* Check if a profile exists in ~/.aws/config
|
|
25
|
+
*
|
|
26
|
+
* @param profileName - Name of the profile to check
|
|
27
|
+
* @returns true if profile exists, false otherwise
|
|
28
|
+
*/
|
|
29
|
+
export declare function profileExists(profileName: string): boolean;
|
|
17
30
|
//# sourceMappingURL=sso.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../src/commands/login/sso.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sso.d.ts","sourceRoot":"","sources":["../../../src/commands/login/sso.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,SAAS,CAAC;AAKtD;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,OAAO,EAAE,MAAM,EACf,OAAO,EAAE,YAAY,GACpB,OAAO,CAAC,aAAa,CAAC,CA2DxB;AAED;;;;;GAKG;AACH,wBAAsB,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAevE;AAED;;;;GAIG;AACH,wBAAgB,eAAe,IAAI,MAAM,EAAE,CAqB1C;AAED;;;;;GAKG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAG1D"}
|
|
@@ -1,8 +1,46 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
+
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
+
}) : function(o, v) {
|
|
16
|
+
o["default"] = v;
|
|
17
|
+
});
|
|
18
|
+
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
+
var ownKeys = function(o) {
|
|
20
|
+
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
+
var ar = [];
|
|
22
|
+
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
+
return ar;
|
|
24
|
+
};
|
|
25
|
+
return ownKeys(o);
|
|
26
|
+
};
|
|
27
|
+
return function (mod) {
|
|
28
|
+
if (mod && mod.__esModule) return mod;
|
|
29
|
+
var result = {};
|
|
30
|
+
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
+
__setModuleDefault(result, mod);
|
|
32
|
+
return result;
|
|
33
|
+
};
|
|
34
|
+
})();
|
|
2
35
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
36
|
exports.authenticateSSO = authenticateSSO;
|
|
4
37
|
exports.checkSSOSession = checkSSOSession;
|
|
38
|
+
exports.listSSOProfiles = listSSOProfiles;
|
|
39
|
+
exports.profileExists = profileExists;
|
|
5
40
|
const child_process_1 = require("child_process");
|
|
41
|
+
const fs = __importStar(require("fs"));
|
|
42
|
+
const path = __importStar(require("path"));
|
|
43
|
+
const os = __importStar(require("os"));
|
|
6
44
|
const utils_1 = require("./utils");
|
|
7
45
|
const SSO_TIMEOUT_MS = 60000; // 60 seconds for browser interaction
|
|
8
46
|
/**
|
|
@@ -84,4 +122,38 @@ async function checkSSOSession(profile) {
|
|
|
84
122
|
});
|
|
85
123
|
return result.status === 0;
|
|
86
124
|
}
|
|
125
|
+
/**
|
|
126
|
+
* List available AWS SSO profiles from ~/.aws/config
|
|
127
|
+
*
|
|
128
|
+
* @returns Array of profile names that have SSO configuration
|
|
129
|
+
*/
|
|
130
|
+
function listSSOProfiles() {
|
|
131
|
+
const awsConfigPath = path.join(os.homedir(), '.aws', 'config');
|
|
132
|
+
if (!fs.existsSync(awsConfigPath)) {
|
|
133
|
+
return [];
|
|
134
|
+
}
|
|
135
|
+
try {
|
|
136
|
+
const content = fs.readFileSync(awsConfigPath, 'utf-8');
|
|
137
|
+
const profilePattern = /^\[profile ([^\]]+)\]/gm;
|
|
138
|
+
const profiles = [];
|
|
139
|
+
let match;
|
|
140
|
+
while ((match = profilePattern.exec(content)) !== null) {
|
|
141
|
+
profiles.push(match[1]);
|
|
142
|
+
}
|
|
143
|
+
return profiles.sort();
|
|
144
|
+
}
|
|
145
|
+
catch {
|
|
146
|
+
return [];
|
|
147
|
+
}
|
|
148
|
+
}
|
|
149
|
+
/**
|
|
150
|
+
* Check if a profile exists in ~/.aws/config
|
|
151
|
+
*
|
|
152
|
+
* @param profileName - Name of the profile to check
|
|
153
|
+
* @returns true if profile exists, false otherwise
|
|
154
|
+
*/
|
|
155
|
+
function profileExists(profileName) {
|
|
156
|
+
const profiles = listSSOProfiles();
|
|
157
|
+
return profiles.includes(profileName);
|
|
158
|
+
}
|
|
87
159
|
//# sourceMappingURL=sso.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/commands/login/sso.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"sso.js","sourceRoot":"","sources":["../../../src/commands/login/sso.ts"],"names":[],"mappings":"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"}
|
|
@@ -78,6 +78,8 @@ export interface LoginOptions {
|
|
|
78
78
|
quiet?: boolean;
|
|
79
79
|
/** Enable verbose output with debugging information */
|
|
80
80
|
verbose?: boolean;
|
|
81
|
+
/** List available AWS SSO profiles and exit */
|
|
82
|
+
listProfiles?: boolean;
|
|
81
83
|
}
|
|
82
84
|
/** Check if a value is a valid AWS account ID (12-digit string) */
|
|
83
85
|
export declare function isValidAccountId(value: string): boolean;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/login/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IAEf,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IAEjB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IAEjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,GAAG,EAAE,aAAa,CAAC;IAEnB,wDAAwD;IACxD,YAAY,EAAE,aAAa,CAAC;IAE5B,gDAAgD;IAChD,GAAG,EAAE,aAAa,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/commands/login/types.ts"],"names":[],"mappings":"AAAA;;;;;;;;GAQG;AAEH;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,mEAAmE;IACnE,cAAc,CAAC,EAAE,MAAM,CAAC;IAExB,2EAA2E;IAC3E,MAAM,CAAC,EAAE,MAAM,CAAC;IAEhB,mEAAmE;IACnE,YAAY,CAAC,EAAE,kBAAkB,CAAC;IAElC,2DAA2D;IAC3D,GAAG,CAAC,EAAE,SAAS,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,wEAAwE;IACxE,MAAM,EAAE,MAAM,CAAC;IAEf,+DAA+D;IAC/D,WAAW,EAAE,MAAM,CAAC;IAEpB,qDAAqD;IACrD,UAAU,EAAE,MAAM,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,SAAS;IACxB,4DAA4D;IAC5D,SAAS,EAAE,MAAM,CAAC;IAElB,6CAA6C;IAC7C,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,uCAAuC;IACvC,OAAO,EAAE,OAAO,CAAC;IAEjB,uDAAuD;IACvD,OAAO,EAAE,OAAO,CAAC;IAEjB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf,6DAA6D;IAC7D,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC1B,oCAAoC;IACpC,GAAG,EAAE,aAAa,CAAC;IAEnB,wDAAwD;IACxD,YAAY,EAAE,aAAa,CAAC;IAE5B,gDAAgD;IAChD,GAAG,EAAE,aAAa,CAAC;CACpB;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAC3B,2CAA2C;IAC3C,OAAO,CAAC,EAAE,MAAM,CAAC;IAEjB,0DAA0D;IAC1D,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,yCAAyC;IACzC,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,wCAAwC;IACxC,KAAK,CAAC,EAAE,OAAO,CAAC;IAEhB,uDAAuD;IACvD,OAAO,CAAC,EAAE,OAAO,CAAC;IAElB,+CAA+C;IAC/C,YAAY,CAAC,EAAE,OAAO,CAAC;CACxB;AAID,mEAAmE;AACnE,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEvD;AAED,kDAAkD;AAClD,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAapD;AAED,oFAAoF;AACpF,wBAAgB,kBAAkB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEzD;AAED,sEAAsE;AACtE,wBAAgB,iBAAiB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAExD;AAED,oFAAoF;AACpF,wBAAgB,qBAAqB,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE5D;AAED,yDAAyD;AACzD,wBAAgB,qBAAqB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAElE;AAED,gDAAgD;AAChD,wBAAgB,YAAY,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAEzD;AAED,oFAAoF;AACpF,wBAAgB,mBAAmB,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAEvF;AAED,0EAA0E;AAC1E,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,WAAW,GAAG,MAAM,CAE/D"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/login/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/commands/login/types.ts"],"names":[],"mappings":";AAAA;;;;;;;;GAQG;;AAqGH,4CAEC;AAGD,sCAaC;AAGD,gDAEC;AAGD,8CAEC;AAGD,sDAEC;AAGD,sDAEC;AAGD,oCAEC;AAGD,kDAEC;AAGD,gDAEC;AAxDD,cAAc;AAEd,mEAAmE;AACnE,SAAgB,gBAAgB,CAAC,KAAa;IAC5C,OAAO,UAAU,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAChC,CAAC;AAED,kDAAkD;AAClD,SAAgB,aAAa,CAAC,KAAa;IACzC,MAAM,YAAY,GAAG;QACnB,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,WAAW;QAClD,WAAW,EAAE,WAAW,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY;QACnE,gBAAgB,EAAE,gBAAgB,EAAE,gBAAgB;QACpD,gBAAgB,EAAE,gBAAgB;QAClC,YAAY;QACZ,cAAc;QACd,WAAW;QACX,YAAY;QACZ,YAAY;KACb,CAAC;IACF,OAAO,YAAY,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,oFAAoF;AACpF,SAAgB,kBAAkB,CAAC,KAAa;IAC9C,OAAO,yBAAyB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AAC/C,CAAC;AAED,sEAAsE;AACtE,SAAgB,iBAAiB,CAAC,KAAa;IAC7C,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5F,CAAC;AAED,oFAAoF;AACpF,SAAgB,qBAAqB,CAAC,KAAa;IACjD,OAAO,oBAAoB,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,GAAG,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC5F,CAAC;AAED,yDAAyD;AACzD,SAAgB,qBAAqB,CAAC,MAAmB;IACvD,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,YAAY,EAAE,MAAM,IAAI,MAAM,CAAC,YAAY,EAAE,WAAW,IAAI,MAAM,CAAC,YAAY,EAAE,UAAU,CAAC,CAAC;AAChH,CAAC;AAED,gDAAgD;AAChD,SAAgB,YAAY,CAAC,MAAmB;IAC9C,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,EAAE,SAAS,IAAI,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;AACzD,CAAC;AAED,oFAAoF;AACpF,SAAgB,mBAAmB,CAAC,OAAqB,EAAE,MAAoB;IAC7E,OAAO,OAAO,CAAC,OAAO,IAAI,MAAM,EAAE,cAAc,IAAI,SAAS,CAAC;AAChE,CAAC;AAED,0EAA0E;AAC1E,SAAgB,kBAAkB,CAAC,MAAoB;IACrD,OAAO,MAAM,EAAE,MAAM,IAAI,WAAW,CAAC;AACvC,CAAC"}
|
|
@@ -0,0 +1,39 @@
|
|
|
1
|
+
import { Command } from 'commander';
|
|
2
|
+
interface ProfileOptions {
|
|
3
|
+
setup?: boolean;
|
|
4
|
+
listOnly?: boolean;
|
|
5
|
+
selectOnly?: boolean;
|
|
6
|
+
noColor?: boolean;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Shell function for Bash/Zsh that wraps padua profile
|
|
10
|
+
* This function can set AWS_PROFILE in the current shell
|
|
11
|
+
*/
|
|
12
|
+
declare const BASH_FUNCTION: string;
|
|
13
|
+
/**
|
|
14
|
+
* PowerShell function for Windows
|
|
15
|
+
* This function can set AWS_PROFILE in the current session
|
|
16
|
+
*/
|
|
17
|
+
declare const POWERSHELL_FUNCTION: string;
|
|
18
|
+
/**
|
|
19
|
+
* Detect if running in PowerShell on Windows
|
|
20
|
+
*/
|
|
21
|
+
declare function isPowerShell(): boolean;
|
|
22
|
+
/**
|
|
23
|
+
* Get the appropriate shell function based on platform/shell
|
|
24
|
+
*/
|
|
25
|
+
declare function getShellFunction(): {
|
|
26
|
+
content: string;
|
|
27
|
+
shellType: string;
|
|
28
|
+
configFile: string;
|
|
29
|
+
};
|
|
30
|
+
/**
|
|
31
|
+
* Profile command - list and select AWS profiles
|
|
32
|
+
*/
|
|
33
|
+
export declare const profileCommand: Command;
|
|
34
|
+
/**
|
|
35
|
+
* Handle the profile command
|
|
36
|
+
*/
|
|
37
|
+
declare function handleProfile(options: ProfileOptions): Promise<void>;
|
|
38
|
+
export { BASH_FUNCTION, POWERSHELL_FUNCTION, isPowerShell, getShellFunction, handleProfile };
|
|
39
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/profile/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAKpC,UAAU,cAAc;IACtB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,QAAQ,CAAC,EAAE,OAAO,CAAC;IACnB,UAAU,CAAC,EAAE,OAAO,CAAC;IACrB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;;GAGG;AACH,QAAA,MAAM,aAAa,QAsCX,CAAC;AAET;;;GAGG;AACH,QAAA,MAAM,mBAAmB,QAkCjB,CAAC;AAET;;GAEG;AACH,iBAAS,YAAY,IAAI,OAAO,CAa/B;AAED;;GAEG;AACH,iBAAS,gBAAgB,IAAI;IAAE,OAAO,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,UAAU,EAAE,MAAM,CAAA;CAAE,CAatF;AAED;;GAEG;AACH,eAAO,MAAM,cAAc,SAMH,CAAC;AAEzB;;GAEG;AACH,iBAAe,aAAa,CAAC,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC,CA6HnE;AAGD,OAAO,EAAE,aAAa,EAAE,mBAAmB,EAAE,YAAY,EAAE,gBAAgB,EAAE,aAAa,EAAE,CAAC"}
|
|
@@ -0,0 +1,266 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.POWERSHELL_FUNCTION = exports.BASH_FUNCTION = exports.profileCommand = void 0;
|
|
7
|
+
exports.isPowerShell = isPowerShell;
|
|
8
|
+
exports.getShellFunction = getShellFunction;
|
|
9
|
+
exports.handleProfile = handleProfile;
|
|
10
|
+
const commander_1 = require("commander");
|
|
11
|
+
const chalk_1 = __importDefault(require("chalk"));
|
|
12
|
+
const inquirer_1 = __importDefault(require("inquirer"));
|
|
13
|
+
const sso_1 = require("../login/sso");
|
|
14
|
+
/**
|
|
15
|
+
* Shell function for Bash/Zsh that wraps padua profile
|
|
16
|
+
* This function can set AWS_PROFILE in the current shell
|
|
17
|
+
*/
|
|
18
|
+
const BASH_FUNCTION = `
|
|
19
|
+
# Padua AWS Profile Switcher (Bash/Zsh)
|
|
20
|
+
# Add this to your ~/.bashrc or ~/.zshrc, then run: source ~/.bashrc
|
|
21
|
+
paws() {
|
|
22
|
+
if [ -n "$1" ]; then
|
|
23
|
+
# Direct profile specified
|
|
24
|
+
export AWS_PROFILE="$1"
|
|
25
|
+
echo "AWS_PROFILE set to: $1"
|
|
26
|
+
else
|
|
27
|
+
# Interactive selection
|
|
28
|
+
local selected
|
|
29
|
+
selected=$(padua profile --select-only 2>/dev/null)
|
|
30
|
+
if [ -n "$selected" ]; then
|
|
31
|
+
export AWS_PROFILE="$selected"
|
|
32
|
+
echo "AWS_PROFILE set to: $selected"
|
|
33
|
+
fi
|
|
34
|
+
fi
|
|
35
|
+
}
|
|
36
|
+
|
|
37
|
+
# Tab completion for paws (Bash)
|
|
38
|
+
if [ -n "$BASH_VERSION" ]; then
|
|
39
|
+
_paws_completions() {
|
|
40
|
+
local profiles
|
|
41
|
+
profiles=$(padua profile --list-only 2>/dev/null)
|
|
42
|
+
COMPREPLY=($(compgen -W "$profiles" -- "\${COMP_WORDS[COMP_CWORD]}"))
|
|
43
|
+
}
|
|
44
|
+
complete -F _paws_completions paws
|
|
45
|
+
fi
|
|
46
|
+
|
|
47
|
+
# Tab completion for paws (Zsh)
|
|
48
|
+
if [ -n "$ZSH_VERSION" ]; then
|
|
49
|
+
_paws() {
|
|
50
|
+
local profiles
|
|
51
|
+
profiles=(\${(f)"$(padua profile --list-only 2>/dev/null)"})
|
|
52
|
+
_describe 'profile' profiles
|
|
53
|
+
}
|
|
54
|
+
compdef _paws paws 2>/dev/null
|
|
55
|
+
fi
|
|
56
|
+
`.trim();
|
|
57
|
+
exports.BASH_FUNCTION = BASH_FUNCTION;
|
|
58
|
+
/**
|
|
59
|
+
* PowerShell function for Windows
|
|
60
|
+
* This function can set AWS_PROFILE in the current session
|
|
61
|
+
*/
|
|
62
|
+
const POWERSHELL_FUNCTION = `
|
|
63
|
+
# Padua AWS Profile Switcher (PowerShell)
|
|
64
|
+
# Add this to your $PROFILE, then restart PowerShell or run: . $PROFILE
|
|
65
|
+
|
|
66
|
+
function paws {
|
|
67
|
+
param(
|
|
68
|
+
[Parameter(Position=0)]
|
|
69
|
+
[string]$ProfileName
|
|
70
|
+
)
|
|
71
|
+
|
|
72
|
+
if ($ProfileName) {
|
|
73
|
+
# Direct profile specified
|
|
74
|
+
$env:AWS_PROFILE = $ProfileName
|
|
75
|
+
Write-Host "AWS_PROFILE set to: $ProfileName"
|
|
76
|
+
} else {
|
|
77
|
+
# Interactive selection
|
|
78
|
+
$selected = padua profile --select-only 2>$null
|
|
79
|
+
if ($selected) {
|
|
80
|
+
$env:AWS_PROFILE = $selected.Trim()
|
|
81
|
+
Write-Host "AWS_PROFILE set to: $($selected.Trim())"
|
|
82
|
+
}
|
|
83
|
+
}
|
|
84
|
+
}
|
|
85
|
+
|
|
86
|
+
# Tab completion for paws (PowerShell)
|
|
87
|
+
Register-ArgumentCompleter -CommandName paws -ParameterName ProfileName -ScriptBlock {
|
|
88
|
+
param($commandName, $parameterName, $wordToComplete, $commandAst, $fakeBoundParameters)
|
|
89
|
+
$profiles = padua profile --list-only 2>$null
|
|
90
|
+
if ($profiles) {
|
|
91
|
+
$profiles -split '\\r?\\n' | Where-Object { $_ -like "$wordToComplete*" } | ForEach-Object {
|
|
92
|
+
[System.Management.Automation.CompletionResult]::new($_, $_, 'ParameterValue', $_)
|
|
93
|
+
}
|
|
94
|
+
}
|
|
95
|
+
}
|
|
96
|
+
`.trim();
|
|
97
|
+
exports.POWERSHELL_FUNCTION = POWERSHELL_FUNCTION;
|
|
98
|
+
/**
|
|
99
|
+
* Detect if running in PowerShell on Windows
|
|
100
|
+
*/
|
|
101
|
+
function isPowerShell() {
|
|
102
|
+
// Check for PowerShell-specific environment variables
|
|
103
|
+
if (process.env.PSModulePath) {
|
|
104
|
+
return true;
|
|
105
|
+
}
|
|
106
|
+
// Check parent process name on Windows
|
|
107
|
+
if (process.platform === 'win32') {
|
|
108
|
+
const parentProcess = process.env.SHELL || process.env.ComSpec || '';
|
|
109
|
+
return parentProcess.toLowerCase().includes('powershell') ||
|
|
110
|
+
parentProcess.toLowerCase().includes('pwsh') ||
|
|
111
|
+
!parentProcess.toLowerCase().includes('bash');
|
|
112
|
+
}
|
|
113
|
+
return false;
|
|
114
|
+
}
|
|
115
|
+
/**
|
|
116
|
+
* Get the appropriate shell function based on platform/shell
|
|
117
|
+
*/
|
|
118
|
+
function getShellFunction() {
|
|
119
|
+
if (process.platform === 'win32' || isPowerShell()) {
|
|
120
|
+
return {
|
|
121
|
+
content: POWERSHELL_FUNCTION,
|
|
122
|
+
shellType: 'PowerShell',
|
|
123
|
+
configFile: '$PROFILE',
|
|
124
|
+
};
|
|
125
|
+
}
|
|
126
|
+
return {
|
|
127
|
+
content: BASH_FUNCTION,
|
|
128
|
+
shellType: 'Bash/Zsh',
|
|
129
|
+
configFile: '~/.bashrc or ~/.zshrc',
|
|
130
|
+
};
|
|
131
|
+
}
|
|
132
|
+
/**
|
|
133
|
+
* Profile command - list and select AWS profiles
|
|
134
|
+
*/
|
|
135
|
+
exports.profileCommand = new commander_1.Command('profile')
|
|
136
|
+
.description('List and select AWS SSO profiles for use with AWS CLI')
|
|
137
|
+
.option('--setup', 'Output shell function for your shell profile')
|
|
138
|
+
.option('--list-only', 'Output profile names only (one per line, for scripts)')
|
|
139
|
+
.option('--select-only', 'Interactive select, output only the profile name')
|
|
140
|
+
.option('--no-color', 'Disable colored output')
|
|
141
|
+
.action(handleProfile);
|
|
142
|
+
/**
|
|
143
|
+
* Handle the profile command
|
|
144
|
+
*/
|
|
145
|
+
async function handleProfile(options) {
|
|
146
|
+
const noColor = options.noColor ?? false;
|
|
147
|
+
// --setup: Output shell function
|
|
148
|
+
if (options.setup) {
|
|
149
|
+
const { content, shellType, configFile } = getShellFunction();
|
|
150
|
+
console.log(`# ${shellType} function - add to ${configFile}`);
|
|
151
|
+
console.log(content);
|
|
152
|
+
return;
|
|
153
|
+
}
|
|
154
|
+
const profiles = (0, sso_1.listSSOProfiles)();
|
|
155
|
+
if (profiles.length === 0) {
|
|
156
|
+
if (!options.listOnly && !options.selectOnly) {
|
|
157
|
+
if (!noColor) {
|
|
158
|
+
console.error(chalk_1.default.yellow('No AWS SSO profiles found.'));
|
|
159
|
+
console.error(chalk_1.default.gray('Run: padua init'));
|
|
160
|
+
}
|
|
161
|
+
else {
|
|
162
|
+
console.error('No AWS SSO profiles found.');
|
|
163
|
+
console.error('Run: padua init');
|
|
164
|
+
}
|
|
165
|
+
}
|
|
166
|
+
process.exit(1);
|
|
167
|
+
}
|
|
168
|
+
// --list-only: Output profile names for shell completion
|
|
169
|
+
if (options.listOnly) {
|
|
170
|
+
profiles.forEach(p => console.log(p));
|
|
171
|
+
return;
|
|
172
|
+
}
|
|
173
|
+
// --select-only: Interactive select, output only profile name
|
|
174
|
+
if (options.selectOnly) {
|
|
175
|
+
const answer = await inquirer_1.default.prompt([
|
|
176
|
+
{
|
|
177
|
+
type: 'list',
|
|
178
|
+
name: 'profile',
|
|
179
|
+
message: 'Select AWS profile:',
|
|
180
|
+
choices: profiles,
|
|
181
|
+
pageSize: 15,
|
|
182
|
+
},
|
|
183
|
+
]);
|
|
184
|
+
console.log(answer.profile);
|
|
185
|
+
return;
|
|
186
|
+
}
|
|
187
|
+
// Default: Show profiles and interactive selection
|
|
188
|
+
const currentProfile = process.env.AWS_PROFILE;
|
|
189
|
+
if (!noColor) {
|
|
190
|
+
console.log(chalk_1.default.cyan.bold('Available AWS SSO Profiles:'));
|
|
191
|
+
}
|
|
192
|
+
else {
|
|
193
|
+
console.log('Available AWS SSO Profiles:');
|
|
194
|
+
}
|
|
195
|
+
console.log('');
|
|
196
|
+
profiles.forEach(p => {
|
|
197
|
+
const isCurrent = p === currentProfile;
|
|
198
|
+
if (!noColor) {
|
|
199
|
+
if (isCurrent) {
|
|
200
|
+
console.log(chalk_1.default.green(` ● ${p} (current)`));
|
|
201
|
+
}
|
|
202
|
+
else {
|
|
203
|
+
console.log(` ○ ${p}`);
|
|
204
|
+
}
|
|
205
|
+
}
|
|
206
|
+
else {
|
|
207
|
+
if (isCurrent) {
|
|
208
|
+
console.log(` * ${p} (current)`);
|
|
209
|
+
}
|
|
210
|
+
else {
|
|
211
|
+
console.log(` ${p}`);
|
|
212
|
+
}
|
|
213
|
+
}
|
|
214
|
+
});
|
|
215
|
+
console.log('');
|
|
216
|
+
// Interactive selection
|
|
217
|
+
const answer = await inquirer_1.default.prompt([
|
|
218
|
+
{
|
|
219
|
+
type: 'list',
|
|
220
|
+
name: 'profile',
|
|
221
|
+
message: 'Select profile to use:',
|
|
222
|
+
choices: profiles,
|
|
223
|
+
default: currentProfile || profiles[0],
|
|
224
|
+
pageSize: 15,
|
|
225
|
+
},
|
|
226
|
+
]);
|
|
227
|
+
const { shellType, configFile } = getShellFunction();
|
|
228
|
+
const isWindows = process.platform === 'win32' || isPowerShell();
|
|
229
|
+
const exportCmd = isWindows
|
|
230
|
+
? `$env:AWS_PROFILE = "${answer.profile}"`
|
|
231
|
+
: `export AWS_PROFILE=${answer.profile}`;
|
|
232
|
+
console.log('');
|
|
233
|
+
if (!noColor) {
|
|
234
|
+
console.log(chalk_1.default.cyan('Run this command to set your profile:'));
|
|
235
|
+
console.log('');
|
|
236
|
+
console.log(chalk_1.default.white.bold(` ${exportCmd}`));
|
|
237
|
+
console.log('');
|
|
238
|
+
console.log(chalk_1.default.gray(`Or add the shell function for easier switching (${shellType}):`));
|
|
239
|
+
if (isWindows) {
|
|
240
|
+
console.log(chalk_1.default.gray(' padua profile --setup | Out-File -Append $PROFILE'));
|
|
241
|
+
console.log(chalk_1.default.gray(' . $PROFILE'));
|
|
242
|
+
}
|
|
243
|
+
else {
|
|
244
|
+
console.log(chalk_1.default.gray(` padua profile --setup >> ${configFile.split(' ')[0]}`));
|
|
245
|
+
console.log(chalk_1.default.gray(` source ${configFile.split(' ')[0]}`));
|
|
246
|
+
}
|
|
247
|
+
console.log(chalk_1.default.gray(' Then use: paws [profile]'));
|
|
248
|
+
}
|
|
249
|
+
else {
|
|
250
|
+
console.log('Run this command to set your profile:');
|
|
251
|
+
console.log('');
|
|
252
|
+
console.log(` ${exportCmd}`);
|
|
253
|
+
console.log('');
|
|
254
|
+
console.log(`Or add the shell function for easier switching (${shellType}):`);
|
|
255
|
+
if (isWindows) {
|
|
256
|
+
console.log(' padua profile --setup | Out-File -Append $PROFILE');
|
|
257
|
+
console.log(' . $PROFILE');
|
|
258
|
+
}
|
|
259
|
+
else {
|
|
260
|
+
console.log(` padua profile --setup >> ${configFile.split(' ')[0]}`);
|
|
261
|
+
console.log(` source ${configFile.split(' ')[0]}`);
|
|
262
|
+
}
|
|
263
|
+
console.log(' Then use: paws [profile]');
|
|
264
|
+
}
|
|
265
|
+
}
|
|
266
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/profile/index.ts"],"names":[],"mappings":"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"}
|
package/dist/index.js
CHANGED
|
@@ -5,6 +5,7 @@ const commander_1 = require("commander");
|
|
|
5
5
|
const init_1 = require("./commands/init");
|
|
6
6
|
const login_1 = require("./commands/login");
|
|
7
7
|
const status_1 = require("./commands/status");
|
|
8
|
+
const profile_1 = require("./commands/profile");
|
|
8
9
|
const program = new commander_1.Command();
|
|
9
10
|
program
|
|
10
11
|
.name('padua')
|
|
@@ -14,5 +15,6 @@ program
|
|
|
14
15
|
program.addCommand(init_1.initCommand);
|
|
15
16
|
program.addCommand(login_1.loginCommand);
|
|
16
17
|
program.addCommand(status_1.statusCommand);
|
|
18
|
+
program.addCommand(profile_1.profileCommand);
|
|
17
19
|
program.parse();
|
|
18
20
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,8CAAkD;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;AAEA,yCAAoC;AACpC,0CAA8C;AAC9C,4CAAgD;AAChD,8CAAkD;AAClD,gDAAoD;AAEpD,MAAM,OAAO,GAAG,IAAI,mBAAO,EAAE,CAAC;AAE9B,OAAO;KACJ,IAAI,CAAC,OAAO,CAAC;KACb,WAAW,CAAC,2CAA2C,CAAC;KACxD,OAAO,CAAC,OAAO,CAAC,CAAC;AAEpB,oBAAoB;AACpB,OAAO,CAAC,UAAU,CAAC,kBAAW,CAAC,CAAC;AAChC,OAAO,CAAC,UAAU,CAAC,oBAAY,CAAC,CAAC;AACjC,OAAO,CAAC,UAAU,CAAC,sBAAa,CAAC,CAAC;AAClC,OAAO,CAAC,UAAU,CAAC,wBAAc,CAAC,CAAC;AAEnC,OAAO,CAAC,KAAK,EAAE,CAAC"}
|