@wocker/ws 1.0.25 → 1.0.27

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 (130) hide show
  1. package/README.md +1 -1
  2. package/lib/AppModule.d.ts +0 -4
  3. package/lib/AppModule.js +44 -48
  4. package/lib/env.d.ts +2 -3
  5. package/lib/env.js +12 -42
  6. package/lib/main.d.ts +2 -3
  7. package/lib/main.js +23 -25
  8. package/lib/makes/GithubClient.d.ts +24 -3
  9. package/lib/makes/GithubClient.js +20 -6
  10. package/lib/makes/Version.d.ts +22 -0
  11. package/lib/makes/Version.js +59 -0
  12. package/lib/makes/VersionRange.d.ts +6 -0
  13. package/lib/makes/VersionRange.js +18 -0
  14. package/lib/makes/VersionRule.d.ts +24 -0
  15. package/lib/makes/VersionRule.js +68 -0
  16. package/lib/makes/index.d.ts +2 -0
  17. package/lib/makes/index.js +2 -0
  18. package/lib/modules/core/index.js +7 -26
  19. package/lib/modules/dns/controllers/DnsController.d.ts +7 -0
  20. package/lib/modules/dns/controllers/DnsController.js +47 -0
  21. package/lib/modules/dns/index.d.ts +4 -0
  22. package/lib/modules/dns/index.js +44 -0
  23. package/lib/modules/dns/services/DnsService.d.ts +10 -0
  24. package/lib/modules/dns/services/DnsService.js +77 -0
  25. package/lib/modules/index.d.ts +3 -1
  26. package/lib/modules/index.js +3 -1
  27. package/lib/modules/keystore/controllers/KeystoreController.d.ts +0 -3
  28. package/lib/modules/keystore/controllers/KeystoreController.js +3 -54
  29. package/lib/modules/keystore/services/KeystoreService.d.ts +1 -0
  30. package/lib/modules/keystore/services/KeystoreService.js +4 -0
  31. package/lib/modules/keystore/utils/createEncryptionKey.d.ts +1 -1
  32. package/lib/modules/package-manager/index.d.ts +5 -0
  33. package/lib/modules/package-manager/index.js +33 -0
  34. package/lib/modules/package-manager/providers/NpmProvider.d.ts +7 -0
  35. package/lib/modules/package-manager/providers/NpmProvider.js +39 -0
  36. package/lib/modules/package-manager/providers/PnpmProvider.d.ts +7 -0
  37. package/lib/modules/package-manager/providers/PnpmProvider.js +30 -0
  38. package/lib/modules/package-manager/providers/YarnProvider.d.ts +7 -0
  39. package/lib/modules/package-manager/providers/YarnProvider.js +29 -0
  40. package/lib/modules/package-manager/service/PackageManager.d.ts +10 -0
  41. package/lib/modules/package-manager/service/PackageManager.js +70 -0
  42. package/lib/modules/package-manager/service/RegistryService.d.ts +4 -0
  43. package/lib/{services/NpmService.js → modules/package-manager/service/RegistryService.js} +6 -11
  44. package/lib/modules/package-manager/types/Package.d.ts +4 -0
  45. package/lib/modules/package-manager/types/PackageManagerProvider.d.ts +6 -0
  46. package/lib/modules/package-manager/types/PackageManagerProvider.js +6 -0
  47. package/lib/{controllers → modules/plugin/controllers}/PluginController.d.ts +2 -2
  48. package/lib/{controllers → modules/plugin/controllers}/PluginController.js +21 -20
  49. package/lib/modules/plugin/index.d.ts +4 -0
  50. package/lib/modules/plugin/index.js +67 -0
  51. package/lib/{services → modules/plugin/services}/PluginService.d.ts +7 -5
  52. package/lib/{services → modules/plugin/services}/PluginService.js +38 -40
  53. package/lib/modules/preset/controllers/PresetController.d.ts +2 -2
  54. package/lib/modules/preset/controllers/PresetController.js +14 -8
  55. package/lib/modules/preset/controllers/PresetListener.d.ts +1 -1
  56. package/lib/modules/preset/controllers/PresetListener.js +2 -2
  57. package/lib/modules/preset/index.js +5 -2
  58. package/lib/modules/preset/repositories/PresetRepository.d.ts +3 -2
  59. package/lib/modules/preset/repositories/PresetRepository.js +9 -4
  60. package/lib/modules/preset/services/PresetService.d.ts +2 -1
  61. package/lib/modules/preset/services/PresetService.js +74 -14
  62. package/lib/modules/project/controllers/ProjectController.d.ts +37 -2
  63. package/lib/modules/project/controllers/ProjectController.js +837 -7
  64. package/lib/modules/project/controllers/SecretsController.d.ts +8 -0
  65. package/lib/modules/project/controllers/SecretsController.js +72 -0
  66. package/lib/modules/project/index.js +11 -4
  67. package/lib/modules/project/repositories/ProjectRepository.d.ts +3 -6
  68. package/lib/modules/project/repositories/ProjectRepository.js +9 -28
  69. package/lib/modules/project/services/ProjectService.d.ts +5 -3
  70. package/lib/modules/project/services/ProjectService.js +59 -4
  71. package/lib/modules/proxy/controllers/ProxyController.d.ts +1 -2
  72. package/lib/modules/proxy/controllers/ProxyController.js +1 -2
  73. package/lib/modules/proxy/index.js +5 -2
  74. package/lib/modules/proxy/services/CertService.d.ts +1 -1
  75. package/lib/modules/proxy/services/CertService.js +3 -3
  76. package/lib/modules/proxy/services/ProxyService.d.ts +2 -1
  77. package/lib/modules/proxy/services/ProxyService.js +7 -3
  78. package/lib/utils/exec.js +4 -1
  79. package/lib/utils/get-cursor-position.js +1 -1
  80. package/package.json +16 -15
  81. package/plugins/dns/Dockerfile +35 -0
  82. package/plugins/dns/app/Procfile +2 -0
  83. package/plugins/dns/app/dnsmasq.conf.tmpl +11 -0
  84. package/plugins/dns/app/dnsmasq.sh +28 -0
  85. package/plugins/proxmox/Dockerfile +35 -0
  86. package/plugins/proxy/Dockerfile +23 -0
  87. package/plugins/proxy/Procfile +2 -0
  88. package/plugins/proxy/bin/wocker-create-ca +19 -0
  89. package/plugins/proxy/bin/wocker-create-cert +38 -0
  90. package/plugins/proxy/bin/wocker-create-domains +21 -0
  91. package/presets/shopify/Dockerfile +160 -0
  92. package/presets/shopify/bin/compare-version +3 -0
  93. package/presets/shopify/config.json +26 -0
  94. package/presets/shopify/etc/apache2/apache2.conf +230 -0
  95. package/presets/shopify/etc/apache2/mods-available/mpm_prefork.conf +16 -0
  96. package/presets/shopify/etc/apache2/sites-available/000-default.conf +21 -0
  97. package/bin/ws.js +0 -6
  98. package/lib/controllers/ProjectController.d.ts +0 -44
  99. package/lib/controllers/ProjectController.js +0 -956
  100. package/lib/controllers/index.d.ts +0 -5
  101. package/lib/controllers/index.js +0 -21
  102. package/lib/modules/docker/index.d.ts +0 -9
  103. package/lib/modules/docker/index.js +0 -45
  104. package/lib/modules/docker/services/ComposeService.d.ts +0 -32
  105. package/lib/modules/docker/services/ComposeService.js +0 -129
  106. package/lib/modules/docker/services/ContainerService.d.ts +0 -14
  107. package/lib/modules/docker/services/ContainerService.js +0 -115
  108. package/lib/modules/docker/services/DockerService.d.ts +0 -31
  109. package/lib/modules/docker/services/DockerService.js +0 -246
  110. package/lib/modules/docker/services/ImageService.d.ts +0 -12
  111. package/lib/modules/docker/services/ImageService.js +0 -80
  112. package/lib/modules/docker/services/ModemService.d.ts +0 -16
  113. package/lib/modules/docker/services/ModemService.js +0 -157
  114. package/lib/modules/docker/services/ProtoService.d.ts +0 -6
  115. package/lib/modules/docker/services/ProtoService.js +0 -20
  116. package/lib/modules/docker/type/ComposeConfig.d.ts +0 -12
  117. package/lib/modules/docker/utils/formatSizeUnits.d.ts +0 -1
  118. package/lib/modules/docker/utils/formatSizeUnits.js +0 -19
  119. package/lib/services/NpmService.d.ts +0 -5
  120. package/lib/types/index.d.ts +0 -1
  121. package/lib/types/index.js +0 -17
  122. /package/lib/{controllers → modules/core/controllers}/CompletionController.d.ts +0 -0
  123. /package/lib/{controllers → modules/core/controllers}/CompletionController.js +0 -0
  124. /package/lib/{controllers → modules/core/controllers}/DebugController.d.ts +0 -0
  125. /package/lib/{controllers → modules/core/controllers}/DebugController.js +0 -0
  126. /package/lib/{controllers → modules/core/controllers}/ExperimentalController.d.ts +0 -0
  127. /package/lib/{controllers → modules/core/controllers}/ExperimentalController.js +0 -0
  128. /package/lib/modules/{docker/type/ComposeConfig.js → package-manager/types/Package.js} +0 -0
  129. /package/lib/{types → modules/package-manager/types}/PackageInfo.d.ts +0 -0
  130. /package/lib/{types → modules/package-manager/types}/PackageInfo.js +0 -0
@@ -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,16 +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
- protected record?: boolean;
11
- constructor(protoService: ProtoService, logService: LogService);
12
- get modem(): Modem;
13
- get docker(): Docker;
14
- attachStream(stream: NodeJS.ReadWriteStream): Promise<NodeJS.ReadWriteStream>;
15
- followProgress(stream: NodeJS.ReadableStream): Promise<void>;
16
- }
@@ -1,157 +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
- this.record = true;
22
- }
23
- get modem() {
24
- if (!this._modem) {
25
- const Modem = require("docker-modem");
26
- this._modem = new Modem({
27
- socketPath: "/var/run/docker.sock"
28
- });
29
- }
30
- return this._modem;
31
- }
32
- get docker() {
33
- if (!this._docker) {
34
- const Docker = require("dockerode");
35
- this._docker = new Docker({
36
- modem: this.modem
37
- });
38
- }
39
- return this._docker;
40
- }
41
- async attachStream(stream) {
42
- if (process.stdin.isTTY) {
43
- process.stdin.setRawMode(true);
44
- }
45
- process.stdin.resume();
46
- process.stdin.setEncoding("utf8");
47
- process.stdin.pipe(stream);
48
- stream.setEncoding("utf8");
49
- stream.pipe(process.stdout);
50
- try {
51
- await new Promise((resolve, reject) => {
52
- stream.on("end", resolve);
53
- stream.on("error", reject);
54
- });
55
- }
56
- finally {
57
- process.stdin.pause();
58
- if (process.stdin.isTTY) {
59
- process.stdin.setRawMode(false);
60
- }
61
- process.stdin.unpipe(stream);
62
- stream.unpipe(process.stdout);
63
- }
64
- return stream;
65
- }
66
- async followProgress(stream) {
67
- let isEnded = false, line = 0;
68
- const mapLines = {};
69
- return new Promise((resolve, reject) => {
70
- const handleEnd = () => {
71
- if (!isEnded) {
72
- resolve();
73
- }
74
- isEnded = true;
75
- };
76
- stream.on("data", (chunk) => {
77
- const text = chunk.toString().replace(/}\s*\{/g, "},{"), items = JSON.parse(`[${text}]`);
78
- for (const item of items) {
79
- if (item.id === "moby.buildkit.trace") {
80
- const StatusResponse = this.protoService.lookupType("moby.buildkit.v1.StatusResponse");
81
- const buffer = Buffer.from(item.aux, "base64");
82
- const decoded = StatusResponse.decode(buffer);
83
- const obj = StatusResponse.toObject(decoded, {
84
- enums: String,
85
- longs: String,
86
- bytes: String,
87
- defaults: true
88
- });
89
- console.dir(obj, {
90
- depth: null
91
- });
92
- }
93
- else if (item.id === "moby.image.id") {
94
- console.dir(item, {
95
- depth: null
96
- });
97
- }
98
- else if (item.stream) {
99
- process.stdout.write(`${item.stream}`);
100
- line += item.stream.split("\n").length - 1;
101
- }
102
- else if (item.id) {
103
- const { id, status, processDetail: { current, total } = {} } = item;
104
- if (typeof mapLines[id] === "undefined") {
105
- mapLines[id] = line;
106
- }
107
- const targetLine = typeof mapLines[id] !== "undefined"
108
- ? mapLines[id]
109
- : line;
110
- const dy = line - targetLine;
111
- if (dy > 0) {
112
- process.stdout.write("\x1b[s");
113
- process.stdout.write(`\x1b[${dy}A`);
114
- }
115
- process.stdout.write("\x1b[2K");
116
- let str = `${id}: ${status}\n`;
117
- if (status === "Downloading") {
118
- const width = process.stdout.columns;
119
- 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)}`;
120
- str = `${id}: ${status} [${"█".repeat(currentWidth)}${"░".repeat(totalWidth - currentWidth)}] ${formatSize}\n`;
121
- }
122
- process.stdout.write(str);
123
- if (dy > 0) {
124
- process.stdout.write("\x1b[u");
125
- }
126
- else {
127
- line++;
128
- }
129
- }
130
- else if (typeof item.aux === "object") {
131
- const str = `auxID: ${item.aux.ID}`;
132
- process.stdout.write(`${str}\n`);
133
- line += Math.ceil(str.length / process.stdout.columns);
134
- }
135
- else if (item.status) {
136
- process.stdout.write(`${item.status}\n`);
137
- line += Math.ceil(item.status.length / process.stdout.columns);
138
- }
139
- else {
140
- console.info("Unexpected data", item);
141
- }
142
- }
143
- });
144
- stream.on("end", handleEnd);
145
- stream.on("close", handleEnd);
146
- stream.on("error", (err) => {
147
- reject(err);
148
- });
149
- });
150
- }
151
- };
152
- exports.ModemService = ModemService;
153
- exports.ModemService = ModemService = __decorate([
154
- (0, core_1.Injectable)("DOCKER_MODEM_SERVICE"),
155
- __metadata("design:paramtypes", [ProtoService_1.ProtoService,
156
- core_1.LogService])
157
- ], 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 +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,5 +0,0 @@
1
- import { PackageInfo } from "../types";
2
- export declare class NpmService {
3
- getPackageInfo(name: string): Promise<PackageInfo>;
4
- install(name: string, version?: string): Promise<void>;
5
- }
@@ -1 +0,0 @@
1
- export * from "./PackageInfo";
@@ -1,17 +0,0 @@
1
- "use strict";
2
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
- if (k2 === undefined) k2 = k;
4
- var desc = Object.getOwnPropertyDescriptor(m, k);
5
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
- desc = { enumerable: true, get: function() { return m[k]; } };
7
- }
8
- Object.defineProperty(o, k2, desc);
9
- }) : (function(o, m, k, k2) {
10
- if (k2 === undefined) k2 = k;
11
- o[k2] = m[k];
12
- }));
13
- var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
- for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
- };
16
- Object.defineProperty(exports, "__esModule", { value: true });
17
- __exportStar(require("./PackageInfo"), exports);