@padua/cli 1.2.1 → 1.3.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.
@@ -1,4 +1,5 @@
1
1
  import { SSOConfig } from './prompts';
2
+ import { SSOSessionConfig, ProfileConfig } from './sso-discovery';
2
3
  /**
3
4
  * Write SSO profile to ~/.aws/config
4
5
  *
@@ -15,4 +16,24 @@ export declare function hasAwsProfile(profileName: string): boolean;
15
16
  * Get the path to AWS config file
16
17
  */
17
18
  export declare function getAwsConfigPath(): string;
19
+ /**
20
+ * Generate SSO session content for ~/.aws/config
21
+ */
22
+ export declare function generateSSOSessionContent(config: SSOSessionConfig): string;
23
+ /**
24
+ * Generate AWS profile content that references an SSO session
25
+ */
26
+ export declare function generateSSOSessionProfileContent(profileName: string, accountId: string, roleName: string, ssoSessionName: string, defaultRegion: string): string;
27
+ /**
28
+ * Check if SSO session exists in config
29
+ */
30
+ export declare function ssoSessionExists(configContent: string, sessionName: string): boolean;
31
+ /**
32
+ * Remove SSO session from config
33
+ */
34
+ export declare function removeSSOSession(configContent: string, sessionName: string): string;
35
+ /**
36
+ * Write SSO session and multiple profiles to ~/.aws/config
37
+ */
38
+ export declare function writeFullSSOConfig(ssoSession: SSOSessionConfig, profiles: ProfileConfig[], defaultRegion: string, overwrite?: boolean): Promise<string>;
18
39
  //# sourceMappingURL=aws-profile.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-profile.d.ts","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AAqCtC;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAO1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC"}
1
+ {"version":3,"file":"aws-profile.d.ts","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,SAAS,EAAE,MAAM,WAAW,CAAC;AACtC,OAAO,EAAE,gBAAgB,EAAE,aAAa,EAAE,MAAM,iBAAiB,CAAC;AAqClE;;;;;;GAMG;AACH,wBAAsB,eAAe,CACnC,MAAM,EAAE,SAAS,EACjB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC,CAwCjB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAAC,WAAW,EAAE,MAAM,GAAG,OAAO,CAO1D;AAED;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,MAAM,CAEzC;AAED;;GAEG;AACH,wBAAgB,yBAAyB,CAAC,MAAM,EAAE,gBAAgB,GAAG,MAAM,CAK1E;AAED;;GAEG;AACH,wBAAgB,gCAAgC,CAC9C,WAAW,EAAE,MAAM,EACnB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,MAAM,EAChB,cAAc,EAAE,MAAM,EACtB,aAAa,EAAE,MAAM,GACpB,MAAM,CAMR;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAGpF;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAAC,aAAa,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,MAAM,CAMnF;AAED;;GAEG;AACH,wBAAsB,kBAAkB,CACtC,UAAU,EAAE,gBAAgB,EAC5B,QAAQ,EAAE,aAAa,EAAE,EACzB,aAAa,EAAE,MAAM,EACrB,SAAS,GAAE,OAAe,GACzB,OAAO,CAAC,MAAM,CAAC,CAgEjB"}
@@ -36,6 +36,11 @@ Object.defineProperty(exports, "__esModule", { value: true });
36
36
  exports.writeAwsProfile = writeAwsProfile;
37
37
  exports.hasAwsProfile = hasAwsProfile;
38
38
  exports.getAwsConfigPath = getAwsConfigPath;
39
+ exports.generateSSOSessionContent = generateSSOSessionContent;
40
+ exports.generateSSOSessionProfileContent = generateSSOSessionProfileContent;
41
+ exports.ssoSessionExists = ssoSessionExists;
42
+ exports.removeSSOSession = removeSSOSession;
43
+ exports.writeFullSSOConfig = writeFullSSOConfig;
39
44
  const fs = __importStar(require("fs"));
40
45
  const path = __importStar(require("path"));
41
46
  const os = __importStar(require("os"));
@@ -124,4 +129,90 @@ function hasAwsProfile(profileName) {
124
129
  function getAwsConfigPath() {
125
130
  return AWS_CONFIG_PATH;
126
131
  }
132
+ /**
133
+ * Generate SSO session content for ~/.aws/config
134
+ */
135
+ function generateSSOSessionContent(config) {
136
+ return `[sso-session ${config.sessionName}]
137
+ sso_start_url = ${config.startUrl}
138
+ sso_region = ${config.region}
139
+ sso_registration_scopes = ${config.registrationScopes}`;
140
+ }
141
+ /**
142
+ * Generate AWS profile content that references an SSO session
143
+ */
144
+ function generateSSOSessionProfileContent(profileName, accountId, roleName, ssoSessionName, defaultRegion) {
145
+ return `[profile ${profileName}]
146
+ sso_account_id = ${accountId}
147
+ sso_role_name = ${roleName}
148
+ sso_session = ${ssoSessionName}
149
+ region = ${defaultRegion}`;
150
+ }
151
+ /**
152
+ * Check if SSO session exists in config
153
+ */
154
+ function ssoSessionExists(configContent, sessionName) {
155
+ const sessionPattern = new RegExp(`^\\[sso-session ${sessionName}\\]`, 'm');
156
+ return sessionPattern.test(configContent);
157
+ }
158
+ /**
159
+ * Remove SSO session from config
160
+ */
161
+ function removeSSOSession(configContent, sessionName) {
162
+ const sessionPattern = new RegExp(`\\[sso-session ${sessionName}\\][^\\[]*`, 'g');
163
+ return configContent.replace(sessionPattern, '').trim();
164
+ }
165
+ /**
166
+ * Write SSO session and multiple profiles to ~/.aws/config
167
+ */
168
+ async function writeFullSSOConfig(ssoSession, profiles, defaultRegion, overwrite = false) {
169
+ // Ensure ~/.aws directory exists
170
+ const awsDir = path.dirname(AWS_CONFIG_PATH);
171
+ if (!fs.existsSync(awsDir)) {
172
+ fs.mkdirSync(awsDir, { recursive: true, mode: 0o700 });
173
+ }
174
+ // Read existing config if it exists
175
+ let existingContent = '';
176
+ if (fs.existsSync(AWS_CONFIG_PATH)) {
177
+ existingContent = fs.readFileSync(AWS_CONFIG_PATH, 'utf-8');
178
+ }
179
+ // Remove existing SSO session if overwriting
180
+ if (ssoSessionExists(existingContent, ssoSession.sessionName)) {
181
+ if (!overwrite) {
182
+ throw new Error(`SSO session '${ssoSession.sessionName}' already exists in ${AWS_CONFIG_PATH}. ` +
183
+ `Use --force to overwrite.`);
184
+ }
185
+ existingContent = removeSSOSession(existingContent, ssoSession.sessionName);
186
+ }
187
+ // Remove existing profiles if overwriting
188
+ for (const profile of profiles) {
189
+ if (profileExists(existingContent, profile.name)) {
190
+ if (overwrite) {
191
+ existingContent = removeProfile(existingContent, profile.name);
192
+ }
193
+ // If not overwriting, we'll just skip adding this profile (don't throw error)
194
+ }
195
+ }
196
+ // Build new content
197
+ const ssoSessionContent = generateSSOSessionContent(ssoSession);
198
+ const profileContents = [];
199
+ for (const p of profiles) {
200
+ // Only add profile if it doesn't exist (or was removed due to overwrite)
201
+ if (!profileExists(existingContent, p.name)) {
202
+ profileContents.push(generateSSOSessionProfileContent(p.name, p.accountId, p.roleName, ssoSession.sessionName, defaultRegion));
203
+ }
204
+ }
205
+ // Combine all content
206
+ let finalContent = existingContent.trim();
207
+ if (finalContent) {
208
+ finalContent += '\n\n';
209
+ }
210
+ finalContent += ssoSessionContent + '\n';
211
+ for (const profileContent of profileContents) {
212
+ finalContent += '\n' + profileContent + '\n';
213
+ }
214
+ // Write the config file
215
+ fs.writeFileSync(AWS_CONFIG_PATH, finalContent, { mode: 0o600 });
216
+ return AWS_CONFIG_PATH;
217
+ }
127
218
  //# sourceMappingURL=aws-profile.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"aws-profile.js","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AA+CA,0CA2CC;AAKD,sCAOC;AAKD,4CAEC;AA7GD,uCAAyB;AACzB,2CAA6B;AAC7B,uCAAyB;AAGzB,MAAM,eAAe,GAAG,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,OAAO,EAAE,EAAE,MAAM,EAAE,QAAQ,CAAC,CAAC;AAElE;;GAEG;AACH,SAAS,sBAAsB,CAAC,MAAiB;IAC/C,OAAO,YAAY,MAAM,CAAC,WAAW;kBACrB,MAAM,CAAC,QAAQ;eAClB,MAAM,CAAC,SAAS;mBACZ,MAAM,CAAC,SAAS;kBACjB,MAAM,CAAC,QAAQ;WACtB,MAAM,CAAC,aAAa;cACjB,CAAC;AACf,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,aAAqB,EAAE,WAAmB;IAC/D,MAAM,cAAc,GAAG,IAAI,MAAM,CAAC,eAAe,WAAW,KAAK,EAAE,GAAG,CAAC,CAAC;IACxE,OAAO,cAAc,CAAC,IAAI,CAAC,aAAa,CAAC,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,SAAS,aAAa,CAAC,aAAqB,EAAE,WAAmB;IAC/D,gFAAgF;IAChF,MAAM,cAAc,GAAG,IAAI,MAAM,CAC/B,cAAc,WAAW,YAAY,EACrC,GAAG,CACJ,CAAC;IACF,OAAO,aAAa,CAAC,OAAO,CAAC,cAAc,EAAE,EAAE,CAAC,CAAC,IAAI,EAAE,CAAC;AAC1D,CAAC;AAED;;;;;;GAMG;AACI,KAAK,UAAU,eAAe,CACnC,MAAiB,EACjB,YAAqB,KAAK;IAE1B,iCAAiC;IACjC,MAAM,MAAM,GAAG,IAAI,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,MAAM,CAAC,EAAE,CAAC;QAC3B,EAAE,CAAC,SAAS,CAAC,MAAM,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IACzD,CAAC;IAED,oCAAoC;IACpC,IAAI,eAAe,GAAG,EAAE,CAAC;IACzB,IAAI,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACnC,eAAe,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED,kCAAkC;IAClC,IAAI,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;QACvD,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CACb,YAAY,MAAM,CAAC,WAAW,uBAAuB,eAAe,IAAI;gBACxE,2BAA2B,CAC5B,CAAC;QACJ,CAAC;QACD,0BAA0B;QAC1B,eAAe,GAAG,aAAa,CAAC,eAAe,EAAE,MAAM,CAAC,WAAW,CAAC,CAAC;IACvE,CAAC;IAED,+BAA+B;IAC/B,MAAM,iBAAiB,GAAG,sBAAsB,CAAC,MAAM,CAAC,CAAC;IAEzD,4CAA4C;IAC5C,IAAI,YAAoB,CAAC;IACzB,IAAI,eAAe,CAAC,IAAI,EAAE,EAAE,CAAC;QAC3B,YAAY,GAAG,eAAe,CAAC,IAAI,EAAE,GAAG,MAAM,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAC5E,CAAC;SAAM,CAAC;QACN,YAAY,GAAG,iBAAiB,GAAG,IAAI,CAAC;IAC1C,CAAC;IAED,wBAAwB;IACxB,EAAE,CAAC,aAAa,CAAC,eAAe,EAAE,YAAY,EAAE,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAC;IAEjE,OAAO,eAAe,CAAC;AACzB,CAAC;AAED;;GAEG;AACH,SAAgB,aAAa,CAAC,WAAmB;IAC/C,IAAI,CAAC,EAAE,CAAC,UAAU,CAAC,eAAe,CAAC,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,MAAM,OAAO,GAAG,EAAE,CAAC,YAAY,CAAC,eAAe,EAAE,OAAO,CAAC,CAAC;IAC1D,OAAO,aAAa,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;AAC7C,CAAC;AAED;;GAEG;AACH,SAAgB,gBAAgB;IAC9B,OAAO,eAAe,CAAC;AACzB,CAAC"}
1
+ {"version":3,"file":"aws-profile.js","sourceRoot":"","sources":["../../../src/commands/init/aws-profile.ts"],"names":[],"mappings":"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"}
@@ -1,37 +1,41 @@
1
1
  import { Command } from 'commander';
2
+ import { AccountWithRoles } from './sso-discovery';
2
3
  /**
3
4
  * Command options for padua init
4
5
  */
5
6
  interface InitOptions {
6
7
  force?: boolean;
7
- merge?: boolean;
8
8
  verbose?: boolean;
9
9
  noColor?: boolean;
10
+ noBrowser?: boolean;
10
11
  }
11
12
  /**
12
13
  * Init command definition
13
14
  */
14
15
  export declare const initCommand: Command;
15
16
  /**
16
- * Main handler for init command
17
+ * Display accounts and roles summary
17
18
  */
18
- declare function handleInit(options: InitOptions): Promise<void>;
19
+ declare function displayAccountsAndRoles(accountsWithRoles: AccountWithRoles[], noColor?: boolean): void;
20
+ /**
21
+ * Display profiles that will be created
22
+ */
23
+ declare function displayProfilesToCreate(profiles: Array<{
24
+ name: string;
25
+ accountId: string;
26
+ roleName: string;
27
+ }>, noColor?: boolean): void;
19
28
  /**
20
- * Check if config file exists and determine action
21
- *
22
- * Returns:
23
- * - 'overwrite': Proceed with overwrite (new file or user chose overwrite)
24
- * - 'merge': Proceed with merge (existing file and user chose merge, or --merge)
25
- * - 'cancel': Exit without changes (user chose cancel)
26
- *
27
- * Exit codes on conflict:
28
- * - Process may exit with code 2 if user chooses cancel in interactive dialog
29
+ * Prompt user to select which role to use for profiles
29
30
  */
30
- declare function checkExistingConfig(options: InitOptions): Promise<'overwrite' | 'merge' | 'cancel'>;
31
+ declare function selectRole(accountsWithRoles: AccountWithRoles[]): Promise<string | undefined>;
32
+ /**
33
+ * Main handler for init command
34
+ */
35
+ declare function handleInit(options: InitOptions): Promise<void>;
31
36
  /**
32
- * Display conflict resolution dialog to user
33
- * Returns user's choice or exits with code 2
37
+ * Open URL in default browser (cross-platform)
34
38
  */
35
- declare function showConflictDialog(configPath: string, noColor?: boolean): Promise<'overwrite' | 'merge' | 'cancel'>;
36
- export { checkExistingConfig, showConflictDialog, handleInit };
39
+ declare function openBrowser(url: string): void;
40
+ export { handleInit, displayAccountsAndRoles, displayProfilesToCreate, selectRole, openBrowser };
37
41
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,SAMH,CAAC;AAEtB;;GAEG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA+F7D;AAED;;;;;;;;;;GAUG;AACH,iBAAe,mBAAmB,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC,CAoBlG;AAED;;;GAGG;AACH,iBAAe,kBAAkB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,OAAO,CAAC,WAAW,GAAG,OAAO,GAAG,QAAQ,CAAC,CAkEzH;AAGD,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAWpC,OAAO,EAQL,gBAAgB,EAEjB,MAAM,iBAAiB,CAAC;AAEzB;;GAEG;AACH,UAAU,WAAW;IACnB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAED;;GAEG;AACH,eAAO,MAAM,WAAW,SAMH,CAAC;AAEtB;;GAEG;AACH,iBAAS,uBAAuB,CAC9B,iBAAiB,EAAE,gBAAgB,EAAE,EACrC,OAAO,GAAE,OAAe,GACvB,IAAI,CA6BN;AAED;;GAEG;AACH,iBAAS,uBAAuB,CAC9B,QAAQ,EAAE,KAAK,CAAC;IAAE,IAAI,EAAE,MAAM,CAAC;IAAC,SAAS,EAAE,MAAM,CAAC;IAAC,QAAQ,EAAE,MAAM,CAAA;CAAE,CAAC,EACtE,OAAO,GAAE,OAAe,GACvB,IAAI,CA2BN;AAED;;GAEG;AACH,iBAAe,UAAU,CACvB,iBAAiB,EAAE,gBAAgB,EAAE,GACpC,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAkC7B;AAED;;GAEG;AACH,iBAAe,UAAU,CAAC,OAAO,EAAE,WAAW,GAAG,OAAO,CAAC,IAAI,CAAC,CA4N7D;AAED;;GAEG;AACH,iBAAS,WAAW,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI,CA2BtC;AAGD,OAAO,EAAE,UAAU,EAAE,uBAAuB,EAAE,uBAAuB,EAAE,UAAU,EAAE,WAAW,EAAE,CAAC"}