@wocker/ws 1.0.26 → 1.0.28-beta.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.
Files changed (45) hide show
  1. package/lib/AppModule.js +38 -4
  2. package/lib/modules/dns/controllers/DnsController.js +3 -0
  3. package/lib/modules/dns/index.js +5 -2
  4. package/lib/modules/dns/services/DnsService.d.ts +1 -1
  5. package/lib/modules/dns/services/DnsService.js +2 -2
  6. package/lib/modules/index.d.ts +0 -1
  7. package/lib/modules/index.js +0 -1
  8. package/lib/modules/preset/controllers/PresetController.d.ts +1 -1
  9. package/lib/modules/preset/controllers/PresetController.js +2 -2
  10. package/lib/modules/preset/controllers/PresetListener.d.ts +1 -1
  11. package/lib/modules/preset/controllers/PresetListener.js +2 -2
  12. package/lib/modules/preset/index.js +5 -2
  13. package/lib/modules/preset/repositories/PresetRepository.d.ts +3 -2
  14. package/lib/modules/preset/repositories/PresetRepository.js +9 -4
  15. package/lib/modules/preset/services/PresetService.js +1 -1
  16. package/lib/modules/project/controllers/ProjectController.js +13 -0
  17. package/lib/modules/project/index.js +6 -3
  18. package/lib/modules/project/services/ProjectService.d.ts +1 -1
  19. package/lib/modules/project/services/ProjectService.js +6 -4
  20. package/lib/modules/proxy/index.js +5 -2
  21. package/lib/modules/proxy/services/CertService.d.ts +1 -1
  22. package/lib/modules/proxy/services/CertService.js +2 -2
  23. package/lib/modules/proxy/services/ProxyService.d.ts +1 -1
  24. package/lib/modules/proxy/services/ProxyService.js +2 -2
  25. package/package.json +14 -4
  26. package/lib/modules/docker/index.d.ts +0 -9
  27. package/lib/modules/docker/index.js +0 -45
  28. package/lib/modules/docker/services/ComposeService.d.ts +0 -32
  29. package/lib/modules/docker/services/ComposeService.js +0 -127
  30. package/lib/modules/docker/services/ContainerService.d.ts +0 -14
  31. package/lib/modules/docker/services/ContainerService.js +0 -115
  32. package/lib/modules/docker/services/DockerService.d.ts +0 -31
  33. package/lib/modules/docker/services/DockerService.js +0 -245
  34. package/lib/modules/docker/services/ImageService.d.ts +0 -12
  35. package/lib/modules/docker/services/ImageService.js +0 -80
  36. package/lib/modules/docker/services/ModemService.d.ts +0 -15
  37. package/lib/modules/docker/services/ModemService.js +0 -156
  38. package/lib/modules/docker/services/ProtoService.d.ts +0 -6
  39. package/lib/modules/docker/services/ProtoService.js +0 -20
  40. package/lib/modules/docker/type/ComposeConfig.d.ts +0 -12
  41. package/lib/modules/docker/type/ComposeConfig.js +0 -2
  42. package/lib/modules/docker/utils/formatSizeUnits.d.ts +0 -1
  43. package/lib/modules/docker/utils/formatSizeUnits.js +0 -19
  44. package/proto/buildkit.proto +0 -55
  45. package/proto/solver/pb/ops.proto +0 -443
@@ -1,80 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ImageService = void 0;
13
- const core_1 = require("@wocker/core");
14
- const ModemService_1 = require("./ModemService");
15
- let ImageService = class ImageService {
16
- constructor(modemService) {
17
- this.modemService = modemService;
18
- }
19
- get docker() {
20
- return this.modemService.docker;
21
- }
22
- async build(params) {
23
- const { version, tag, context, labels, buildArgs } = params;
24
- const dockerfile = "dockerfile" in params
25
- ? params.dockerfile
26
- : params.src;
27
- const files = (new core_1.FileSystem(context)).readdir("", {
28
- recursive: true
29
- });
30
- const stream = await this.docker.buildImage({
31
- context,
32
- src: files
33
- }, {
34
- version,
35
- t: tag,
36
- labels,
37
- buildargs: Object.keys(buildArgs || {}).reduce((res, key) => {
38
- const value = buildArgs[key];
39
- if (typeof value !== "undefined") {
40
- res[key] = typeof value !== "string" ? value.toString() : value;
41
- }
42
- return res;
43
- }, {}),
44
- rm: true,
45
- dockerfile
46
- });
47
- await this.modemService.followProgress(stream);
48
- }
49
- async exists(tag) {
50
- const image = this.docker.getImage(tag);
51
- try {
52
- await image.inspect();
53
- return true;
54
- }
55
- catch (err) {
56
- return false;
57
- }
58
- }
59
- async pull(tag) {
60
- if (await this.exists(tag)) {
61
- return;
62
- }
63
- const stream = await this.docker.pull(tag);
64
- await this.modemService.followProgress(stream);
65
- }
66
- async rm(tag, force = false) {
67
- if (!await this.exists(tag)) {
68
- return;
69
- }
70
- const image = this.docker.getImage(tag);
71
- await image.remove({
72
- force
73
- });
74
- }
75
- };
76
- exports.ImageService = ImageService;
77
- exports.ImageService = ImageService = __decorate([
78
- (0, core_1.Injectable)(),
79
- __metadata("design:paramtypes", [ModemService_1.ModemService])
80
- ], ImageService);
@@ -1,15 +0,0 @@
1
- import { ModemService as CoreModemService, LogService } from "@wocker/core";
2
- import type Modem from "docker-modem";
3
- import type Docker from "dockerode";
4
- import { ProtoService } from "./ProtoService";
5
- export declare class ModemService extends CoreModemService {
6
- protected readonly protoService: ProtoService;
7
- protected readonly logService: LogService;
8
- protected _modem?: Modem;
9
- protected _docker?: Docker;
10
- constructor(protoService: ProtoService, logService: LogService);
11
- get modem(): Modem;
12
- get docker(): Docker;
13
- attachStream(stream: NodeJS.ReadWriteStream): Promise<NodeJS.ReadWriteStream>;
14
- followProgress(stream: NodeJS.ReadableStream): Promise<void>;
15
- }
@@ -1,156 +0,0 @@
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
- Object.defineProperty(exports, "__esModule", { value: true });
12
- exports.ModemService = void 0;
13
- const core_1 = require("@wocker/core");
14
- const formatSizeUnits_1 = require("../utils/formatSizeUnits");
15
- const ProtoService_1 = require("./ProtoService");
16
- let ModemService = class ModemService extends core_1.ModemService {
17
- constructor(protoService, logService) {
18
- super();
19
- this.protoService = protoService;
20
- this.logService = logService;
21
- }
22
- get modem() {
23
- if (!this._modem) {
24
- const Modem = require("docker-modem");
25
- this._modem = new Modem({
26
- socketPath: "/var/run/docker.sock"
27
- });
28
- }
29
- return this._modem;
30
- }
31
- get docker() {
32
- if (!this._docker) {
33
- const Docker = require("dockerode");
34
- this._docker = new Docker({
35
- modem: this.modem
36
- });
37
- }
38
- return this._docker;
39
- }
40
- async attachStream(stream) {
41
- if (process.stdin.isTTY) {
42
- process.stdin.setRawMode(true);
43
- }
44
- process.stdin.resume();
45
- process.stdin.setEncoding("utf8");
46
- process.stdin.pipe(stream);
47
- stream.setEncoding("utf8");
48
- stream.pipe(process.stdout);
49
- try {
50
- await new Promise((resolve, reject) => {
51
- stream.on("end", resolve);
52
- stream.on("error", reject);
53
- });
54
- }
55
- finally {
56
- process.stdin.pause();
57
- if (process.stdin.isTTY) {
58
- process.stdin.setRawMode(false);
59
- }
60
- process.stdin.unpipe(stream);
61
- stream.unpipe(process.stdout);
62
- }
63
- return stream;
64
- }
65
- async followProgress(stream) {
66
- let isEnded = false, line = 0;
67
- const mapLines = {};
68
- return new Promise((resolve, reject) => {
69
- const handleEnd = () => {
70
- if (!isEnded) {
71
- resolve();
72
- }
73
- isEnded = true;
74
- };
75
- stream.on("data", (chunk) => {
76
- const text = chunk.toString().replace(/}\s*\{/g, "},{"), items = JSON.parse(`[${text}]`);
77
- for (const item of items) {
78
- if (item.id === "moby.buildkit.trace") {
79
- const StatusResponse = this.protoService.lookupType("moby.buildkit.v1.StatusResponse");
80
- const buffer = Buffer.from(item.aux, "base64");
81
- const decoded = StatusResponse.decode(buffer);
82
- const obj = StatusResponse.toObject(decoded, {
83
- enums: String,
84
- longs: String,
85
- bytes: String,
86
- defaults: true
87
- });
88
- console.dir(obj, {
89
- depth: null
90
- });
91
- }
92
- else if (item.id === "moby.image.id") {
93
- console.dir(item, {
94
- depth: null
95
- });
96
- }
97
- else if (item.stream) {
98
- process.stdout.write(`${item.stream}`);
99
- line += item.stream.split("\n").length - 1;
100
- }
101
- else if (item.id) {
102
- const { id, status, processDetail: { current, total } = {} } = item;
103
- if (typeof mapLines[id] === "undefined") {
104
- mapLines[id] = line;
105
- }
106
- const targetLine = typeof mapLines[id] !== "undefined"
107
- ? mapLines[id]
108
- : line;
109
- const dy = line - targetLine;
110
- if (dy > 0) {
111
- process.stdout.write("\x1b[s");
112
- process.stdout.write(`\x1b[${dy}A`);
113
- }
114
- process.stdout.write("\x1b[2K");
115
- let str = `${id}: ${status}\n`;
116
- if (status === "Downloading") {
117
- const width = process.stdout.columns;
118
- const sizeWidth = 19, totalWidth = width - id.length - status.length - sizeWidth - 7, currentWidth = Math.floor(totalWidth * (current / total)), formatSize = `${(0, formatSizeUnits_1.formatSizeUnits)(current)}/${(0, formatSizeUnits_1.formatSizeUnits)(total)}`;
119
- str = `${id}: ${status} [${"█".repeat(currentWidth)}${"░".repeat(totalWidth - currentWidth)}] ${formatSize}\n`;
120
- }
121
- process.stdout.write(str);
122
- if (dy > 0) {
123
- process.stdout.write("\x1b[u");
124
- }
125
- else {
126
- line++;
127
- }
128
- }
129
- else if (typeof item.aux === "object") {
130
- const str = `auxID: ${item.aux.ID}`;
131
- process.stdout.write(`${str}\n`);
132
- line += Math.ceil(str.length / process.stdout.columns);
133
- }
134
- else if (item.status) {
135
- process.stdout.write(`${item.status}\n`);
136
- line += Math.ceil(item.status.length / process.stdout.columns);
137
- }
138
- else {
139
- console.info("Unexpected data", item);
140
- }
141
- }
142
- });
143
- stream.on("end", handleEnd);
144
- stream.on("close", handleEnd);
145
- stream.on("error", (err) => {
146
- reject(err);
147
- });
148
- });
149
- }
150
- };
151
- exports.ModemService = ModemService;
152
- exports.ModemService = ModemService = __decorate([
153
- (0, core_1.Injectable)("DOCKER_MODEM_SERVICE"),
154
- __metadata("design:paramtypes", [ProtoService_1.ProtoService,
155
- core_1.LogService])
156
- ], ModemService);
@@ -1,6 +0,0 @@
1
- import { Type, Root } from "protobufjs";
2
- export declare class ProtoService {
3
- protected _root?: Root;
4
- get root(): Root;
5
- lookupType(path: string): Type;
6
- }
@@ -1,20 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.ProtoService = void 0;
4
- const protobufjs_1 = require("protobufjs");
5
- const env_1 = require("../../../env");
6
- class ProtoService {
7
- get root() {
8
- if (!this._root) {
9
- this._root = (0, protobufjs_1.loadSync)([
10
- `${env_1.ROOT_DIR}/fixtures/proto/solver/pb/ops.proto`,
11
- `${env_1.ROOT_DIR}/fixtures/proto/buildkit.proto`
12
- ]);
13
- }
14
- return this._root;
15
- }
16
- lookupType(path) {
17
- return this.root.lookupType(path);
18
- }
19
- }
20
- exports.ProtoService = ProtoService;
@@ -1,12 +0,0 @@
1
- export type ComposeConfig = {
2
- services: {
3
- [name: string]: {
4
- networks?: string[];
5
- };
6
- };
7
- networks?: {
8
- [name: string]: {
9
- external?: boolean;
10
- };
11
- };
12
- };
@@ -1,2 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
@@ -1 +0,0 @@
1
- export declare const formatSizeUnits: (bytes: number) => string;
@@ -1,19 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.formatSizeUnits = void 0;
4
- const formatSizeUnits = (bytes) => {
5
- if (bytes >= 1073741824) {
6
- return (bytes / 1073741824).toFixed(2) + "GB";
7
- }
8
- else if (bytes >= 1048576) {
9
- return (bytes / 1048576).toFixed(2) + "MB";
10
- }
11
- else if (bytes >= 1024) {
12
- return (bytes / 1024).toFixed(2) + "kB";
13
- }
14
- else if (bytes >= 1) {
15
- return bytes + "b";
16
- }
17
- return "0b";
18
- };
19
- exports.formatSizeUnits = formatSizeUnits;
@@ -1,55 +0,0 @@
1
- syntax = "proto3";
2
-
3
- import "google/protobuf/timestamp.proto";
4
-
5
- package moby.buildkit.v1;
6
-
7
- message StatusResponse {
8
- repeated Vertex vertexes = 1;
9
- repeated VertexStatus statuses = 2;
10
- repeated VertexLog logs = 3;
11
- repeated VertexWarning warnings = 4;
12
- }
13
-
14
- message Vertex {
15
- string digest = 1;
16
- repeated string inputs = 2;
17
- string name = 3;
18
- bool cached = 4;
19
-
20
- google.protobuf.Timestamp started = 5;
21
- google.protobuf.Timestamp completed = 6;
22
- string error = 7; // typed errors?
23
- ProgressGroup progressGroup = 8;
24
- }
25
-
26
- message VertexStatus {
27
- string ID = 1;
28
- string vertex = 2;
29
- string name = 3;
30
- int64 current = 4;
31
- int64 total = 5;
32
- }
33
-
34
- message ProgressGroup {
35
- string id = 1;
36
- string name = 2;
37
- bool weak = 3;
38
- }
39
-
40
- message VertexLog {
41
- string vertex = 1;
42
- google.protobuf.Timestamp timestamp = 2;
43
- int64 stream = 3;
44
- bytes msg = 4;
45
- }
46
-
47
- message VertexWarning {
48
- string vertex = 1;
49
- int64 level = 2;
50
- bytes short = 3;
51
- repeated bytes detail = 4;
52
- string url = 5;
53
- pb.SourceInfo info = 6;
54
- repeated pb.Range ranges = 7;
55
- }