@wocker/ws 1.0.23 → 1.0.25

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 (110) hide show
  1. package/lib/AppModule.js +14 -25
  2. package/lib/controllers/DebugController.d.ts +1 -2
  3. package/lib/controllers/DebugController.js +4 -6
  4. package/lib/controllers/ExperimentalController.d.ts +1 -1
  5. package/lib/controllers/ExperimentalController.js +1 -2
  6. package/lib/controllers/PluginController.d.ts +1 -1
  7. package/lib/controllers/PluginController.js +1 -2
  8. package/lib/controllers/ProjectController.d.ts +7 -11
  9. package/lib/controllers/ProjectController.js +63 -217
  10. package/lib/controllers/index.d.ts +0 -1
  11. package/lib/controllers/index.js +0 -1
  12. package/lib/env.d.ts +2 -2
  13. package/lib/env.js +5 -5
  14. package/lib/main.js +4 -8
  15. package/lib/makes/index.d.ts +0 -1
  16. package/lib/makes/index.js +0 -1
  17. package/lib/modules/core/index.d.ts +2 -0
  18. package/lib/modules/core/index.js +45 -0
  19. package/lib/modules/docker/index.d.ts +3 -2
  20. package/lib/modules/docker/index.js +9 -5
  21. package/lib/modules/docker/services/ComposeService.d.ts +32 -0
  22. package/lib/modules/docker/services/ComposeService.js +129 -0
  23. package/lib/modules/docker/services/DockerService.d.ts +2 -2
  24. package/lib/modules/docker/services/DockerService.js +7 -29
  25. package/lib/modules/docker/services/ImageService.d.ts +2 -8
  26. package/lib/modules/docker/services/ImageService.js +15 -3
  27. package/lib/modules/docker/services/ModemService.d.ts +4 -2
  28. package/lib/modules/docker/services/ModemService.js +25 -5
  29. package/lib/modules/docker/services/ProtoService.js +2 -2
  30. package/lib/modules/docker/type/ComposeConfig.d.ts +12 -0
  31. package/lib/modules/docker/type/ComposeConfig.js +2 -0
  32. package/lib/modules/index.d.ts +3 -0
  33. package/lib/modules/index.js +3 -0
  34. package/lib/modules/keystore/controllers/KeystoreController.d.ts +1 -1
  35. package/lib/modules/keystore/controllers/KeystoreController.js +1 -2
  36. package/lib/modules/keystore/providers/FileKeystoreProvider.d.ts +3 -4
  37. package/lib/modules/keystore/providers/FileKeystoreProvider.js +4 -5
  38. package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
  39. package/lib/modules/keystore/services/KeystoreService.js +7 -6
  40. package/lib/modules/preset/controllers/PresetController.d.ts +18 -0
  41. package/lib/modules/preset/controllers/PresetController.js +158 -0
  42. package/lib/modules/preset/controllers/PresetListener.d.ts +15 -0
  43. package/lib/modules/preset/controllers/PresetListener.js +143 -0
  44. package/lib/modules/preset/index.d.ts +5 -0
  45. package/lib/modules/preset/index.js +39 -0
  46. package/lib/modules/preset/repositories/PresetRepository.d.ts +16 -0
  47. package/lib/{repositories → modules/preset/repositories}/PresetRepository.js +9 -11
  48. package/lib/{services → modules/preset/services}/PresetService.d.ts +4 -12
  49. package/lib/{services → modules/preset/services}/PresetService.js +31 -26
  50. package/lib/modules/project/controllers/ProjectController.d.ts +14 -0
  51. package/lib/modules/project/controllers/ProjectController.js +143 -0
  52. package/lib/modules/project/index.d.ts +5 -0
  53. package/lib/modules/project/index.js +39 -0
  54. package/lib/modules/project/repositories/ProjectRepository.d.ts +13 -0
  55. package/lib/modules/project/repositories/ProjectRepository.js +90 -0
  56. package/lib/modules/project/services/ProjectService.d.ts +25 -0
  57. package/lib/modules/project/services/ProjectService.js +253 -0
  58. package/lib/modules/proxy/controllers/CertController.d.ts +1 -1
  59. package/lib/modules/proxy/controllers/CertController.js +2 -2
  60. package/lib/modules/proxy/controllers/ProxyController.d.ts +4 -6
  61. package/lib/modules/proxy/controllers/ProxyController.js +9 -11
  62. package/lib/modules/proxy/index.js +3 -1
  63. package/lib/modules/proxy/services/CertService.d.ts +3 -4
  64. package/lib/modules/proxy/services/CertService.js +5 -6
  65. package/lib/modules/proxy/services/ProxyService.d.ts +3 -3
  66. package/lib/modules/proxy/services/ProxyService.js +18 -18
  67. package/lib/services/PluginService.d.ts +1 -3
  68. package/lib/services/PluginService.js +9 -13
  69. package/lib/utils/index.d.ts +0 -1
  70. package/lib/utils/index.js +0 -1
  71. package/package.json +7 -6
  72. package/lib/controllers/PresetController.d.ts +0 -27
  73. package/lib/controllers/PresetController.js +0 -364
  74. package/lib/makes/Logger.d.ts +0 -9
  75. package/lib/makes/Logger.js +0 -34
  76. package/lib/modules/app/index.d.ts +0 -2
  77. package/lib/modules/app/index.js +0 -16
  78. package/lib/repositories/PresetRepository.d.ts +0 -23
  79. package/lib/repositories/index.d.ts +0 -1
  80. package/lib/repositories/index.js +0 -17
  81. package/lib/services/AppConfigService.d.ts +0 -24
  82. package/lib/services/AppConfigService.js +0 -154
  83. package/lib/services/AppEventsService.d.ts +0 -9
  84. package/lib/services/AppEventsService.js +0 -43
  85. package/lib/services/LogService.d.ts +0 -15
  86. package/lib/services/LogService.js +0 -67
  87. package/lib/services/ProjectService.d.ts +0 -27
  88. package/lib/services/ProjectService.js +0 -206
  89. package/lib/utils/followProgress2.d.ts +0 -1
  90. package/lib/utils/followProgress2.js +0 -63
  91. package/plugins/proxmox/Dockerfile +0 -35
  92. package/plugins/proxy/Dockerfile +0 -25
  93. package/plugins/proxy/Procfile +0 -2
  94. package/plugins/proxy/bin/wocker-create-ca +0 -19
  95. package/plugins/proxy/bin/wocker-create-cert +0 -38
  96. package/plugins/proxy/bin/wocker-create-domains +0 -21
  97. package/presets/go/Dockerfile +0 -19
  98. package/presets/go/config.json +0 -14
  99. package/presets/php-fpm/Dockerfile +0 -173
  100. package/presets/php-fpm/bin/compare-version +0 -3
  101. package/presets/php-fpm/config.json +0 -55
  102. package/presets/php-fpm/etc/nginx/sites-available/default.conf +0 -36
  103. package/presets/shopify/Dockerfile +0 -160
  104. package/presets/shopify/bin/compare-version +0 -3
  105. package/presets/shopify/config.json +0 -26
  106. package/presets/shopify/etc/apache2/apache2.conf +0 -230
  107. package/presets/shopify/etc/apache2/mods-available/mpm_prefork.conf +0 -16
  108. package/presets/shopify/etc/apache2/sites-available/000-default.conf +0 -21
  109. package/proto/buildkit.proto +0 -55
  110. package/proto/solver/pb/ops.proto +0 -443
@@ -9,6 +9,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
9
9
  exports.CertService = exports.ProxyService = exports.ProxyModule = void 0;
10
10
  const core_1 = require("@wocker/core");
11
11
  const docker_1 = require("../docker");
12
+ const project_1 = require("../project");
12
13
  const CertController_1 = require("./controllers/CertController");
13
14
  const ProxyController_1 = require("./controllers/ProxyController");
14
15
  const CertService_1 = require("./services/CertService");
@@ -21,7 +22,8 @@ exports.ProxyModule = ProxyModule;
21
22
  exports.ProxyModule = ProxyModule = __decorate([
22
23
  (0, core_1.Module)({
23
24
  imports: [
24
- docker_1.DockerModule
25
+ docker_1.DockerModule,
26
+ project_1.ProjectModule
25
27
  ],
26
28
  controllers: [
27
29
  CertController_1.CertController,
@@ -1,15 +1,14 @@
1
- import { Project } from "@wocker/core";
1
+ import { Project, AppFileSystemService } from "@wocker/core";
2
2
  import { DockerService } from "../../docker";
3
- import { AppConfigService } from "../../../services/AppConfigService";
4
3
  import { ProxyService } from "./ProxyService";
5
4
  type CertMap = {
6
5
  [name: string]: string[];
7
6
  };
8
7
  export declare class CertService {
9
- protected readonly appConfigService: AppConfigService;
8
+ protected readonly fs: AppFileSystemService;
10
9
  protected readonly proxyService: ProxyService;
11
10
  protected readonly dockerService: DockerService;
12
- constructor(appConfigService: AppConfigService, proxyService: ProxyService, dockerService: DockerService);
11
+ constructor(fs: AppFileSystemService, proxyService: ProxyService, dockerService: DockerService);
13
12
  list(): Promise<string>;
14
13
  generate(certName: string, dns: string[]): Promise<void>;
15
14
  getCertsMap(): CertMap;
@@ -50,11 +50,10 @@ const core_1 = require("@wocker/core");
50
50
  const Path = __importStar(require("path"));
51
51
  const cli_table3_1 = __importDefault(require("cli-table3"));
52
52
  const docker_1 = require("../../docker");
53
- const AppConfigService_1 = require("../../../services/AppConfigService");
54
53
  const ProxyService_1 = require("./ProxyService");
55
54
  let CertService = class CertService {
56
- constructor(appConfigService, proxyService, dockerService) {
57
- this.appConfigService = appConfigService;
55
+ constructor(fs, proxyService, dockerService) {
56
+ this.fs = fs;
58
57
  this.proxyService = proxyService;
59
58
  this.dockerService = dockerService;
60
59
  }
@@ -94,7 +93,7 @@ let CertService = class CertService {
94
93
  });
95
94
  }
96
95
  getCertsMap() {
97
- const files = this.appConfigService.fs.readdir("certs/projects");
96
+ const files = this.fs.readdir("certs/projects");
98
97
  return files.reduce((res, file) => {
99
98
  const ext = Path.extname(file);
100
99
  const name = Path.basename(file, ext);
@@ -137,7 +136,7 @@ let CertService = class CertService {
137
136
  return;
138
137
  }
139
138
  for (const ext of certs[name]) {
140
- this.appConfigService.fs.rm(`certs/projects/${name}${ext}`);
139
+ this.fs.rm(`certs/projects/${name}${ext}`);
141
140
  }
142
141
  console.info(`Cert ${name} deleted`);
143
142
  }
@@ -145,7 +144,7 @@ let CertService = class CertService {
145
144
  exports.CertService = CertService;
146
145
  exports.CertService = CertService = __decorate([
147
146
  (0, core_1.Injectable)(),
148
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
147
+ __metadata("design:paramtypes", [core_1.AppFileSystemService,
149
148
  ProxyService_1.ProxyService,
150
149
  docker_1.DockerService])
151
150
  ], CertService);
@@ -1,13 +1,13 @@
1
- import { Project, ProxyService as CoreProxyService } from "@wocker/core";
2
- import { AppConfigService } from "../../../services/AppConfigService";
1
+ import { Project, AppConfigService, AppFileSystemService, ProxyService as CoreProxyService } from "@wocker/core";
3
2
  import { DockerService } from "../../docker";
4
3
  export declare class ProxyService extends CoreProxyService {
5
4
  protected readonly appConfigService: AppConfigService;
5
+ protected readonly fs: AppFileSystemService;
6
6
  protected readonly dockerService: DockerService;
7
7
  protected containerName: string;
8
8
  protected imageName: string;
9
9
  protected oldImages: string[];
10
- constructor(appConfigService: AppConfigService, dockerService: DockerService);
10
+ constructor(appConfigService: AppConfigService, fs: AppFileSystemService, dockerService: DockerService);
11
11
  init(project: Project): Promise<void>;
12
12
  start(restart?: boolean, rebuild?: boolean): Promise<void>;
13
13
  stop(): Promise<void>;
@@ -47,12 +47,12 @@ const core_1 = require("@wocker/core");
47
47
  const utils_1 = require("@wocker/utils");
48
48
  const Path = __importStar(require("path"));
49
49
  const env_1 = require("../../../env");
50
- const AppConfigService_1 = require("../../../services/AppConfigService");
51
50
  const docker_1 = require("../../docker");
52
51
  let ProxyService = class ProxyService extends core_1.ProxyService {
53
- constructor(appConfigService, dockerService) {
52
+ constructor(appConfigService, fs, dockerService) {
54
53
  super();
55
54
  this.appConfigService = appConfigService;
55
+ this.fs = fs;
56
56
  this.dockerService = dockerService;
57
57
  this.containerName = "proxy.workspace";
58
58
  this.imageName = "wocker-proxy:1.0.1";
@@ -77,15 +77,15 @@ let ProxyService = class ProxyService extends core_1.ProxyService {
77
77
  if (!container) {
78
78
  console.info("Proxy starting...");
79
79
  await this.build(rebuild);
80
- const fs = this.appConfigService.fs;
81
- if (!this.appConfigService.fs.exists("certs/ca")) {
82
- this.appConfigService.fs.mkdir("certs/ca", {
80
+ const fs = this.fs;
81
+ if (!this.fs.exists("certs/ca")) {
82
+ this.fs.mkdir("certs/ca", {
83
83
  recursive: true,
84
84
  mode: 0o700
85
85
  });
86
86
  }
87
- if (!this.appConfigService.fs.exists("certs/projects")) {
88
- this.appConfigService.fs.mkdir("certs/projects", {
87
+ if (!this.fs.exists("certs/projects")) {
88
+ this.fs.mkdir("certs/projects", {
89
89
  recursive: true,
90
90
  mode: 0o700
91
91
  });
@@ -96,10 +96,9 @@ let ProxyService = class ProxyService extends core_1.ProxyService {
96
96
  mode: 0o700
97
97
  });
98
98
  }
99
- const config = this.appConfigService.config;
100
- const httpPort = config.getMeta("PROXY_HTTP_PORT", "80");
101
- const httpsPort = config.getMeta("PROXY_HTTPS_PORT", "443");
102
- const sshPort = config.getMeta("PROXY_SSH_PORT", "22");
99
+ const httpPort = this.appConfigService.getMeta("PROXY_HTTP_PORT", "80");
100
+ const httpsPort = this.appConfigService.getMeta("PROXY_HTTPS_PORT", "443");
101
+ const sshPort = this.appConfigService.getMeta("PROXY_SSH_PORT", "22");
103
102
  container = await this.dockerService.createContainer({
104
103
  name: this.containerName,
105
104
  image: this.imageName,
@@ -111,7 +110,7 @@ let ProxyService = class ProxyService extends core_1.ProxyService {
111
110
  ports: [
112
111
  `${httpPort}:80`,
113
112
  `${httpsPort}:443`,
114
- ...config.getMeta("PROXY_SSH_PASSWORD") ? [
113
+ ...this.appConfigService.getMeta("PROXY_SSH_PASSWORD") ? [
115
114
  `${sshPort}:22`
116
115
  ] : []
117
116
  ],
@@ -145,14 +144,14 @@ let ProxyService = class ProxyService extends core_1.ProxyService {
145
144
  for (const oldImage of this.oldImages) {
146
145
  await this.dockerService.imageRm(oldImage);
147
146
  }
148
- const config = this.appConfigService.config;
149
147
  await this.dockerService.buildImage({
148
+ version: this.appConfigService.isExperimentalEnabled("buildKit") ? "2" : "1",
150
149
  tag: this.imageName,
151
- context: Path.join(env_1.PLUGINS_DIR, "proxy"),
152
- src: "./Dockerfile",
153
150
  buildArgs: {
154
- SSH_PASSWORD: config.getMeta("PROXY_SSH_PASSWORD")
155
- }
151
+ SSH_PASSWORD: this.appConfigService.getMeta("PROXY_SSH_PASSWORD")
152
+ },
153
+ context: Path.join(env_1.PLUGINS_DIR, "proxy"),
154
+ dockerfile: "./Dockerfile"
156
155
  });
157
156
  }
158
157
  async logs() {
@@ -162,6 +161,7 @@ let ProxyService = class ProxyService extends core_1.ProxyService {
162
161
  exports.ProxyService = ProxyService;
163
162
  exports.ProxyService = ProxyService = __decorate([
164
163
  (0, core_1.Injectable)("PROXY_SERVICE"),
165
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
164
+ __metadata("design:paramtypes", [core_1.AppConfigService,
165
+ core_1.AppFileSystemService,
166
166
  docker_1.DockerService])
167
167
  ], ProxyService);
@@ -1,6 +1,4 @@
1
- import { Cli } from "@wocker/core";
2
- import { AppConfigService } from "./AppConfigService";
3
- import { LogService } from "./LogService";
1
+ import { Cli, AppConfigService, LogService } from "@wocker/core";
4
2
  import { NpmService } from "./NpmService";
5
3
  import { Plugin } from "../makes";
6
4
  export declare class PluginService {
@@ -49,8 +49,6 @@ exports.PluginService = void 0;
49
49
  const core_1 = require("@wocker/core");
50
50
  const cli_table3_1 = __importDefault(require("cli-table3"));
51
51
  const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
52
- const AppConfigService_1 = require("./AppConfigService");
53
- const LogService_1 = require("./LogService");
54
52
  const NpmService_1 = require("./NpmService");
55
53
  const makes_1 = require("../makes");
56
54
  const utils_1 = require("../utils");
@@ -62,15 +60,14 @@ let PluginService = class PluginService {
62
60
  this.cli = cli;
63
61
  }
64
62
  getPluginsTable() {
65
- const config = this.appConfigService.config;
66
63
  const table = new cli_table3_1.default({
67
64
  head: ["Name", "Env"],
68
65
  colWidths: [30]
69
66
  });
70
- if (config.plugins.length === 0) {
67
+ if (this.appConfigService.plugins.length === 0) {
71
68
  return yoctocolors_cjs_1.default.gray("No plugins installed");
72
69
  }
73
- for (const plugin of config.plugins) {
70
+ for (const plugin of this.appConfigService.plugins) {
74
71
  table.push([plugin.name, plugin.env]);
75
72
  }
76
73
  return table.toString();
@@ -92,7 +89,7 @@ let PluginService = class PluginService {
92
89
  const fullName = `${prefix}${name}${suffix}`;
93
90
  try {
94
91
  if (await this.checkPlugin(fullName)) {
95
- this.appConfigService.config.addPlugin(fullName);
92
+ this.appConfigService.addPlugin(fullName);
96
93
  this.appConfigService.save();
97
94
  console.info(`Plugin ${fullName} activated`);
98
95
  return;
@@ -101,7 +98,7 @@ let PluginService = class PluginService {
101
98
  const env = packageInfo["dist-tags"].beta && beta ? "beta" : "latest";
102
99
  await this.npmService.install(fullName, env);
103
100
  if (await this.checkPlugin(fullName)) {
104
- this.appConfigService.config.addPlugin(fullName, env);
101
+ this.appConfigService.addPlugin(fullName, env);
105
102
  this.appConfigService.save();
106
103
  console.info(`Plugin ${fullName}@${env} activated`);
107
104
  return;
@@ -114,7 +111,7 @@ let PluginService = class PluginService {
114
111
  async uninstall(pluginName) {
115
112
  const [, prefix = "@wocker/", name, suffix = "-plugin"] = /^(@wocker\/)?(\w+)(-plugin)?$/.exec(pluginName) || [];
116
113
  const fullName = `${prefix}${name}${suffix}`;
117
- this.appConfigService.config.removePlugin(fullName);
114
+ this.appConfigService.removePlugin(fullName);
118
115
  this.appConfigService.save();
119
116
  console.info(`Plugin ${fullName} deactivated`);
120
117
  }
@@ -123,11 +120,10 @@ let PluginService = class PluginService {
123
120
  return new makes_1.Plugin(type);
124
121
  }
125
122
  async update() {
126
- const config = this.appConfigService.config;
127
- if (!config.plugins) {
123
+ if (this.appConfigService.plugins.length === 0) {
128
124
  return;
129
125
  }
130
- for (const plugin of config.plugins) {
126
+ for (const plugin of this.appConfigService.plugins) {
131
127
  console.info(`Checking ${plugin.name}...`);
132
128
  try {
133
129
  const current = await this.getCurrentVersion(plugin.name);
@@ -163,8 +159,8 @@ let PluginService = class PluginService {
163
159
  exports.PluginService = PluginService;
164
160
  exports.PluginService = PluginService = __decorate([
165
161
  (0, core_1.Injectable)(),
166
- __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
162
+ __metadata("design:paramtypes", [core_1.AppConfigService,
167
163
  NpmService_1.NpmService,
168
- LogService_1.LogService,
164
+ core_1.LogService,
169
165
  core_1.Cli])
170
166
  ], PluginService);
@@ -1,6 +1,5 @@
1
1
  export * from "./escapeRegExp";
2
2
  export * from "./exec";
3
- export * from "./followProgress2";
4
3
  export * from "./get-cursor-position";
5
4
  export * from "./injectVariables";
6
5
  export * from "./parse-table";
@@ -16,7 +16,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
17
  __exportStar(require("./escapeRegExp"), exports);
18
18
  __exportStar(require("./exec"), exports);
19
- __exportStar(require("./followProgress2"), exports);
20
19
  __exportStar(require("./get-cursor-position"), exports);
21
20
  __exportStar(require("./injectVariables"), exports);
22
21
  __exportStar(require("./parse-table"), exports);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@wocker/ws",
3
- "version": "1.0.23",
3
+ "version": "1.0.25",
4
4
  "author": "Kris Papercut <krispcut@gmail.com>",
5
5
  "description": "Docker workspace for web projects",
6
6
  "license": "MIT",
@@ -33,13 +33,13 @@
33
33
  "make-coverage-badge": "make-coverage-badge"
34
34
  },
35
35
  "dependencies": {
36
- "@wocker/core": "1.0.23",
36
+ "@wocker/core": "1.0.25",
37
37
  "@wocker/utils": "^2.0.3",
38
38
  "async-mutex": "^0.4.0",
39
39
  "axios": "^1.6.7",
40
40
  "child_process": "^1.0.2",
41
41
  "cli-table3": "^0.6.2",
42
- "date-fns": "^2.29.3",
42
+ "docker-compose": "^1.2.0",
43
43
  "dockerode": "^4.0.2",
44
44
  "fs": "^0.0.1-security",
45
45
  "keytar": "^7.9.0",
@@ -55,14 +55,15 @@
55
55
  "@types/jest": "^29.5.14",
56
56
  "@types/md5": "^2.3.2",
57
57
  "@types/mute-stream": "^0.0.4",
58
- "@types/node": "^22.14.1",
58
+ "@types/node": "^24.0.13",
59
59
  "@types/unzipper": "^0.10.10",
60
- "@wocker/testing": "1.0.1",
60
+ "@wocker/testing": "1.0.2",
61
61
  "jest": "^29.7.0",
62
62
  "make-coverage-badge": "^1.2.0",
63
63
  "memfs": "^4.17.0",
64
64
  "ts-jest": "^29.3.2",
65
65
  "ts-node": "^10.9.2",
66
- "typescript": "^5.6.3"
66
+ "typescript": "^5.6.3",
67
+ "unionfs": "^4.5.4"
67
68
  }
68
69
  }
@@ -1,27 +0,0 @@
1
- import { Project } from "@wocker/core";
2
- import { PresetRepository } from "../repositories";
3
- import { AppConfigService } from "../services/AppConfigService";
4
- import { AppEventsService } from "../services/AppEventsService";
5
- import { ProjectService } from "../services/ProjectService";
6
- import { PresetService } from "../services/PresetService";
7
- import { DockerService } from "../modules";
8
- export declare class PresetController {
9
- protected readonly appConfigService: AppConfigService;
10
- protected readonly appEventsService: AppEventsService;
11
- protected readonly projectService: ProjectService;
12
- protected readonly presetService: PresetService;
13
- protected readonly presetRepository: PresetRepository;
14
- protected readonly dockerService: DockerService;
15
- constructor(appConfigService: AppConfigService, appEventsService: AppEventsService, projectService: ProjectService, presetService: PresetService, presetRepository: PresetRepository, dockerService: DockerService);
16
- presets(): Promise<string[]>;
17
- protected onInit(project: Project): Promise<void>;
18
- protected onRebuild(project: Project): Promise<void>;
19
- protected onBeforeStart(project: Project): Promise<void>;
20
- init(): Promise<void>;
21
- destroy(): Promise<void>;
22
- add(name: string, version?: string): Promise<void>;
23
- list(): Promise<string>;
24
- delete(name: string, confirm?: boolean): Promise<void>;
25
- eject(name?: string): Promise<void>;
26
- build(presetName: string, rebuild?: boolean): Promise<void>;
27
- }