@wocker/ws 1.0.24 → 1.0.26
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/README.md +1 -1
- package/lib/AppModule.js +42 -0
- package/lib/env.d.ts +2 -3
- package/lib/env.js +12 -42
- package/lib/main.d.ts +2 -3
- package/lib/main.js +24 -26
- package/lib/makes/GithubClient.d.ts +24 -3
- package/lib/makes/GithubClient.js +20 -6
- package/lib/makes/Version.d.ts +22 -0
- package/lib/makes/Version.js +59 -0
- package/lib/makes/VersionRange.d.ts +6 -0
- package/lib/makes/VersionRange.js +18 -0
- package/lib/makes/VersionRule.d.ts +24 -0
- package/lib/makes/VersionRule.js +68 -0
- package/lib/makes/index.d.ts +2 -0
- package/lib/makes/index.js +2 -0
- package/lib/modules/core/index.d.ts +2 -0
- package/lib/modules/{app → core}/index.js +13 -19
- package/lib/modules/dns/controllers/DnsController.d.ts +7 -0
- package/lib/modules/dns/controllers/DnsController.js +47 -0
- package/lib/modules/dns/index.d.ts +4 -0
- package/lib/modules/dns/index.js +41 -0
- package/lib/modules/dns/services/DnsService.d.ts +10 -0
- package/lib/modules/dns/services/DnsService.js +77 -0
- package/lib/modules/docker/index.d.ts +2 -1
- package/lib/modules/docker/index.js +5 -1
- package/lib/modules/docker/services/ComposeService.d.ts +32 -0
- package/lib/modules/docker/services/ComposeService.js +127 -0
- package/lib/modules/docker/services/ContainerService.d.ts +1 -1
- package/lib/modules/docker/services/DockerService.js +2 -25
- package/lib/modules/docker/services/ImageService.d.ts +2 -8
- package/lib/modules/docker/services/ImageService.js +15 -3
- package/lib/modules/docker/services/ModemService.d.ts +3 -3
- package/lib/modules/docker/services/ModemService.js +24 -6
- package/lib/modules/docker/services/ProtoService.js +2 -2
- package/lib/modules/docker/type/ComposeConfig.d.ts +12 -0
- package/lib/modules/index.d.ts +4 -1
- package/lib/modules/index.js +4 -1
- package/lib/modules/keystore/controllers/KeystoreController.d.ts +0 -3
- package/lib/modules/keystore/controllers/KeystoreController.js +3 -54
- package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
- package/lib/modules/keystore/services/KeystoreService.js +6 -4
- package/lib/modules/keystore/utils/createEncryptionKey.d.ts +1 -1
- package/lib/modules/package-manager/index.d.ts +5 -0
- package/lib/modules/package-manager/index.js +33 -0
- package/lib/modules/package-manager/providers/NpmProvider.d.ts +7 -0
- package/lib/modules/package-manager/providers/NpmProvider.js +39 -0
- package/lib/modules/package-manager/providers/PnpmProvider.d.ts +7 -0
- package/lib/modules/package-manager/providers/PnpmProvider.js +30 -0
- package/lib/modules/package-manager/providers/YarnProvider.d.ts +7 -0
- package/lib/modules/package-manager/providers/YarnProvider.js +29 -0
- package/lib/modules/package-manager/service/PackageManager.d.ts +10 -0
- package/lib/modules/package-manager/service/PackageManager.js +70 -0
- package/lib/modules/package-manager/service/RegistryService.d.ts +4 -0
- package/lib/{services/NpmService.js → modules/package-manager/service/RegistryService.js} +6 -11
- package/lib/modules/package-manager/types/Package.d.ts +4 -0
- package/lib/modules/package-manager/types/Package.js +2 -0
- package/lib/modules/package-manager/types/PackageInfo.js +2 -0
- package/lib/modules/package-manager/types/PackageManagerProvider.d.ts +6 -0
- package/lib/modules/package-manager/types/PackageManagerProvider.js +6 -0
- package/lib/{controllers → modules/plugin/controllers}/PluginController.d.ts +2 -2
- package/lib/{controllers → modules/plugin/controllers}/PluginController.js +21 -20
- package/lib/modules/plugin/index.d.ts +4 -0
- package/lib/modules/plugin/index.js +67 -0
- package/lib/{services → modules/plugin/services}/PluginService.d.ts +7 -5
- package/lib/{services → modules/plugin/services}/PluginService.js +38 -40
- package/lib/modules/preset/controllers/PresetController.d.ts +1 -1
- package/lib/modules/preset/controllers/PresetController.js +14 -7
- package/lib/modules/preset/controllers/PresetListener.d.ts +3 -2
- package/lib/modules/preset/controllers/PresetListener.js +6 -3
- package/lib/modules/preset/services/PresetService.d.ts +2 -1
- package/lib/modules/preset/services/PresetService.js +84 -15
- package/lib/modules/project/controllers/ProjectController.d.ts +38 -2
- package/lib/modules/project/controllers/ProjectController.js +848 -2
- package/lib/modules/project/controllers/SecretsController.d.ts +8 -0
- package/lib/modules/project/controllers/SecretsController.js +72 -0
- package/lib/modules/project/index.js +5 -1
- package/lib/modules/project/repositories/ProjectRepository.d.ts +3 -6
- package/lib/modules/project/repositories/ProjectRepository.js +9 -28
- package/lib/modules/project/services/ProjectService.d.ts +10 -4
- package/lib/modules/project/services/ProjectService.js +103 -8
- package/lib/modules/proxy/controllers/ProxyController.d.ts +1 -2
- package/lib/modules/proxy/controllers/ProxyController.js +1 -2
- package/lib/modules/proxy/services/CertService.js +1 -1
- package/lib/modules/proxy/services/ProxyService.d.ts +1 -0
- package/lib/modules/proxy/services/ProxyService.js +9 -4
- package/lib/utils/exec.js +4 -1
- package/lib/utils/get-cursor-position.js +1 -1
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/package.json +15 -15
- package/plugins/dns/Dockerfile +35 -0
- package/plugins/dns/app/Procfile +2 -0
- package/plugins/dns/app/dnsmasq.conf.tmpl +11 -0
- package/plugins/dns/app/dnsmasq.sh +28 -0
- package/plugins/proxy/Dockerfile +0 -2
- package/bin/ws.js +0 -6
- package/lib/RootModule.d.ts +0 -6
- package/lib/RootModule.js +0 -93
- package/lib/controllers/ProjectController.d.ts +0 -45
- package/lib/controllers/ProjectController.js +0 -972
- package/lib/controllers/index.d.ts +0 -5
- package/lib/controllers/index.js +0 -21
- package/lib/services/NpmService.d.ts +0 -5
- package/lib/types/index.d.ts +0 -1
- package/lib/types/index.js +0 -17
- package/lib/utils/followProgress2.d.ts +0 -1
- package/lib/utils/followProgress2.js +0 -63
- /package/lib/{modules/app/index.d.ts → AppModule.d.ts} +0 -0
- /package/lib/{controllers → modules/core/controllers}/CompletionController.d.ts +0 -0
- /package/lib/{controllers → modules/core/controllers}/CompletionController.js +0 -0
- /package/lib/{controllers → modules/core/controllers}/DebugController.d.ts +0 -0
- /package/lib/{controllers → modules/core/controllers}/DebugController.js +0 -0
- /package/lib/{controllers → modules/core/controllers}/ExperimentalController.d.ts +0 -0
- /package/lib/{controllers → modules/core/controllers}/ExperimentalController.js +0 -0
- /package/lib/{types/PackageInfo.js → modules/docker/type/ComposeConfig.js} +0 -0
- /package/lib/{types → modules/package-manager/types}/PackageInfo.d.ts +0 -0
package/README.md
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
|
|
5
5
|
[](https://www.npmjs.com/package/@wocker/ws)
|
|
6
6
|
[](https://github.com/kearisp/wocker-ws/actions/workflows/publish-latest.yml)
|
|
7
|
-
[](https://github.com/kearisp/wocker-ws/blob/
|
|
7
|
+
[](https://github.com/kearisp/wocker-ws/blob/master/LICENSE)
|
|
8
8
|
|
|
9
9
|
[](https://www.npmjs.com/package/@wocker/ws)
|
|
10
10
|
[](https://bundlephobia.com/package/@wocker/ws)
|
package/lib/AppModule.js
ADDED
|
@@ -0,0 +1,42 @@
|
|
|
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
|
+
const modules_1 = require("./modules");
|
|
12
|
+
let AppModule = class AppModule {
|
|
13
|
+
};
|
|
14
|
+
exports.AppModule = AppModule;
|
|
15
|
+
exports.AppModule = AppModule = __decorate([
|
|
16
|
+
(0, core_1.Global)(),
|
|
17
|
+
(0, core_1.Module)({
|
|
18
|
+
imports: [
|
|
19
|
+
modules_1.CoreModule,
|
|
20
|
+
modules_1.DnsModule.register(),
|
|
21
|
+
modules_1.PluginModule.register(),
|
|
22
|
+
modules_1.ProjectModule,
|
|
23
|
+
modules_1.PresetModule,
|
|
24
|
+
modules_1.DockerModule,
|
|
25
|
+
modules_1.KeystoreModule,
|
|
26
|
+
modules_1.ProxyModule
|
|
27
|
+
],
|
|
28
|
+
exports: [
|
|
29
|
+
modules_1.DockerService,
|
|
30
|
+
modules_1.CertService,
|
|
31
|
+
modules_1.ContainerService,
|
|
32
|
+
modules_1.ImageService,
|
|
33
|
+
modules_1.ProxyService,
|
|
34
|
+
modules_1.KeystoreService,
|
|
35
|
+
modules_1.PresetRepository,
|
|
36
|
+
modules_1.PresetService,
|
|
37
|
+
modules_1.ProjectService,
|
|
38
|
+
core_1.ProcessService,
|
|
39
|
+
modules_1.ProjectRepository
|
|
40
|
+
]
|
|
41
|
+
})
|
|
42
|
+
], AppModule);
|
package/lib/env.d.ts
CHANGED
|
@@ -1,8 +1,7 @@
|
|
|
1
|
-
export
|
|
2
|
-
export declare const
|
|
1
|
+
export { WOCKER_VERSION } from "@wocker/core";
|
|
2
|
+
export declare const WOCKER_DATA_DIR: string;
|
|
3
3
|
export declare const ROOT_DIR: string;
|
|
4
4
|
export declare const PRESETS_DIR: string;
|
|
5
5
|
export declare const PLUGINS_DIR: string;
|
|
6
|
-
export declare const WOCKER_DATA_DIR: string;
|
|
7
6
|
export declare const VIRTUAL_HOST_KEY = "VIRTUAL_HOST";
|
|
8
7
|
export declare const KEYTAR_SERVICE: string;
|
package/lib/env.js
CHANGED
|
@@ -1,46 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var
|
|
3
|
-
|
|
4
|
-
|
|
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 __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
2
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
+
};
|
|
35
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.KEYTAR_SERVICE = exports.VIRTUAL_HOST_KEY = exports.
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
exports.
|
|
42
|
-
exports.
|
|
43
|
-
exports.
|
|
44
|
-
exports.
|
|
6
|
+
exports.KEYTAR_SERVICE = exports.VIRTUAL_HOST_KEY = exports.PLUGINS_DIR = exports.PRESETS_DIR = exports.ROOT_DIR = exports.WOCKER_DATA_DIR = exports.WOCKER_VERSION = void 0;
|
|
7
|
+
var core_1 = require("@wocker/core");
|
|
8
|
+
Object.defineProperty(exports, "WOCKER_VERSION", { enumerable: true, get: function () { return core_1.WOCKER_VERSION; } });
|
|
9
|
+
const os_1 = __importDefault(require("os"));
|
|
10
|
+
const path_1 = __importDefault(require("path"));
|
|
11
|
+
exports.WOCKER_DATA_DIR = process.env.WS_DIR || path_1.default.join(os_1.default.homedir(), ".workspace");
|
|
12
|
+
exports.ROOT_DIR = path_1.default.join(__dirname, "..");
|
|
13
|
+
exports.PRESETS_DIR = path_1.default.join(exports.ROOT_DIR, "presets");
|
|
14
|
+
exports.PLUGINS_DIR = path_1.default.join(exports.ROOT_DIR, "plugins");
|
|
45
15
|
exports.VIRTUAL_HOST_KEY = "VIRTUAL_HOST";
|
|
46
16
|
exports.KEYTAR_SERVICE = process.env.WOCKER_KEYTAR_SERVICE || "wocker";
|
package/lib/main.d.ts
CHANGED
|
@@ -1,3 +1,2 @@
|
|
|
1
|
-
|
|
2
|
-
|
|
3
|
-
};
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
export {};
|
package/lib/main.js
CHANGED
|
@@ -1,36 +1,34 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
1
2
|
"use strict";
|
|
2
3
|
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
4
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
5
|
};
|
|
5
6
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.app = void 0;
|
|
7
7
|
const core_1 = require("@wocker/core");
|
|
8
8
|
const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
|
|
9
|
-
const
|
|
10
|
-
|
|
11
|
-
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
17
|
-
process.stdout.write("\n");
|
|
18
|
-
}
|
|
9
|
+
const AppModule_1 = require("./AppModule");
|
|
10
|
+
(async () => {
|
|
11
|
+
const context = await core_1.Factory.create(AppModule_1.AppModule), appConfigService = context.get(core_1.AppConfigService), logService = context.get(core_1.LogService);
|
|
12
|
+
try {
|
|
13
|
+
const res = await context.run(process.argv);
|
|
14
|
+
if (res) {
|
|
15
|
+
process.stdout.write(res);
|
|
16
|
+
process.stdout.write("\n");
|
|
19
17
|
}
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
18
|
+
}
|
|
19
|
+
catch (err) {
|
|
20
|
+
if (typeof err.name === "string" && ["ExitPromptError", "CancelPromptError", "AbortPromptError"].includes(err.name)) {
|
|
21
|
+
return;
|
|
22
|
+
}
|
|
23
|
+
console.error(yoctocolors_cjs_1.default.red(err.message));
|
|
24
|
+
if (err instanceof core_1.UsageException || err.name === "UsageException") {
|
|
25
|
+
return;
|
|
26
|
+
}
|
|
27
|
+
if (err instanceof core_1.CommandNotFoundError) {
|
|
28
|
+
return;
|
|
29
|
+
}
|
|
30
|
+
if (appConfigService.debug) {
|
|
31
|
+
logService.error(err.stack || err.toString());
|
|
34
32
|
}
|
|
35
33
|
}
|
|
36
|
-
};
|
|
34
|
+
})();
|
|
@@ -2,13 +2,34 @@ import { AxiosInstance } from "axios";
|
|
|
2
2
|
type RepositoryInfo = {
|
|
3
3
|
default_branch: string;
|
|
4
4
|
};
|
|
5
|
+
export type GithubTag = {
|
|
6
|
+
name: string;
|
|
7
|
+
zipball_url: string;
|
|
8
|
+
tarball_url: string;
|
|
9
|
+
commit: {
|
|
10
|
+
sha: string;
|
|
11
|
+
url: string;
|
|
12
|
+
};
|
|
13
|
+
node_id: string;
|
|
14
|
+
};
|
|
15
|
+
export type GithubBranch = {
|
|
16
|
+
name: string;
|
|
17
|
+
commit: {
|
|
18
|
+
sha: string;
|
|
19
|
+
url: string;
|
|
20
|
+
};
|
|
21
|
+
protected: boolean;
|
|
22
|
+
};
|
|
5
23
|
export declare class GithubClient {
|
|
6
|
-
owner: string;
|
|
7
|
-
repository: string;
|
|
24
|
+
readonly owner: string;
|
|
25
|
+
readonly repository: string;
|
|
8
26
|
constructor(owner: string, repository: string);
|
|
9
27
|
get axios(): AxiosInstance;
|
|
10
28
|
getInfo(): Promise<RepositoryInfo>;
|
|
11
|
-
|
|
29
|
+
getBranches(): Promise<GithubBranch[]>;
|
|
30
|
+
getTags(): Promise<GithubTag[]>;
|
|
31
|
+
getFile(ref: string, path: string): Promise<any>;
|
|
32
|
+
downloadZipByUrl(url: string, dirPath: string): Promise<void>;
|
|
12
33
|
download(branch: string, dirPath: string): Promise<void>;
|
|
13
34
|
}
|
|
14
35
|
export {};
|
|
@@ -15,7 +15,7 @@ class GithubClient {
|
|
|
15
15
|
return axios_1.default.create({
|
|
16
16
|
headers: {
|
|
17
17
|
"User-Agent": "Wocker"
|
|
18
|
-
}
|
|
18
|
+
}
|
|
19
19
|
});
|
|
20
20
|
}
|
|
21
21
|
async getInfo() {
|
|
@@ -26,16 +26,27 @@ class GithubClient {
|
|
|
26
26
|
});
|
|
27
27
|
return response.data;
|
|
28
28
|
}
|
|
29
|
-
async
|
|
30
|
-
const response = await this.axios
|
|
29
|
+
async getBranches() {
|
|
30
|
+
const response = await this.axios
|
|
31
|
+
.get(`https://api.github.com/repos/${this.owner}/${this.repository}/branches`);
|
|
32
|
+
return response.data;
|
|
33
|
+
}
|
|
34
|
+
async getTags() {
|
|
35
|
+
const response = await this.axios
|
|
36
|
+
.get(`https://api.github.com/repos/${this.owner}/${this.repository}/tags`);
|
|
37
|
+
return response.data;
|
|
38
|
+
}
|
|
39
|
+
async getFile(ref, path) {
|
|
40
|
+
const res = await this.axios
|
|
41
|
+
.get(`https://raw.githubusercontent.com/${this.owner}/${this.repository}/${ref}/${path}`, {
|
|
31
42
|
headers: {
|
|
32
43
|
"Accept": "application/vnd.github+json"
|
|
33
44
|
}
|
|
34
45
|
});
|
|
35
|
-
return
|
|
46
|
+
return res.data;
|
|
36
47
|
}
|
|
37
|
-
async
|
|
38
|
-
const res = await this.axios.get(
|
|
48
|
+
async downloadZipByUrl(url, dirPath) {
|
|
49
|
+
const res = await this.axios.get(url, {
|
|
39
50
|
responseType: "stream"
|
|
40
51
|
});
|
|
41
52
|
const fs = new core_1.FileSystem(dirPath);
|
|
@@ -61,5 +72,8 @@ class GithubClient {
|
|
|
61
72
|
pipe.on("error", reject);
|
|
62
73
|
});
|
|
63
74
|
}
|
|
75
|
+
async download(branch, dirPath) {
|
|
76
|
+
return this.downloadZipByUrl(`https://api.github.com/repos/${this.owner}/${this.repository}/zipball/${branch}`, dirPath);
|
|
77
|
+
}
|
|
64
78
|
}
|
|
65
79
|
exports.GithubClient = GithubClient;
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
type VersionData = {
|
|
2
|
+
major: number;
|
|
3
|
+
minor: number;
|
|
4
|
+
patch: number;
|
|
5
|
+
tag?: string;
|
|
6
|
+
build?: number;
|
|
7
|
+
};
|
|
8
|
+
export declare class Version {
|
|
9
|
+
static readonly REGEXP: RegExp;
|
|
10
|
+
protected static cache: Map<string, Version>;
|
|
11
|
+
readonly major: number;
|
|
12
|
+
readonly minor: number;
|
|
13
|
+
readonly patch: number;
|
|
14
|
+
readonly tag?: string;
|
|
15
|
+
readonly build?: number;
|
|
16
|
+
constructor(data: VersionData);
|
|
17
|
+
parts(): number[];
|
|
18
|
+
compare(version: string | Version): number;
|
|
19
|
+
static valid(version: string): boolean;
|
|
20
|
+
static parse(version: string): Version;
|
|
21
|
+
}
|
|
22
|
+
export {};
|
|
@@ -0,0 +1,59 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Version = void 0;
|
|
4
|
+
class Version {
|
|
5
|
+
constructor(data) {
|
|
6
|
+
Object.assign(this, data);
|
|
7
|
+
}
|
|
8
|
+
parts() {
|
|
9
|
+
return [
|
|
10
|
+
this.major,
|
|
11
|
+
this.minor,
|
|
12
|
+
this.patch,
|
|
13
|
+
this.build ?? 0
|
|
14
|
+
];
|
|
15
|
+
}
|
|
16
|
+
compare(version) {
|
|
17
|
+
if (typeof version === "string") {
|
|
18
|
+
version = Version.parse(version);
|
|
19
|
+
}
|
|
20
|
+
const a = this.parts(), b = version.parts();
|
|
21
|
+
for (let i = 0; i < Math.max(a.length, b.length); i++) {
|
|
22
|
+
if (i === 3) {
|
|
23
|
+
if (this.tag && !version.tag)
|
|
24
|
+
return -1;
|
|
25
|
+
else if (!this.tag && version.tag)
|
|
26
|
+
return 1;
|
|
27
|
+
else if (this.tag !== version.tag)
|
|
28
|
+
return this.tag < version.tag ? -1 : 1;
|
|
29
|
+
}
|
|
30
|
+
const diff = (a[i] ?? 0) - (b[i] ?? 0);
|
|
31
|
+
if (diff !== 0) {
|
|
32
|
+
return diff > 0 ? 1 : -1;
|
|
33
|
+
}
|
|
34
|
+
}
|
|
35
|
+
return 0;
|
|
36
|
+
}
|
|
37
|
+
static valid(version) {
|
|
38
|
+
return Version.REGEXP.test(version);
|
|
39
|
+
}
|
|
40
|
+
static parse(version) {
|
|
41
|
+
if (!Version.cache.has(version)) {
|
|
42
|
+
if (!Version.REGEXP.test(version)) {
|
|
43
|
+
throw new RangeError("Invalid version format");
|
|
44
|
+
}
|
|
45
|
+
const [, major, minor, patch, tag, build] = Version.REGEXP.exec(version) || [];
|
|
46
|
+
Version.cache.set(version, new Version({
|
|
47
|
+
major: parseInt(major),
|
|
48
|
+
minor: parseInt(minor),
|
|
49
|
+
patch: parseInt(patch),
|
|
50
|
+
tag,
|
|
51
|
+
build: build ? parseInt(build) : undefined
|
|
52
|
+
}));
|
|
53
|
+
}
|
|
54
|
+
return Version.cache.get(version);
|
|
55
|
+
}
|
|
56
|
+
}
|
|
57
|
+
exports.Version = Version;
|
|
58
|
+
Version.REGEXP = /^v?(\d+)\.(\d+)\.(\d+)(?:-([a-zA-Z]+(?:-[a-zA-Z0-9]+)*)(?:\.(\d+))?)?/;
|
|
59
|
+
Version.cache = new Map();
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionRange = void 0;
|
|
4
|
+
const VersionRule_1 = require("./VersionRule");
|
|
5
|
+
class VersionRange {
|
|
6
|
+
constructor(rules) {
|
|
7
|
+
this.rules = rules;
|
|
8
|
+
}
|
|
9
|
+
static parse(range) {
|
|
10
|
+
const rules = range.split("||").map((range) => {
|
|
11
|
+
return range.split(" ").map((rule) => {
|
|
12
|
+
return VersionRule_1.VersionRule.parse(rule);
|
|
13
|
+
});
|
|
14
|
+
});
|
|
15
|
+
return new VersionRange(rules);
|
|
16
|
+
}
|
|
17
|
+
}
|
|
18
|
+
exports.VersionRange = VersionRange;
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
import { Version } from "./Version";
|
|
2
|
+
type VersionRuleData = {
|
|
3
|
+
prefix?: string;
|
|
4
|
+
major?: number;
|
|
5
|
+
minor?: number;
|
|
6
|
+
patch?: number;
|
|
7
|
+
tag?: string;
|
|
8
|
+
build?: number;
|
|
9
|
+
};
|
|
10
|
+
export declare class VersionRule {
|
|
11
|
+
static readonly REGEXP: RegExp;
|
|
12
|
+
protected static map: Map<string, VersionRule>;
|
|
13
|
+
readonly prefix?: string;
|
|
14
|
+
readonly major?: number;
|
|
15
|
+
readonly minor?: number;
|
|
16
|
+
readonly patch?: number;
|
|
17
|
+
readonly tag?: string;
|
|
18
|
+
readonly build?: number;
|
|
19
|
+
constructor(data: VersionRuleData);
|
|
20
|
+
get version(): Version;
|
|
21
|
+
match(version: string | Version, withTag?: boolean): boolean;
|
|
22
|
+
static parse(rule: string): VersionRule;
|
|
23
|
+
}
|
|
24
|
+
export {};
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.VersionRule = void 0;
|
|
4
|
+
const Version_1 = require("./Version");
|
|
5
|
+
class VersionRule {
|
|
6
|
+
constructor(data) {
|
|
7
|
+
Object.assign(this, data);
|
|
8
|
+
}
|
|
9
|
+
get version() {
|
|
10
|
+
return new Version_1.Version({
|
|
11
|
+
major: this.major ?? 0,
|
|
12
|
+
minor: this.minor ?? 0,
|
|
13
|
+
patch: this.patch ?? 0,
|
|
14
|
+
tag: this.tag,
|
|
15
|
+
build: this.build
|
|
16
|
+
});
|
|
17
|
+
}
|
|
18
|
+
match(version, withTag) {
|
|
19
|
+
if (typeof version === "string") {
|
|
20
|
+
version = Version_1.Version.parse(version);
|
|
21
|
+
}
|
|
22
|
+
if ((!withTag || this.tag) && this.tag !== version.tag) {
|
|
23
|
+
return false;
|
|
24
|
+
}
|
|
25
|
+
const cmp = version.compare(this.version);
|
|
26
|
+
switch (this.prefix) {
|
|
27
|
+
case ">":
|
|
28
|
+
return cmp > 0;
|
|
29
|
+
case ">=":
|
|
30
|
+
return cmp >= 0;
|
|
31
|
+
case "<":
|
|
32
|
+
return cmp < 0;
|
|
33
|
+
case "<=":
|
|
34
|
+
return cmp <= 0;
|
|
35
|
+
case "^":
|
|
36
|
+
return (this.major === version.major &&
|
|
37
|
+
cmp >= 0);
|
|
38
|
+
case "~":
|
|
39
|
+
return (this.major === version.major &&
|
|
40
|
+
this.minor === version.minor &&
|
|
41
|
+
cmp >= 0);
|
|
42
|
+
default:
|
|
43
|
+
return ((this.major === undefined || this.major === version.major) &&
|
|
44
|
+
(this.minor === undefined || this.minor === version.minor) &&
|
|
45
|
+
(this.patch === undefined || this.patch === version.patch));
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
static parse(rule) {
|
|
49
|
+
if (!VersionRule.map.has(rule)) {
|
|
50
|
+
if (!VersionRule.REGEXP.test(rule)) {
|
|
51
|
+
throw new Error("Invalid version rule");
|
|
52
|
+
}
|
|
53
|
+
const [, prefix, major, minor, patch, tag, build, onlyTag] = VersionRule.REGEXP.exec(rule) || [];
|
|
54
|
+
VersionRule.map.set(rule, new VersionRule({
|
|
55
|
+
prefix,
|
|
56
|
+
major: major && major !== "x" && major !== "*" ? parseInt(major) : undefined,
|
|
57
|
+
minor: minor && minor !== "x" ? parseInt(minor) : undefined,
|
|
58
|
+
patch: patch && patch !== "x" ? parseInt(patch) : undefined,
|
|
59
|
+
tag: tag || onlyTag,
|
|
60
|
+
build: build && build !== "x" ? parseInt(build) : undefined
|
|
61
|
+
}));
|
|
62
|
+
}
|
|
63
|
+
return VersionRule.map.get(rule);
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
exports.VersionRule = VersionRule;
|
|
67
|
+
VersionRule.REGEXP = /^(?:(\^|~|<=|>=|<|>)?(x|\d+)(?:\.(\*|x|\d+))?(?:\.(x|\d+))?(?:-([a-zA-Z0-9]+(?:-[a-zA-Z0-9]+)*)(?:\.(\d+))?)?|([a-zA-Z0-9]+(?:-[a-zAZ0-9]+)*))$/;
|
|
68
|
+
VersionRule.map = new Map();
|
package/lib/makes/index.d.ts
CHANGED
package/lib/makes/index.js
CHANGED
|
@@ -16,3 +16,5 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
17
|
__exportStar(require("./Http"), exports);
|
|
18
18
|
__exportStar(require("./Plugin"), exports);
|
|
19
|
+
__exportStar(require("./Version"), exports);
|
|
20
|
+
__exportStar(require("./VersionRule"), exports);
|
|
@@ -6,27 +6,21 @@ var __decorate = (this && this.__decorate) || function (decorators, target, key,
|
|
|
6
6
|
return c > 3 && r && Object.defineProperty(target, key, r), r;
|
|
7
7
|
};
|
|
8
8
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
-
exports.
|
|
9
|
+
exports.CoreModule = void 0;
|
|
10
10
|
const core_1 = require("@wocker/core");
|
|
11
|
-
const
|
|
12
|
-
|
|
11
|
+
const CompletionController_1 = require("./controllers/CompletionController");
|
|
12
|
+
const DebugController_1 = require("./controllers/DebugController");
|
|
13
|
+
const ExperimentalController_1 = require("./controllers/ExperimentalController");
|
|
14
|
+
let CoreModule = class CoreModule {
|
|
13
15
|
};
|
|
14
|
-
exports.
|
|
15
|
-
exports.
|
|
16
|
+
exports.CoreModule = CoreModule;
|
|
17
|
+
exports.CoreModule = CoreModule = __decorate([
|
|
18
|
+
(0, core_1.Global)(),
|
|
16
19
|
(0, core_1.Module)({
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
},
|
|
22
|
-
{
|
|
23
|
-
provide: core_1.WOCKER_DATA_DIR_KEY,
|
|
24
|
-
useValue: env_1.WOCKER_DATA_DIR
|
|
25
|
-
}
|
|
26
|
-
],
|
|
27
|
-
exports: [
|
|
28
|
-
core_1.WOCKER_VERSION_KEY,
|
|
29
|
-
core_1.WOCKER_DATA_DIR_KEY
|
|
20
|
+
controllers: [
|
|
21
|
+
CompletionController_1.CompletionController,
|
|
22
|
+
DebugController_1.DebugController,
|
|
23
|
+
ExperimentalController_1.ExperimentalController
|
|
30
24
|
]
|
|
31
25
|
})
|
|
32
|
-
],
|
|
26
|
+
], CoreModule);
|
|
@@ -0,0 +1,47 @@
|
|
|
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
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
15
|
+
exports.DnsController = void 0;
|
|
16
|
+
const core_1 = require("@wocker/core");
|
|
17
|
+
const DnsService_1 = require("../services/DnsService");
|
|
18
|
+
let DnsController = class DnsController {
|
|
19
|
+
constructor(dnsService) {
|
|
20
|
+
this.dnsService = dnsService;
|
|
21
|
+
}
|
|
22
|
+
async start(restart, rebuild) {
|
|
23
|
+
await this.dnsService.start(restart, rebuild);
|
|
24
|
+
}
|
|
25
|
+
async stop() {
|
|
26
|
+
await this.dnsService.stop();
|
|
27
|
+
}
|
|
28
|
+
};
|
|
29
|
+
exports.DnsController = DnsController;
|
|
30
|
+
__decorate([
|
|
31
|
+
(0, core_1.Command)("dns:start"),
|
|
32
|
+
__param(0, (0, core_1.Option)("restart", "r")),
|
|
33
|
+
__param(1, (0, core_1.Option)("rebuild", "b")),
|
|
34
|
+
__metadata("design:type", Function),
|
|
35
|
+
__metadata("design:paramtypes", [Boolean, Boolean]),
|
|
36
|
+
__metadata("design:returntype", Promise)
|
|
37
|
+
], DnsController.prototype, "start", null);
|
|
38
|
+
__decorate([
|
|
39
|
+
(0, core_1.Command)("dns:stop"),
|
|
40
|
+
__metadata("design:type", Function),
|
|
41
|
+
__metadata("design:paramtypes", []),
|
|
42
|
+
__metadata("design:returntype", Promise)
|
|
43
|
+
], DnsController.prototype, "stop", null);
|
|
44
|
+
exports.DnsController = DnsController = __decorate([
|
|
45
|
+
(0, core_1.Controller)(),
|
|
46
|
+
__metadata("design:paramtypes", [DnsService_1.DnsService])
|
|
47
|
+
], DnsController);
|
|
@@ -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
|
+
var DnsModule_1;
|
|
9
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
10
|
+
exports.DnsModule = void 0;
|
|
11
|
+
const core_1 = require("@wocker/core");
|
|
12
|
+
const core_2 = require("../core");
|
|
13
|
+
const docker_1 = require("../docker");
|
|
14
|
+
const DnsController_1 = require("./controllers/DnsController");
|
|
15
|
+
const DnsService_1 = require("./services/DnsService");
|
|
16
|
+
let DnsModule = DnsModule_1 = class DnsModule {
|
|
17
|
+
static register() {
|
|
18
|
+
return {
|
|
19
|
+
module: DnsModule_1,
|
|
20
|
+
inject: [core_1.AppConfigService],
|
|
21
|
+
useFactory: (appConfigService) => {
|
|
22
|
+
if (!appConfigService.isExperimentalEnabled("dns")) {
|
|
23
|
+
return {};
|
|
24
|
+
}
|
|
25
|
+
return {
|
|
26
|
+
imports: [docker_1.DockerModule],
|
|
27
|
+
controllers: [DnsController_1.DnsController],
|
|
28
|
+
providers: [DnsService_1.DnsService]
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
};
|
|
32
|
+
}
|
|
33
|
+
};
|
|
34
|
+
exports.DnsModule = DnsModule;
|
|
35
|
+
exports.DnsModule = DnsModule = DnsModule_1 = __decorate([
|
|
36
|
+
(0, core_1.Module)({
|
|
37
|
+
imports: [
|
|
38
|
+
core_2.CoreModule
|
|
39
|
+
]
|
|
40
|
+
})
|
|
41
|
+
], DnsModule);
|