@wocker/ws 1.0.22 → 1.0.23

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 (105) hide show
  1. package/lib/AppModule.js +36 -29
  2. package/lib/controllers/DebugController.d.ts +2 -1
  3. package/lib/controllers/DebugController.js +7 -7
  4. package/lib/controllers/ExperimentalController.d.ts +8 -0
  5. package/lib/controllers/ExperimentalController.js +77 -0
  6. package/lib/controllers/PluginController.d.ts +2 -1
  7. package/lib/controllers/PluginController.js +4 -3
  8. package/lib/controllers/PresetController.d.ts +5 -1
  9. package/lib/controllers/PresetController.js +11 -8
  10. package/lib/controllers/ProjectController.d.ts +6 -2
  11. package/lib/controllers/ProjectController.js +80 -59
  12. package/lib/controllers/index.d.ts +1 -3
  13. package/lib/controllers/index.js +1 -3
  14. package/lib/env.d.ts +1 -2
  15. package/lib/env.js +2 -3
  16. package/lib/main.js +7 -3
  17. package/lib/makes/Logger.d.ts +1 -1
  18. package/lib/makes/Plugin.d.ts +0 -1
  19. package/lib/makes/Plugin.js +0 -1
  20. package/lib/makes/index.d.ts +0 -1
  21. package/lib/makes/index.js +0 -1
  22. package/lib/modules/app/index.d.ts +2 -0
  23. package/lib/modules/app/index.js +16 -0
  24. package/lib/modules/docker/index.d.ts +8 -0
  25. package/lib/modules/docker/index.js +41 -0
  26. package/lib/modules/docker/services/ContainerService.d.ts +14 -0
  27. package/lib/modules/docker/services/ContainerService.js +115 -0
  28. package/lib/{services → modules/docker/services}/DockerService.d.ts +12 -5
  29. package/lib/{services → modules/docker/services}/DockerService.js +27 -114
  30. package/lib/modules/docker/services/ImageService.d.ts +18 -0
  31. package/lib/modules/docker/services/ImageService.js +68 -0
  32. package/lib/modules/docker/services/ModemService.d.ts +14 -0
  33. package/lib/modules/docker/services/ModemService.js +137 -0
  34. package/lib/modules/docker/services/ProtoService.d.ts +6 -0
  35. package/lib/modules/docker/services/ProtoService.js +20 -0
  36. package/lib/modules/index.d.ts +3 -0
  37. package/lib/{keystore → modules}/index.js +3 -1
  38. package/lib/{controllers → modules/keystore/controllers}/KeystoreController.d.ts +2 -2
  39. package/lib/{controllers → modules/keystore/controllers}/KeystoreController.js +5 -5
  40. package/lib/modules/keystore/index.d.ts +4 -0
  41. package/lib/modules/keystore/index.js +29 -0
  42. package/lib/{keystore → modules/keystore}/providers/FileKeystoreProvider.d.ts +1 -1
  43. package/lib/{keystore → modules/keystore}/providers/FileKeystoreProvider.js +1 -1
  44. package/lib/{keystore → modules/keystore}/providers/KeytarKeystoreProvider.js +1 -1
  45. package/lib/{keystore → modules/keystore/services}/KeystoreService.d.ts +1 -1
  46. package/lib/{keystore → modules/keystore/services}/KeystoreService.js +3 -3
  47. package/lib/{controllers → modules/proxy/controllers}/CertController.d.ts +2 -1
  48. package/lib/{controllers → modules/proxy/controllers}/CertController.js +4 -3
  49. package/lib/{controllers → modules/proxy/controllers}/ProxyController.d.ts +4 -1
  50. package/lib/{controllers → modules/proxy/controllers}/ProxyController.js +9 -6
  51. package/lib/modules/proxy/index.d.ts +5 -0
  52. package/lib/modules/proxy/index.js +39 -0
  53. package/lib/{services → modules/proxy/services}/CertService.d.ts +3 -3
  54. package/lib/{services → modules/proxy/services}/CertService.js +9 -9
  55. package/lib/{services → modules/proxy/services}/ProxyService.d.ts +2 -2
  56. package/lib/{services → modules/proxy/services}/ProxyService.js +15 -7
  57. package/lib/services/AppConfigService.d.ts +2 -13
  58. package/lib/services/AppConfigService.js +17 -26
  59. package/lib/services/PluginService.js +6 -8
  60. package/lib/services/PresetService.js +2 -3
  61. package/lib/services/ProjectService.d.ts +4 -4
  62. package/lib/services/ProjectService.js +9 -10
  63. package/lib/utils/followProgress2.d.ts +1 -0
  64. package/lib/utils/followProgress2.js +63 -0
  65. package/lib/utils/index.d.ts +1 -2
  66. package/lib/utils/index.js +1 -2
  67. package/package.json +5 -6
  68. package/proto/buildkit.proto +55 -0
  69. package/proto/solver/pb/ops.proto +443 -0
  70. package/lib/keystore/index.d.ts +0 -1
  71. package/lib/keystore/types/Encryption.d.ts +0 -9
  72. package/lib/keystore/types/Encryption.js +0 -81
  73. package/lib/keystore/types/Encryptor.d.ts +0 -10
  74. package/lib/keystore/types/Encryptor.js +0 -59
  75. package/lib/makes/FS.d.ts +0 -27
  76. package/lib/makes/FS.js +0 -284
  77. package/lib/makes/LineConvertStream.d.ts +0 -11
  78. package/lib/makes/LineConvertStream.js +0 -42
  79. package/lib/plugins/MongodbPlugin.d.ts +0 -20
  80. package/lib/plugins/MongodbPlugin.js +0 -288
  81. package/lib/plugins/index.d.ts +0 -1
  82. package/lib/plugins/index.js +0 -17
  83. package/lib/services/index.d.ts +0 -10
  84. package/lib/services/index.js +0 -26
  85. package/lib/utils/followProgress.d.ts +0 -1
  86. package/lib/utils/followProgress.js +0 -73
  87. /package/lib/{utils/format-size-units.d.ts → modules/docker/utils/formatSizeUnits.d.ts} +0 -0
  88. /package/lib/{utils/format-size-units.js → modules/docker/utils/formatSizeUnits.js} +0 -0
  89. /package/lib/{keystore → modules/keystore}/providers/KeytarKeystoreProvider.d.ts +0 -0
  90. /package/lib/{keystore → modules/keystore}/types/FileKeystore.d.ts +0 -0
  91. /package/lib/{keystore → modules/keystore}/types/FileKeystore.js +0 -0
  92. /package/lib/{keystore → modules/keystore}/types/Keytar.d.ts +0 -0
  93. /package/lib/{keystore → modules/keystore}/types/Keytar.js +0 -0
  94. /package/lib/{keystore → modules/keystore}/utils/createEncryptionKey.d.ts +0 -0
  95. /package/lib/{keystore → modules/keystore}/utils/createEncryptionKey.js +0 -0
  96. /package/lib/{keystore → modules/keystore}/utils/createPasswordHash.d.ts +0 -0
  97. /package/lib/{keystore → modules/keystore}/utils/createPasswordHash.js +0 -0
  98. /package/lib/{keystore → modules/keystore}/utils/decrypt.d.ts +0 -0
  99. /package/lib/{keystore → modules/keystore}/utils/decrypt.js +0 -0
  100. /package/lib/{keystore → modules/keystore}/utils/encrypt.d.ts +0 -0
  101. /package/lib/{keystore → modules/keystore}/utils/encrypt.js +0 -0
  102. /package/lib/{keystore → modules/keystore}/utils/index.d.ts +0 -0
  103. /package/lib/{keystore → modules/keystore}/utils/index.js +0 -0
  104. /package/lib/{keystore → modules/keystore}/utils/verifyPasswordHash.d.ts +0 -0
  105. /package/lib/{keystore → modules/keystore}/utils/verifyPasswordHash.js +0 -0
@@ -55,8 +55,12 @@ const cli_table3_1 = __importDefault(require("cli-table3"));
55
55
  const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
56
56
  const Path = __importStar(require("path"));
57
57
  const async_mutex_1 = require("async-mutex");
58
- const makes_1 = require("../makes");
59
- const services_1 = require("../services");
58
+ const AppConfigService_1 = require("../services/AppConfigService");
59
+ const AppEventsService_1 = require("../services/AppEventsService");
60
+ const ProjectService_1 = require("../services/ProjectService");
61
+ const LogService_1 = require("../services/LogService");
62
+ const modules_1 = require("../modules");
63
+ const process = __importStar(require("node:process"));
60
64
  let ProjectController = class ProjectController {
61
65
  constructor(appConfigService, appEventsService, projectService, logService, dockerService) {
62
66
  this.appConfigService = appConfigService;
@@ -81,16 +85,16 @@ let ProjectController = class ProjectController {
81
85
  }
82
86
  }
83
87
  async init(name, type) {
88
+ const fs = new core_1.FileSystem(this.appConfigService.pwd());
84
89
  let project = this.projectService.searchOne({
85
- path: this.appConfigService.pwd()
90
+ path: fs.path()
86
91
  });
87
- const fs = new core_1.FileSystem(this.appConfigService.pwd());
88
92
  if (!project) {
89
93
  project = this.projectService.fromObject({
90
- path: this.appConfigService.pwd()
94
+ path: fs.path()
91
95
  });
92
96
  }
93
- project.path = this.appConfigService.pwd();
97
+ project.path = fs.path();
94
98
  if (name) {
95
99
  project.name = name;
96
100
  }
@@ -122,13 +126,14 @@ let ProjectController = class ProjectController {
122
126
  if (!type || !project.type || !mapTypes[project.type]) {
123
127
  project.type = await (0, utils_1.promptSelect)({
124
128
  message: "Project type",
129
+ required: true,
125
130
  options: mapTypes,
126
131
  default: project.type
127
132
  });
128
133
  }
129
134
  switch (project.type) {
130
135
  case core_1.PROJECT_TYPE_DOCKERFILE: {
131
- const files = await fs.readdirFiles();
136
+ const files = fs.readdir();
132
137
  const dockerfiles = files.filter((fileName) => {
133
138
  if (new RegExp("^(.*)\\.dockerfile$").test(fileName)) {
134
139
  return true;
@@ -140,6 +145,7 @@ let ProjectController = class ProjectController {
140
145
  }
141
146
  project.dockerfile = await (0, utils_1.promptSelect)({
142
147
  message: "Dockerfile",
148
+ required: true,
143
149
  options: dockerfiles.map((dockerfile) => {
144
150
  return {
145
151
  value: dockerfile
@@ -163,10 +169,16 @@ let ProjectController = class ProjectController {
163
169
  throw new Error("Invalid project type");
164
170
  }
165
171
  await this.appEventsService.emit("project:init", project);
166
- await project.save();
172
+ project.save();
167
173
  }
168
174
  async destroy(name) {
169
175
  const project = this.projectService.get(name);
176
+ await this.projectService.stop(project);
177
+ this.appConfigService.removeProject(project.id);
178
+ this.appConfigService.save();
179
+ this.appConfigService.fs.rm(`projects/${project.id}`, {
180
+ recursive: true
181
+ });
170
182
  }
171
183
  async projectList(all) {
172
184
  const table = new cli_table3_1.default({
@@ -190,12 +202,12 @@ let ProjectController = class ProjectController {
190
202
  async start(name, detach, attach, rebuild, restart) {
191
203
  const project = this.projectService.get(name);
192
204
  await this.projectService.start(project, restart, rebuild);
193
- if (attach) {
194
- await this.dockerService.attach(project.containerName);
195
- }
196
205
  if (detach) {
197
206
  console.info(yoctocolors_cjs_1.default.yellow("Warning: Detach option is deprecated"));
198
207
  }
208
+ if (attach) {
209
+ await this.dockerService.attach(project.containerName);
210
+ }
199
211
  }
200
212
  async stop(name) {
201
213
  if (name) {
@@ -225,7 +237,7 @@ let ProjectController = class ProjectController {
225
237
  for (const domain of addDomains) {
226
238
  project.addDomain(domain);
227
239
  }
228
- await project.save();
240
+ project.save();
229
241
  }
230
242
  async setDomains(domains, name) {
231
243
  if (name) {
@@ -236,7 +248,7 @@ let ProjectController = class ProjectController {
236
248
  for (const domain of domains) {
237
249
  project.addDomain(domain);
238
250
  }
239
- await project.save();
251
+ project.save();
240
252
  }
241
253
  async removeDomain(removeDomains, name) {
242
254
  if (name) {
@@ -246,7 +258,7 @@ let ProjectController = class ProjectController {
246
258
  for (const domain of removeDomains) {
247
259
  project.removeDomain(domain);
248
260
  }
249
- await project.save();
261
+ project.save();
250
262
  }
251
263
  async clearDomain(name) {
252
264
  if (name) {
@@ -254,7 +266,7 @@ let ProjectController = class ProjectController {
254
266
  }
255
267
  const project = this.projectService.get();
256
268
  project.clearDomains();
257
- await project.save();
269
+ project.save();
258
270
  }
259
271
  async ports(name) {
260
272
  if (name) {
@@ -275,7 +287,7 @@ let ProjectController = class ProjectController {
275
287
  }
276
288
  const project = this.projectService.get();
277
289
  project.linkPort(parseInt(hostPort), parseInt(containerPort));
278
- await project.save();
290
+ project.save();
279
291
  }
280
292
  async removePort(hostPort, containerPort, name) {
281
293
  if (name) {
@@ -283,7 +295,7 @@ let ProjectController = class ProjectController {
283
295
  }
284
296
  const project = this.projectService.get();
285
297
  project.unlinkPort(parseInt(hostPort), parseInt(containerPort));
286
- await project.save();
298
+ project.save();
287
299
  }
288
300
  async clearPorts(name) {
289
301
  if (name) {
@@ -292,7 +304,7 @@ let ProjectController = class ProjectController {
292
304
  const project = this.projectService.get();
293
305
  if (project.ports) {
294
306
  delete project.ports;
295
- await project.save();
307
+ project.save();
296
308
  }
297
309
  }
298
310
  async configList(name, global) {
@@ -305,7 +317,7 @@ let ProjectController = class ProjectController {
305
317
  env = project.env || {};
306
318
  }
307
319
  else {
308
- const config = this.appConfigService.getConfig();
320
+ const config = this.appConfigService.config;
309
321
  env = config.env || {};
310
322
  }
311
323
  const table = new cli_table3_1.default({
@@ -321,7 +333,7 @@ let ProjectController = class ProjectController {
321
333
  this.projectService.cdProject(name);
322
334
  }
323
335
  let config = global
324
- ? this.appConfigService.getConfig()
336
+ ? this.appConfigService.config
325
337
  : this.projectService.get();
326
338
  const table = new cli_table3_1.default({
327
339
  head: ["KEY", "VALUE"]
@@ -336,27 +348,33 @@ let ProjectController = class ProjectController {
336
348
  return table.toString();
337
349
  }
338
350
  async configSet(variables, name, global) {
339
- if (!global && name) {
351
+ if (global) {
352
+ for (const variable of variables) {
353
+ const [key, value] = variable.split("=");
354
+ if (!value) {
355
+ console.info(yoctocolors_cjs_1.default.yellow(`No value for "${key}"`));
356
+ continue;
357
+ }
358
+ this.appConfigService.config.setEnv(key.trim(), value.trim());
359
+ }
360
+ return;
361
+ }
362
+ if (name) {
340
363
  this.projectService.cdProject(name);
341
364
  }
342
- const config = global
343
- ? this.appConfigService.getConfig()
344
- : this.projectService.get();
365
+ const project = this.projectService.get();
345
366
  for (const variable of variables) {
346
367
  const [key, value] = variable.split("=");
347
368
  if (!value) {
348
369
  console.info(yoctocolors_cjs_1.default.yellow(`No value for "${key}"`));
349
370
  continue;
350
371
  }
351
- config.setEnv(key.trim(), value.trim());
372
+ project.setEnv(key, value);
352
373
  }
353
- await config.save();
354
- if (!global) {
355
- const project = this.projectService.get();
356
- const container = await this.dockerService.getContainer(project.containerName);
357
- if (container) {
358
- await this.projectService.start(project, true);
359
- }
374
+ project.save();
375
+ const container = await this.dockerService.getContainer(project.containerName);
376
+ if (container) {
377
+ await this.projectService.start(project, true);
360
378
  }
361
379
  }
362
380
  async configUnset(configs, name, global) {
@@ -375,7 +393,7 @@ let ProjectController = class ProjectController {
375
393
  for (const i in env) {
376
394
  project.unsetEnv(i);
377
395
  }
378
- await project.save();
396
+ project.save();
379
397
  if (!global) {
380
398
  const project = this.projectService.get();
381
399
  const container = await this.dockerService.getContainer(project.containerName);
@@ -414,7 +432,7 @@ let ProjectController = class ProjectController {
414
432
  }
415
433
  return table.toString();
416
434
  }
417
- async buildArgsSet(name, args) {
435
+ async buildArgsSet(args, name) {
418
436
  if (name) {
419
437
  this.projectService.cdProject(name);
420
438
  }
@@ -434,7 +452,7 @@ let ProjectController = class ProjectController {
434
452
  }
435
453
  project.buildArgs[key] = buildArgs[key];
436
454
  }
437
- await project.save();
455
+ project.save();
438
456
  }
439
457
  async buildArgsUnset(args, name) {
440
458
  if (name) {
@@ -456,7 +474,7 @@ let ProjectController = class ProjectController {
456
474
  delete project.buildArgs[key];
457
475
  }
458
476
  }
459
- await project.save();
477
+ project.save();
460
478
  }
461
479
  async volumeList(name) {
462
480
  if (name) {
@@ -479,7 +497,7 @@ let ProjectController = class ProjectController {
479
497
  const project = this.projectService.get();
480
498
  if (Array.isArray(volumes) && volumes.length > 0) {
481
499
  project.volumeMount(...volumes);
482
- await project.save();
500
+ project.save();
483
501
  }
484
502
  }
485
503
  async volumeUnmount(volumes, name) {
@@ -489,7 +507,7 @@ let ProjectController = class ProjectController {
489
507
  const project = this.projectService.get();
490
508
  if (Array.isArray(volumes) && volumes.length > 0) {
491
509
  project.volumeUnmount(...volumes);
492
- await project.save();
510
+ project.save();
493
511
  }
494
512
  }
495
513
  async extraHostList(name) {
@@ -516,7 +534,7 @@ let ProjectController = class ProjectController {
516
534
  }
517
535
  const project = this.projectService.get();
518
536
  project.addExtraHost(extraHost, extraDomain);
519
- await project.save();
537
+ project.save();
520
538
  }
521
539
  async removeExtraHost(extraHost, name) {
522
540
  if (name) {
@@ -524,7 +542,7 @@ let ProjectController = class ProjectController {
524
542
  }
525
543
  const project = this.projectService.get();
526
544
  project.removeExtraHost(extraHost);
527
- await project.save();
545
+ project.save();
528
546
  }
529
547
  async attach(name) {
530
548
  if (name) {
@@ -571,7 +589,6 @@ let ProjectController = class ProjectController {
571
589
  if (clear) {
572
590
  this.logService.clear();
573
591
  }
574
- const logFilepath = this.appConfigService.dataPath("ws.log");
575
592
  const prepareLog = (str) => {
576
593
  return str.replace(/^\[.*]\s([^:]+):\s.*$/gm, (substring, type) => {
577
594
  switch (type) {
@@ -591,26 +608,29 @@ let ProjectController = class ProjectController {
591
608
  }
592
609
  });
593
610
  };
594
- const stream = makes_1.FS.createReadLinesStream(logFilepath, follow ? -10 : undefined);
595
- stream.on("data", (data) => {
596
- process.stdout.write(prepareLog(data.toString()));
611
+ const file = this.appConfigService.fs.open("ws.log", "r");
612
+ const stream = file.createReadlineStream({
613
+ start: -10
614
+ });
615
+ stream.on("data", (line) => {
616
+ process.stdout.write(prepareLog(line));
597
617
  process.stdout.write("\n");
598
618
  });
599
619
  if (follow) {
600
- const stats = await makes_1.FS.stat(logFilepath);
601
- const watcher = makes_1.FS.watch(logFilepath);
620
+ const stats = file.stat();
621
+ const watcher = this.appConfigService.fs.watch("ws.log");
602
622
  const mutex = new async_mutex_1.Mutex();
603
- let position = BigInt(stats.size);
623
+ let position = stats.size;
604
624
  watcher.on("change", async () => {
605
625
  await mutex.acquire();
606
626
  try {
607
- const stats = await makes_1.FS.stat(logFilepath);
608
- if (BigInt(stats.size) < position) {
627
+ const stats = file.stat();
628
+ if (stats.size < position) {
609
629
  console.info("file truncated");
610
- position = 0n;
630
+ position = 0;
611
631
  }
612
- const buffer = await makes_1.FS.readBytes(logFilepath, position);
613
- position += BigInt(buffer.length);
632
+ const buffer = file.readBytes(position);
633
+ position += buffer.length;
614
634
  process.stdout.write(prepareLog(buffer.toString("utf-8")));
615
635
  }
616
636
  finally {
@@ -921,13 +941,14 @@ __decorate([
921
941
  ], ProjectController.prototype, "buildArgsGet", null);
922
942
  __decorate([
923
943
  (0, core_1.Command)("build-args:set [...buildArgs]"),
924
- __param(0, (0, core_1.Option)("name", {
944
+ __param(0, (0, core_1.Param)("buildArgs")),
945
+ __param(1, (0, core_1.Option)("name", {
925
946
  type: "string",
926
947
  alias: "n",
927
948
  description: "The name of the project"
928
949
  })),
929
950
  __metadata("design:type", Function),
930
- __metadata("design:paramtypes", [String, Array]),
951
+ __metadata("design:paramtypes", [Array, String]),
931
952
  __metadata("design:returntype", Promise)
932
953
  ], ProjectController.prototype, "buildArgsSet", null);
933
954
  __decorate([
@@ -1081,9 +1102,9 @@ __decorate([
1081
1102
  exports.ProjectController = ProjectController = __decorate([
1082
1103
  (0, core_1.Controller)(),
1083
1104
  (0, core_1.Description)("Project commands"),
1084
- __metadata("design:paramtypes", [services_1.AppConfigService,
1085
- services_1.AppEventsService,
1086
- services_1.ProjectService,
1087
- services_1.LogService,
1088
- services_1.DockerService])
1105
+ __metadata("design:paramtypes", [AppConfigService_1.AppConfigService,
1106
+ AppEventsService_1.AppEventsService,
1107
+ ProjectService_1.ProjectService,
1108
+ LogService_1.LogService,
1109
+ modules_1.DockerService])
1089
1110
  ], ProjectController);
@@ -1,8 +1,6 @@
1
- export * from "./CertController";
2
1
  export * from "./CompletionController";
3
2
  export * from "./DebugController";
4
- export * from "./KeystoreController";
3
+ export * from "./ExperimentalController";
5
4
  export * from "./PluginController";
6
5
  export * from "./PresetController";
7
6
  export * from "./ProjectController";
8
- export * from "./ProxyController";
@@ -14,11 +14,9 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./CertController"), exports);
18
17
  __exportStar(require("./CompletionController"), exports);
19
18
  __exportStar(require("./DebugController"), exports);
20
- __exportStar(require("./KeystoreController"), exports);
19
+ __exportStar(require("./ExperimentalController"), exports);
21
20
  __exportStar(require("./PluginController"), exports);
22
21
  __exportStar(require("./PresetController"), exports);
23
22
  __exportStar(require("./ProjectController"), exports);
24
- __exportStar(require("./ProxyController"), exports);
package/lib/env.d.ts CHANGED
@@ -1,8 +1,7 @@
1
- export declare const WOCKER_VERSION = "1.0.22";
1
+ export declare const WOCKER_VERSION = "1.0.23";
2
2
  export declare const NODE_ENV: string;
3
3
  export declare const ROOT_DIR: string;
4
4
  export declare const PRESETS_DIR: string;
5
- export declare const SERVICES_DIR: string;
6
5
  export declare const PLUGINS_DIR: string;
7
6
  export declare const DATA_DIR: string;
8
7
  export declare const VIRTUAL_HOST_KEY = "VIRTUAL_HOST";
package/lib/env.js CHANGED
@@ -33,14 +33,13 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.KEYTAR_SERVICE = exports.VIRTUAL_HOST_KEY = exports.DATA_DIR = exports.PLUGINS_DIR = exports.SERVICES_DIR = exports.PRESETS_DIR = exports.ROOT_DIR = exports.NODE_ENV = exports.WOCKER_VERSION = void 0;
36
+ exports.KEYTAR_SERVICE = exports.VIRTUAL_HOST_KEY = exports.DATA_DIR = exports.PLUGINS_DIR = exports.PRESETS_DIR = exports.ROOT_DIR = exports.NODE_ENV = exports.WOCKER_VERSION = void 0;
37
37
  const OS = __importStar(require("os"));
38
38
  const Path = __importStar(require("path"));
39
- exports.WOCKER_VERSION = "1.0.22";
39
+ exports.WOCKER_VERSION = "1.0.23";
40
40
  exports.NODE_ENV = process.env.NODE_ENV;
41
41
  exports.ROOT_DIR = Path.join(__dirname, "..");
42
42
  exports.PRESETS_DIR = Path.join(exports.ROOT_DIR, "presets");
43
- exports.SERVICES_DIR = Path.join(exports.ROOT_DIR, "services");
44
43
  exports.PLUGINS_DIR = Path.join(exports.ROOT_DIR, "plugins");
45
44
  exports.DATA_DIR = process.env.WS_DIR || Path.join(OS.homedir(), ".workspace");
46
45
  exports.VIRTUAL_HOST_KEY = "VIRTUAL_HOST";
package/lib/main.js CHANGED
@@ -7,12 +7,13 @@ exports.app = void 0;
7
7
  const core_1 = require("@wocker/core");
8
8
  const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
9
9
  const AppModule_1 = require("./AppModule");
10
- const services_1 = require("./services");
10
+ const AppConfigService_1 = require("./services/AppConfigService");
11
+ const LogService_1 = require("./services/LogService");
11
12
  exports.app = {
12
13
  async run(args) {
13
14
  const app = await core_1.Factory.create(AppModule_1.AppModule);
14
- const configService = app.get(services_1.AppConfigService);
15
- const logger = app.get(services_1.LogService);
15
+ const configService = app.get(AppConfigService_1.AppConfigService);
16
+ const logger = app.get(LogService_1.LogService);
16
17
  try {
17
18
  const res = await app.run(args);
18
19
  if (res) {
@@ -25,6 +26,9 @@ exports.app = {
25
26
  return;
26
27
  }
27
28
  console.error(yoctocolors_cjs_1.default.red(err.message));
29
+ if (err instanceof core_1.UsageException || err.name === "UsageException") {
30
+ return;
31
+ }
28
32
  if (err instanceof core_1.CommandNotFoundError) {
29
33
  return;
30
34
  }
@@ -1,4 +1,4 @@
1
- import { LogService } from "../services";
1
+ import { LogService } from "../services/LogService";
2
2
  declare class Logger {
3
3
  static install(ls: LogService): void;
4
4
  static log(...data: any[]): void;
@@ -1,4 +1,3 @@
1
- import "reflect-metadata";
2
1
  export declare class Plugin {
3
2
  readonly type: any;
4
3
  readonly name: string;
@@ -1,7 +1,6 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.Plugin = void 0;
4
- require("reflect-metadata");
5
4
  const core_1 = require("@wocker/core");
6
5
  class Plugin {
7
6
  constructor(type) {
@@ -1,4 +1,3 @@
1
- export * from "./FS";
2
1
  export * from "./Http";
3
2
  export * from "./Logger";
4
3
  export * from "./Plugin";
@@ -14,7 +14,6 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
14
  for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
15
  };
16
16
  Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./FS"), exports);
18
17
  __exportStar(require("./Http"), exports);
19
18
  __exportStar(require("./Logger"), exports);
20
19
  __exportStar(require("./Plugin"), exports);
@@ -0,0 +1,2 @@
1
+ export declare class AppModule {
2
+ }
@@ -0,0 +1,16 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.AppModule = void 0;
10
+ const core_1 = require("@wocker/core");
11
+ let AppModule = class AppModule {
12
+ };
13
+ exports.AppModule = AppModule;
14
+ exports.AppModule = AppModule = __decorate([
15
+ (0, core_1.Module)({})
16
+ ], AppModule);
@@ -0,0 +1,8 @@
1
+ import { ContainerService } from "./services/ContainerService";
2
+ import { ImageService } from "./services/ImageService";
3
+ import { DockerService } from "./services/DockerService";
4
+ import { ModemService } from "./services/ModemService";
5
+ import { ProtoService } from "./services/ProtoService";
6
+ export declare class DockerModule {
7
+ }
8
+ export { ContainerService, ImageService, DockerService, ModemService, ProtoService };
@@ -0,0 +1,41 @@
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
+ Object.defineProperty(exports, "__esModule", { value: true });
9
+ exports.ProtoService = exports.ModemService = exports.DockerService = exports.ImageService = exports.ContainerService = exports.DockerModule = void 0;
10
+ const core_1 = require("@wocker/core");
11
+ const ContainerService_1 = require("./services/ContainerService");
12
+ Object.defineProperty(exports, "ContainerService", { enumerable: true, get: function () { return ContainerService_1.ContainerService; } });
13
+ const ImageService_1 = require("./services/ImageService");
14
+ Object.defineProperty(exports, "ImageService", { enumerable: true, get: function () { return ImageService_1.ImageService; } });
15
+ const DockerService_1 = require("./services/DockerService");
16
+ Object.defineProperty(exports, "DockerService", { enumerable: true, get: function () { return DockerService_1.DockerService; } });
17
+ const ModemService_1 = require("./services/ModemService");
18
+ Object.defineProperty(exports, "ModemService", { enumerable: true, get: function () { return ModemService_1.ModemService; } });
19
+ const ProtoService_1 = require("./services/ProtoService");
20
+ Object.defineProperty(exports, "ProtoService", { enumerable: true, get: function () { return ProtoService_1.ProtoService; } });
21
+ let DockerModule = class DockerModule {
22
+ };
23
+ exports.DockerModule = DockerModule;
24
+ exports.DockerModule = DockerModule = __decorate([
25
+ (0, core_1.Module)({
26
+ providers: [
27
+ ContainerService_1.ContainerService,
28
+ ImageService_1.ImageService,
29
+ DockerService_1.DockerService,
30
+ ModemService_1.ModemService,
31
+ ProtoService_1.ProtoService
32
+ ],
33
+ exports: [
34
+ ContainerService_1.ContainerService,
35
+ ImageService_1.ImageService,
36
+ DockerService_1.DockerService,
37
+ ModemService_1.ModemService,
38
+ ProtoService_1.ProtoService
39
+ ]
40
+ })
41
+ ], DockerModule);
@@ -0,0 +1,14 @@
1
+ import { LogService, DockerServiceParams as Params } from "@wocker/core";
2
+ import type Docker from "dockerode";
3
+ import { Duplex } from "stream";
4
+ import type { Container } from "dockerode";
5
+ import { ModemService } from "./ModemService";
6
+ export declare class ContainerService {
7
+ protected readonly logService: LogService;
8
+ protected readonly modemService: ModemService;
9
+ constructor(logService: LogService, modemService: ModemService);
10
+ get docker(): Docker;
11
+ get(name: string): Promise<Container>;
12
+ rm(name: string): Promise<void>;
13
+ exec(nameOrContainer: string | Container, options: Params.Exec | string[], _tty?: boolean): Promise<Duplex>;
14
+ }