@padua/cli 1.2.1 → 1.3.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.
@@ -1,254 +1,353 @@
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
- })();
35
2
  var __importDefault = (this && this.__importDefault) || function (mod) {
36
3
  return (mod && mod.__esModule) ? mod : { "default": mod };
37
4
  };
38
5
  Object.defineProperty(exports, "__esModule", { value: true });
39
6
  exports.initCommand = void 0;
40
- exports.checkExistingConfig = checkExistingConfig;
41
- exports.showConflictDialog = showConflictDialog;
42
7
  exports.handleInit = handleInit;
8
+ exports.displayAccountsAndRoles = displayAccountsAndRoles;
9
+ exports.displayProfilesToCreate = displayProfilesToCreate;
10
+ exports.selectRole = selectRole;
11
+ exports.openBrowser = openBrowser;
43
12
  const commander_1 = require("commander");
13
+ const child_process_1 = require("child_process");
44
14
  const chalk_1 = __importDefault(require("chalk"));
45
- const fs = __importStar(require("fs"));
46
- const path = __importStar(require("path"));
47
15
  const inquirer_1 = __importDefault(require("inquirer"));
48
- const config_1 = require("../login/config");
49
- const prompts_1 = require("./prompts");
50
16
  const init_1 = require("./init");
51
17
  const aws_profile_1 = require("./aws-profile");
18
+ const sso_discovery_1 = require("./sso-discovery");
52
19
  /**
53
20
  * Init command definition
54
21
  */
55
22
  exports.initCommand = new commander_1.Command('init')
56
- .description('Initialize AWS SSO profile and padua.config.json with interactive prompts')
23
+ .description('Initialize AWS SSO profiles and padua configuration by discovering your available accounts and roles')
57
24
  .option('--force', 'Overwrite existing config without prompting')
58
- .option('--merge', 'Merge into existing config (preserve unspecified values)')
59
25
  .option('--no-color', 'Disable colored output')
26
+ .option('--no-browser', 'Do not automatically open browser for SSO authentication')
60
27
  .option('-v, --verbose', 'Show detailed progress information')
61
28
  .action(handleInit);
29
+ /**
30
+ * Display accounts and roles summary
31
+ */
32
+ function displayAccountsAndRoles(accountsWithRoles, noColor = false) {
33
+ console.log('');
34
+ if (!noColor) {
35
+ console.log(chalk_1.default.cyan.bold('Discovered AWS Accounts and Roles:'));
36
+ }
37
+ else {
38
+ console.log('Discovered AWS Accounts and Roles:');
39
+ }
40
+ console.log('');
41
+ for (const { account, roles } of accountsWithRoles) {
42
+ if (!noColor) {
43
+ console.log(chalk_1.default.white.bold(` ${account.accountName}`));
44
+ console.log(chalk_1.default.gray(` Account ID: ${account.accountId}`));
45
+ if (account.emailAddress) {
46
+ console.log(chalk_1.default.gray(` Email: ${account.emailAddress}`));
47
+ }
48
+ console.log(chalk_1.default.gray(` Roles: ${roles.map(r => r.roleName).join(', ')}`));
49
+ }
50
+ else {
51
+ console.log(` ${account.accountName}`);
52
+ console.log(` Account ID: ${account.accountId}`);
53
+ if (account.emailAddress) {
54
+ console.log(` Email: ${account.emailAddress}`);
55
+ }
56
+ console.log(` Roles: ${roles.map(r => r.roleName).join(', ')}`);
57
+ }
58
+ console.log('');
59
+ }
60
+ }
61
+ /**
62
+ * Display profiles that will be created
63
+ */
64
+ function displayProfilesToCreate(profiles, noColor = false) {
65
+ console.log('');
66
+ if (!noColor) {
67
+ console.log(chalk_1.default.cyan.bold('Profiles to be created:'));
68
+ }
69
+ else {
70
+ console.log('Profiles to be created:');
71
+ }
72
+ console.log('');
73
+ for (const profile of profiles) {
74
+ if (!noColor) {
75
+ console.log(chalk_1.default.white(` [profile ${profile.name}]`));
76
+ console.log(chalk_1.default.gray(` sso_account_id = ${profile.accountId}`));
77
+ console.log(chalk_1.default.gray(` sso_role_name = ${profile.roleName}`));
78
+ console.log(chalk_1.default.gray(` sso_session = ${sso_discovery_1.PADUA_SSO_DEFAULTS.sessionName}`));
79
+ console.log(chalk_1.default.gray(` region = ${sso_discovery_1.PADUA_SSO_DEFAULTS.region}`));
80
+ }
81
+ else {
82
+ console.log(` [profile ${profile.name}]`);
83
+ console.log(` sso_account_id = ${profile.accountId}`);
84
+ console.log(` sso_role_name = ${profile.roleName}`);
85
+ console.log(` sso_session = ${sso_discovery_1.PADUA_SSO_DEFAULTS.sessionName}`);
86
+ console.log(` region = ${sso_discovery_1.PADUA_SSO_DEFAULTS.region}`);
87
+ }
88
+ console.log('');
89
+ }
90
+ }
91
+ /**
92
+ * Prompt user to select which role to use for profiles
93
+ */
94
+ async function selectRole(accountsWithRoles) {
95
+ // Collect all unique role names
96
+ const roleSet = new Set();
97
+ for (const { roles } of accountsWithRoles) {
98
+ for (const role of roles) {
99
+ roleSet.add(role.roleName);
100
+ }
101
+ }
102
+ const availableRoles = Array.from(roleSet).sort();
103
+ if (availableRoles.length === 0) {
104
+ return undefined;
105
+ }
106
+ if (availableRoles.length === 1) {
107
+ return availableRoles[0];
108
+ }
109
+ // Let user select which role to use
110
+ const answer = await inquirer_1.default.prompt([
111
+ {
112
+ type: 'list',
113
+ name: 'role',
114
+ message: 'Which SSO role should be used for the profiles?',
115
+ choices: availableRoles.map(role => ({
116
+ name: role,
117
+ value: role,
118
+ })),
119
+ default: availableRoles.includes('Administrators') ? 'Administrators' : availableRoles[0],
120
+ },
121
+ ]);
122
+ return answer.role;
123
+ }
62
124
  /**
63
125
  * Main handler for init command
64
126
  */
65
127
  async function handleInit(options) {
66
128
  try {
67
- // Step 1: Check for existing config file
68
- const conflictAction = await checkExistingConfig(options);
69
- if (conflictAction === 'cancel') {
70
- process.exit(1); // User cancelled
129
+ const noColor = options.noColor ?? false;
130
+ // Step 1: Display introduction
131
+ if (!noColor) {
132
+ console.log(chalk_1.default.cyan.bold('Padua CLI Configuration Wizard'));
133
+ console.log(chalk_1.default.gray('This will configure AWS SSO profiles for all accounts you have access to.'));
71
134
  }
72
- // Step 2: Load existing config if merging
73
- let existingConfig = null;
74
- if (conflictAction === 'merge') {
75
- existingConfig = await (0, config_1.loadConfig)();
76
- if (options.verbose && !options.noColor) {
77
- console.log(chalk_1.default.blue('ℹ Loading existing config for merge...'));
78
- }
135
+ else {
136
+ console.log('Padua CLI Configuration Wizard');
137
+ console.log('This will configure AWS SSO profiles for all accounts you have access to.');
79
138
  }
80
- // Step 3: Run prompt flow
81
- if (!options.noColor) {
82
- console.log(chalk_1.default.blue('✓ Starting configuration wizard...\n'));
139
+ console.log('');
140
+ // Step 2: Check for cached SSO token or authenticate
141
+ if (options.verbose) {
142
+ console.log(chalk_1.default.gray('Checking for existing SSO session...'));
143
+ }
144
+ const cachedToken = (0, sso_discovery_1.getCachedAccessToken)(sso_discovery_1.PADUA_SSO_DEFAULTS.startUrl);
145
+ let accessToken;
146
+ if (cachedToken) {
147
+ if (!noColor) {
148
+ console.log(chalk_1.default.green('✓ Using existing SSO session'));
149
+ }
150
+ else {
151
+ console.log('Using existing SSO session');
152
+ }
153
+ accessToken = cachedToken;
83
154
  }
84
155
  else {
85
- console.log('Starting configuration wizard...\n');
156
+ if (!noColor) {
157
+ console.log(chalk_1.default.yellow('No valid SSO session found. Starting authentication...'));
158
+ }
159
+ else {
160
+ console.log('No valid SSO session found. Starting authentication...');
161
+ }
162
+ console.log('');
163
+ // Authenticate with SSO
164
+ accessToken = await (0, sso_discovery_1.authenticateSSO)(sso_discovery_1.PADUA_SSO_DEFAULTS.startUrl, sso_discovery_1.PADUA_SSO_DEFAULTS.region, (url, userCode) => {
165
+ if (!noColor) {
166
+ console.log(chalk_1.default.cyan('Please authorize in your browser:'));
167
+ console.log(chalk_1.default.white.bold(` ${url}`));
168
+ console.log('');
169
+ console.log(chalk_1.default.gray(`Verification code: ${userCode}`));
170
+ }
171
+ else {
172
+ console.log('Please authorize in your browser:');
173
+ console.log(` ${url}`);
174
+ console.log('');
175
+ console.log(`Verification code: ${userCode}`);
176
+ }
177
+ console.log('');
178
+ console.log('Waiting for authorization...');
179
+ // Open browser if not disabled
180
+ if (!options.noBrowser) {
181
+ openBrowser(url);
182
+ }
183
+ });
184
+ if (!noColor) {
185
+ console.log(chalk_1.default.green('✓ SSO authentication successful'));
186
+ }
187
+ else {
188
+ console.log('SSO authentication successful');
189
+ }
86
190
  }
87
- let paduaConfig;
88
- let ssoConfig;
89
- try {
90
- const result = await (0, prompts_1.runPrompts)(existingConfig);
91
- paduaConfig = result.paduaConfig;
92
- ssoConfig = result.ssoConfig;
191
+ console.log('');
192
+ // Step 3: Discover accounts and roles
193
+ if (!noColor) {
194
+ console.log(chalk_1.default.gray('Discovering AWS accounts and roles...'));
93
195
  }
94
- catch (error) {
95
- const err = error;
96
- if (err.isTtyError) {
97
- console.error('Error: Interactive prompts not supported in this environment');
98
- process.exit(1);
196
+ else {
197
+ console.log('Discovering AWS accounts and roles...');
198
+ }
199
+ const accountsWithRoles = await (0, sso_discovery_1.discoverAccountsAndRoles)(accessToken, sso_discovery_1.PADUA_SSO_DEFAULTS.region);
200
+ if (accountsWithRoles.length === 0) {
201
+ if (!noColor) {
202
+ console.log(chalk_1.default.yellow('No AWS accounts found. Please check your SSO permissions.'));
203
+ }
204
+ else {
205
+ console.log('No AWS accounts found. Please check your SSO permissions.');
99
206
  }
100
- // User cancelled (Ctrl+C or explicit cancel)
101
- if (options.verbose && !options.noColor) {
102
- console.log(chalk_1.default.yellow('✗ Initialization cancelled'));
207
+ process.exit(1);
208
+ }
209
+ // Step 4: Display discovered accounts and roles
210
+ displayAccountsAndRoles(accountsWithRoles, noColor);
211
+ // Step 5: Let user select which role to use
212
+ const selectedRole = await selectRole(accountsWithRoles);
213
+ if (!selectedRole) {
214
+ if (!noColor) {
215
+ console.log(chalk_1.default.red('No roles available. Cannot create profiles.'));
103
216
  }
104
- else if (options.verbose) {
105
- console.log('Initialization cancelled');
217
+ else {
218
+ console.log('No roles available. Cannot create profiles.');
106
219
  }
107
220
  process.exit(1);
108
221
  }
109
- // Step 4: Write AWS SSO profile to ~/.aws/config
222
+ if (options.verbose && !noColor) {
223
+ console.log(chalk_1.default.gray(`Selected role: ${selectedRole}`));
224
+ }
225
+ // Step 6: Build profile configurations
226
+ const profiles = (0, sso_discovery_1.buildProfileConfigs)(accountsWithRoles, selectedRole);
227
+ // Step 7: Display profiles to be created
228
+ displayProfilesToCreate(profiles, noColor);
229
+ // Step 8: Confirm before writing
230
+ const confirmAnswer = await inquirer_1.default.prompt([
231
+ {
232
+ type: 'confirm',
233
+ name: 'proceed',
234
+ message: 'Proceed with creating these profiles?',
235
+ default: true,
236
+ },
237
+ ]);
238
+ if (!confirmAnswer.proceed) {
239
+ if (!noColor) {
240
+ console.log(chalk_1.default.gray('Operation cancelled.'));
241
+ }
242
+ else {
243
+ console.log('Operation cancelled.');
244
+ }
245
+ process.exit(0);
246
+ }
247
+ // Step 9: Write SSO session and profiles to ~/.aws/config
248
+ const ssoSession = {
249
+ sessionName: sso_discovery_1.PADUA_SSO_DEFAULTS.sessionName,
250
+ startUrl: sso_discovery_1.PADUA_SSO_DEFAULTS.startUrl,
251
+ region: sso_discovery_1.PADUA_SSO_DEFAULTS.region,
252
+ registrationScopes: sso_discovery_1.PADUA_SSO_DEFAULTS.registrationScopes,
253
+ };
110
254
  try {
111
- const awsConfigPath = await (0, aws_profile_1.writeAwsProfile)(ssoConfig, options.force || conflictAction === 'overwrite');
112
- if (!options.noColor) {
113
- console.log(chalk_1.default.green(`✓ AWS profile '${ssoConfig.profileName}' saved to ${awsConfigPath}`));
255
+ const awsConfigPath = await (0, aws_profile_1.writeFullSSOConfig)(ssoSession, profiles, sso_discovery_1.PADUA_SSO_DEFAULTS.region, options.force ?? false);
256
+ if (!noColor) {
257
+ console.log(chalk_1.default.green(`✓ AWS SSO session and ${profiles.length} profiles saved to ${awsConfigPath}`));
114
258
  }
115
259
  else {
116
- console.log(`AWS profile '${ssoConfig.profileName}' saved to ${awsConfigPath}`);
260
+ console.log(`AWS SSO session and ${profiles.length} profiles saved to ${awsConfigPath}`);
117
261
  }
118
262
  }
119
263
  catch (error) {
120
264
  const msg = error.message;
121
- if (!options.noColor) {
122
- console.error(chalk_1.default.red(`✗ Failed to save AWS profile: ${msg}`));
265
+ if (!noColor) {
266
+ console.error(chalk_1.default.red(`✗ Failed to save AWS config: ${msg}`));
123
267
  }
124
268
  else {
125
- console.error(`Failed to save AWS profile: ${msg}`);
269
+ console.error(`Failed to save AWS config: ${msg}`);
126
270
  }
127
- process.exit(4); // File system error
271
+ process.exit(4);
128
272
  }
129
- // Step 5: Write padua.config.json
273
+ // Step 10: Write padua.config.json to ~/.padua/
274
+ const paduaConfig = {
275
+ defaultProfile: profiles[0]?.name || 'development',
276
+ region: sso_discovery_1.PADUA_SSO_DEFAULTS.region,
277
+ codeartifact: {
278
+ domain: sso_discovery_1.PADUA_CODEARTIFACT_DEFAULTS.domain,
279
+ domainOwner: sso_discovery_1.PADUA_CODEARTIFACT_DEFAULTS.domainOwner,
280
+ repository: sso_discovery_1.PADUA_CODEARTIFACT_DEFAULTS.repository,
281
+ },
282
+ ecr: {
283
+ accountId: sso_discovery_1.PADUA_ECR_DEFAULTS.accountId,
284
+ region: sso_discovery_1.PADUA_ECR_DEFAULTS.region,
285
+ },
286
+ };
130
287
  try {
131
- await (0, init_1.initializeConfig)(paduaConfig, conflictAction === 'overwrite');
132
- if (!options.noColor) {
133
- console.log(chalk_1.default.green('✓ padua.config.json saved successfully!'));
288
+ const configPath = await (0, init_1.initializeGlobalConfig)(paduaConfig);
289
+ if (!noColor) {
290
+ console.log(chalk_1.default.green(`✓ Padua configuration saved to ${configPath}`));
134
291
  }
135
292
  else {
136
- console.log('padua.config.json saved successfully!');
293
+ console.log(`Padua configuration saved to ${configPath}`);
137
294
  }
138
295
  }
139
296
  catch (error) {
140
297
  const msg = error.message;
141
- if (!options.noColor) {
142
- console.error(chalk_1.default.red(`✗ Failed to save configuration: ${msg}`));
298
+ if (!noColor) {
299
+ console.error(chalk_1.default.red(`✗ Failed to save padua configuration: ${msg}`));
143
300
  }
144
301
  else {
145
- console.error(`Failed to save configuration: ${msg}`);
302
+ console.error(`Failed to save padua configuration: ${msg}`);
146
303
  }
147
- process.exit(4); // File system error
304
+ process.exit(4);
305
+ }
306
+ // Step 11: Display summary and next steps
307
+ console.log('');
308
+ if (!noColor) {
309
+ console.log(chalk_1.default.green.bold('✓ Configuration complete!'));
148
310
  }
149
- // Step 6: Display next steps
150
- (0, init_1.displayNextSteps)(paduaConfig, options.noColor);
311
+ else {
312
+ console.log('Configuration complete!');
313
+ }
314
+ (0, init_1.displayGlobalNextSteps)((0, init_1.getPaduaConfigPath)(), noColor);
151
315
  }
152
316
  catch (error) {
153
- // Catch any unexpected errors
154
- console.error(`Unexpected error: ${error.message}`);
317
+ const msg = error.message;
318
+ console.error(`Error: ${msg}`);
155
319
  process.exit(1);
156
320
  }
157
321
  }
158
322
  /**
159
- * Check if config file exists and determine action
160
- *
161
- * Returns:
162
- * - 'overwrite': Proceed with overwrite (new file or user chose overwrite)
163
- * - 'merge': Proceed with merge (existing file and user chose merge, or --merge)
164
- * - 'cancel': Exit without changes (user chose cancel)
165
- *
166
- * Exit codes on conflict:
167
- * - Process may exit with code 2 if user chooses cancel in interactive dialog
168
- */
169
- async function checkExistingConfig(options) {
170
- const configPath = path.join(process.cwd(), 'padua.config.json');
171
- const fileExists = fs.existsSync(configPath);
172
- // No file exists - proceed with overwrite (which creates new file)
173
- if (!fileExists) {
174
- return 'overwrite';
175
- }
176
- // File exists - check CLI flags first
177
- if (options.force) {
178
- return 'overwrite';
179
- }
180
- if (options.merge) {
181
- return 'merge';
182
- }
183
- // File exists, no flags - show interactive dialog
184
- return await showConflictDialog(configPath, options.noColor);
185
- }
186
- /**
187
- * Display conflict resolution dialog to user
188
- * Returns user's choice or exits with code 2
323
+ * Open URL in default browser (cross-platform)
189
324
  */
190
- async function showConflictDialog(configPath, noColor = false) {
191
- // Read existing config to show summary
192
- let existing = null;
325
+ function openBrowser(url) {
193
326
  try {
194
- existing = await (0, config_1.loadConfig)();
195
- }
196
- catch (e) {
197
- // Config file exists but may be invalid - still ask what to do
198
- }
199
- // Display existing config summary
200
- console.log('');
201
- if (!noColor) {
202
- console.log(chalk_1.default.yellow('⚠ Configuration file already exists: ./padua.config.json'));
203
- }
204
- else {
205
- console.log('Warning: Configuration file already exists: ./padua.config.json');
206
- }
207
- if (existing) {
208
- console.log('');
209
- console.log('Current configuration:');
210
- console.log(` Profile: ${existing.defaultProfile || '(not set)'}`);
211
- console.log(` Region: ${existing.region || '(not set)'}`);
212
- if (existing.codeartifact) {
213
- console.log(` CodeArtifact: configured`);
327
+ const platform = process.platform;
328
+ let command;
329
+ let args;
330
+ if (platform === 'darwin') {
331
+ command = 'open';
332
+ args = [url];
214
333
  }
215
- if (existing.ecr) {
216
- console.log(` ECR: configured`);
217
- }
218
- }
219
- console.log('');
220
- // Show conflict options
221
- const answer = await inquirer_1.default.prompt([
222
- {
223
- type: 'list',
224
- name: 'action',
225
- message: 'What would you like to do?',
226
- choices: [
227
- {
228
- name: 'Overwrite - Replace existing config completely',
229
- value: 'overwrite'
230
- },
231
- {
232
- name: 'Merge - Update only changed values, keep others',
233
- value: 'merge'
234
- },
235
- {
236
- name: 'Cancel - Do not modify existing config',
237
- value: 'cancel'
238
- }
239
- ],
240
- default: 'cancel'
241
- }
242
- ]);
243
- if (answer.action === 'cancel') {
244
- if (!noColor) {
245
- console.log(chalk_1.default.gray('Operation cancelled. Existing config preserved.'));
334
+ else if (platform === 'win32') {
335
+ command = 'cmd';
336
+ args = ['/c', 'start', '', url];
246
337
  }
247
338
  else {
248
- console.log('Operation cancelled. Existing config preserved.');
339
+ // Linux and other platforms
340
+ command = 'xdg-open';
341
+ args = [url];
249
342
  }
250
- process.exit(2); // Exit code 2 for conflict
343
+ const child = (0, child_process_1.spawn)(command, args, {
344
+ detached: true,
345
+ stdio: 'ignore',
346
+ });
347
+ child.unref();
348
+ }
349
+ catch {
350
+ // Ignore errors opening browser
251
351
  }
252
- return answer.action;
253
352
  }
254
353
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/commands/init/index.ts"],"names":[],"mappings":"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"}
@@ -21,4 +21,28 @@ export declare function formatConfigJson(config: PaduaConfig): string;
21
21
  * @param noColor - Whether to disable colored output
22
22
  */
23
23
  export declare function displayNextSteps(config: PaduaConfig, noColor?: boolean): void;
24
+ /**
25
+ * Get the padua config directory path (cross-platform)
26
+ * ~/.padua on Unix, %USERPROFILE%\.padua on Windows
27
+ */
28
+ export declare function getPaduaConfigDir(): string;
29
+ /**
30
+ * Get the padua config file path
31
+ */
32
+ export declare function getPaduaConfigPath(): string;
33
+ /**
34
+ * Initialize config by writing to ~/.padua/padua.config.json (global config)
35
+ *
36
+ * @param config - Configuration object to write
37
+ * @returns Path to the config file
38
+ * @throws Error if file write fails
39
+ */
40
+ export declare function initializeGlobalConfig(config: PaduaConfig): Promise<string>;
41
+ /**
42
+ * Display next steps for global config
43
+ *
44
+ * @param configPath - Path where config was saved
45
+ * @param noColor - Whether to disable colored output
46
+ */
47
+ export declare function displayGlobalNextSteps(configPath: string, noColor?: boolean): void;
24
48
  //# sourceMappingURL=init.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init/init.ts"],"names":[],"mappings":"AAGA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B9F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAkB5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI,CAgBpF"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/init/init.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,WAAW,EAAE,MAAM,gBAAgB,CAAC;AAE7C;;;;;;GAMG;AACH,wBAAsB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,UAAU,EAAE,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC,CA0B9F;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,GAAG,MAAM,CAkB5D;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,MAAM,EAAE,WAAW,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI,CAgBpF;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI,MAAM,CAE1C;AAED;;GAEG;AACH,wBAAgB,kBAAkB,IAAI,MAAM,CAE3C;AAED;;;;;;GAMG;AACH,wBAAsB,sBAAsB,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,MAAM,CAAC,CA0BjF;AAED;;;;;GAKG;AACH,wBAAgB,sBAAsB,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,GAAE,OAAe,GAAG,IAAI,CAkBzF"}