@wocker/ws 1.0.31 → 1.1.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/lib/AppModule.js +1 -2
- package/lib/main.js +2 -2
- package/lib/makes/GithubClient.d.ts +3 -2
- package/lib/makes/GithubClient.js +27 -27
- package/lib/makes/index.d.ts +0 -3
- package/lib/makes/index.js +0 -3
- package/lib/modules/core/controllers/DebugController.d.ts +3 -4
- package/lib/modules/core/controllers/DebugController.js +5 -22
- package/lib/modules/core/controllers/ExperimentalController.d.ts +3 -3
- package/lib/modules/core/controllers/ExperimentalController.js +1 -1
- package/lib/modules/dns/index.js +3 -3
- package/lib/modules/keystore/controllers/KeystoreController.d.ts +3 -3
- package/lib/modules/keystore/controllers/KeystoreController.js +8 -8
- package/lib/modules/keystore/providers/FileKeystoreProvider.js +8 -8
- package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
- package/lib/modules/keystore/services/KeystoreService.js +4 -4
- package/lib/modules/package-manager/service/PackageManager.d.ts +3 -3
- package/lib/modules/package-manager/service/PackageManager.js +8 -8
- package/lib/modules/package-manager/service/RegistryService.js +5 -4
- package/lib/modules/plugin/controllers/PluginController.d.ts +3 -3
- package/lib/modules/plugin/controllers/PluginController.js +4 -4
- package/lib/modules/plugin/index.js +4 -5
- package/lib/modules/plugin/services/PluginService.d.ts +3 -3
- package/lib/modules/plugin/services/PluginService.js +11 -13
- package/lib/modules/preset/controllers/PresetController.d.ts +3 -3
- package/lib/modules/preset/controllers/PresetController.js +6 -6
- package/lib/modules/preset/controllers/PresetListener.d.ts +5 -3
- package/lib/modules/preset/controllers/PresetListener.js +21 -30
- package/lib/modules/preset/repositories/PresetRepository.d.ts +3 -3
- package/lib/modules/preset/repositories/PresetRepository.js +7 -7
- package/lib/modules/preset/services/PresetService.d.ts +4 -3
- package/lib/modules/preset/services/PresetService.js +33 -33
- package/lib/modules/project/controllers/MetadataController.d.ts +8 -0
- package/lib/modules/project/controllers/MetadataController.js +89 -0
- package/lib/modules/project/controllers/ProjectController.d.ts +6 -6
- package/lib/modules/project/controllers/ProjectController.js +63 -49
- package/lib/modules/project/controllers/SecretsController.js +2 -2
- package/lib/modules/project/index.d.ts +1 -2
- package/lib/modules/project/index.js +4 -6
- package/lib/modules/project/services/ProjectService.d.ts +5 -6
- package/lib/modules/project/services/ProjectService.js +38 -39
- package/lib/modules/proxy/controllers/CertController.js +6 -0
- package/lib/modules/proxy/controllers/HttpAuthController.d.ts +15 -0
- package/lib/modules/proxy/controllers/HttpAuthController.js +137 -0
- package/lib/modules/proxy/controllers/ProxyController.d.ts +3 -3
- package/lib/modules/proxy/controllers/ProxyController.js +11 -11
- package/lib/modules/proxy/index.js +4 -0
- package/lib/modules/proxy/services/CertService.d.ts +6 -5
- package/lib/modules/proxy/services/CertService.js +1 -2
- package/lib/modules/proxy/services/HttpAuthService.d.ts +23 -0
- package/lib/modules/proxy/services/HttpAuthService.js +137 -0
- package/lib/modules/proxy/services/ProxyService.d.ts +4 -3
- package/lib/modules/proxy/services/ProxyService.js +31 -19
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/package.json +5 -13
- package/plugins/proxy/Dockerfile +14 -4
- package/plugins/proxy/wocker-entrypoint.sh +11 -0
- package/lib/makes/Http.d.ts +0 -18
- package/lib/makes/Http.js +0 -82
- package/lib/makes/Version.d.ts +0 -22
- package/lib/makes/Version.js +0 -59
- package/lib/makes/VersionRange.d.ts +0 -6
- package/lib/makes/VersionRange.js +0 -18
- package/lib/makes/VersionRule.d.ts +0 -24
- package/lib/makes/VersionRule.js +0 -68
- package/lib/modules/project/repositories/ProjectRepository.d.ts +0 -10
- package/lib/modules/project/repositories/ProjectRepository.js +0 -71
- package/lib/utils/injectVariables.d.ts +0 -5
- package/lib/utils/injectVariables.js +0 -10
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
|
|
3
|
+
var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
|
|
4
|
+
if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
|
|
5
|
+
else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
|
|
6
|
+
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
|
+
};
|
|
8
|
+
var __metadata = (this && this.__metadata) || function (k, v) {
|
|
9
|
+
if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
|
|
10
|
+
};
|
|
11
|
+
var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
12
|
+
return function (target, key) { decorator(target, key, paramIndex); }
|
|
13
|
+
};
|
|
14
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
15
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
16
|
+
};
|
|
17
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
+
exports.MetadataController = void 0;
|
|
19
|
+
const core_1 = require("@wocker/core");
|
|
20
|
+
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
21
|
+
const ProjectService_1 = require("../services/ProjectService");
|
|
22
|
+
let MetadataController = class MetadataController {
|
|
23
|
+
constructor(projectService) {
|
|
24
|
+
this.projectService = projectService;
|
|
25
|
+
}
|
|
26
|
+
list(projectName) {
|
|
27
|
+
const project = this.projectService.get(projectName);
|
|
28
|
+
const table = new cli_table3_1.default();
|
|
29
|
+
for (const key in project.metadata) {
|
|
30
|
+
table.push([key, project.metadata[key]]);
|
|
31
|
+
}
|
|
32
|
+
return table.toString();
|
|
33
|
+
}
|
|
34
|
+
set(meta, projectName) {
|
|
35
|
+
const project = this.projectService.get(projectName);
|
|
36
|
+
for (const field of meta) {
|
|
37
|
+
let [, key = "", value = ""] = field.split(/^([^=]+)=(.*)$/);
|
|
38
|
+
key = key.trim();
|
|
39
|
+
value = value.trim();
|
|
40
|
+
if (!key) {
|
|
41
|
+
continue;
|
|
42
|
+
}
|
|
43
|
+
project.setMeta(key, value);
|
|
44
|
+
}
|
|
45
|
+
project.save();
|
|
46
|
+
}
|
|
47
|
+
unset(meta, projectName) {
|
|
48
|
+
const project = this.projectService.get(projectName);
|
|
49
|
+
for (const field of meta) {
|
|
50
|
+
let [, key = ""] = field.split(/^([^=]+)(?:=(.*))?$/);
|
|
51
|
+
key = key.trim();
|
|
52
|
+
project.unsetMeta(key);
|
|
53
|
+
}
|
|
54
|
+
project.save();
|
|
55
|
+
}
|
|
56
|
+
};
|
|
57
|
+
exports.MetadataController = MetadataController;
|
|
58
|
+
__decorate([
|
|
59
|
+
(0, core_1.Command)("meta"),
|
|
60
|
+
(0, core_1.Description)("List of metafields"),
|
|
61
|
+
__param(0, (0, core_1.Option)("name", "n")),
|
|
62
|
+
__param(0, (0, core_1.Description)("The name of the project")),
|
|
63
|
+
__metadata("design:type", Function),
|
|
64
|
+
__metadata("design:paramtypes", [String]),
|
|
65
|
+
__metadata("design:returntype", void 0)
|
|
66
|
+
], MetadataController.prototype, "list", null);
|
|
67
|
+
__decorate([
|
|
68
|
+
(0, core_1.Command)("meta:set [...meta]"),
|
|
69
|
+
__param(0, (0, core_1.Param)("meta")),
|
|
70
|
+
__param(1, (0, core_1.Option)("name", "n")),
|
|
71
|
+
__param(1, (0, core_1.Description)("The name of the project")),
|
|
72
|
+
__metadata("design:type", Function),
|
|
73
|
+
__metadata("design:paramtypes", [Array, String]),
|
|
74
|
+
__metadata("design:returntype", void 0)
|
|
75
|
+
], MetadataController.prototype, "set", null);
|
|
76
|
+
__decorate([
|
|
77
|
+
(0, core_1.Command)("meta:unset [...meta]"),
|
|
78
|
+
__param(0, (0, core_1.Param)("meta")),
|
|
79
|
+
__param(1, (0, core_1.Option)("name", "n")),
|
|
80
|
+
__param(1, (0, core_1.Description)("The name of the project")),
|
|
81
|
+
__metadata("design:type", Function),
|
|
82
|
+
__metadata("design:paramtypes", [Array, String]),
|
|
83
|
+
__metadata("design:returntype", void 0)
|
|
84
|
+
], MetadataController.prototype, "unset", null);
|
|
85
|
+
exports.MetadataController = MetadataController = __decorate([
|
|
86
|
+
(0, core_1.Controller)(),
|
|
87
|
+
(0, core_1.Description)("Metadata commands"),
|
|
88
|
+
__metadata("design:paramtypes", [ProjectService_1.ProjectService])
|
|
89
|
+
], MetadataController);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService, AppFileSystemService, ProcessService, EventService, ProjectType, LogService } from "@wocker/core";
|
|
2
2
|
import { DockerService } from "@wocker/docker-module";
|
|
3
3
|
import { PresetService } from "../../preset";
|
|
4
4
|
import { ProjectService } from "../services/ProjectService";
|
|
5
5
|
export declare class ProjectController {
|
|
6
|
-
protected readonly
|
|
6
|
+
protected readonly appService: AppService;
|
|
7
7
|
protected readonly fs: AppFileSystemService;
|
|
8
8
|
protected readonly processService: ProcessService;
|
|
9
9
|
protected readonly projectService: ProjectService;
|
|
@@ -11,11 +11,11 @@ export declare class ProjectController {
|
|
|
11
11
|
protected readonly eventService: EventService;
|
|
12
12
|
protected readonly dockerService: DockerService;
|
|
13
13
|
protected readonly logService: LogService;
|
|
14
|
-
constructor(
|
|
14
|
+
constructor(appService: AppService, fs: AppFileSystemService, processService: ProcessService, projectService: ProjectService, presetService: PresetService, eventService: EventService, dockerService: DockerService, logService: LogService);
|
|
15
15
|
protected getProjectNames(): Promise<string[]>;
|
|
16
16
|
getScriptNames(): Promise<string[]>;
|
|
17
17
|
init(name: string, type: ProjectType): Promise<void>;
|
|
18
|
-
destroy(name?: string): Promise<void>;
|
|
18
|
+
destroy(name?: string, yes?: boolean): Promise<void>;
|
|
19
19
|
start(name?: string, restart?: boolean, build?: boolean, attach?: boolean): Promise<void>;
|
|
20
20
|
stop(name?: string): Promise<void>;
|
|
21
21
|
projectList(all: boolean): Promise<string>;
|
|
@@ -34,8 +34,8 @@ export declare class ProjectController {
|
|
|
34
34
|
clearPorts(name?: string): Promise<void>;
|
|
35
35
|
configList(name?: string, global?: boolean, service?: string): Promise<string>;
|
|
36
36
|
configGet(keys: string[], name: string, global: boolean): Promise<string>;
|
|
37
|
-
configSet(variables: string[], global: boolean, name: string, service?: string): Promise<void>;
|
|
38
|
-
configUnset(configs: string[], global?: boolean, name?: string, service?: string): Promise<void>;
|
|
37
|
+
configSet(variables: string[], global: boolean, local: boolean, name: string, service?: string): Promise<void>;
|
|
38
|
+
configUnset(configs: string[], global?: boolean, local?: boolean, name?: string, service?: string): Promise<void>;
|
|
39
39
|
volumeList(name?: string): Promise<string>;
|
|
40
40
|
volumeMount(volumes: string[], name: string): Promise<void>;
|
|
41
41
|
volumeUnmount(volumes: string[], name: string): Promise<void>;
|
|
@@ -18,7 +18,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
18
18
|
exports.ProjectController = void 0;
|
|
19
19
|
const core_1 = require("@wocker/core");
|
|
20
20
|
const docker_module_1 = require("@wocker/docker-module");
|
|
21
|
-
const
|
|
21
|
+
const prompts_1 = require("@wocker/prompts");
|
|
22
22
|
const path_1 = __importDefault(require("path"));
|
|
23
23
|
const cli_table3_1 = __importDefault(require("cli-table3"));
|
|
24
24
|
const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
|
|
@@ -26,8 +26,8 @@ const async_mutex_1 = require("async-mutex");
|
|
|
26
26
|
const preset_1 = require("../../preset");
|
|
27
27
|
const ProjectService_1 = require("../services/ProjectService");
|
|
28
28
|
let ProjectController = class ProjectController {
|
|
29
|
-
constructor(
|
|
30
|
-
this.
|
|
29
|
+
constructor(appService, fs, processService, projectService, presetService, eventService, dockerService, logService) {
|
|
30
|
+
this.appService = appService;
|
|
31
31
|
this.fs = fs;
|
|
32
32
|
this.processService = processService;
|
|
33
33
|
this.projectService = projectService;
|
|
@@ -57,18 +57,14 @@ let ProjectController = class ProjectController {
|
|
|
57
57
|
path: fs.path()
|
|
58
58
|
});
|
|
59
59
|
if (!project) {
|
|
60
|
-
project = new core_1.Project(
|
|
61
|
-
type: core_1.PROJECT_TYPE_IMAGE,
|
|
62
|
-
name: fs.basename(),
|
|
63
|
-
path: fs.path()
|
|
64
|
-
});
|
|
60
|
+
project = new core_1.Project(fs.basename(), fs.path());
|
|
65
61
|
}
|
|
66
62
|
project.path = fs.path();
|
|
67
63
|
if (name) {
|
|
68
64
|
project.name = name;
|
|
69
65
|
}
|
|
70
66
|
if (!name || !project.name) {
|
|
71
|
-
project.name = await (0,
|
|
67
|
+
project.name = await (0, prompts_1.promptInput)({
|
|
72
68
|
required: "Project name is required",
|
|
73
69
|
message: "Project name",
|
|
74
70
|
type: "text",
|
|
@@ -91,9 +87,9 @@ let ProjectController = class ProjectController {
|
|
|
91
87
|
if (type) {
|
|
92
88
|
project.type = type;
|
|
93
89
|
}
|
|
94
|
-
const mapTypes = this.
|
|
90
|
+
const mapTypes = this.appService.getProjectTypes();
|
|
95
91
|
if (!type || !project.type || !mapTypes[project.type]) {
|
|
96
|
-
project.type = await (0,
|
|
92
|
+
project.type = await (0, prompts_1.promptSelect)({
|
|
97
93
|
message: "Project type",
|
|
98
94
|
required: true,
|
|
99
95
|
options: mapTypes,
|
|
@@ -101,7 +97,7 @@ let ProjectController = class ProjectController {
|
|
|
101
97
|
});
|
|
102
98
|
}
|
|
103
99
|
switch (project.type) {
|
|
104
|
-
case core_1.
|
|
100
|
+
case core_1.ProjectType.DOCKERFILE: {
|
|
105
101
|
const files = fs.readdir();
|
|
106
102
|
const dockerfiles = files.filter((fileName) => {
|
|
107
103
|
if (new RegExp("^(.*)\\.dockerfile$").test(fileName)) {
|
|
@@ -112,7 +108,7 @@ let ProjectController = class ProjectController {
|
|
|
112
108
|
if (dockerfiles.length === 0) {
|
|
113
109
|
throw new Error("Dockerfiles not found");
|
|
114
110
|
}
|
|
115
|
-
project.dockerfile = await (0,
|
|
111
|
+
project.dockerfile = await (0, prompts_1.promptSelect)({
|
|
116
112
|
message: "Dockerfile",
|
|
117
113
|
required: true,
|
|
118
114
|
options: dockerfiles.map((dockerfile) => {
|
|
@@ -124,22 +120,22 @@ let ProjectController = class ProjectController {
|
|
|
124
120
|
});
|
|
125
121
|
break;
|
|
126
122
|
}
|
|
127
|
-
case core_1.
|
|
128
|
-
project.
|
|
123
|
+
case core_1.ProjectType.IMAGE: {
|
|
124
|
+
project.image = await (0, prompts_1.promptInput)({
|
|
129
125
|
message: "Image name",
|
|
130
126
|
required: true,
|
|
131
|
-
default: project.
|
|
127
|
+
default: project.image
|
|
132
128
|
});
|
|
133
129
|
break;
|
|
134
130
|
}
|
|
135
|
-
case core_1.
|
|
131
|
+
case core_1.ProjectType.COMPOSE: {
|
|
136
132
|
const composeFiles = fs.readdir().filter((file) => {
|
|
137
133
|
return /docker-compose\./.test(file);
|
|
138
134
|
});
|
|
139
135
|
if (composeFiles.length === 0) {
|
|
140
136
|
throw new Error("docker-compose files not found");
|
|
141
137
|
}
|
|
142
|
-
project.composefile = await (0,
|
|
138
|
+
project.composefile = await (0, prompts_1.promptSelect)({
|
|
143
139
|
message: "Docker compose",
|
|
144
140
|
required: true,
|
|
145
141
|
options: composeFiles,
|
|
@@ -147,7 +143,7 @@ let ProjectController = class ProjectController {
|
|
|
147
143
|
});
|
|
148
144
|
break;
|
|
149
145
|
}
|
|
150
|
-
case core_1.
|
|
146
|
+
case core_1.ProjectType.PRESET:
|
|
151
147
|
break;
|
|
152
148
|
default:
|
|
153
149
|
throw new Error("Invalid project type");
|
|
@@ -155,11 +151,19 @@ let ProjectController = class ProjectController {
|
|
|
155
151
|
await this.eventService.emit("project:init", project);
|
|
156
152
|
project.save();
|
|
157
153
|
}
|
|
158
|
-
async destroy(name) {
|
|
154
|
+
async destroy(name, yes) {
|
|
159
155
|
const project = this.projectService.get(name);
|
|
156
|
+
if (!yes) {
|
|
157
|
+
const confirm = await (0, prompts_1.promptConfirm)({
|
|
158
|
+
message: `Are you sure you want to ${yoctocolors_cjs_1.default.red(`delete "${yoctocolors_cjs_1.default.bold(project.name)}"`)}? This action cannot be undone.`,
|
|
159
|
+
default: false
|
|
160
|
+
});
|
|
161
|
+
if (!confirm) {
|
|
162
|
+
throw new Error("Aborted");
|
|
163
|
+
}
|
|
164
|
+
}
|
|
160
165
|
await this.projectService.stop(project);
|
|
161
|
-
this.
|
|
162
|
-
this.appConfigService.save();
|
|
166
|
+
this.appService.removeProject(project.name);
|
|
163
167
|
this.fs.rm(`projects/${project.name}`, {
|
|
164
168
|
recursive: true
|
|
165
169
|
});
|
|
@@ -284,6 +288,7 @@ let ProjectController = class ProjectController {
|
|
|
284
288
|
project.addDomain(domain);
|
|
285
289
|
}
|
|
286
290
|
project.save();
|
|
291
|
+
await this.eventService.emit("project:add-domain", project, addDomains);
|
|
287
292
|
}
|
|
288
293
|
async setDomains(domains, name) {
|
|
289
294
|
const project = this.projectService.get(name);
|
|
@@ -328,7 +333,7 @@ let ProjectController = class ProjectController {
|
|
|
328
333
|
async clearPorts(name) {
|
|
329
334
|
const project = this.projectService.get(name);
|
|
330
335
|
if (project.ports) {
|
|
331
|
-
|
|
336
|
+
project.ports = [];
|
|
332
337
|
project.save();
|
|
333
338
|
}
|
|
334
339
|
}
|
|
@@ -337,10 +342,10 @@ let ProjectController = class ProjectController {
|
|
|
337
342
|
head: ["KEY", "VALUE"]
|
|
338
343
|
});
|
|
339
344
|
if (global) {
|
|
340
|
-
for (const i in this.
|
|
345
|
+
for (const i in this.appService.config.env) {
|
|
341
346
|
table.push([
|
|
342
347
|
i,
|
|
343
|
-
this.
|
|
348
|
+
this.appService.config.env[i]
|
|
344
349
|
]);
|
|
345
350
|
}
|
|
346
351
|
}
|
|
@@ -376,7 +381,7 @@ let ProjectController = class ProjectController {
|
|
|
376
381
|
}
|
|
377
382
|
async configGet(keys, name, global) {
|
|
378
383
|
let config = global
|
|
379
|
-
? this.
|
|
384
|
+
? this.appService.config
|
|
380
385
|
: this.projectService.get(name);
|
|
381
386
|
const table = new cli_table3_1.default({
|
|
382
387
|
head: ["KEY", "VALUE"]
|
|
@@ -390,7 +395,7 @@ let ProjectController = class ProjectController {
|
|
|
390
395
|
}
|
|
391
396
|
return table.toString();
|
|
392
397
|
}
|
|
393
|
-
async configSet(variables, global, name, service) {
|
|
398
|
+
async configSet(variables, global, local, name, service) {
|
|
394
399
|
if (global) {
|
|
395
400
|
for (const variable of variables) {
|
|
396
401
|
const [key, value] = variable.split("=");
|
|
@@ -398,23 +403,26 @@ let ProjectController = class ProjectController {
|
|
|
398
403
|
console.info(yoctocolors_cjs_1.default.yellow(`No value for "${key}"`));
|
|
399
404
|
continue;
|
|
400
405
|
}
|
|
401
|
-
this.
|
|
406
|
+
this.appService.setEnv(key.trim(), value.trim());
|
|
402
407
|
}
|
|
403
|
-
this.appConfigService.save();
|
|
404
408
|
return;
|
|
405
409
|
}
|
|
406
410
|
const project = this.projectService.get(name);
|
|
407
411
|
for (const variable of variables) {
|
|
408
|
-
const [key, value] =
|
|
412
|
+
const [, key, value] = /^([^=]+)=(.*)$/.exec(variable) || [];
|
|
413
|
+
if (!key) {
|
|
414
|
+
continue;
|
|
415
|
+
}
|
|
409
416
|
if (!value) {
|
|
410
417
|
console.info(yoctocolors_cjs_1.default.yellow(`No value for "${key}"`));
|
|
411
418
|
continue;
|
|
412
419
|
}
|
|
413
|
-
project.
|
|
420
|
+
const config = !local ? project.configs.app : project.configs.project;
|
|
421
|
+
config.setEnv(key, value, service);
|
|
414
422
|
}
|
|
415
423
|
project.save();
|
|
416
424
|
}
|
|
417
|
-
async configUnset(configs, global, name, service) {
|
|
425
|
+
async configUnset(configs, global, local, name, service) {
|
|
418
426
|
const env = configs.reduce((env, config) => {
|
|
419
427
|
const [key] = config.split("=");
|
|
420
428
|
env[key.trim()] = null;
|
|
@@ -422,14 +430,16 @@ let ProjectController = class ProjectController {
|
|
|
422
430
|
}, {});
|
|
423
431
|
if (global) {
|
|
424
432
|
for (const i in env) {
|
|
425
|
-
this.
|
|
433
|
+
this.appService.unsetEnv(i);
|
|
426
434
|
}
|
|
427
|
-
this.appConfigService.save();
|
|
428
435
|
return;
|
|
429
436
|
}
|
|
430
437
|
const project = this.projectService.get(name);
|
|
431
438
|
for (const i in env) {
|
|
432
|
-
|
|
439
|
+
const config = !local
|
|
440
|
+
? project.configs.app
|
|
441
|
+
: project.configs.project;
|
|
442
|
+
config.unsetEnv(i, service);
|
|
433
443
|
}
|
|
434
444
|
project.save();
|
|
435
445
|
}
|
|
@@ -489,7 +499,7 @@ let ProjectController = class ProjectController {
|
|
|
489
499
|
if (!preset) {
|
|
490
500
|
throw new Error("Preset not found");
|
|
491
501
|
}
|
|
492
|
-
const confirm = await (0,
|
|
502
|
+
const confirm = await (0, prompts_1.promptConfirm)({
|
|
493
503
|
message: "Confirm eject",
|
|
494
504
|
default: false
|
|
495
505
|
});
|
|
@@ -501,7 +511,7 @@ let ProjectController = class ProjectController {
|
|
|
501
511
|
if (!copier.destination.exists(preset.dockerfile)) {
|
|
502
512
|
copier.copy(preset.dockerfile);
|
|
503
513
|
}
|
|
504
|
-
project.type =
|
|
514
|
+
project.type = core_1.ProjectType.DOCKERFILE;
|
|
505
515
|
project.dockerfile = preset.dockerfile;
|
|
506
516
|
}
|
|
507
517
|
const files = copier.source.readdir("", {
|
|
@@ -630,8 +640,10 @@ __decorate([
|
|
|
630
640
|
(0, core_1.Description)("Permanently destroy a project"),
|
|
631
641
|
__param(0, (0, core_1.Option)("name", "n")),
|
|
632
642
|
__param(0, (0, core_1.Description)("The name of the project")),
|
|
643
|
+
__param(1, (0, core_1.Option)("yes", "y")),
|
|
644
|
+
__param(1, (0, core_1.Description)("Skip confirmation prompt")),
|
|
633
645
|
__metadata("design:type", Function),
|
|
634
|
-
__metadata("design:paramtypes", [String]),
|
|
646
|
+
__metadata("design:paramtypes", [String, Boolean]),
|
|
635
647
|
__metadata("design:returntype", Promise)
|
|
636
648
|
], ProjectController.prototype, "destroy", null);
|
|
637
649
|
__decorate([
|
|
@@ -835,12 +847,13 @@ __decorate([
|
|
|
835
847
|
(0, core_1.Description)("Setting env variables"),
|
|
836
848
|
__param(0, (0, core_1.Param)("configs")),
|
|
837
849
|
__param(1, (0, core_1.Option)("global", "g")),
|
|
838
|
-
__param(2, (0, core_1.Option)("
|
|
839
|
-
__param(
|
|
840
|
-
__param(3, (0, core_1.
|
|
841
|
-
__param(
|
|
850
|
+
__param(2, (0, core_1.Option)("local", "l")),
|
|
851
|
+
__param(3, (0, core_1.Option)("name", "n")),
|
|
852
|
+
__param(3, (0, core_1.Description)("The name of the project")),
|
|
853
|
+
__param(4, (0, core_1.Option)("service", "s")),
|
|
854
|
+
__param(4, (0, core_1.Description)("The name of the service")),
|
|
842
855
|
__metadata("design:type", Function),
|
|
843
|
-
__metadata("design:paramtypes", [Array, Boolean, String, String]),
|
|
856
|
+
__metadata("design:paramtypes", [Array, Boolean, Boolean, String, String]),
|
|
844
857
|
__metadata("design:returntype", Promise)
|
|
845
858
|
], ProjectController.prototype, "configSet", null);
|
|
846
859
|
__decorate([
|
|
@@ -848,12 +861,13 @@ __decorate([
|
|
|
848
861
|
(0, core_1.Description)("Unset environment variable"),
|
|
849
862
|
__param(0, (0, core_1.Param)("configs")),
|
|
850
863
|
__param(1, (0, core_1.Option)("global", "g")),
|
|
851
|
-
__param(2, (0, core_1.Option)("
|
|
852
|
-
__param(
|
|
853
|
-
__param(3, (0, core_1.
|
|
854
|
-
__param(
|
|
864
|
+
__param(2, (0, core_1.Option)("local", "l")),
|
|
865
|
+
__param(3, (0, core_1.Option)("name", "n")),
|
|
866
|
+
__param(3, (0, core_1.Description)("The name of the project")),
|
|
867
|
+
__param(4, (0, core_1.Option)("service", "s")),
|
|
868
|
+
__param(4, (0, core_1.Description)("The name of the service")),
|
|
855
869
|
__metadata("design:type", Function),
|
|
856
|
-
__metadata("design:paramtypes", [Array, Boolean, String, String]),
|
|
870
|
+
__metadata("design:paramtypes", [Array, Boolean, Boolean, String, String]),
|
|
857
871
|
__metadata("design:returntype", Promise)
|
|
858
872
|
], ProjectController.prototype, "configUnset", null);
|
|
859
873
|
__decorate([
|
|
@@ -976,7 +990,7 @@ __decorate([
|
|
|
976
990
|
exports.ProjectController = ProjectController = __decorate([
|
|
977
991
|
(0, core_1.Controller)(),
|
|
978
992
|
(0, core_1.Description)("Project commands"),
|
|
979
|
-
__metadata("design:paramtypes", [core_1.
|
|
993
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
980
994
|
core_1.AppFileSystemService,
|
|
981
995
|
core_1.ProcessService,
|
|
982
996
|
ProjectService_1.ProjectService,
|
|
@@ -14,7 +14,7 @@ var __param = (this && this.__param) || function (paramIndex, decorator) {
|
|
|
14
14
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
15
|
exports.SecretsController = void 0;
|
|
16
16
|
const core_1 = require("@wocker/core");
|
|
17
|
-
const
|
|
17
|
+
const prompts_1 = require("@wocker/prompts");
|
|
18
18
|
const ProjectService_1 = require("../services/ProjectService");
|
|
19
19
|
let SecretsController = class SecretsController {
|
|
20
20
|
constructor(projectService) {
|
|
@@ -22,7 +22,7 @@ let SecretsController = class SecretsController {
|
|
|
22
22
|
}
|
|
23
23
|
async create(secret, name, global) {
|
|
24
24
|
const project = this.projectService.get(name);
|
|
25
|
-
const value = await (0,
|
|
25
|
+
const value = await (0, prompts_1.promptInput)({
|
|
26
26
|
message: "Secret value",
|
|
27
27
|
type: "password"
|
|
28
28
|
});
|
|
@@ -9,15 +9,14 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
9
9
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
10
10
|
};
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
|
-
exports.ProjectService = exports.
|
|
12
|
+
exports.ProjectService = exports.ProjectModule = void 0;
|
|
13
13
|
const core_1 = require("@wocker/core");
|
|
14
14
|
const docker_module_1 = __importDefault(require("@wocker/docker-module"));
|
|
15
15
|
const keystore_1 = require("../keystore");
|
|
16
16
|
const preset_1 = require("../preset");
|
|
17
17
|
const ProjectController_1 = require("./controllers/ProjectController");
|
|
18
|
+
const MetadataController_1 = require("./controllers/MetadataController");
|
|
18
19
|
const SecretsController_1 = require("./controllers/SecretsController");
|
|
19
|
-
const ProjectRepository_1 = require("./repositories/ProjectRepository");
|
|
20
|
-
Object.defineProperty(exports, "ProjectRepository", { enumerable: true, get: function () { return ProjectRepository_1.ProjectRepository; } });
|
|
21
20
|
const ProjectService_1 = require("./services/ProjectService");
|
|
22
21
|
Object.defineProperty(exports, "ProjectService", { enumerable: true, get: function () { return ProjectService_1.ProjectService; } });
|
|
23
22
|
let ProjectModule = class ProjectModule {
|
|
@@ -32,14 +31,13 @@ exports.ProjectModule = ProjectModule = __decorate([
|
|
|
32
31
|
],
|
|
33
32
|
controllers: [
|
|
34
33
|
ProjectController_1.ProjectController,
|
|
35
|
-
SecretsController_1.SecretsController
|
|
34
|
+
SecretsController_1.SecretsController,
|
|
35
|
+
MetadataController_1.MetadataController
|
|
36
36
|
],
|
|
37
37
|
providers: [
|
|
38
|
-
ProjectRepository_1.ProjectRepository,
|
|
39
38
|
ProjectService_1.ProjectService
|
|
40
39
|
],
|
|
41
40
|
exports: [
|
|
42
|
-
ProjectRepository_1.ProjectRepository,
|
|
43
41
|
ProjectService_1.ProjectService
|
|
44
42
|
]
|
|
45
43
|
})
|
|
@@ -1,9 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService, EventService, LogService, ProcessService, Project, ProjectRepository, ProjectService as CoreProjectService } from "@wocker/core";
|
|
2
2
|
import { ComposeService, DockerService } from "@wocker/docker-module";
|
|
3
3
|
import { PresetRepository, PresetService } from "../../preset";
|
|
4
|
-
import { ProjectRepository } from "../repositories/ProjectRepository";
|
|
5
4
|
export declare class ProjectService extends CoreProjectService {
|
|
6
|
-
protected readonly
|
|
5
|
+
protected readonly appService: AppService;
|
|
7
6
|
protected readonly processService: ProcessService;
|
|
8
7
|
protected readonly eventService: EventService;
|
|
9
8
|
protected readonly dockerService: DockerService;
|
|
@@ -12,10 +11,10 @@ export declare class ProjectService extends CoreProjectService {
|
|
|
12
11
|
protected readonly presetService: PresetService;
|
|
13
12
|
protected readonly presetRepository: PresetRepository;
|
|
14
13
|
protected readonly logService: LogService;
|
|
15
|
-
constructor(
|
|
14
|
+
constructor(appService: AppService, processService: ProcessService, eventService: EventService, dockerService: DockerService, composeService: ComposeService, projectRepository: ProjectRepository, presetService: PresetService, presetRepository: PresetRepository, logService: LogService);
|
|
16
15
|
get(name?: string): Project;
|
|
17
|
-
search(params?: SearchParams): Project[];
|
|
18
|
-
searchOne(params?: SearchParams): Project | null;
|
|
16
|
+
search(params?: ProjectRepository.SearchParams): Project[];
|
|
17
|
+
searchOne(params?: ProjectRepository.SearchParams): Project | null;
|
|
19
18
|
save(project: Project): void;
|
|
20
19
|
start(project: Project, restart?: boolean, rebuild?: boolean, attach?: boolean): Promise<void>;
|
|
21
20
|
stop(project: Project): Promise<void>;
|