@padua/cli 1.2.0 → 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.
- package/dist/commands/init/aws-profile.d.ts +21 -0
- package/dist/commands/init/aws-profile.d.ts.map +1 -1
- package/dist/commands/init/aws-profile.js +91 -0
- package/dist/commands/init/aws-profile.js.map +1 -1
- package/dist/commands/init/index.d.ts +21 -17
- package/dist/commands/init/index.d.ts.map +1 -1
- package/dist/commands/init/index.js +280 -181
- package/dist/commands/init/index.js.map +1 -1
- package/dist/commands/init/init.d.ts +24 -0
- package/dist/commands/init/init.d.ts.map +1 -1
- package/dist/commands/init/init.js +78 -0
- package/dist/commands/init/init.js.map +1 -1
- package/dist/commands/init/sso-discovery.d.ts +114 -0
- package/dist/commands/init/sso-discovery.d.ts.map +1 -0
- package/dist/commands/init/sso-discovery.js +363 -0
- package/dist/commands/init/sso-discovery.js.map +1 -0
- package/dist/commands/status/checks.d.ts.map +1 -1
- package/dist/commands/status/checks.js +21 -5
- package/dist/commands/status/checks.js.map +1 -1
- package/package.json +1 -1
|
@@ -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
|
|
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
|
-
|
|
68
|
-
|
|
69
|
-
if (
|
|
70
|
-
|
|
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
|
-
|
|
73
|
-
|
|
74
|
-
|
|
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
|
-
|
|
81
|
-
|
|
82
|
-
|
|
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
|
-
|
|
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
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
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
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
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
|
-
|
|
101
|
-
|
|
102
|
-
|
|
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
|
|
105
|
-
console.log('
|
|
217
|
+
else {
|
|
218
|
+
console.log('No roles available. Cannot create profiles.');
|
|
106
219
|
}
|
|
107
220
|
process.exit(1);
|
|
108
221
|
}
|
|
109
|
-
|
|
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.
|
|
112
|
-
if (!
|
|
113
|
-
console.log(chalk_1.default.green(`✓ AWS
|
|
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
|
|
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 (!
|
|
122
|
-
console.error(chalk_1.default.red(`✗ Failed to save AWS
|
|
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
|
|
269
|
+
console.error(`Failed to save AWS config: ${msg}`);
|
|
126
270
|
}
|
|
127
|
-
process.exit(4);
|
|
271
|
+
process.exit(4);
|
|
128
272
|
}
|
|
129
|
-
// Step
|
|
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.
|
|
132
|
-
if (!
|
|
133
|
-
console.log(chalk_1.default.green(
|
|
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(
|
|
293
|
+
console.log(`Padua configuration saved to ${configPath}`);
|
|
137
294
|
}
|
|
138
295
|
}
|
|
139
296
|
catch (error) {
|
|
140
297
|
const msg = error.message;
|
|
141
|
-
if (!
|
|
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);
|
|
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
|
-
|
|
150
|
-
|
|
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
|
-
|
|
154
|
-
console.error(`
|
|
317
|
+
const msg = error.message;
|
|
318
|
+
console.error(`Error: ${msg}`);
|
|
155
319
|
process.exit(1);
|
|
156
320
|
}
|
|
157
321
|
}
|
|
158
322
|
/**
|
|
159
|
-
*
|
|
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
|
-
|
|
191
|
-
// Read existing config to show summary
|
|
192
|
-
let existing = null;
|
|
325
|
+
function openBrowser(url) {
|
|
193
326
|
try {
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
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 (
|
|
216
|
-
|
|
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
|
-
|
|
339
|
+
// Linux and other platforms
|
|
340
|
+
command = 'xdg-open';
|
|
341
|
+
args = [url];
|
|
249
342
|
}
|
|
250
|
-
|
|
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":"
|
|
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"}
|