jenkins-generator 1.0.0 → 2.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -23,9 +23,14 @@ let PromptService = class PromptService {
23
23
  }
24
24
  async collectAllConfigurations() {
25
25
  const projectConfig = await this.collectProjectConfig();
26
+ const externalServices = await this.collectExternalServices();
27
+ projectConfig.externalServices = externalServices;
26
28
  const cloudConfig = await this.collectCloudConfig();
27
29
  const notificationConfig = await this.collectNotificationConfig();
28
30
  const jenkinsConfig = await this.collectJenkinsConfig();
31
+ const allEnvVars = this.consolidateEnvironmentVariables(projectConfig, externalServices);
32
+ jenkinsConfig.environmentVariables = allEnvVars;
33
+ cloudConfig.deploymentConfig.environmentVariables = allEnvVars;
29
34
  return {
30
35
  project: projectConfig,
31
36
  cloud: cloudConfig,
@@ -122,8 +127,541 @@ let PromptService = class PromptService {
122
127
  },
123
128
  ]);
124
129
  answers.buildCommand = buildConfig.buildCommand;
130
+ const envConfig = await inquirer_1.default.prompt([
131
+ {
132
+ type: 'confirm',
133
+ name: 'requiresEnvFile',
134
+ message: 'Does your application use a .env file?',
135
+ default: true,
136
+ },
137
+ ]);
138
+ answers.requiresEnvFile = envConfig.requiresEnvFile;
139
+ if (answers.requiresEnvFile) {
140
+ const envPath = await inquirer_1.default.prompt([
141
+ {
142
+ type: 'input',
143
+ name: 'envFilePath',
144
+ message: 'Enter .env file path (relative to project root):',
145
+ default: './.env',
146
+ },
147
+ ]);
148
+ answers.envFilePath = envPath.envFilePath;
149
+ }
125
150
  return answers;
126
151
  }
152
+ async collectExternalServices() {
153
+ const services = [];
154
+ const needsServices = await inquirer_1.default.prompt([
155
+ {
156
+ type: 'confirm',
157
+ name: 'hasExternalServices',
158
+ message: 'Does your application use external services (database, cache, queue, etc.)?',
159
+ default: true,
160
+ },
161
+ ]);
162
+ if (!needsServices.hasExternalServices) {
163
+ return services;
164
+ }
165
+ console.log("\nšŸ“¦ Let's configure your external services...\n");
166
+ let addMore = true;
167
+ while (addMore) {
168
+ const serviceType = await inquirer_1.default.prompt([
169
+ {
170
+ type: 'list',
171
+ name: 'type',
172
+ message: 'Select service type:',
173
+ choices: [
174
+ {
175
+ name: 'šŸ—„ļø Database (PostgreSQL, MongoDB, MySQL, etc.)',
176
+ value: 'database',
177
+ },
178
+ { name: '⚔ Cache (Redis, Memcached)', value: 'cache' },
179
+ { name: 'šŸ“Ø Message Queue (RabbitMQ, Kafka, SQS)', value: 'queue' },
180
+ { name: 'šŸ“¦ Storage (S3, Azure Blob, GCS)', value: 'storage' },
181
+ { name: 'šŸ“§ Email (SMTP, SendGrid, SES)', value: 'email' },
182
+ {
183
+ name: 'šŸ“Š Monitoring (DataDog, New Relic, Sentry)',
184
+ value: 'monitoring',
185
+ },
186
+ { name: 'šŸ”§ Custom Service', value: 'custom' },
187
+ ],
188
+ },
189
+ ]);
190
+ let service;
191
+ switch (serviceType.type) {
192
+ case 'database':
193
+ service = await this.configureDatabaseService();
194
+ break;
195
+ case 'cache':
196
+ service = await this.configureCacheService();
197
+ break;
198
+ case 'queue':
199
+ service = await this.configureQueueService();
200
+ break;
201
+ case 'storage':
202
+ service = await this.configureStorageService();
203
+ break;
204
+ case 'email':
205
+ service = await this.configureEmailService();
206
+ break;
207
+ case 'monitoring':
208
+ service = await this.configureMonitoringService();
209
+ break;
210
+ case 'custom':
211
+ service = await this.configureCustomService();
212
+ break;
213
+ default:
214
+ service = await this.configureCustomService();
215
+ break;
216
+ }
217
+ services.push(service);
218
+ const continueAdding = await inquirer_1.default.prompt([
219
+ {
220
+ type: 'confirm',
221
+ name: 'addMore',
222
+ message: 'Add another service?',
223
+ default: false,
224
+ },
225
+ ]);
226
+ addMore = continueAdding.addMore;
227
+ }
228
+ return services;
229
+ }
230
+ async configureDatabaseService() {
231
+ const config = await inquirer_1.default.prompt([
232
+ {
233
+ type: 'list',
234
+ name: 'service',
235
+ message: 'Select database type:',
236
+ choices: [
237
+ 'postgresql',
238
+ 'mongodb',
239
+ 'mysql',
240
+ 'mariadb',
241
+ 'redis',
242
+ 'dynamodb',
243
+ 'cosmosdb',
244
+ ],
245
+ },
246
+ {
247
+ type: 'input',
248
+ name: 'name',
249
+ message: 'Enter a name for this database connection:',
250
+ default: (answers) => `${answers.service}-main`,
251
+ },
252
+ ]);
253
+ const envVars = [];
254
+ const dbEnvVars = await inquirer_1.default.prompt([
255
+ {
256
+ type: 'input',
257
+ name: 'host',
258
+ message: 'Database host environment variable name:',
259
+ default: 'DB_HOST',
260
+ },
261
+ {
262
+ type: 'input',
263
+ name: 'port',
264
+ message: 'Database port environment variable name:',
265
+ default: 'DB_PORT',
266
+ },
267
+ {
268
+ type: 'input',
269
+ name: 'database',
270
+ message: 'Database name environment variable name:',
271
+ default: 'DB_NAME',
272
+ },
273
+ {
274
+ type: 'input',
275
+ name: 'username',
276
+ message: 'Database username environment variable name:',
277
+ default: 'DB_USERNAME',
278
+ },
279
+ {
280
+ type: 'input',
281
+ name: 'password',
282
+ message: 'Database password environment variable name:',
283
+ default: 'DB_PASSWORD',
284
+ },
285
+ ]);
286
+ envVars.push({ key: dbEnvVars.host, isSecret: false, description: 'Database host' }, { key: dbEnvVars.port, isSecret: false, description: 'Database port' }, {
287
+ key: dbEnvVars.database,
288
+ isSecret: false,
289
+ description: 'Database name',
290
+ }, {
291
+ key: dbEnvVars.username,
292
+ isSecret: true,
293
+ description: 'Database username',
294
+ }, {
295
+ key: dbEnvVars.password,
296
+ isSecret: true,
297
+ description: 'Database password',
298
+ });
299
+ const connectionString = await inquirer_1.default.prompt([
300
+ {
301
+ type: 'confirm',
302
+ name: 'useConnectionString',
303
+ message: 'Do you also use a connection string/URL?',
304
+ default: true,
305
+ },
306
+ ]);
307
+ if (connectionString.useConnectionString) {
308
+ const connStr = await inquirer_1.default.prompt([
309
+ {
310
+ type: 'input',
311
+ name: 'key',
312
+ message: 'Connection string environment variable name:',
313
+ default: 'DATABASE_URL',
314
+ },
315
+ ]);
316
+ envVars.push({
317
+ key: connStr.key,
318
+ isSecret: true,
319
+ description: 'Database connection string',
320
+ });
321
+ }
322
+ return {
323
+ type: 'database',
324
+ name: config.name,
325
+ service: config.service,
326
+ envVariables: envVars,
327
+ requiresInfrastructure: true,
328
+ };
329
+ }
330
+ async configureCacheService() {
331
+ const config = await inquirer_1.default.prompt([
332
+ {
333
+ type: 'list',
334
+ name: 'service',
335
+ message: 'Select cache type:',
336
+ choices: ['redis', 'memcached', 'elasticache'],
337
+ },
338
+ {
339
+ type: 'input',
340
+ name: 'name',
341
+ message: 'Enter a name for this cache connection:',
342
+ default: (answers) => `${answers.service}-cache`,
343
+ },
344
+ ]);
345
+ const envVars = [];
346
+ const cacheEnvVars = await inquirer_1.default.prompt([
347
+ {
348
+ type: 'input',
349
+ name: 'host',
350
+ message: 'Cache host environment variable name:',
351
+ default: 'REDIS_HOST',
352
+ },
353
+ {
354
+ type: 'input',
355
+ name: 'port',
356
+ message: 'Cache port environment variable name:',
357
+ default: 'REDIS_PORT',
358
+ },
359
+ {
360
+ type: 'confirm',
361
+ name: 'requiresPassword',
362
+ message: 'Does cache require password?',
363
+ default: true,
364
+ },
365
+ ]);
366
+ envVars.push({ key: cacheEnvVars.host, isSecret: false, description: 'Cache host' }, { key: cacheEnvVars.port, isSecret: false, description: 'Cache port' });
367
+ if (cacheEnvVars.requiresPassword) {
368
+ const password = await inquirer_1.default.prompt([
369
+ {
370
+ type: 'input',
371
+ name: 'key',
372
+ message: 'Cache password environment variable name:',
373
+ default: 'REDIS_PASSWORD',
374
+ },
375
+ ]);
376
+ envVars.push({
377
+ key: password.key,
378
+ isSecret: true,
379
+ description: 'Cache password',
380
+ });
381
+ }
382
+ return {
383
+ type: 'cache',
384
+ name: config.name,
385
+ service: config.service,
386
+ envVariables: envVars,
387
+ requiresInfrastructure: true,
388
+ };
389
+ }
390
+ async configureQueueService() {
391
+ const config = await inquirer_1.default.prompt([
392
+ {
393
+ type: 'list',
394
+ name: 'service',
395
+ message: 'Select message queue type:',
396
+ choices: ['rabbitmq', 'kafka', 'sqs', 'redis', 'azure-service-bus'],
397
+ },
398
+ {
399
+ type: 'input',
400
+ name: 'name',
401
+ message: 'Enter a name for this queue connection:',
402
+ default: (answers) => `${answers.service}-queue`,
403
+ },
404
+ ]);
405
+ const envVars = [];
406
+ const queueEnvVars = await inquirer_1.default.prompt([
407
+ {
408
+ type: 'input',
409
+ name: 'url',
410
+ message: 'Queue URL/connection string environment variable name:',
411
+ default: config.service === 'rabbitmq'
412
+ ? 'RABBITMQ_URL'
413
+ : `${config.service.toUpperCase()}_URL`,
414
+ },
415
+ ]);
416
+ envVars.push({
417
+ key: queueEnvVars.url,
418
+ isSecret: true,
419
+ description: 'Message queue connection',
420
+ });
421
+ return {
422
+ type: 'queue',
423
+ name: config.name,
424
+ service: config.service,
425
+ envVariables: envVars,
426
+ requiresInfrastructure: true,
427
+ };
428
+ }
429
+ async configureStorageService() {
430
+ const config = await inquirer_1.default.prompt([
431
+ {
432
+ type: 'list',
433
+ name: 'service',
434
+ message: 'Select storage service:',
435
+ choices: ['s3', 'azure-blob', 'gcs', 'minio', 'spaces'],
436
+ },
437
+ {
438
+ type: 'input',
439
+ name: 'name',
440
+ message: 'Enter a name for this storage connection:',
441
+ default: (answers) => `${answers.service}-storage`,
442
+ },
443
+ ]);
444
+ const envVars = [];
445
+ if (config.service === 's3' ||
446
+ config.service === 'spaces' ||
447
+ config.service === 'minio') {
448
+ const s3EnvVars = await inquirer_1.default.prompt([
449
+ {
450
+ type: 'input',
451
+ name: 'bucket',
452
+ message: 'Bucket name environment variable:',
453
+ default: 'S3_BUCKET',
454
+ },
455
+ {
456
+ type: 'input',
457
+ name: 'region',
458
+ message: 'Region environment variable:',
459
+ default: 'S3_REGION',
460
+ },
461
+ {
462
+ type: 'input',
463
+ name: 'accessKey',
464
+ message: 'Access key environment variable:',
465
+ default: 'S3_ACCESS_KEY',
466
+ },
467
+ {
468
+ type: 'input',
469
+ name: 'secretKey',
470
+ message: 'Secret key environment variable:',
471
+ default: 'S3_SECRET_KEY',
472
+ },
473
+ ]);
474
+ envVars.push({
475
+ key: s3EnvVars.bucket,
476
+ isSecret: false,
477
+ description: 'Storage bucket name',
478
+ }, {
479
+ key: s3EnvVars.region,
480
+ isSecret: false,
481
+ description: 'Storage region',
482
+ }, {
483
+ key: s3EnvVars.accessKey,
484
+ isSecret: true,
485
+ description: 'Storage access key',
486
+ }, {
487
+ key: s3EnvVars.secretKey,
488
+ isSecret: true,
489
+ description: 'Storage secret key',
490
+ });
491
+ }
492
+ return {
493
+ type: 'storage',
494
+ name: config.name,
495
+ service: config.service,
496
+ envVariables: envVars,
497
+ requiresInfrastructure: false,
498
+ };
499
+ }
500
+ async configureEmailService() {
501
+ const config = await inquirer_1.default.prompt([
502
+ {
503
+ type: 'list',
504
+ name: 'service',
505
+ message: 'Select email service:',
506
+ choices: ['smtp', 'sendgrid', 'ses', 'mailgun', 'postmark'],
507
+ },
508
+ {
509
+ type: 'input',
510
+ name: 'name',
511
+ message: 'Enter a name for this email service:',
512
+ default: (answers) => `${answers.service}-email`,
513
+ },
514
+ ]);
515
+ const envVars = [];
516
+ if (config.service === 'smtp') {
517
+ const smtpEnvVars = await inquirer_1.default.prompt([
518
+ {
519
+ type: 'input',
520
+ name: 'host',
521
+ message: 'SMTP host environment variable:',
522
+ default: 'SMTP_HOST',
523
+ },
524
+ {
525
+ type: 'input',
526
+ name: 'port',
527
+ message: 'SMTP port environment variable:',
528
+ default: 'SMTP_PORT',
529
+ },
530
+ {
531
+ type: 'input',
532
+ name: 'username',
533
+ message: 'SMTP username environment variable:',
534
+ default: 'SMTP_USERNAME',
535
+ },
536
+ {
537
+ type: 'input',
538
+ name: 'password',
539
+ message: 'SMTP password environment variable:',
540
+ default: 'SMTP_PASSWORD',
541
+ },
542
+ ]);
543
+ envVars.push({ key: smtpEnvVars.host, isSecret: false, description: 'SMTP host' }, { key: smtpEnvVars.port, isSecret: false, description: 'SMTP port' }, {
544
+ key: smtpEnvVars.username,
545
+ isSecret: true,
546
+ description: 'SMTP username',
547
+ }, {
548
+ key: smtpEnvVars.password,
549
+ isSecret: true,
550
+ description: 'SMTP password',
551
+ });
552
+ }
553
+ else {
554
+ const apiKeyEnvVar = await inquirer_1.default.prompt([
555
+ {
556
+ type: 'input',
557
+ name: 'key',
558
+ message: `${config.service.toUpperCase()} API key environment variable:`,
559
+ default: `${config.service.toUpperCase()}_API_KEY`,
560
+ },
561
+ ]);
562
+ envVars.push({
563
+ key: apiKeyEnvVar.key,
564
+ isSecret: true,
565
+ description: `${config.service} API key`,
566
+ });
567
+ }
568
+ return {
569
+ type: 'email',
570
+ name: config.name,
571
+ service: config.service,
572
+ envVariables: envVars,
573
+ requiresInfrastructure: false,
574
+ };
575
+ }
576
+ async configureMonitoringService() {
577
+ const config = await inquirer_1.default.prompt([
578
+ {
579
+ type: 'list',
580
+ name: 'service',
581
+ message: 'Select monitoring service:',
582
+ choices: ['datadog', 'newrelic', 'sentry', 'prometheus', 'grafana'],
583
+ },
584
+ {
585
+ type: 'input',
586
+ name: 'name',
587
+ message: 'Enter a name for this monitoring service:',
588
+ default: (answers) => `${answers.service}-monitoring`,
589
+ },
590
+ ]);
591
+ const envVars = [];
592
+ const monitoringEnvVars = await inquirer_1.default.prompt([
593
+ {
594
+ type: 'input',
595
+ name: 'apiKey',
596
+ message: `${config.service.toUpperCase()} API key environment variable:`,
597
+ default: `${config.service.toUpperCase()}_API_KEY`,
598
+ },
599
+ ]);
600
+ envVars.push({
601
+ key: monitoringEnvVars.apiKey,
602
+ isSecret: true,
603
+ description: `${config.service} API key`,
604
+ });
605
+ return {
606
+ type: 'monitoring',
607
+ name: config.name,
608
+ service: config.service,
609
+ envVariables: envVars,
610
+ requiresInfrastructure: false,
611
+ };
612
+ }
613
+ async configureCustomService() {
614
+ const config = await inquirer_1.default.prompt([
615
+ { type: 'input', name: 'service', message: 'Enter service name:' },
616
+ {
617
+ type: 'input',
618
+ name: 'name',
619
+ message: 'Enter a display name for this service:',
620
+ default: (answers) => answers.service,
621
+ },
622
+ ]);
623
+ const envVars = [];
624
+ let addMore = true;
625
+ console.log('\nAdd environment variables for this service:\n');
626
+ while (addMore) {
627
+ const envVar = await inquirer_1.default.prompt([
628
+ { type: 'input', name: 'key', message: 'Environment variable name:' },
629
+ {
630
+ type: 'confirm',
631
+ name: 'isSecret',
632
+ message: 'Is this a secret/sensitive value?',
633
+ default: true,
634
+ },
635
+ { type: 'input', name: 'description', message: 'Description:' },
636
+ ]);
637
+ envVars.push(envVar);
638
+ const continueAdding = await inquirer_1.default.prompt([
639
+ {
640
+ type: 'confirm',
641
+ name: 'addMore',
642
+ message: 'Add another environment variable?',
643
+ default: false,
644
+ },
645
+ ]);
646
+ addMore = continueAdding.addMore;
647
+ }
648
+ return {
649
+ type: 'custom',
650
+ name: config.name,
651
+ service: config.service,
652
+ envVariables: envVars,
653
+ requiresInfrastructure: false,
654
+ };
655
+ }
656
+ consolidateEnvironmentVariables(projectConfig, externalServices) {
657
+ const envVars = {};
658
+ for (const service of externalServices) {
659
+ for (const envVar of service.envVariables) {
660
+ envVars[envVar.key] = envVar.description;
661
+ }
662
+ }
663
+ return envVars;
664
+ }
127
665
  async collectCloudConfig() {
128
666
  const providerAnswer = await inquirer_1.default.prompt([
129
667
  {
@@ -156,6 +694,7 @@ let PromptService = class PromptService {
156
694
  region: credentials.region,
157
695
  instanceType: deploymentConfig.instanceType,
158
696
  deploymentConfig: deploymentConfig.config,
697
+ managedServices: [],
159
698
  };
160
699
  }
161
700
  async collectAWSCredentials() {
@@ -338,6 +877,7 @@ let PromptService = class PromptService {
338
877
  maxInstances,
339
878
  healthCheckPath: healthConfig.healthCheckPath,
340
879
  port: healthConfig.port,
880
+ environmentVariables: {},
341
881
  },
342
882
  };
343
883
  }
@@ -385,7 +925,7 @@ let PromptService = class PromptService {
385
925
  };
386
926
  }
387
927
  async collectJenkinsConfig() {
388
- return await inquirer_1.default.prompt([
928
+ const answers = await inquirer_1.default.prompt([
389
929
  {
390
930
  type: 'input',
391
931
  name: 'agentLabel',
@@ -405,6 +945,12 @@ let PromptService = class PromptService {
405
945
  default: 2,
406
946
  },
407
947
  ]);
948
+ return {
949
+ agentLabel: answers.agentLabel,
950
+ timeout: answers.timeout,
951
+ retryCount: answers.retryCount,
952
+ environmentVariables: {},
953
+ };
408
954
  }
409
955
  };
410
956
  exports.PromptService = PromptService;
@@ -1 +1 @@
1
- {"version":3,"file":"prompt.service.js","sourceRoot":"","sources":["../../src/services/prompt.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"prompt.service.js","sourceRoot":"","sources":["../../src/services/prompt.service.ts"],"names":[],"mappings":"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"}