@minecraft-docker/shared 1.6.14 → 1.6.15
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/application/ports/inbound/IBackupUseCase.d.ts +18 -0
- package/dist/application/ports/inbound/IBackupUseCase.d.ts.map +1 -1
- package/dist/application/ports/inbound/index.d.ts +1 -1
- package/dist/application/ports/inbound/index.d.ts.map +1 -1
- package/dist/application/ports/index.d.ts +1 -1
- package/dist/application/ports/index.d.ts.map +1 -1
- package/dist/application/use-cases/BackupUseCase.d.ts +14 -1
- package/dist/application/use-cases/BackupUseCase.d.ts.map +1 -1
- package/dist/application/use-cases/BackupUseCase.js +184 -0
- package/dist/application/use-cases/BackupUseCase.js.map +1 -1
- package/dist/utils/index.d.ts +2 -0
- package/dist/utils/index.d.ts.map +1 -1
- package/dist/utils/index.js +61 -1
- package/dist/utils/index.js.map +1 -1
- package/package.json +1 -1
|
@@ -3,6 +3,14 @@
|
|
|
3
3
|
* Manages world backups to GitHub
|
|
4
4
|
*/
|
|
5
5
|
export interface IBackupUseCase {
|
|
6
|
+
/**
|
|
7
|
+
* Set callback for saving configuration to .env
|
|
8
|
+
*/
|
|
9
|
+
setConfigSaveCallback(callback: (config: Record<string, string | boolean>) => void): void;
|
|
10
|
+
/**
|
|
11
|
+
* Interactive backup initialization
|
|
12
|
+
*/
|
|
13
|
+
init(force?: boolean): Promise<BackupInitResult>;
|
|
6
14
|
/**
|
|
7
15
|
* Interactive backup push
|
|
8
16
|
*/
|
|
@@ -66,4 +74,14 @@ export interface BackupRestoreResult {
|
|
|
66
74
|
worldsRestored?: string[];
|
|
67
75
|
error?: string;
|
|
68
76
|
}
|
|
77
|
+
/**
|
|
78
|
+
* Backup init result
|
|
79
|
+
*/
|
|
80
|
+
export interface BackupInitResult {
|
|
81
|
+
success: boolean;
|
|
82
|
+
repository?: string;
|
|
83
|
+
branch?: string;
|
|
84
|
+
autoBackupEnabled?: boolean;
|
|
85
|
+
error?: string;
|
|
86
|
+
}
|
|
69
87
|
//# sourceMappingURL=IBackupUseCase.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"IBackupUseCase.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/IBackupUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE1C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAExC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
1
|
+
{"version":3,"file":"IBackupUseCase.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/IBackupUseCase.ts"],"names":[],"mappings":"AAAA;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI,CAAC;IAE1F;;OAEG;IACH,IAAI,CAAC,KAAK,CAAC,EAAE,OAAO,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAEjD;;OAEG;IACH,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAElC;;OAEG;IACH,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE5D;;OAEG;IACH,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC,CAAC;IAEtC;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC,CAAC;IAE1C;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAExC;;OAEG;IACH,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;CACrE;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,OAAO,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,UAAU,CAAC,EAAE,IAAI,CAAC;IAClB,iBAAiB,CAAC,EAAE,OAAO,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,EAAE,IAAI,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,gBAAgB;IAC/B,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAC5B,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB"}
|
|
@@ -2,6 +2,6 @@ export type { ICreateServerUseCase, CreateServerConfig } from './ICreateServerUs
|
|
|
2
2
|
export type { IDeleteServerUseCase, DeleteServerResult } from './IDeleteServerUseCase.js';
|
|
3
3
|
export type { IServerStatusUseCase, ServerStatusResult } from './IServerStatusUseCase.js';
|
|
4
4
|
export type { IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, } from './IWorldManagementUseCase.js';
|
|
5
|
-
export type { IBackupUseCase, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, } from './IBackupUseCase.js';
|
|
5
|
+
export type { IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, } from './IBackupUseCase.js';
|
|
6
6
|
export type { IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, } from './IPlayerLookupUseCase.js';
|
|
7
7
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../../src/application/ports/inbound/index.ts"],"names":[],"mappings":"AAAA,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EAAE,oBAAoB,EAAE,kBAAkB,EAAE,MAAM,2BAA2B,CAAC;AAC1F,YAAY,EACV,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,GAClB,MAAM,8BAA8B,CAAC;AACtC,YAAY,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,GACpB,MAAM,qBAAqB,CAAC;AAC7B,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,2BAA2B,CAAC"}
|
|
@@ -1,3 +1,3 @@
|
|
|
1
|
-
export type { ICreateServerUseCase, CreateServerConfig, IDeleteServerUseCase, DeleteServerResult, IServerStatusUseCase, ServerStatusResult, IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, IBackupUseCase, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, } from './inbound/index.js';
|
|
1
|
+
export type { ICreateServerUseCase, CreateServerConfig, IDeleteServerUseCase, DeleteServerResult, IServerStatusUseCase, ServerStatusResult, IWorldManagementUseCase, WorldListResult, WorldAssignResult, WorldReleaseResult, WorldDeleteResult, WorldCreateOptions, WorldCreateResult, IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPlayerLookupUseCase, PlayerLookupResult, PlayerNameHistory, PlayerUuidResult, } from './inbound/index.js';
|
|
2
2
|
export type { IPromptPort, TextPromptOptions, SelectPromptOptions, SelectOption, ConfirmPromptOptions, PasswordPromptOptions, Spinner, IShellPort, CreateServerOptions, LogsOptions, ShellResult, IDocProvider, DocServerTypeInfo, DocEnvVarInfo, DocVersionInfo, DocMemoryInfo, IServerRepository, ServerConfigData, IWorldRepository, WorldLockData, WorldWithServerStatus, ServerStatus, WorldAvailabilityCategory, IModSourcePort, IUserRepository, IServiceManagerPort, ServiceStartOptions, ServiceStopOptions, ServiceRestartOptions, ServiceLogsOptions, } from './outbound/index.js';
|
|
3
3
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/ports/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../../src/application/ports/index.ts"],"names":[],"mappings":"AACA,YAAY,EACV,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,oBAAoB,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,eAAe,EACf,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,kBAAkB,EAClB,iBAAiB,EACjB,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,iBAAiB,EACjB,gBAAgB,GACjB,MAAM,oBAAoB,CAAC;AAG5B,YAAY,EACV,WAAW,EACX,iBAAiB,EACjB,mBAAmB,EACnB,YAAY,EACZ,oBAAoB,EACpB,qBAAqB,EACrB,OAAO,EACP,UAAU,EACV,mBAAmB,EACnB,WAAW,EACX,WAAW,EACX,YAAY,EACZ,iBAAiB,EACjB,aAAa,EACb,cAAc,EACd,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,qBAAqB,EACrB,YAAY,EACZ,yBAAyB,EACzB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,mBAAmB,EACnB,kBAAkB,EAClB,qBAAqB,EACrB,kBAAkB,GACnB,MAAM,qBAAqB,CAAC"}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import type { IBackupUseCase, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPromptPort, IShellPort } from '../ports/index.js';
|
|
1
|
+
import type { IBackupUseCase, BackupInitResult, BackupPushResult, BackupStatusResult, BackupHistoryResult, BackupRestoreResult, IPromptPort, IShellPort } from '../ports/index.js';
|
|
2
2
|
/**
|
|
3
3
|
* Backup Use Case
|
|
4
4
|
* Manages world backups to GitHub
|
|
@@ -6,7 +6,20 @@ import type { IBackupUseCase, BackupPushResult, BackupStatusResult, BackupHistor
|
|
|
6
6
|
export declare class BackupUseCase implements IBackupUseCase {
|
|
7
7
|
private readonly prompt;
|
|
8
8
|
private readonly shell;
|
|
9
|
+
private configSaveCallback?;
|
|
9
10
|
constructor(prompt: IPromptPort, shell: IShellPort);
|
|
11
|
+
/**
|
|
12
|
+
* Set callback for saving configuration (called by CLI layer)
|
|
13
|
+
*/
|
|
14
|
+
setConfigSaveCallback(callback: (config: Record<string, string | boolean>) => void): void;
|
|
15
|
+
/**
|
|
16
|
+
* Interactive backup initialization
|
|
17
|
+
*/
|
|
18
|
+
init(force?: boolean): Promise<BackupInitResult>;
|
|
19
|
+
/**
|
|
20
|
+
* Test GitHub connection
|
|
21
|
+
*/
|
|
22
|
+
private testGitHubConnection;
|
|
10
23
|
/**
|
|
11
24
|
* Interactive backup push
|
|
12
25
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupUseCase.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/BackupUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;
|
|
1
|
+
{"version":3,"file":"BackupUseCase.d.ts","sourceRoot":"","sources":["../../../src/application/use-cases/BackupUseCase.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,cAAc,EACd,gBAAgB,EAChB,gBAAgB,EAChB,kBAAkB,EAClB,mBAAmB,EACnB,mBAAmB,EACnB,WAAW,EACX,UAAU,EACX,MAAM,mBAAmB,CAAC;AAE3B;;;GAGG;AACH,qBAAa,aAAc,YAAW,cAAc;IAIhD,OAAO,CAAC,QAAQ,CAAC,MAAM;IACvB,OAAO,CAAC,QAAQ,CAAC,KAAK;IAJxB,OAAO,CAAC,kBAAkB,CAAC,CAAqD;gBAG7D,MAAM,EAAE,WAAW,EACnB,KAAK,EAAE,UAAU;IAGpC;;OAEG;IACH,qBAAqB,CAAC,QAAQ,EAAE,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,IAAI,GAAG,IAAI;IAIzF;;OAEG;IACG,IAAI,CAAC,KAAK,UAAQ,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA2KpD;;OAEG;YACW,oBAAoB;IAoClC;;OAEG;IACG,IAAI,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAgDvC;;OAEG;IACG,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,CAAC;IAoCjE;;OAEG;IACG,MAAM,IAAI,OAAO,CAAC,kBAAkB,CAAC;IA8B3C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,mBAAmB,EAAE,CAAC;IAoB/C;;OAEG;IACG,OAAO,IAAI,OAAO,CAAC,mBAAmB,CAAC;IAkE7C;;OAEG;IACG,iBAAiB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAyB1E"}
|
|
@@ -5,10 +5,194 @@
|
|
|
5
5
|
export class BackupUseCase {
|
|
6
6
|
prompt;
|
|
7
7
|
shell;
|
|
8
|
+
configSaveCallback;
|
|
8
9
|
constructor(prompt, shell) {
|
|
9
10
|
this.prompt = prompt;
|
|
10
11
|
this.shell = shell;
|
|
11
12
|
}
|
|
13
|
+
/**
|
|
14
|
+
* Set callback for saving configuration (called by CLI layer)
|
|
15
|
+
*/
|
|
16
|
+
setConfigSaveCallback(callback) {
|
|
17
|
+
this.configSaveCallback = callback;
|
|
18
|
+
}
|
|
19
|
+
/**
|
|
20
|
+
* Interactive backup initialization
|
|
21
|
+
*/
|
|
22
|
+
async init(force = false) {
|
|
23
|
+
this.prompt.intro('GitHub Backup 설정');
|
|
24
|
+
try {
|
|
25
|
+
// Check if already configured
|
|
26
|
+
const currentStatus = await this.status();
|
|
27
|
+
if (currentStatus.configured && !force) {
|
|
28
|
+
const overwrite = await this.prompt.confirm({
|
|
29
|
+
message: '백업이 이미 설정되어 있습니다. 덮어쓰시겠습니까?',
|
|
30
|
+
initialValue: false,
|
|
31
|
+
});
|
|
32
|
+
if (this.prompt.isCancel(overwrite) || !overwrite) {
|
|
33
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
34
|
+
return {
|
|
35
|
+
success: false,
|
|
36
|
+
error: 'Cancelled - existing configuration preserved',
|
|
37
|
+
};
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
// Get GitHub token
|
|
41
|
+
this.prompt.note('GitHub Personal Access Token이 필요합니다.\n' +
|
|
42
|
+
'https://github.com/settings/tokens 에서 생성하세요.\n' +
|
|
43
|
+
'필요한 권한: repo (Full control of private repositories)', '토큰 생성 안내');
|
|
44
|
+
const token = await this.prompt.password({
|
|
45
|
+
message: 'GitHub Personal Access Token:',
|
|
46
|
+
});
|
|
47
|
+
if (this.prompt.isCancel(token) || !token) {
|
|
48
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
49
|
+
return {
|
|
50
|
+
success: false,
|
|
51
|
+
error: 'Cancelled',
|
|
52
|
+
};
|
|
53
|
+
}
|
|
54
|
+
// Get repository
|
|
55
|
+
const repository = await this.prompt.text({
|
|
56
|
+
message: '백업 저장소를 입력하세요 (username/repo):',
|
|
57
|
+
placeholder: 'username/minecraft-worlds-backup',
|
|
58
|
+
validate: (value) => {
|
|
59
|
+
if (!value)
|
|
60
|
+
return '저장소를 입력하세요.';
|
|
61
|
+
if (!value.includes('/'))
|
|
62
|
+
return 'username/repo 형식으로 입력하세요.';
|
|
63
|
+
return undefined;
|
|
64
|
+
},
|
|
65
|
+
});
|
|
66
|
+
if (this.prompt.isCancel(repository) || !repository) {
|
|
67
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
68
|
+
return {
|
|
69
|
+
success: false,
|
|
70
|
+
error: 'Cancelled',
|
|
71
|
+
};
|
|
72
|
+
}
|
|
73
|
+
// Get branch
|
|
74
|
+
const branchChoice = await this.prompt.select({
|
|
75
|
+
message: '브랜치를 선택하세요:',
|
|
76
|
+
options: [
|
|
77
|
+
{ value: 'main', label: 'main', hint: '권장' },
|
|
78
|
+
{ value: 'master', label: 'master' },
|
|
79
|
+
{ value: '_custom', label: '직접 입력' },
|
|
80
|
+
],
|
|
81
|
+
});
|
|
82
|
+
if (this.prompt.isCancel(branchChoice)) {
|
|
83
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
84
|
+
return {
|
|
85
|
+
success: false,
|
|
86
|
+
error: 'Cancelled',
|
|
87
|
+
};
|
|
88
|
+
}
|
|
89
|
+
let branch = branchChoice;
|
|
90
|
+
if (branchChoice === '_custom') {
|
|
91
|
+
const customBranch = await this.prompt.text({
|
|
92
|
+
message: '브랜치 이름을 입력하세요:',
|
|
93
|
+
placeholder: 'main',
|
|
94
|
+
});
|
|
95
|
+
if (this.prompt.isCancel(customBranch) || !customBranch) {
|
|
96
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
97
|
+
return {
|
|
98
|
+
success: false,
|
|
99
|
+
error: 'Cancelled',
|
|
100
|
+
};
|
|
101
|
+
}
|
|
102
|
+
branch = customBranch;
|
|
103
|
+
}
|
|
104
|
+
// Auto backup on stop
|
|
105
|
+
const autoBackup = await this.prompt.confirm({
|
|
106
|
+
message: '서버 종료 시 자동으로 백업할까요?',
|
|
107
|
+
initialValue: true,
|
|
108
|
+
});
|
|
109
|
+
if (this.prompt.isCancel(autoBackup)) {
|
|
110
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
111
|
+
return {
|
|
112
|
+
success: false,
|
|
113
|
+
error: 'Cancelled',
|
|
114
|
+
};
|
|
115
|
+
}
|
|
116
|
+
// Test connection
|
|
117
|
+
const spinner = this.prompt.spinner();
|
|
118
|
+
spinner.start('GitHub 연결 테스트 중...');
|
|
119
|
+
const testResult = await this.testGitHubConnection(token, repository);
|
|
120
|
+
if (!testResult.success) {
|
|
121
|
+
spinner.stop('연결 실패');
|
|
122
|
+
this.prompt.error(testResult.error || '저장소에 접근할 수 없습니다.');
|
|
123
|
+
this.prompt.note('토큰 권한 또는 저장소 이름을 확인하세요.\n' +
|
|
124
|
+
'저장소가 없으면 먼저 GitHub에서 생성하세요.', '문제 해결');
|
|
125
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
126
|
+
return {
|
|
127
|
+
success: false,
|
|
128
|
+
error: testResult.error,
|
|
129
|
+
};
|
|
130
|
+
}
|
|
131
|
+
spinner.stop('연결 성공');
|
|
132
|
+
// Save configuration
|
|
133
|
+
const config = {
|
|
134
|
+
BACKUP_GITHUB_TOKEN: token,
|
|
135
|
+
BACKUP_GITHUB_REPO: repository,
|
|
136
|
+
BACKUP_GITHUB_BRANCH: branch,
|
|
137
|
+
BACKUP_AUTO_ON_STOP: autoBackup,
|
|
138
|
+
};
|
|
139
|
+
if (this.configSaveCallback) {
|
|
140
|
+
this.configSaveCallback(config);
|
|
141
|
+
}
|
|
142
|
+
this.prompt.success('백업 설정이 완료되었습니다!');
|
|
143
|
+
this.prompt.note(`저장소: ${repository}\n` +
|
|
144
|
+
`브랜치: ${branch}\n` +
|
|
145
|
+
`자동 백업: ${autoBackup ? '활성화' : '비활성화'}`, '설정 정보');
|
|
146
|
+
this.prompt.outro('이제 mcctl backup push로 백업할 수 있습니다.');
|
|
147
|
+
return {
|
|
148
|
+
success: true,
|
|
149
|
+
repository,
|
|
150
|
+
branch,
|
|
151
|
+
autoBackupEnabled: autoBackup,
|
|
152
|
+
};
|
|
153
|
+
}
|
|
154
|
+
catch (error) {
|
|
155
|
+
if (this.prompt.isCancel(error)) {
|
|
156
|
+
this.prompt.outro('설정이 취소되었습니다.');
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
error: 'Cancelled',
|
|
160
|
+
};
|
|
161
|
+
}
|
|
162
|
+
throw error;
|
|
163
|
+
}
|
|
164
|
+
}
|
|
165
|
+
/**
|
|
166
|
+
* Test GitHub connection
|
|
167
|
+
*/
|
|
168
|
+
async testGitHubConnection(token, repository) {
|
|
169
|
+
// Use git ls-remote to test connection
|
|
170
|
+
const result = await this.shell.exec('git', [
|
|
171
|
+
'ls-remote',
|
|
172
|
+
'--heads',
|
|
173
|
+
`https://${token}@github.com/${repository}.git`,
|
|
174
|
+
]);
|
|
175
|
+
if (result.success) {
|
|
176
|
+
return { success: true };
|
|
177
|
+
}
|
|
178
|
+
// Parse error message
|
|
179
|
+
if (result.stderr.includes('not found') || result.stderr.includes('404')) {
|
|
180
|
+
return {
|
|
181
|
+
success: false,
|
|
182
|
+
error: '저장소를 찾을 수 없습니다. 저장소 이름을 확인하세요.',
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
if (result.stderr.includes('Authentication failed') || result.stderr.includes('403')) {
|
|
186
|
+
return {
|
|
187
|
+
success: false,
|
|
188
|
+
error: '인증에 실패했습니다. 토큰 권한을 확인하세요.',
|
|
189
|
+
};
|
|
190
|
+
}
|
|
191
|
+
return {
|
|
192
|
+
success: false,
|
|
193
|
+
error: result.stderr || '알 수 없는 오류가 발생했습니다.',
|
|
194
|
+
};
|
|
195
|
+
}
|
|
12
196
|
/**
|
|
13
197
|
* Interactive backup push
|
|
14
198
|
*/
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"BackupUseCase.js","sourceRoot":"","sources":["../../../src/application/use-cases/BackupUseCase.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"BackupUseCase.js","sourceRoot":"","sources":["../../../src/application/use-cases/BackupUseCase.ts"],"names":[],"mappings":"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"}
|
package/dist/utils/index.d.ts
CHANGED
|
@@ -59,6 +59,8 @@ export declare class Config {
|
|
|
59
59
|
save(config: McctlConfig): void;
|
|
60
60
|
/** Load .env file */
|
|
61
61
|
loadEnv(): EnvConfig;
|
|
62
|
+
/** Update specific keys in .env file (preserves comments and other settings) */
|
|
63
|
+
updateEnv(updates: Record<string, string | boolean>): void;
|
|
62
64
|
}
|
|
63
65
|
/**
|
|
64
66
|
* Console output utilities with colors
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAsBvC;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,OAAO,CAAC,EAAE,MAAM;IAK5B,iDAAiD;IACjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,gDAAgD;IAChD,IAAI,OAAO,IAAI,MAAM,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAIA,OAAO,KAAK,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;GAEG;AACH,wBAAgB,cAAc,IAAI,MAAM,CAsBvC;AAED;;GAEG;AACH,qBAAa,KAAK;IAChB,OAAO,CAAC,QAAQ,CAAC,OAAO,CAAS;IACjC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;gBAEzB,OAAO,CAAC,EAAE,MAAM;IAK5B,iDAAiD;IACjD,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,qCAAqC;IACrC,IAAI,QAAQ,IAAI,MAAM,CAErB;IAED,gDAAgD;IAChD,IAAI,OAAO,IAAI,MAAM,CAoBpB;IAED,yCAAyC;IACzC,IAAI,SAAS,IAAI,MAAM,CAoBtB;IAED,wBAAwB;IACxB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,uBAAuB;IACvB,IAAI,MAAM,IAAI,MAAM,CAEnB;IAED,sBAAsB;IACtB,IAAI,KAAK,IAAI,MAAM,CAElB;IAED,+BAA+B;IAC/B,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,4BAA4B;IAC5B,IAAI,IAAI,IAAI,MAAM,CAEjB;IAED,wBAAwB;IACxB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,qBAAqB;IACrB,IAAI,OAAO,IAAI,MAAM,CAEpB;IAED,8BAA8B;IAC9B,IAAI,WAAW,IAAI,MAAM,CAExB;IAED,gCAAgC;IAChC,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED,uBAAuB;IACvB,IAAI,UAAU,IAAI,MAAM,CAEvB;IAED,uCAAuC;IACvC,aAAa,IAAI,OAAO;IAIxB,2BAA2B;IAC3B,SAAS,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI/B,0BAA0B;IAC1B,QAAQ,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM;IAI9B,yBAAyB;IACzB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM;CAGhC;AAED;;GAEG;AACH,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAQ;gBAElB,KAAK,CAAC,EAAE,KAAK;IAIzB,wBAAwB;IACxB,IAAI,IAAI,WAAW,GAAG,IAAI;IAc1B,wBAAwB;IACxB,IAAI,CAAC,MAAM,EAAE,WAAW,GAAG,IAAI;IAW/B,qBAAqB;IACrB,OAAO,IAAI,SAAS;IAsCpB,gFAAgF;IAChF,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,IAAI;CAsD3D;AAED;;GAEG;AACH,eAAO,MAAM,MAAM;aACR,MAAM;eACJ,MAAM;gBACL,MAAM;cACR,MAAM;cACN,MAAM;cACN,MAAM;aACP,MAAM;CAChB,CAAC;AAEF,eAAO,MAAM,GAAG;gBACF,MAAM;gBACN,MAAM;iBACL,MAAM;iBACN,MAAM;CAKpB,CAAC"}
|
package/dist/utils/index.js
CHANGED
|
@@ -47,7 +47,22 @@ export class Paths {
|
|
|
47
47
|
}
|
|
48
48
|
/** Scripts directory (from package or local) */
|
|
49
49
|
get scripts() {
|
|
50
|
-
|
|
50
|
+
// Priority: env var > CLI package scripts > repo root scripts
|
|
51
|
+
if (process.env['MCCTL_SCRIPTS']) {
|
|
52
|
+
return process.env['MCCTL_SCRIPTS'];
|
|
53
|
+
}
|
|
54
|
+
// Try to find scripts in mcctl CLI package (npm global install)
|
|
55
|
+
const cliScripts = join(this.packageRoot, '..', 'mcctl', 'scripts');
|
|
56
|
+
if (existsSync(cliScripts)) {
|
|
57
|
+
return cliScripts;
|
|
58
|
+
}
|
|
59
|
+
// Try scripts in current package (if CLI is packageRoot)
|
|
60
|
+
const localScripts = join(this.packageRoot, 'scripts');
|
|
61
|
+
if (existsSync(localScripts)) {
|
|
62
|
+
return localScripts;
|
|
63
|
+
}
|
|
64
|
+
// Fallback: repo root scripts (local dev)
|
|
65
|
+
return join(this.packageRoot, '..', '..', 'scripts');
|
|
51
66
|
}
|
|
52
67
|
/** Templates directory (from package) */
|
|
53
68
|
get templates() {
|
|
@@ -189,6 +204,51 @@ export class Config {
|
|
|
189
204
|
}
|
|
190
205
|
return config;
|
|
191
206
|
}
|
|
207
|
+
/** Update specific keys in .env file (preserves comments and other settings) */
|
|
208
|
+
updateEnv(updates) {
|
|
209
|
+
const envPath = this.paths.envFile;
|
|
210
|
+
let content = '';
|
|
211
|
+
if (existsSync(envPath)) {
|
|
212
|
+
content = readFileSync(envPath, 'utf-8');
|
|
213
|
+
}
|
|
214
|
+
const lines = content.split('\n');
|
|
215
|
+
const updatedKeys = new Set();
|
|
216
|
+
// Update existing keys
|
|
217
|
+
const updatedLines = lines.map((line) => {
|
|
218
|
+
const trimmed = line.trim();
|
|
219
|
+
if (!trimmed || trimmed.startsWith('#'))
|
|
220
|
+
return line;
|
|
221
|
+
const eqIndex = trimmed.indexOf('=');
|
|
222
|
+
if (eqIndex === -1)
|
|
223
|
+
return line;
|
|
224
|
+
const key = trimmed.slice(0, eqIndex).trim();
|
|
225
|
+
if (key in updates) {
|
|
226
|
+
updatedKeys.add(key);
|
|
227
|
+
const value = updates[key];
|
|
228
|
+
const strValue = typeof value === 'boolean' ? String(value) : value;
|
|
229
|
+
return `${key}=${strValue}`;
|
|
230
|
+
}
|
|
231
|
+
return line;
|
|
232
|
+
});
|
|
233
|
+
// Add new keys that weren't updated
|
|
234
|
+
const newKeys = Object.entries(updates).filter(([key]) => !updatedKeys.has(key));
|
|
235
|
+
if (newKeys.length > 0) {
|
|
236
|
+
// Add blank line before new section if file has content
|
|
237
|
+
if (updatedLines.length > 0 && updatedLines[updatedLines.length - 1]?.trim() !== '') {
|
|
238
|
+
updatedLines.push('');
|
|
239
|
+
}
|
|
240
|
+
for (const [key, value] of newKeys) {
|
|
241
|
+
const strValue = typeof value === 'boolean' ? String(value) : value;
|
|
242
|
+
updatedLines.push(`${key}=${strValue}`);
|
|
243
|
+
}
|
|
244
|
+
}
|
|
245
|
+
// Ensure directory exists
|
|
246
|
+
const dir = dirname(envPath);
|
|
247
|
+
if (!existsSync(dir)) {
|
|
248
|
+
mkdirSync(dir, { recursive: true });
|
|
249
|
+
}
|
|
250
|
+
writeFileSync(envPath, updatedLines.join('\n'), 'utf-8');
|
|
251
|
+
}
|
|
192
252
|
}
|
|
193
253
|
/**
|
|
194
254
|
* Console output utilities with colors
|
package/dist/utils/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,SAAS,CAAC;AAClC,OAAO,EAAE,IAAI,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAC1C,OAAO,EAAE,UAAU,EAAE,YAAY,EAAE,aAAa,EAAE,SAAS,EAAE,MAAM,SAAS,CAAC;AAC7E,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAGzC;;GAEG;AACH,MAAM,UAAU,cAAc;IAC5B,uDAAuD;IACvD,MAAM,WAAW,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;IACnD,IAAI,GAAG,GAAG,OAAO,CAAC,WAAW,CAAC,CAAC;IAE/B,4DAA4D;IAC5D,OAAO,GAAG,KAAK,GAAG,EAAE,CAAC;QACnB,MAAM,OAAO,GAAG,IAAI,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAC1C,IAAI,UAAU,CAAC,OAAO,CAAC,EAAE,CAAC;YACxB,IAAI,CAAC;gBACH,MAAM,GAAG,GAAG,IAAI,CAAC,KAAK,CAAC,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,CAAC,CAAC;gBACvD,IAAI,GAAG,CAAC,IAAI,EAAE,UAAU,CAAC,oBAAoB,CAAC,EAAE,CAAC;oBAC/C,OAAO,GAAG,CAAC;gBACb,CAAC;YACH,CAAC;YAAC,MAAM,CAAC;gBACP,qBAAqB;YACvB,CAAC;QACH,CAAC;QACD,GAAG,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC;IACrB,CAAC;IAED,OAAO,OAAO,CAAC,WAAW,CAAC,CAAC;AAC9B,CAAC;AAED;;GAEG;AACH,MAAM,OAAO,KAAK;IACC,OAAO,CAAS;IAChB,WAAW,CAAS;IAErC,YAAY,OAAgB;QAC1B,IAAI,CAAC,WAAW,GAAG,cAAc,EAAE,CAAC;QACpC,IAAI,CAAC,OAAO,GAAG,OAAO,IAAI,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC,IAAI,IAAI,CAAC,OAAO,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAC9F,CAAC;IAED,iDAAiD;IACjD,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,qCAAqC;IACrC,IAAI,QAAQ;QACV,OAAO,IAAI,CAAC,OAAO,CAAC;IACtB,CAAC;IAED,gDAAgD;IAChD,IAAI,OAAO;QACT,OAAO,OAAO,CAAC,GAAG,CAAC,eAAe,CAAC,IAAI,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,IAAI,EAAE,IAAI,EAAE,SAAS,CAAC,CAAC;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/utils/index.ts"],"names":[],"mappings":"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"}
|