@wocker/ws 1.0.32 → 1.1.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.
- package/lib/AppModule.js +1 -2
- package/lib/main.js +2 -2
- package/lib/makes/GithubClient.d.ts +3 -2
- package/lib/makes/GithubClient.js +27 -27
- package/lib/makes/index.d.ts +0 -3
- package/lib/makes/index.js +0 -3
- package/lib/modules/core/controllers/DebugController.d.ts +3 -4
- package/lib/modules/core/controllers/DebugController.js +5 -22
- package/lib/modules/core/controllers/ExperimentalController.d.ts +3 -3
- package/lib/modules/core/controllers/ExperimentalController.js +1 -1
- package/lib/modules/dns/index.js +3 -3
- package/lib/modules/keystore/controllers/KeystoreController.d.ts +3 -3
- package/lib/modules/keystore/controllers/KeystoreController.js +8 -8
- package/lib/modules/keystore/providers/FileKeystoreProvider.js +8 -8
- package/lib/modules/keystore/services/KeystoreService.d.ts +3 -3
- package/lib/modules/keystore/services/KeystoreService.js +4 -4
- package/lib/modules/package-manager/service/PackageManager.d.ts +3 -3
- package/lib/modules/package-manager/service/PackageManager.js +8 -8
- package/lib/modules/package-manager/service/RegistryService.js +5 -4
- package/lib/modules/plugin/controllers/PluginController.d.ts +3 -3
- package/lib/modules/plugin/controllers/PluginController.js +4 -4
- package/lib/modules/plugin/index.js +4 -5
- package/lib/modules/plugin/services/PluginService.d.ts +3 -3
- package/lib/modules/plugin/services/PluginService.js +11 -13
- package/lib/modules/preset/controllers/PresetController.d.ts +3 -3
- package/lib/modules/preset/controllers/PresetController.js +6 -6
- package/lib/modules/preset/controllers/PresetListener.d.ts +5 -3
- package/lib/modules/preset/controllers/PresetListener.js +21 -30
- package/lib/modules/preset/repositories/PresetRepository.d.ts +3 -3
- package/lib/modules/preset/repositories/PresetRepository.js +7 -7
- package/lib/modules/preset/services/PresetService.d.ts +4 -3
- package/lib/modules/preset/services/PresetService.js +33 -33
- package/lib/modules/project/controllers/MetadataController.d.ts +8 -0
- package/lib/modules/project/controllers/MetadataController.js +89 -0
- package/lib/modules/project/controllers/ProjectController.d.ts +6 -6
- package/lib/modules/project/controllers/ProjectController.js +62 -49
- package/lib/modules/project/controllers/SecretsController.js +2 -2
- package/lib/modules/project/index.d.ts +1 -2
- package/lib/modules/project/index.js +4 -6
- package/lib/modules/project/services/ProjectService.d.ts +3 -4
- package/lib/modules/project/services/ProjectService.js +38 -39
- package/lib/modules/proxy/controllers/HttpAuthController.d.ts +3 -4
- package/lib/modules/proxy/controllers/HttpAuthController.js +28 -16
- package/lib/modules/proxy/controllers/ProxyController.d.ts +3 -3
- package/lib/modules/proxy/controllers/ProxyController.js +11 -11
- package/lib/modules/proxy/services/HttpAuthService.d.ts +3 -0
- package/lib/modules/proxy/services/HttpAuthService.js +29 -10
- package/lib/modules/proxy/services/ProxyService.d.ts +3 -3
- package/lib/modules/proxy/services/ProxyService.js +9 -9
- package/lib/utils/index.d.ts +0 -1
- package/lib/utils/index.js +0 -1
- package/package.json +5 -13
- package/lib/makes/Http.d.ts +0 -18
- package/lib/makes/Http.js +0 -82
- package/lib/makes/Version.d.ts +0 -22
- package/lib/makes/Version.js +0 -59
- package/lib/makes/VersionRange.d.ts +0 -6
- package/lib/makes/VersionRange.js +0 -18
- package/lib/makes/VersionRule.d.ts +0 -24
- package/lib/makes/VersionRule.js +0 -68
- package/lib/modules/project/repositories/ProjectRepository.d.ts +0 -13
- package/lib/modules/project/repositories/ProjectRepository.js +0 -71
- package/lib/utils/injectVariables.d.ts +0 -5
- package/lib/utils/injectVariables.js +0 -10
package/package.json
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wocker/ws",
|
|
3
3
|
"type": "commonjs",
|
|
4
|
-
"version": "1.0
|
|
4
|
+
"version": "1.1.0",
|
|
5
5
|
"author": "Kris Papercut <krispcut@gmail.com>",
|
|
6
6
|
"description": "Docker workspace for web projects",
|
|
7
7
|
"license": "MIT",
|
|
@@ -35,29 +35,21 @@
|
|
|
35
35
|
"make-coverage-badge": "make-coverage-badge"
|
|
36
36
|
},
|
|
37
37
|
"dependencies": {
|
|
38
|
-
"@wocker/core": "1.0
|
|
39
|
-
"@wocker/docker-module": "^0.0
|
|
38
|
+
"@wocker/core": "1.1.0",
|
|
39
|
+
"@wocker/docker-module": "^1.0.0",
|
|
40
|
+
"@wocker/prompts": "^1.0.0",
|
|
40
41
|
"@wocker/utils": "^2.0.6",
|
|
41
42
|
"async-mutex": "^0.4.0",
|
|
42
|
-
"axios": "^1.6.7",
|
|
43
|
-
"child_process": "^1.0.2",
|
|
44
43
|
"cli-table3": "^0.6.2",
|
|
45
|
-
"docker-compose": "^1.2.0",
|
|
46
|
-
"dockerode": "^4.0.2",
|
|
47
44
|
"keytar": "^7.9.0",
|
|
48
|
-
"md5": "^2.3.0",
|
|
49
|
-
"protobufjs": "^7.5.1",
|
|
50
45
|
"unzipper": "^0.12.3",
|
|
51
46
|
"yoctocolors-cjs": "^2.1.2"
|
|
52
47
|
},
|
|
53
48
|
"devDependencies": {
|
|
54
|
-
"@types/dockerode": "^3.3.23",
|
|
55
49
|
"@types/jest": "^30.0.0",
|
|
56
|
-
"@types/md5": "^2.3.2",
|
|
57
|
-
"@types/mute-stream": "^0.0.4",
|
|
58
50
|
"@types/node": "^24.5.2",
|
|
59
51
|
"@types/unzipper": "^0.10.10",
|
|
60
|
-
"@wocker/docker-mock-module": "^0.0
|
|
52
|
+
"@wocker/docker-mock-module": "^1.0.0",
|
|
61
53
|
"@wocker/testing": "^1.0.4",
|
|
62
54
|
"jest": "^30.1.3",
|
|
63
55
|
"make-coverage-badge": "^1.2.0",
|
package/lib/makes/Http.d.ts
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
import { AxiosHeaders, AxiosResponse } from "axios";
|
|
2
|
-
type HttpMethod = "GET" | "POST" | "PUT" | "PATCH" | "DELETE";
|
|
3
|
-
export declare class Http {
|
|
4
|
-
readonly method: HttpMethod;
|
|
5
|
-
readonly url: string;
|
|
6
|
-
body?: any;
|
|
7
|
-
protected headers: AxiosHeaders;
|
|
8
|
-
private constructor();
|
|
9
|
-
withHeader(name: string, value: string): Http;
|
|
10
|
-
withBody(body: any): Http;
|
|
11
|
-
send(path: string): Promise<AxiosResponse>;
|
|
12
|
-
static get(url: string): Http;
|
|
13
|
-
static post(url: string): Http;
|
|
14
|
-
static put(url: string): Http;
|
|
15
|
-
static patch(url: string): Http;
|
|
16
|
-
static delete(url: string): Http;
|
|
17
|
-
}
|
|
18
|
-
export {};
|
package/lib/makes/Http.js
DELETED
|
@@ -1,82 +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 __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
|
-
})();
|
|
35
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
|
-
exports.Http = void 0;
|
|
37
|
-
const axios_1 = __importStar(require("axios"));
|
|
38
|
-
class Http {
|
|
39
|
-
constructor(method = "GET", url, body) {
|
|
40
|
-
this.method = method;
|
|
41
|
-
this.url = url;
|
|
42
|
-
this.body = body;
|
|
43
|
-
this.headers = new axios_1.AxiosHeaders();
|
|
44
|
-
}
|
|
45
|
-
withHeader(name, value) {
|
|
46
|
-
this.headers.set(name, value);
|
|
47
|
-
return this;
|
|
48
|
-
}
|
|
49
|
-
withBody(body) {
|
|
50
|
-
this.body = body;
|
|
51
|
-
return this;
|
|
52
|
-
}
|
|
53
|
-
async send(path) {
|
|
54
|
-
return axios_1.default.create({
|
|
55
|
-
method: this.method,
|
|
56
|
-
baseURL: this.url,
|
|
57
|
-
headers: this.headers.toJSON(),
|
|
58
|
-
validateStatus() {
|
|
59
|
-
return true;
|
|
60
|
-
}
|
|
61
|
-
}).request({
|
|
62
|
-
url: path,
|
|
63
|
-
data: this.body
|
|
64
|
-
});
|
|
65
|
-
}
|
|
66
|
-
static get(url) {
|
|
67
|
-
return new Http("GET", url);
|
|
68
|
-
}
|
|
69
|
-
static post(url) {
|
|
70
|
-
return new Http("POST", url);
|
|
71
|
-
}
|
|
72
|
-
static put(url) {
|
|
73
|
-
return new Http("PUT", url);
|
|
74
|
-
}
|
|
75
|
-
static patch(url) {
|
|
76
|
-
return new Http("PATCH", url);
|
|
77
|
-
}
|
|
78
|
-
static delete(url) {
|
|
79
|
-
return new Http("DELETE", url);
|
|
80
|
-
}
|
|
81
|
-
}
|
|
82
|
-
exports.Http = Http;
|
package/lib/makes/Version.d.ts
DELETED
|
@@ -1,22 +0,0 @@
|
|
|
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 {};
|
package/lib/makes/Version.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
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();
|
|
@@ -1,18 +0,0 @@
|
|
|
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;
|
|
@@ -1,24 +0,0 @@
|
|
|
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 {};
|
package/lib/makes/VersionRule.js
DELETED
|
@@ -1,68 +0,0 @@
|
|
|
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();
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AppConfigService, AppFileSystemService, Project, ProjectRepository as CoreProjectRepository } from "@wocker/core";
|
|
2
|
-
export declare class ProjectRepository extends CoreProjectRepository {
|
|
3
|
-
protected readonly appConfigService: AppConfigService;
|
|
4
|
-
protected readonly fs: AppFileSystemService;
|
|
5
|
-
constructor(appConfigService: AppConfigService, fs: AppFileSystemService);
|
|
6
|
-
getByName(name: string): Project;
|
|
7
|
-
save(project: Project): void;
|
|
8
|
-
search(params?: ProjectRepository.SearchParams): Project[];
|
|
9
|
-
searchOne(params?: ProjectRepository.SearchParams): Project | null;
|
|
10
|
-
}
|
|
11
|
-
export declare namespace ProjectRepository {
|
|
12
|
-
type SearchParams = CoreProjectRepository.SearchParams;
|
|
13
|
-
}
|
|
@@ -1,71 +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.ProjectRepository = void 0;
|
|
13
|
-
const core_1 = require("@wocker/core");
|
|
14
|
-
let ProjectRepository = class ProjectRepository extends core_1.ProjectRepository {
|
|
15
|
-
constructor(appConfigService, fs) {
|
|
16
|
-
super();
|
|
17
|
-
this.appConfigService = appConfigService;
|
|
18
|
-
this.fs = fs;
|
|
19
|
-
}
|
|
20
|
-
getByName(name) {
|
|
21
|
-
const ref = this.appConfigService.config.getProject(name), config = this.fs.readJSON(`projects/${name}/config.json`);
|
|
22
|
-
return new core_1.Project({
|
|
23
|
-
...config,
|
|
24
|
-
path: ref.path
|
|
25
|
-
});
|
|
26
|
-
}
|
|
27
|
-
save(project) {
|
|
28
|
-
if (!project.name) {
|
|
29
|
-
throw new Error("Project should has a name");
|
|
30
|
-
}
|
|
31
|
-
if (!project.path) {
|
|
32
|
-
throw new Error("Project should has a path");
|
|
33
|
-
}
|
|
34
|
-
if (!project.id) {
|
|
35
|
-
project.id = project.name;
|
|
36
|
-
}
|
|
37
|
-
if (!this.fs.exists(`projects/${project.name}`)) {
|
|
38
|
-
this.fs.mkdir(`projects/${project.name}`, {
|
|
39
|
-
recursive: true
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
const { path, ...rest } = project.toObject();
|
|
43
|
-
this.appConfigService.addProject(project.name, path);
|
|
44
|
-
this.fs.writeJSON(`projects/${project.name}/config.json`, rest);
|
|
45
|
-
this.appConfigService.save();
|
|
46
|
-
}
|
|
47
|
-
search(params = {}) {
|
|
48
|
-
const { name, path } = params, projects = [];
|
|
49
|
-
for (const ref of this.appConfigService.projects) {
|
|
50
|
-
if (name && ref.name !== name) {
|
|
51
|
-
continue;
|
|
52
|
-
}
|
|
53
|
-
if (path && ref.path !== path) {
|
|
54
|
-
continue;
|
|
55
|
-
}
|
|
56
|
-
const project = this.getByName(ref.name);
|
|
57
|
-
projects.push(project);
|
|
58
|
-
}
|
|
59
|
-
return projects;
|
|
60
|
-
}
|
|
61
|
-
searchOne(params = {}) {
|
|
62
|
-
const [project] = this.search(params);
|
|
63
|
-
return project || null;
|
|
64
|
-
}
|
|
65
|
-
};
|
|
66
|
-
exports.ProjectRepository = ProjectRepository;
|
|
67
|
-
exports.ProjectRepository = ProjectRepository = __decorate([
|
|
68
|
-
(0, core_1.Injectable)(),
|
|
69
|
-
__metadata("design:paramtypes", [core_1.AppConfigService,
|
|
70
|
-
core_1.AppFileSystemService])
|
|
71
|
-
], ProjectRepository);
|
|
@@ -1,10 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.injectVariables = void 0;
|
|
4
|
-
const injectVariables = (pattern, data) => {
|
|
5
|
-
return Object.entries(data).reduce((res, [key, value]) => {
|
|
6
|
-
const regex = new RegExp(`\\$\\{${key}\\}`, "g");
|
|
7
|
-
return res.replace(regex, value);
|
|
8
|
-
}, pattern);
|
|
9
|
-
};
|
|
10
|
-
exports.injectVariables = injectVariables;
|