@minecraft-docker/mcctl 1.13.0 → 1.15.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.
Files changed (35) hide show
  1. package/CHANGELOG.md +38 -6
  2. package/README.md +13 -6
  3. package/dist/commands/console/init.d.ts.map +1 -1
  4. package/dist/commands/console/init.js +109 -46
  5. package/dist/commands/console/init.js.map +1 -1
  6. package/dist/commands/console/service.d.ts.map +1 -1
  7. package/dist/commands/console/service.js +82 -19
  8. package/dist/commands/console/service.js.map +1 -1
  9. package/dist/commands/console/user.d.ts.map +1 -1
  10. package/dist/commands/console/user.js +344 -304
  11. package/dist/commands/console/user.js.map +1 -1
  12. package/dist/commands/create.d.ts +3 -0
  13. package/dist/commands/create.d.ts.map +1 -1
  14. package/dist/commands/create.js +16 -1
  15. package/dist/commands/create.js.map +1 -1
  16. package/dist/index.js +8 -1
  17. package/dist/index.js.map +1 -1
  18. package/dist/infrastructure/adapters/ClackPromptAdapter.d.ts +4 -1
  19. package/dist/infrastructure/adapters/ClackPromptAdapter.d.ts.map +1 -1
  20. package/dist/infrastructure/adapters/ClackPromptAdapter.js +93 -9
  21. package/dist/infrastructure/adapters/ClackPromptAdapter.js.map +1 -1
  22. package/dist/infrastructure/di/container.d.ts +3 -1
  23. package/dist/infrastructure/di/container.d.ts.map +1 -1
  24. package/dist/infrastructure/di/container.js +9 -1
  25. package/dist/infrastructure/di/container.js.map +1 -1
  26. package/dist/lib/admin-config.js +1 -1
  27. package/dist/lib/console-db.d.ts +64 -0
  28. package/dist/lib/console-db.d.ts.map +1 -0
  29. package/dist/lib/console-db.js +240 -0
  30. package/dist/lib/console-db.js.map +1 -0
  31. package/dist/lib/pm2-utils.js +10 -11
  32. package/dist/lib/pm2-utils.js.map +1 -1
  33. package/package.json +5 -3
  34. package/scripts/create-server.sh +63 -3
  35. package/templates/.env.example +1 -1
package/CHANGELOG.md CHANGED
@@ -5,6 +5,38 @@ All notable changes to this project will be documented in this file.
5
5
  The format is based on [Keep a Changelog](https://keepachangelog.com/en/1.0.0/),
6
6
  and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
7
7
 
8
+ ## [1.15.0] - 2026-02-08
9
+
10
+ ### Added
11
+ - **Console Auto-Install in Console Init** - `mcctl console init` now automatically installs `@minecraft-docker/mcctl-console` package if not already present (#dbfeb38)
12
+ - Detects missing mcctl-console package during initialization
13
+ - Prompts user for auto-installation with npm
14
+ - Streamlines Management Console setup to a single command
15
+
16
+ ### Fixed
17
+ - **Service Script Path Resolution** - Resolve service script paths independently for each service (#4243391)
18
+ - Previously, service scripts shared a single path resolution, causing errors when services were installed in different locations
19
+ - Each service now resolves its own script path independently
20
+ - **Modpack Version Prompt Trim Error** - Add defaultValue to modpack version prompt to prevent trim error on undefined values (#62c9068)
21
+ - Fix crash when modpack version selection returned undefined
22
+ - Add safe default value handling for version prompt
23
+
24
+ ## [1.14.0] - 2026-02-08
25
+
26
+ ### Added
27
+ - **MODRINTH Modpack Server Creation (CLI)** - Create servers from Modrinth modpacks with interactive search (#244)
28
+ - `mcctl create --modpack` flag enables modpack server creation flow
29
+ - Modrinth API integration for modpack search, version listing, and loader detection
30
+ - Dynamic mod loader filtering: only show loaders the modpack actually supports
31
+ - Automatic environment variable configuration (TYPE=MODRINTH, MODRINTH_MODPACK, etc.)
32
+ - **MODRINTH Modpack Server Creation (Web Console)** - Modpack server creation UI in Management Console (#246)
33
+ - Modpack search with debounced input in CreateServerDialog
34
+ - Version and loader selection with dynamic filtering
35
+ - Extended `CreateServerRequest` type with modpack fields (modpackSlug, modpackVersion, modpackLoader)
36
+ - **NeoForge Mod Loader Option** - NeoForge added to mod loader selection in CLI, API, and Web Console
37
+ - Available as mod loader choice when creating modpack servers
38
+ - Filtered dynamically based on modpack support via Modrinth API
39
+
8
40
  ## [1.13.0] - 2026-02-07
9
41
 
10
42
  ### Added
@@ -154,7 +186,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
154
186
 
155
187
  ### Added
156
188
  - **Selective console service support** - Choose which services to start (api/console/all) during `mcctl console init` (#203)
157
- - Improved service selection prompts for Admin Service setup
189
+ - Improved service selection prompts for Management Console setup
158
190
 
159
191
  ### Fixed
160
192
  - Correct environment variable names for mcctl-api authentication (`MCCTL_*` prefix) (#203)
@@ -164,7 +196,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
164
196
 
165
197
  ### Added
166
198
  - **Auto-install mcctl-api on console init** - When running `mcctl console init`, mcctl-api package is now automatically installed if not already present
167
- - Streamlined Admin Service setup process
199
+ - Streamlined Management Console setup process
168
200
 
169
201
  ## [1.7.6] - 2026-01-31
170
202
 
@@ -223,7 +255,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0
223
255
 
224
256
  ### Documentation
225
257
  - Add mcctl-console implementation plan with GitHub issues #174-#190
226
- - Update Admin Service documentation for new API endpoints
258
+ - Update Management Console documentation for new API endpoints
227
259
 
228
260
  ## [1.6.16] - 2026-01-31
229
261
 
@@ -344,7 +376,7 @@ ls ~/minecraft-servers/servers/*/data/*/level.dat 2>/dev/null
344
376
 
345
377
  ### Added
346
378
  - System Requirements section in README.md
347
- - Admin Service (Web Console + REST API) in Features list
379
+ - Management Console (Web Console + REST API) in Features list
348
380
  - AI Assistant link for user support
349
381
  - CHANGELOG.md with version history
350
382
 
@@ -435,12 +467,12 @@ ls ~/minecraft-servers/servers/*/data/*/level.dat 2>/dev/null
435
467
 
436
468
  ### Changed
437
469
  - Major refactoring for PM2 native service execution
438
- - Remove Docker dependency for Admin Service
470
+ - Remove Docker dependency for Management Console
439
471
 
440
472
  ## [1.6.0] - 2026-01-24
441
473
 
442
474
  ### Added
443
- - Admin Service: REST API (mcctl-api) + Web Console (mcctl-console)
475
+ - Management Console: REST API (mcctl-api) + Web Console (mcctl-console)
444
476
  - `mcctl console` commands for admin service management
445
477
  - User management with role-based access
446
478
  - API key authentication support
package/README.md CHANGED
@@ -65,7 +65,9 @@ mcctl logs myserver
65
65
  | `PAPER` | Paper server (default, recommended) |
66
66
  | `VANILLA` | Official Minecraft server |
67
67
  | `FORGE` | Forge mod server |
68
+ | `NEOFORGE` | NeoForge mod server (1.20.1+) |
68
69
  | `FABRIC` | Fabric mod server |
70
+ | `MODRINTH` | Modrinth modpack server |
69
71
 
70
72
  ## Requirements
71
73
 
@@ -75,6 +77,17 @@ mcctl logs myserver
75
77
 
76
78
  ## Changelog
77
79
 
80
+ ### v1.15.0 (2026-02-08)
81
+ - **feat(cli)**: Auto-install mcctl-console package in `console init`
82
+ - **fix(cli)**: Resolve service script paths independently for each service
83
+ - **fix(cli)**: Add defaultValue to modpack version prompt to prevent trim error
84
+
85
+ ### v1.14.0 (2026-02-08)
86
+ - **feat**: Add NeoForge to mod loader options (CLI, API, Web Console)
87
+ - **feat**: Dynamic modpack loader filtering via Modrinth API - only show loaders the modpack supports
88
+ - **feat(cli)**: MODRINTH modpack server creation support (#244)
89
+ - **feat(console)**: MODRINTH modpack server creation UI (#246)
90
+
78
91
  ### v1.13.0 (2026-02-07)
79
92
  - **feat(shared,cli)**: Unified PrerequisiteChecker for `mcctl init` and `mcctl console init`
80
93
  - **feat(console)**: `@minecraft-docker/mcctl-console` npm package publishing
@@ -95,12 +108,6 @@ mcctl logs myserver
95
108
  - **feat(console)**: Server options tab with config management (#229)
96
109
  - **feat(console)**: SSE real-time server status replaces polling (#223)
97
110
 
98
- ### v1.10.0 (2026-02-05)
99
- - **feat**: Audit Log System - comprehensive activity tracking (#234, #235)
100
-
101
- ### v1.9.0 (2026-02-05)
102
- - **feat(cli)**: Add `--all` flag to `mcctl update` command
103
-
104
111
  [Full Changelog](https://github.com/smallmiro/minecraft-server-manager/releases)
105
112
 
106
113
  ## AI Assistant
@@ -1 +1 @@
1
- {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/console/init.ts"],"names":[],"mappings":"AAgFA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAOlD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CASA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAQA;AA4LD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAuajB;AAGD,eAAO,MAAM,gBAAgB,2BAAqB,CAAC"}
1
+ {"version":3,"file":"init.d.ts","sourceRoot":"","sources":["../../../src/commands/console/init.ts"],"names":[],"mappings":"AAyHA;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAGD,MAAM,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAOlD;;;GAGG;AACH,wBAAgB,gBAAgB,IAAI;IAClC,KAAK,EAAE,OAAO,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,EAAE,MAAM,CAAC;CAClB,CASA;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,IAAI;IACnC,OAAO,EAAE,OAAO,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,MAAM,EAAE,MAAM,EAAE,CAAC;CAClB,CAQA;AA2LD;;;;;;;;;;;;;;;GAeG;AACH,wBAAsB,kBAAkB,CACtC,OAAO,EAAE,kBAAkB,GAC1B,OAAO,CAAC,MAAM,CAAC,CAwcjB;AAGD,eAAO,MAAM,gBAAgB,2BAAqB,CAAC"}
@@ -2,7 +2,8 @@ import { join } from 'node:path';
2
2
  import { existsSync, unlinkSync, writeFileSync } from 'node:fs';
3
3
  import { spawnSync } from 'node:child_process';
4
4
  import { multiselect, isCancel } from '@clack/prompts';
5
- import { Paths, log, colors, User, Username, YamlUserRepository, checkConsolePrerequisites, } from '@minecraft-docker/shared';
5
+ import { Paths, log, colors, checkConsolePrerequisites, } from '@minecraft-docker/shared';
6
+ import { ConsoleDatabase } from '../../lib/console-db.js';
6
7
  import { getContainer } from '../../infrastructure/index.js';
7
8
  import { AdminConfigManager, } from '../../lib/admin-config.js';
8
9
  import { Pm2ServiceManagerAdapter } from '../../infrastructure/adapters/Pm2ServiceManagerAdapter.js';
@@ -10,12 +11,9 @@ import { ECOSYSTEM_CONFIG_FILE, PM2_SERVICE_NAMES, resolveServiceScriptPaths, }
10
11
  import { displayPrerequisiteReport } from '../../lib/prerequisite-display.js';
11
12
  /**
12
13
  * Check if mcctl-console is available on npm
13
- * Currently returns false as it's not yet published
14
14
  */
15
15
  function isConsoleAvailable() {
16
- // mcctl-console is not yet published to npm
17
- // This will be updated when console is available
18
- return false;
16
+ return true;
19
17
  }
20
18
  /**
21
19
  * Install mcctl-api package if not present
@@ -54,6 +52,43 @@ function installMcctlApiIfNeeded(rootDir) {
54
52
  }
55
53
  return { installed: true };
56
54
  }
55
+ /**
56
+ * Install mcctl-console package if not present
57
+ * @param rootDir - Root directory to install in
58
+ * @returns true if installation succeeded or already installed
59
+ */
60
+ function installMcctlConsoleIfNeeded(rootDir) {
61
+ const consolePackagePath = join(rootDir, 'node_modules/@minecraft-docker/mcctl-console/.next/standalone/platform/services/mcctl-console/server.js');
62
+ // Already installed
63
+ if (existsSync(consolePackagePath)) {
64
+ return { installed: true };
65
+ }
66
+ // Check if package.json exists, if not create it
67
+ const packageJsonPath = join(rootDir, 'package.json');
68
+ if (!existsSync(packageJsonPath)) {
69
+ const initResult = spawnSync('npm', ['init', '-y'], {
70
+ cwd: rootDir,
71
+ encoding: 'utf-8',
72
+ stdio: ['pipe', 'pipe', 'pipe'],
73
+ });
74
+ if (initResult.status !== 0) {
75
+ return { installed: false, error: 'Failed to initialize package.json' };
76
+ }
77
+ }
78
+ // Install mcctl-console
79
+ const installResult = spawnSync('npm', ['install', '@minecraft-docker/mcctl-console@latest'], {
80
+ cwd: rootDir,
81
+ encoding: 'utf-8',
82
+ stdio: ['pipe', 'pipe', 'pipe'],
83
+ });
84
+ if (installResult.status !== 0) {
85
+ return {
86
+ installed: false,
87
+ error: installResult.stderr || 'Failed to install @minecraft-docker/mcctl-console'
88
+ };
89
+ }
90
+ return { installed: true };
91
+ }
57
92
  /**
58
93
  * Minimum required Node.js version
59
94
  */
@@ -167,7 +202,7 @@ ${apiEnvVars.join('\n')}
167
202
  }
168
203
  return `// ecosystem.config.cjs
169
204
  // =============================================================================
170
- // PM2 Ecosystem Configuration for Minecraft Admin Service
205
+ // PM2 Ecosystem Configuration for Minecraft Management Console
171
206
  // =============================================================================
172
207
  // This file is auto-generated by 'mcctl console init' command.
173
208
  // It configures PM2 to run mcctl-api and mcctl-console services.
@@ -212,7 +247,6 @@ async function cleanupExistingConfig(paths, configManager, prompt) {
212
247
  spinner.start('Cleaning up configuration files...');
213
248
  const filesToDelete = [
214
249
  configManager.path, // .mcctl-admin.yml
215
- join(paths.root, 'users.yaml'),
216
250
  join(paths.platform, ECOSYSTEM_CONFIG_FILE), // ecosystem.config.cjs
217
251
  ];
218
252
  for (const file of filesToDelete) {
@@ -358,27 +392,34 @@ export async function consoleInitCommand(options) {
358
392
  }
359
393
  console.log('');
360
394
  // Admin setup is only required when console is installed
361
- let username = '';
395
+ let adminEmail = '';
396
+ let adminName = '';
362
397
  let password = '';
363
398
  if (installConsole) {
364
- // Step 2: Admin username (required for Console authentication)
365
- username = await prompt.text({
366
- message: 'Admin username?',
367
- placeholder: 'admin',
368
- initialValue: 'admin',
399
+ // Step 2: Admin email (required for Console authentication via Better Auth)
400
+ adminEmail = await prompt.text({
401
+ message: 'Admin email?',
402
+ placeholder: 'admin@example.com',
369
403
  validate: (value) => {
370
- try {
371
- Username.create(value);
372
- return undefined;
404
+ if (!value || !/^[^\s@]+@[^\s@]+\.[^\s@]+$/.test(value)) {
405
+ return 'Valid email address is required';
373
406
  }
374
- catch (error) {
375
- return error instanceof Error
376
- ? error.message
377
- : 'Invalid username format';
407
+ return undefined;
408
+ },
409
+ });
410
+ // Step 3: Admin display name
411
+ adminName = await prompt.text({
412
+ message: 'Admin name?',
413
+ placeholder: 'Administrator',
414
+ initialValue: 'Administrator',
415
+ validate: (value) => {
416
+ if (!value || value.trim().length === 0) {
417
+ return 'Name is required';
378
418
  }
419
+ return undefined;
379
420
  },
380
421
  });
381
- // Step 3: Admin password
422
+ // Step 4: Admin password
382
423
  password = await prompt.password({
383
424
  message: 'Admin password?',
384
425
  validate: (value) => {
@@ -478,37 +519,59 @@ export async function consoleInitCommand(options) {
478
519
  return 0;
479
520
  }
480
521
  }
481
- // Console-specific setup: admin user
522
+ // Console-specific setup: admin user in Better Auth SQLite DB
482
523
  if (installConsole) {
483
524
  spinner.start('Creating admin user...');
484
- const usersPath = join(paths.root, 'users.yaml');
485
- const userRepo = new YamlUserRepository(usersPath);
486
- const usernameVO = Username.create(username);
487
- const existingUser = await userRepo.findByUsername(usernameVO);
488
- if (existingUser && !options.force) {
525
+ const dbPath = join(paths.root, 'data', 'mcctl.db');
526
+ const consoleDb = new ConsoleDatabase(dbPath);
527
+ try {
528
+ consoleDb.ensureSchema();
529
+ const existingUser = consoleDb.findUserByEmail(adminEmail);
530
+ if (existingUser && !options.force) {
531
+ spinner.stop('');
532
+ log.error(`User '${adminEmail}' already exists`);
533
+ console.log(' To overwrite, use: mcctl console init --force');
534
+ consoleDb.close();
535
+ return 1;
536
+ }
537
+ if (existingUser && options.force) {
538
+ consoleDb.deleteUser(existingUser.id);
539
+ }
540
+ consoleDb.createUser({
541
+ email: adminEmail,
542
+ name: adminName,
543
+ password,
544
+ role: 'admin',
545
+ });
546
+ spinner.stop('Admin user created');
547
+ }
548
+ finally {
549
+ consoleDb.close();
550
+ }
551
+ }
552
+ // Step 10: Install service packages if needed (production mode)
553
+ if (installApi) {
554
+ spinner.start('Checking mcctl-api installation...');
555
+ const apiInstallResult = installMcctlApiIfNeeded(paths.root);
556
+ if (!apiInstallResult.installed) {
489
557
  spinner.stop('');
490
- log.error(`User '${username}' already exists`);
491
- console.log(' To overwrite, use: mcctl console init --force');
558
+ log.error(`Failed to install mcctl-api: ${apiInstallResult.error}`);
559
+ log.info('Try installing manually: npm install @minecraft-docker/mcctl-api');
492
560
  return 1;
493
561
  }
494
- const passwordHash = await userRepo.hashPassword(password);
495
- const adminUser = User.createAdmin(usernameVO, passwordHash);
496
- if (existingUser && options.force) {
497
- await userRepo.delete(existingUser.id);
498
- }
499
- await userRepo.save(adminUser);
500
- spinner.stop('Admin user created');
562
+ spinner.stop('mcctl-api ready');
501
563
  }
502
- // Step 10: Install mcctl-api if needed (production mode)
503
- spinner.start('Checking mcctl-api installation...');
504
- const installResult = installMcctlApiIfNeeded(paths.root);
505
- if (!installResult.installed) {
506
- spinner.stop('');
507
- log.error(`Failed to install mcctl-api: ${installResult.error}`);
508
- log.info('Try installing manually: npm install @minecraft-docker/mcctl-api');
509
- return 1;
564
+ if (installConsole) {
565
+ spinner.start('Checking mcctl-console installation...');
566
+ const consoleInstallResult = installMcctlConsoleIfNeeded(paths.root);
567
+ if (!consoleInstallResult.installed) {
568
+ spinner.stop('');
569
+ log.error(`Failed to install mcctl-console: ${consoleInstallResult.error}`);
570
+ log.info('Try installing manually: npm install @minecraft-docker/mcctl-console');
571
+ return 1;
572
+ }
573
+ spinner.stop('mcctl-console ready');
510
574
  }
511
- spinner.stop('mcctl-api ready');
512
575
  // Use service selection from earlier
513
576
  const serviceInstallOptions = {
514
577
  installApi,
@@ -552,7 +615,7 @@ export async function consoleInitCommand(options) {
552
615
  console.log(colors.cyan(' Configuration:'));
553
616
  console.log(` Config file: ${colors.dim(configManager.path)}`);
554
617
  if (installConsole) {
555
- console.log(` Users file: ${colors.dim(join(paths.root, 'users.yaml'))}`);
618
+ console.log(` Console DB: ${colors.dim(join(paths.root, 'data', 'mcctl.db'))}`);
556
619
  }
557
620
  console.log(` PM2 config: ${colors.dim(ecosystemPath)}`);
558
621
  console.log(` Access mode: ${colors.bold(accessMode)}`);
@@ -1 +1 @@
1
- {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/console/init.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../../src/commands/console/init.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/commands/console/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAeH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AAsZxD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ7F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD3F;AAGD,eAAO,MAAM,mBAAmB,8BAAwB,CAAC"}
1
+ {"version":3,"file":"service.d.ts","sourceRoot":"","sources":["../../../src/commands/console/service.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAgBH;;GAEG;AACH,MAAM,WAAW,qBAAqB;IACpC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,CAAC,EAAE,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,QAAQ,GAAG,MAAM,CAAC;IAC9D,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,WAAW,CAAC,EAAE,OAAO,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,KAAK,CAAC,EAAE,OAAO,CAAC;IAChB,OAAO,CAAC,EAAE,OAAO,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAGD,MAAM,MAAM,mBAAmB,GAAG,qBAAqB,CAAC;AA4dxD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI;IAAE,OAAO,EAAE,OAAO,CAAC;IAAC,OAAO,EAAE,MAAM,EAAE,CAAC;IAAC,MAAM,EAAE,MAAM,EAAE,CAAA;CAAE,CAQ7F;AAED;;GAEG;AACH,wBAAsB,qBAAqB,CAAC,OAAO,EAAE,qBAAqB,GAAG,OAAO,CAAC,MAAM,CAAC,CAgD3F;AAGD,eAAO,MAAM,mBAAmB,8BAAwB,CAAC"}
@@ -10,8 +10,9 @@
10
10
  */
11
11
  import { Paths, colors, log, ServiceStatusEnum } from '@minecraft-docker/shared';
12
12
  import { spawn } from 'node:child_process';
13
+ import { select, isCancel } from '@clack/prompts';
13
14
  import { Pm2ServiceManagerAdapter } from '../../infrastructure/adapters/Pm2ServiceManagerAdapter.js';
14
- import { checkPm2Installation, ecosystemConfigExists, PM2_SERVICE_NAMES, getAvailableServices, checkServiceAvailability, } from '../../lib/pm2-utils.js';
15
+ import { checkPm2Installation, ecosystemConfigExists, PM2_SERVICE_NAMES, getAvailableServices, } from '../../lib/pm2-utils.js';
15
16
  const API_PORT_DEFAULT = 5001;
16
17
  const CONSOLE_PORT_DEFAULT = 5000;
17
18
  /**
@@ -27,18 +28,76 @@ function ensurePm2Installed() {
27
28
  return true;
28
29
  }
29
30
  /**
30
- * Get service names based on options and availability
31
- * Only returns services that are actually installed
31
+ * Get service names based on options, action, and availability
32
+ *
33
+ * Start/Restart rules (console depends on API):
34
+ * - --api flag: API only
35
+ * - --console flag: API + Console
36
+ * - No flags + both available: interactive prompt
37
+ *
38
+ * Stop rules (respect dependency):
39
+ * - --api flag: API + Console (console can't run without API)
40
+ * - --console flag: Console only
41
+ * - No flags + both available: interactive prompt
32
42
  */
33
- function getServiceNames(options, rootDir) {
43
+ async function getServiceNames(options, rootDir, action = 'start') {
34
44
  const availableServices = getAvailableServices(rootDir);
45
+ const hasApi = availableServices.includes(PM2_SERVICE_NAMES.API);
46
+ const hasConsole = availableServices.includes(PM2_SERVICE_NAMES.CONSOLE);
47
+ const isStop = action === 'stop';
48
+ // Explicit --api flag
35
49
  if (options.apiOnly) {
36
- return availableServices.includes(PM2_SERVICE_NAMES.API) ? [PM2_SERVICE_NAMES.API] : [];
50
+ if (isStop && hasConsole) {
51
+ // Stopping API must also stop Console (dependency)
52
+ return availableServices;
53
+ }
54
+ return hasApi ? [PM2_SERVICE_NAMES.API] : [];
37
55
  }
56
+ // Explicit --console flag
38
57
  if (options.consoleOnly) {
39
- return availableServices.includes(PM2_SERVICE_NAMES.CONSOLE) ? [PM2_SERVICE_NAMES.CONSOLE] : [];
58
+ if (isStop) {
59
+ // Stop console only
60
+ return hasConsole ? [PM2_SERVICE_NAMES.CONSOLE] : [];
61
+ }
62
+ // Start/restart: console needs API
63
+ const services = [];
64
+ if (hasApi)
65
+ services.push(PM2_SERVICE_NAMES.API);
66
+ if (hasConsole)
67
+ services.push(PM2_SERVICE_NAMES.CONSOLE);
68
+ return services;
69
+ }
70
+ // No explicit flag: interactive prompt if both services available
71
+ if (hasApi && hasConsole) {
72
+ if (isStop) {
73
+ const choice = await select({
74
+ message: 'Which services to stop?',
75
+ options: [
76
+ { value: 'all', label: 'All services', hint: 'mcctl-api + mcctl-console' },
77
+ { value: 'console', label: 'Console only', hint: 'mcctl-console' },
78
+ ],
79
+ });
80
+ if (isCancel(choice))
81
+ return null;
82
+ if (choice === 'console')
83
+ return [PM2_SERVICE_NAMES.CONSOLE];
84
+ return [PM2_SERVICE_NAMES.API, PM2_SERVICE_NAMES.CONSOLE];
85
+ }
86
+ // start / restart / logs
87
+ const choice = await select({
88
+ message: `Which services to ${action}?`,
89
+ options: [
90
+ { value: 'api', label: 'API only', hint: 'mcctl-api' },
91
+ { value: 'all', label: 'API + Console', hint: 'mcctl-api + mcctl-console' },
92
+ ],
93
+ });
94
+ if (isCancel(choice))
95
+ return null;
96
+ if (choice === 'api')
97
+ return [PM2_SERVICE_NAMES.API];
98
+ return [PM2_SERVICE_NAMES.API, PM2_SERVICE_NAMES.CONSOLE];
40
99
  }
41
- // Return only available services
100
+ // Only one service available
42
101
  return availableServices;
43
102
  }
44
103
  /**
@@ -156,23 +215,18 @@ async function startServices(paths, pm2Adapter, options) {
156
215
  log.info("Please run 'mcctl console init' to initialize console services");
157
216
  return 1;
158
217
  }
159
- const services = getServiceNames(options, paths.root);
218
+ const services = await getServiceNames(options, paths.root, 'start');
160
219
  const apiPort = options.apiPort ?? API_PORT_DEFAULT;
161
220
  const consolePort = options.consolePort ?? CONSOLE_PORT_DEFAULT;
221
+ if (services === null) {
222
+ return 0; // User cancelled
223
+ }
162
224
  if (services.length === 0) {
163
225
  log.error('No console services are installed.');
164
226
  log.info("Please run 'mcctl console init' to install services");
165
227
  return 1;
166
228
  }
167
- // Show which services are available
168
- const availability = checkServiceAvailability(paths.root);
169
229
  log.info('Starting console services via PM2...');
170
- if (!availability.api.available) {
171
- log.warn(' mcctl-api: not installed (skipping)');
172
- }
173
- if (!availability.console.available) {
174
- log.warn(' mcctl-console: not installed (skipping)');
175
- }
176
230
  if (options.apiPort || options.consolePort) {
177
231
  log.info(` API port: ${apiPort}, Console port: ${consolePort}`);
178
232
  }
@@ -199,7 +253,10 @@ async function startServices(paths, pm2Adapter, options) {
199
253
  * Stop console services
200
254
  */
201
255
  async function stopServices(paths, pm2Adapter, options) {
202
- const services = getServiceNames(options, paths.root);
256
+ const services = await getServiceNames(options, paths.root, 'stop');
257
+ if (services === null) {
258
+ return 0; // User cancelled
259
+ }
203
260
  if (services.length === 0) {
204
261
  log.warn('No console services are installed.');
205
262
  return 0;
@@ -242,9 +299,12 @@ async function stopServices(paths, pm2Adapter, options) {
242
299
  * Restart console services
243
300
  */
244
301
  async function restartServices(paths, pm2Adapter, options) {
245
- const services = getServiceNames(options, paths.root);
302
+ const services = await getServiceNames(options, paths.root, 'restart');
246
303
  const apiPort = options.apiPort ?? API_PORT_DEFAULT;
247
304
  const consolePort = options.consolePort ?? CONSOLE_PORT_DEFAULT;
305
+ if (services === null) {
306
+ return 0; // User cancelled
307
+ }
248
308
  if (services.length === 0) {
249
309
  log.error('No console services are installed.');
250
310
  log.info("Please run 'mcctl console init' to install services");
@@ -310,7 +370,10 @@ async function restartServices(paths, pm2Adapter, options) {
310
370
  * Show console service logs via PM2
311
371
  */
312
372
  async function showLogs(paths, pm2Adapter, options) {
313
- const services = getServiceNames(options, paths.root);
373
+ const services = await getServiceNames(options, paths.root, 'logs');
374
+ if (services === null) {
375
+ return 0; // User cancelled
376
+ }
314
377
  if (services.length === 0) {
315
378
  log.warn('No console services are installed.');
316
379
  return 0;