@minecraft-docker/mcctl 1.6.1 → 1.6.2

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 (90) hide show
  1. package/dist/commands/console/api.d.ts +19 -0
  2. package/dist/commands/console/api.d.ts.map +1 -0
  3. package/dist/commands/console/api.js +399 -0
  4. package/dist/commands/console/api.js.map +1 -0
  5. package/dist/commands/console/index.d.ts +10 -0
  6. package/dist/commands/console/index.d.ts.map +1 -0
  7. package/dist/commands/console/index.js +12 -0
  8. package/dist/commands/console/index.js.map +1 -0
  9. package/dist/commands/console/init.d.ts +47 -0
  10. package/dist/commands/console/init.d.ts.map +1 -0
  11. package/dist/commands/console/init.js +491 -0
  12. package/dist/commands/console/init.js.map +1 -0
  13. package/dist/commands/console/remove.d.ts +25 -0
  14. package/dist/commands/console/remove.d.ts.map +1 -0
  15. package/dist/commands/console/remove.js +189 -0
  16. package/dist/commands/console/remove.js.map +1 -0
  17. package/dist/commands/console/service.d.ts +40 -0
  18. package/dist/commands/console/service.d.ts.map +1 -0
  19. package/dist/commands/console/service.js +321 -0
  20. package/dist/commands/console/service.js.map +1 -0
  21. package/dist/commands/console/user.d.ts +17 -0
  22. package/dist/commands/console/user.d.ts.map +1 -0
  23. package/dist/commands/console/user.js +431 -0
  24. package/dist/commands/console/user.js.map +1 -0
  25. package/dist/commands/create.d.ts.map +1 -1
  26. package/dist/commands/create.js +4 -1
  27. package/dist/commands/create.js.map +1 -1
  28. package/dist/commands/delete.d.ts.map +1 -1
  29. package/dist/commands/delete.js +4 -1
  30. package/dist/commands/delete.js.map +1 -1
  31. package/dist/commands/index.d.ts +3 -0
  32. package/dist/commands/index.d.ts.map +1 -1
  33. package/dist/commands/index.js +5 -0
  34. package/dist/commands/index.js.map +1 -1
  35. package/dist/commands/init.d.ts.map +1 -1
  36. package/dist/commands/init.js +58 -26
  37. package/dist/commands/init.js.map +1 -1
  38. package/dist/commands/mod.d.ts +19 -0
  39. package/dist/commands/mod.d.ts.map +1 -0
  40. package/dist/commands/mod.js +441 -0
  41. package/dist/commands/mod.js.map +1 -0
  42. package/dist/commands/msg.d.ts +12 -0
  43. package/dist/commands/msg.d.ts.map +1 -0
  44. package/dist/commands/msg.js +273 -0
  45. package/dist/commands/msg.js.map +1 -0
  46. package/dist/commands/player-online.js +4 -2
  47. package/dist/commands/player-online.js.map +1 -1
  48. package/dist/commands/world.d.ts +2 -0
  49. package/dist/commands/world.d.ts.map +1 -1
  50. package/dist/commands/world.js +104 -1
  51. package/dist/commands/world.js.map +1 -1
  52. package/dist/index.js +162 -5
  53. package/dist/index.js.map +1 -1
  54. package/dist/infrastructure/adapters/ClackPromptAdapter.d.ts +2 -1
  55. package/dist/infrastructure/adapters/ClackPromptAdapter.d.ts.map +1 -1
  56. package/dist/infrastructure/adapters/ClackPromptAdapter.js +11 -0
  57. package/dist/infrastructure/adapters/ClackPromptAdapter.js.map +1 -1
  58. package/dist/infrastructure/adapters/Pm2ServiceManagerAdapter.d.ts +78 -0
  59. package/dist/infrastructure/adapters/Pm2ServiceManagerAdapter.d.ts.map +1 -0
  60. package/dist/infrastructure/adapters/Pm2ServiceManagerAdapter.js +391 -0
  61. package/dist/infrastructure/adapters/Pm2ServiceManagerAdapter.js.map +1 -0
  62. package/dist/infrastructure/adapters/index.d.ts +1 -0
  63. package/dist/infrastructure/adapters/index.d.ts.map +1 -1
  64. package/dist/infrastructure/adapters/index.js +2 -1
  65. package/dist/infrastructure/adapters/index.js.map +1 -1
  66. package/dist/infrastructure/index.d.ts +1 -0
  67. package/dist/infrastructure/index.d.ts.map +1 -1
  68. package/dist/infrastructure/index.js +2 -1
  69. package/dist/infrastructure/index.js.map +1 -1
  70. package/dist/lib/admin-config.d.ts +66 -0
  71. package/dist/lib/admin-config.d.ts.map +1 -0
  72. package/dist/lib/admin-config.js +130 -0
  73. package/dist/lib/admin-config.js.map +1 -0
  74. package/dist/lib/pm2-utils.d.ts +71 -0
  75. package/dist/lib/pm2-utils.d.ts.map +1 -0
  76. package/dist/lib/pm2-utils.js +155 -0
  77. package/dist/lib/pm2-utils.js.map +1 -0
  78. package/dist/lib/prompts/ip-select.d.ts +25 -0
  79. package/dist/lib/prompts/ip-select.d.ts.map +1 -0
  80. package/dist/lib/prompts/ip-select.js +255 -0
  81. package/dist/lib/prompts/ip-select.js.map +1 -0
  82. package/dist/lib/shell.d.ts +2 -0
  83. package/dist/lib/shell.d.ts.map +1 -1
  84. package/dist/lib/shell.js +7 -4
  85. package/dist/lib/shell.js.map +1 -1
  86. package/dist/lib/sudo-utils.d.ts +14 -0
  87. package/dist/lib/sudo-utils.d.ts.map +1 -0
  88. package/dist/lib/sudo-utils.js +53 -0
  89. package/dist/lib/sudo-utils.js.map +1 -0
  90. package/package.json +8 -2
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sudo-utils.d.ts","sourceRoot":"","sources":["../../src/lib/sudo-utils.ts"],"names":[],"mappings":"AAKA;;GAEG;AACH,wBAAgB,gBAAgB,IAAI,OAAO,CAE1C;AAED;;GAEG;AACH,wBAAgB,eAAe,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAE9D;AAED;;;GAGG;AACH,wBAAsB,0BAA0B,CAC9C,YAAY,CAAC,EAAE,MAAM,GACpB,OAAO,CAAC,MAAM,GAAG,SAAS,CAAC,CAwC7B"}
@@ -0,0 +1,53 @@
1
+ import { existsSync } from 'node:fs';
2
+ import * as p from '@clack/prompts';
3
+ const AVAHI_HOSTS_FILE = '/etc/avahi/hosts';
4
+ /**
5
+ * Check if avahi-daemon is installed and configured
6
+ */
7
+ export function isAvahiInstalled() {
8
+ return existsSync(AVAHI_HOSTS_FILE);
9
+ }
10
+ /**
11
+ * Check if sudo password is available (from env or provided)
12
+ */
13
+ export function hasSudoPassword(sudoPassword) {
14
+ return !!(sudoPassword || process.env.MCCTL_SUDO_PASSWORD);
15
+ }
16
+ /**
17
+ * Prompt for sudo password if avahi is installed and password not provided
18
+ * Returns the password (from prompt, option, or env) or undefined if not needed
19
+ */
20
+ export async function promptSudoPasswordIfNeeded(sudoPassword) {
21
+ // If password already provided, use it
22
+ if (sudoPassword) {
23
+ return sudoPassword;
24
+ }
25
+ // Check environment variable
26
+ if (process.env.MCCTL_SUDO_PASSWORD) {
27
+ return process.env.MCCTL_SUDO_PASSWORD;
28
+ }
29
+ // Check if avahi is installed
30
+ if (!isAvahiInstalled()) {
31
+ // avahi not installed, sudo not needed
32
+ return undefined;
33
+ }
34
+ // avahi is installed but no password provided - prompt user
35
+ p.log.info('avahi-daemon detected. Sudo password needed for mDNS hostname registration.');
36
+ const password = await p.password({
37
+ message: 'Enter sudo password (or press Enter to skip mDNS):',
38
+ mask: '*',
39
+ });
40
+ if (p.isCancel(password)) {
41
+ // User cancelled - proceed without sudo
42
+ p.log.warn('Skipped. mDNS hostname will not be registered.');
43
+ return undefined;
44
+ }
45
+ const passwordStr = password;
46
+ // Empty password means skip
47
+ if (!passwordStr.trim()) {
48
+ p.log.warn('Skipped. mDNS hostname will not be registered.');
49
+ return undefined;
50
+ }
51
+ return passwordStr;
52
+ }
53
+ //# sourceMappingURL=sudo-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sudo-utils.js","sourceRoot":"","sources":["../../src/lib/sudo-utils.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,KAAK,CAAC,MAAM,gBAAgB,CAAC;AAEpC,MAAM,gBAAgB,GAAG,kBAAkB,CAAC;AAE5C;;GAEG;AACH,MAAM,UAAU,gBAAgB;IAC9B,OAAO,UAAU,CAAC,gBAAgB,CAAC,CAAC;AACtC,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,YAAqB;IACnD,OAAO,CAAC,CAAC,CAAC,YAAY,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AAC7D,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,YAAqB;IAErB,uCAAuC;IACvC,IAAI,YAAY,EAAE,CAAC;QACjB,OAAO,YAAY,CAAC;IACtB,CAAC;IAED,6BAA6B;IAC7B,IAAI,OAAO,CAAC,GAAG,CAAC,mBAAmB,EAAE,CAAC;QACpC,OAAO,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC;IACzC,CAAC;IAED,8BAA8B;IAC9B,IAAI,CAAC,gBAAgB,EAAE,EAAE,CAAC;QACxB,uCAAuC;QACvC,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,4DAA4D;IAC5D,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,6EAA6E,CAAC,CAAC;IAE1F,MAAM,QAAQ,GAAG,MAAM,CAAC,CAAC,QAAQ,CAAC;QAChC,OAAO,EAAE,oDAAoD;QAC7D,IAAI,EAAE,GAAG;KACV,CAAC,CAAC;IAEH,IAAI,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,EAAE,CAAC;QACzB,wCAAwC;QACxC,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,MAAM,WAAW,GAAG,QAAkB,CAAC;IAEvC,4BAA4B;IAC5B,IAAI,CAAC,WAAW,CAAC,IAAI,EAAE,EAAE,CAAC;QACxB,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC,gDAAgD,CAAC,CAAC;QAC7D,OAAO,SAAS,CAAC;IACnB,CAAC;IAED,OAAO,WAAW,CAAC;AACrB,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@minecraft-docker/mcctl",
3
- "version": "1.6.1",
3
+ "version": "1.6.2",
4
4
  "description": "CLI tool for managing Docker Minecraft servers with mc-router",
5
5
  "type": "module",
6
6
  "bin": {
@@ -48,13 +48,19 @@
48
48
  ],
49
49
  "dependencies": {
50
50
  "@clack/prompts": "^0.8.0",
51
- "@minecraft-docker/shared": "^1.6.1",
51
+ "@minecraft-docker/mod-source-modrinth": "workspace:*",
52
+ "@minecraft-docker/shared": "^1.6.2",
53
+ "commander": "^12.0.0",
54
+ "js-yaml": "^4.1.0",
52
55
  "picocolors": "^1.1.0",
56
+ "pm2": "^6.0.14",
53
57
  "tar": "^7.5.4"
54
58
  },
55
59
  "devDependencies": {
60
+ "@types/js-yaml": "^4.0.9",
56
61
  "@types/node": "^20.10.0",
57
62
  "@types/tar": "^6.1.13",
63
+ "tsx": "^4.7.0",
58
64
  "typescript": "^5.3.0"
59
65
  }
60
66
  }