@wocker/ws 1.0.32-beta.1 → 1.1.0-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.
- package/lib/main.js +2 -2
- package/lib/makes/index.d.ts +0 -2
- package/lib/makes/index.js +0 -2
- 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 +6 -6
- 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 +7 -7
- 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 +4 -4
- package/lib/modules/preset/controllers/PresetListener.d.ts +3 -3
- package/lib/modules/preset/controllers/PresetListener.js +7 -7
- 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 +19 -19
- package/lib/modules/project/controllers/ProjectController.d.ts +3 -3
- package/lib/modules/project/controllers/ProjectController.js +17 -24
- package/lib/modules/project/repositories/ProjectRepository.d.ts +1 -8
- package/lib/modules/project/repositories/ProjectRepository.js +1 -56
- package/lib/modules/project/services/ProjectService.d.ts +3 -3
- package/lib/modules/project/services/ProjectService.js +37 -37
- package/lib/modules/proxy/controllers/HttpAuthController.d.ts +3 -2
- package/lib/modules/proxy/controllers/HttpAuthController.js +29 -8
- package/lib/modules/proxy/controllers/ProxyController.d.ts +3 -3
- package/lib/modules/proxy/controllers/ProxyController.js +5 -5
- 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 +7 -7
- package/package.json +15 -5
- 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/main.js
CHANGED
|
@@ -8,7 +8,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
10
|
(async () => {
|
|
11
|
-
const context = await core_1.Factory.create(AppModule_1.AppModule),
|
|
11
|
+
const context = await core_1.Factory.create(AppModule_1.AppModule), appService = context.get(core_1.AppService), logService = context.get(core_1.LogService);
|
|
12
12
|
try {
|
|
13
13
|
const res = await context.run(process.argv);
|
|
14
14
|
if (res) {
|
|
@@ -27,7 +27,7 @@ const AppModule_1 = require("./AppModule");
|
|
|
27
27
|
if (err instanceof core_1.CommandNotFoundError) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
|
-
if (
|
|
30
|
+
if (appService.debug) {
|
|
31
31
|
logService.error(err.stack || err.toString());
|
|
32
32
|
}
|
|
33
33
|
}
|
package/lib/makes/index.d.ts
CHANGED
package/lib/makes/index.js
CHANGED
|
@@ -16,5 +16,3 @@ 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);
|
|
@@ -1,11 +1,10 @@
|
|
|
1
|
-
import { LogService,
|
|
1
|
+
import { LogService, AppService } from "@wocker/core";
|
|
2
2
|
export declare class DebugController {
|
|
3
|
-
protected readonly
|
|
3
|
+
protected readonly appService: AppService;
|
|
4
4
|
protected readonly logService: LogService;
|
|
5
|
-
constructor(
|
|
5
|
+
constructor(appService: AppService, logService: LogService);
|
|
6
6
|
debug(): Promise<string>;
|
|
7
7
|
setDebug(status: string): Promise<void>;
|
|
8
|
-
setLog(level: string): Promise<void>;
|
|
9
8
|
testLog(level: string, args: string[]): Promise<void>;
|
|
10
9
|
debugCompletion(): Promise<string[]>;
|
|
11
10
|
getLevels(): string[];
|
|
@@ -15,24 +15,15 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
15
15
|
exports.DebugController = void 0;
|
|
16
16
|
const core_1 = require("@wocker/core");
|
|
17
17
|
let DebugController = class DebugController {
|
|
18
|
-
constructor(
|
|
19
|
-
this.
|
|
18
|
+
constructor(appService, logService) {
|
|
19
|
+
this.appService = appService;
|
|
20
20
|
this.logService = logService;
|
|
21
21
|
}
|
|
22
22
|
async debug() {
|
|
23
|
-
return this.
|
|
23
|
+
return this.appService.debug ? "on" : "off";
|
|
24
24
|
}
|
|
25
25
|
async setDebug(status) {
|
|
26
|
-
this.
|
|
27
|
-
this.appConfigService.save();
|
|
28
|
-
}
|
|
29
|
-
async setLog(level) {
|
|
30
|
-
const validLevels = this.getLevels();
|
|
31
|
-
if (!validLevels.includes(level)) {
|
|
32
|
-
throw new Error(`Invalid log level: ${level}. Valid options are ${validLevels.join(', ')}`);
|
|
33
|
-
}
|
|
34
|
-
this.appConfigService.config.logLevel = level;
|
|
35
|
-
this.appConfigService.save();
|
|
26
|
+
this.appService.debug = status === "on";
|
|
36
27
|
}
|
|
37
28
|
async testLog(level, args) {
|
|
38
29
|
this.logService._log(level, ...args);
|
|
@@ -59,14 +50,6 @@ __decorate([
|
|
|
59
50
|
__metadata("design:paramtypes", [String]),
|
|
60
51
|
__metadata("design:returntype", Promise)
|
|
61
52
|
], DebugController.prototype, "setDebug", null);
|
|
62
|
-
__decorate([
|
|
63
|
-
(0, core_1.Description)("Set the log level (options: debug, log, info, warn, error)"),
|
|
64
|
-
(0, core_1.Command)("loglevel <level>"),
|
|
65
|
-
__param(0, (0, core_1.Param)("level")),
|
|
66
|
-
__metadata("design:type", Function),
|
|
67
|
-
__metadata("design:paramtypes", [String]),
|
|
68
|
-
__metadata("design:returntype", Promise)
|
|
69
|
-
], DebugController.prototype, "setLog", null);
|
|
70
53
|
__decorate([
|
|
71
54
|
(0, core_1.Command)("log:<level> [...args]"),
|
|
72
55
|
__param(0, (0, core_1.Param)("level")),
|
|
@@ -89,6 +72,6 @@ __decorate([
|
|
|
89
72
|
], DebugController.prototype, "getLevels", null);
|
|
90
73
|
exports.DebugController = DebugController = __decorate([
|
|
91
74
|
(0, core_1.Controller)(),
|
|
92
|
-
__metadata("design:paramtypes", [core_1.
|
|
75
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
93
76
|
core_1.LogService])
|
|
94
77
|
], DebugController);
|
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService } from "@wocker/core";
|
|
2
2
|
export declare class ExperimentalController {
|
|
3
|
-
protected readonly appService:
|
|
4
|
-
constructor(appService:
|
|
3
|
+
protected readonly appService: AppService;
|
|
4
|
+
constructor(appService: AppService);
|
|
5
5
|
enable(feature?: string): void;
|
|
6
6
|
disable(feature?: string): void;
|
|
7
7
|
getFeatures(): string[];
|
|
@@ -72,5 +72,5 @@ __decorate([
|
|
|
72
72
|
exports.ExperimentalController = ExperimentalController = __decorate([
|
|
73
73
|
(0, core_1.Controller)(),
|
|
74
74
|
(0, core_1.Description)("Manage experimental features"),
|
|
75
|
-
__metadata("design:paramtypes", [core_1.
|
|
75
|
+
__metadata("design:paramtypes", [core_1.AppService])
|
|
76
76
|
], ExperimentalController);
|
package/lib/modules/dns/index.js
CHANGED
|
@@ -20,9 +20,9 @@ let DnsModule = DnsModule_1 = class DnsModule {
|
|
|
20
20
|
static register() {
|
|
21
21
|
return {
|
|
22
22
|
module: DnsModule_1,
|
|
23
|
-
inject: [core_1.
|
|
24
|
-
useFactory: (
|
|
25
|
-
if (!
|
|
23
|
+
inject: [core_1.AppService],
|
|
24
|
+
useFactory: (appService) => {
|
|
25
|
+
if (!appService.isExperimentalEnabled("dns")) {
|
|
26
26
|
return {};
|
|
27
27
|
}
|
|
28
28
|
return {
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService } from "@wocker/core";
|
|
2
2
|
import { KeystoreService } from "../services/KeystoreService";
|
|
3
3
|
export declare class KeystoreController {
|
|
4
|
-
protected readonly
|
|
4
|
+
protected readonly appService: AppService;
|
|
5
5
|
protected readonly keystoreService: KeystoreService;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(appService: AppService, keystoreService: KeystoreService);
|
|
7
7
|
init(provider?: string): Promise<void>;
|
|
8
8
|
}
|
|
@@ -17,8 +17,8 @@ const core_1 = require("@wocker/core");
|
|
|
17
17
|
const utils_1 = require("@wocker/utils");
|
|
18
18
|
const KeystoreService_1 = require("../services/KeystoreService");
|
|
19
19
|
let KeystoreController = class KeystoreController {
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
20
|
+
constructor(appService, keystoreService) {
|
|
21
|
+
this.appService = appService;
|
|
22
22
|
this.keystoreService = keystoreService;
|
|
23
23
|
}
|
|
24
24
|
async init(provider) {
|
|
@@ -28,14 +28,14 @@ let KeystoreController = class KeystoreController {
|
|
|
28
28
|
message: "Keystore provider",
|
|
29
29
|
type: "text",
|
|
30
30
|
options: ["file", "keytar"],
|
|
31
|
-
default: this.
|
|
31
|
+
default: this.appService.config.keystore
|
|
32
32
|
});
|
|
33
33
|
}
|
|
34
34
|
if (!this.keystoreService.hasProvider(provider)) {
|
|
35
35
|
throw new Error(`Provider "${provider}" not found`);
|
|
36
36
|
}
|
|
37
|
-
this.
|
|
38
|
-
this.
|
|
37
|
+
this.appService.config.keystore = provider;
|
|
38
|
+
this.appService.save();
|
|
39
39
|
}
|
|
40
40
|
};
|
|
41
41
|
exports.KeystoreController = KeystoreController;
|
|
@@ -51,6 +51,6 @@ __decorate([
|
|
|
51
51
|
exports.KeystoreController = KeystoreController = __decorate([
|
|
52
52
|
(0, core_1.Controller)(),
|
|
53
53
|
(0, core_1.Description)("Keystore commands"),
|
|
54
|
-
__metadata("design:paramtypes", [core_1.
|
|
54
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
55
55
|
KeystoreService_1.KeystoreService])
|
|
56
56
|
], KeystoreController);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService, AppFileSystemService, KeystoreService as CoreKeystoreService, KeystoreProvider } from "@wocker/core";
|
|
2
2
|
export declare class KeystoreService extends CoreKeystoreService {
|
|
3
|
-
protected readonly
|
|
3
|
+
protected readonly appService: AppService;
|
|
4
4
|
protected readonly fs: AppFileSystemService;
|
|
5
5
|
protected providers: Map<string, KeystoreProvider>;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(appService: AppService, fs: AppFileSystemService);
|
|
7
7
|
hasProvider(name: string): boolean;
|
|
8
8
|
provider(name?: string): KeystoreProvider;
|
|
9
9
|
get(keys: string | string[], byDefault?: string): Promise<string | undefined>;
|
|
@@ -14,9 +14,9 @@ const core_1 = require("@wocker/core");
|
|
|
14
14
|
const KeytarKeystoreProvider_1 = require("../providers/KeytarKeystoreProvider");
|
|
15
15
|
const FileKeystoreProvider_1 = require("../providers/FileKeystoreProvider");
|
|
16
16
|
let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
17
|
-
constructor(
|
|
17
|
+
constructor(appService, fs) {
|
|
18
18
|
super();
|
|
19
|
-
this.
|
|
19
|
+
this.appService = appService;
|
|
20
20
|
this.fs = fs;
|
|
21
21
|
this.providers = new Map();
|
|
22
22
|
}
|
|
@@ -25,7 +25,7 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
|
25
25
|
}
|
|
26
26
|
provider(name) {
|
|
27
27
|
if (!name) {
|
|
28
|
-
name = this.
|
|
28
|
+
name = this.appService.config.keystore;
|
|
29
29
|
}
|
|
30
30
|
if (!name) {
|
|
31
31
|
name = "file";
|
|
@@ -70,6 +70,6 @@ let KeystoreService = class KeystoreService extends core_1.KeystoreService {
|
|
|
70
70
|
exports.KeystoreService = KeystoreService;
|
|
71
71
|
exports.KeystoreService = KeystoreService = __decorate([
|
|
72
72
|
(0, core_1.Injectable)("KEYSTORE_SERVICE"),
|
|
73
|
-
__metadata("design:paramtypes", [core_1.
|
|
73
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
74
74
|
core_1.AppFileSystemService])
|
|
75
75
|
], KeystoreService);
|
|
@@ -1,8 +1,8 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService } from "@wocker/core";
|
|
2
2
|
import { PackageManagerProvider } from "../types/PackageManagerProvider";
|
|
3
3
|
export declare class PackageManager {
|
|
4
|
-
protected readonly
|
|
5
|
-
constructor(
|
|
4
|
+
protected readonly appService: AppService;
|
|
5
|
+
constructor(appService: AppService);
|
|
6
6
|
getManager(): Promise<PackageManagerProvider>;
|
|
7
7
|
getPackages(global?: boolean): Promise<import("../types/Package").Package[]>;
|
|
8
8
|
install(name: string, version?: string): Promise<void>;
|
|
@@ -16,12 +16,12 @@ const NpmProvider_1 = require("../providers/NpmProvider");
|
|
|
16
16
|
const PnpmProvider_1 = require("../providers/PnpmProvider");
|
|
17
17
|
const YarnProvider_1 = require("../providers/YarnProvider");
|
|
18
18
|
let PackageManager = class PackageManager {
|
|
19
|
-
constructor(
|
|
20
|
-
this.
|
|
19
|
+
constructor(appService) {
|
|
20
|
+
this.appService = appService;
|
|
21
21
|
}
|
|
22
22
|
async getManager() {
|
|
23
|
-
if (!this.
|
|
24
|
-
this.
|
|
23
|
+
if (!this.appService.config.pm) {
|
|
24
|
+
this.appService.config.pm = await (0, utils_1.promptSelect)({
|
|
25
25
|
label: "Package manager:",
|
|
26
26
|
options: [
|
|
27
27
|
{
|
|
@@ -39,9 +39,9 @@ let PackageManager = class PackageManager {
|
|
|
39
39
|
],
|
|
40
40
|
required: true
|
|
41
41
|
});
|
|
42
|
-
this.
|
|
42
|
+
this.appService.save();
|
|
43
43
|
}
|
|
44
|
-
switch (this.
|
|
44
|
+
switch (this.appService.config.pm) {
|
|
45
45
|
case "npm":
|
|
46
46
|
return new NpmProvider_1.NpmProvider();
|
|
47
47
|
case "pnpm":
|
|
@@ -66,5 +66,5 @@ let PackageManager = class PackageManager {
|
|
|
66
66
|
exports.PackageManager = PackageManager;
|
|
67
67
|
exports.PackageManager = PackageManager = __decorate([
|
|
68
68
|
(0, core_1.Injectable)("PACKAGE_MANAGER_SERVICE"),
|
|
69
|
-
__metadata("design:paramtypes", [core_1.
|
|
69
|
+
__metadata("design:paramtypes", [core_1.AppService])
|
|
70
70
|
], PackageManager);
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService } from "@wocker/core";
|
|
2
2
|
import { PluginService } from "../services/PluginService";
|
|
3
3
|
export declare class PluginController {
|
|
4
|
-
protected readonly
|
|
4
|
+
protected readonly appService: AppService;
|
|
5
5
|
protected readonly pluginService: PluginService;
|
|
6
|
-
constructor(
|
|
6
|
+
constructor(appService: AppService, pluginService: PluginService);
|
|
7
7
|
list(): Promise<string>;
|
|
8
8
|
add(names: string[]): Promise<void>;
|
|
9
9
|
remove(names: string[]): Promise<void>;
|
|
@@ -16,8 +16,8 @@ exports.PluginController = void 0;
|
|
|
16
16
|
const core_1 = require("@wocker/core");
|
|
17
17
|
const PluginService_1 = require("../services/PluginService");
|
|
18
18
|
let PluginController = class PluginController {
|
|
19
|
-
constructor(
|
|
20
|
-
this.
|
|
19
|
+
constructor(appService, pluginService) {
|
|
20
|
+
this.appService = appService;
|
|
21
21
|
this.pluginService = pluginService;
|
|
22
22
|
}
|
|
23
23
|
async list() {
|
|
@@ -38,7 +38,7 @@ let PluginController = class PluginController {
|
|
|
38
38
|
await this.pluginService.update();
|
|
39
39
|
}
|
|
40
40
|
getInstalledPlugins() {
|
|
41
|
-
return this.
|
|
41
|
+
return this.appService.plugins.map(pluginRef => pluginRef.name);
|
|
42
42
|
}
|
|
43
43
|
};
|
|
44
44
|
exports.PluginController = PluginController;
|
|
@@ -82,6 +82,6 @@ __decorate([
|
|
|
82
82
|
exports.PluginController = PluginController = __decorate([
|
|
83
83
|
(0, core_1.Controller)(),
|
|
84
84
|
(0, core_1.Description)("Plugin commands"),
|
|
85
|
-
__metadata("design:paramtypes", [core_1.
|
|
85
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
86
86
|
PluginService_1.PluginService])
|
|
87
87
|
], PluginController);
|
|
@@ -18,14 +18,14 @@ let PluginModule = PluginModule_1 = class PluginModule {
|
|
|
18
18
|
return {
|
|
19
19
|
module: PluginModule_1,
|
|
20
20
|
inject: [
|
|
21
|
-
core_1.
|
|
21
|
+
core_1.AppService,
|
|
22
22
|
core_1.AppFileSystemService,
|
|
23
23
|
core_1.LogService,
|
|
24
24
|
PluginService_1.PluginService
|
|
25
25
|
],
|
|
26
|
-
useFactory: async (
|
|
26
|
+
useFactory: async (appService, fs, logService, pluginService) => {
|
|
27
27
|
const imports = [];
|
|
28
|
-
for (const pluginData of
|
|
28
|
+
for (const pluginData of appService.plugins) {
|
|
29
29
|
try {
|
|
30
30
|
const plugin = await pluginService.import(pluginData.name);
|
|
31
31
|
imports.push({
|
|
@@ -43,8 +43,7 @@ let PluginModule = PluginModule_1 = class PluginModule {
|
|
|
43
43
|
pluginName: pluginData.name,
|
|
44
44
|
pluginEnv: pluginData.env
|
|
45
45
|
});
|
|
46
|
-
|
|
47
|
-
appConfigService.save();
|
|
46
|
+
appService.removePlugin(pluginData.name);
|
|
48
47
|
}
|
|
49
48
|
}
|
|
50
49
|
return {
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { Cli,
|
|
1
|
+
import { Cli, AppService, LogService } from "@wocker/core";
|
|
2
2
|
import { PackageManager, RegistryService } from "../../package-manager";
|
|
3
3
|
import { Plugin } from "../../../makes";
|
|
4
4
|
export declare class PluginService {
|
|
5
|
-
protected readonly
|
|
5
|
+
protected readonly appService: AppService;
|
|
6
6
|
protected readonly pm: PackageManager;
|
|
7
7
|
protected readonly registryService: RegistryService;
|
|
8
8
|
protected readonly logService: LogService;
|
|
9
9
|
protected readonly cli: Cli;
|
|
10
10
|
protected rule: string;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(appService: AppService, pm: PackageManager, registryService: RegistryService, logService: LogService, cli: Cli);
|
|
12
12
|
getPluginsTable(): string;
|
|
13
13
|
checkPlugin(pluginName: string): Promise<boolean>;
|
|
14
14
|
install(pluginName: string, version?: string): Promise<void>;
|
|
@@ -52,8 +52,8 @@ const yoctocolors_cjs_1 = __importDefault(require("yoctocolors-cjs"));
|
|
|
52
52
|
const package_manager_1 = require("../../package-manager");
|
|
53
53
|
const makes_1 = require("../../../makes");
|
|
54
54
|
let PluginService = class PluginService {
|
|
55
|
-
constructor(
|
|
56
|
-
this.
|
|
55
|
+
constructor(appService, pm, registryService, logService, cli) {
|
|
56
|
+
this.appService = appService;
|
|
57
57
|
this.pm = pm;
|
|
58
58
|
this.registryService = registryService;
|
|
59
59
|
this.logService = logService;
|
|
@@ -65,10 +65,10 @@ let PluginService = class PluginService {
|
|
|
65
65
|
head: ["Name", "Env"],
|
|
66
66
|
colWidths: [30]
|
|
67
67
|
});
|
|
68
|
-
if (this.
|
|
68
|
+
if (this.appService.plugins.length === 0) {
|
|
69
69
|
return yoctocolors_cjs_1.default.gray("No plugins installed");
|
|
70
70
|
}
|
|
71
|
-
for (const plugin of this.
|
|
71
|
+
for (const plugin of this.appService.plugins) {
|
|
72
72
|
table.push([plugin.name, plugin.env]);
|
|
73
73
|
}
|
|
74
74
|
return table.toString();
|
|
@@ -88,14 +88,14 @@ let PluginService = class PluginService {
|
|
|
88
88
|
async install(pluginName, version = "latest") {
|
|
89
89
|
const [, prefix = "@wocker/", name, suffix = "-plugin"] = /^(@wocker\/)?(\w+)(-plugin)?$/.exec(pluginName) || [];
|
|
90
90
|
const fullName = `${prefix}${name}${suffix}`;
|
|
91
|
-
const currentVersion = await this.getCurrentVersion(fullName), wRule =
|
|
91
|
+
const currentVersion = await this.getCurrentVersion(fullName), wRule = core_1.VersionRule.parse(this.rule), rule = core_1.VersionRule.parse(version === "latest" ? "x" : version || this.rule);
|
|
92
92
|
const packageInfo = await this.registryService.getPackageInfo(fullName);
|
|
93
93
|
const versions = Object.keys(packageInfo.versions)
|
|
94
94
|
.filter((version) => {
|
|
95
95
|
return wRule.match(version, true) && rule.match(version, true);
|
|
96
96
|
})
|
|
97
97
|
.sort((a, b) => {
|
|
98
|
-
return
|
|
98
|
+
return core_1.Version.parse(b).compare(a);
|
|
99
99
|
});
|
|
100
100
|
const bestSatisfyingVersion = versions.find((version) => rule.match(version)) ??
|
|
101
101
|
versions.find((version) => rule.match(version, true));
|
|
@@ -105,8 +105,7 @@ let PluginService = class PluginService {
|
|
|
105
105
|
if ((!currentVersion || currentVersion !== bestSatisfyingVersion) || !await this.checkPlugin(fullName)) {
|
|
106
106
|
await this.pm.install(fullName, bestSatisfyingVersion);
|
|
107
107
|
}
|
|
108
|
-
this.
|
|
109
|
-
this.appConfigService.save();
|
|
108
|
+
this.appService.addPlugin(fullName, version);
|
|
110
109
|
console.info(`Plugin ${fullName} activated`);
|
|
111
110
|
}
|
|
112
111
|
async uninstall(pluginName) {
|
|
@@ -115,8 +114,7 @@ let PluginService = class PluginService {
|
|
|
115
114
|
if (await this.checkPlugin(fullName)) {
|
|
116
115
|
await this.pm.uninstall(fullName);
|
|
117
116
|
}
|
|
118
|
-
this.
|
|
119
|
-
this.appConfigService.save();
|
|
117
|
+
this.appService.removePlugin(fullName);
|
|
120
118
|
console.info(`Plugin ${fullName} deactivated`);
|
|
121
119
|
}
|
|
122
120
|
async import(name) {
|
|
@@ -124,11 +122,11 @@ let PluginService = class PluginService {
|
|
|
124
122
|
return new makes_1.Plugin(type);
|
|
125
123
|
}
|
|
126
124
|
async update() {
|
|
127
|
-
if (this.
|
|
125
|
+
if (this.appService.plugins.length === 0) {
|
|
128
126
|
console.info("No plugins installed");
|
|
129
127
|
return;
|
|
130
128
|
}
|
|
131
|
-
for (const plugin of this.
|
|
129
|
+
for (const plugin of this.appService.plugins) {
|
|
132
130
|
console.info(`Checking ${plugin.name}...`);
|
|
133
131
|
try {
|
|
134
132
|
await this.install(plugin.name, plugin.env);
|
|
@@ -156,7 +154,7 @@ let PluginService = class PluginService {
|
|
|
156
154
|
exports.PluginService = PluginService;
|
|
157
155
|
exports.PluginService = PluginService = __decorate([
|
|
158
156
|
(0, core_1.Injectable)(),
|
|
159
|
-
__metadata("design:paramtypes", [core_1.
|
|
157
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
160
158
|
package_manager_1.PackageManager,
|
|
161
159
|
package_manager_1.RegistryService,
|
|
162
160
|
core_1.LogService,
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { AppService } from "@wocker/core";
|
|
2
2
|
import { DockerService } from "@wocker/docker-module";
|
|
3
3
|
import { PresetRepository } from "../repositories/PresetRepository";
|
|
4
4
|
import { PresetService } from "../services/PresetService";
|
|
5
5
|
export declare class PresetController {
|
|
6
|
-
protected readonly
|
|
6
|
+
protected readonly appService: AppService;
|
|
7
7
|
protected readonly dockerService: DockerService;
|
|
8
8
|
protected readonly presetRepository: PresetRepository;
|
|
9
9
|
protected readonly presetService: PresetService;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(appService: AppService, dockerService: DockerService, presetRepository: PresetRepository, presetService: PresetService);
|
|
11
11
|
init(): Promise<void>;
|
|
12
12
|
list(): Promise<string>;
|
|
13
13
|
install(repository: string, version?: string): Promise<void>;
|
|
@@ -23,8 +23,8 @@ const utils_1 = require("@wocker/utils");
|
|
|
23
23
|
const PresetRepository_1 = require("../repositories/PresetRepository");
|
|
24
24
|
const PresetService_1 = require("../services/PresetService");
|
|
25
25
|
let PresetController = class PresetController {
|
|
26
|
-
constructor(
|
|
27
|
-
this.
|
|
26
|
+
constructor(appService, dockerService, presetRepository, presetService) {
|
|
27
|
+
this.appService = appService;
|
|
28
28
|
this.dockerService = dockerService;
|
|
29
29
|
this.presetRepository = presetRepository;
|
|
30
30
|
this.presetService = presetService;
|
|
@@ -81,7 +81,7 @@ let PresetController = class PresetController {
|
|
|
81
81
|
await this.dockerService.imageRm(imageName);
|
|
82
82
|
}
|
|
83
83
|
await this.dockerService.buildImage({
|
|
84
|
-
version: this.
|
|
84
|
+
version: this.appService.isExperimentalEnabled("buildKit") ? "2" : "1",
|
|
85
85
|
tag: imageName,
|
|
86
86
|
labels: {
|
|
87
87
|
presetName: preset.name
|
|
@@ -157,7 +157,7 @@ __decorate([
|
|
|
157
157
|
exports.PresetController = PresetController = __decorate([
|
|
158
158
|
(0, core_1.Controller)(),
|
|
159
159
|
(0, core_1.Description)("Preset commands"),
|
|
160
|
-
__metadata("design:paramtypes", [core_1.
|
|
160
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
161
161
|
docker_module_1.DockerService,
|
|
162
162
|
PresetRepository_1.PresetRepository,
|
|
163
163
|
PresetService_1.PresetService])
|
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
import { Project,
|
|
1
|
+
import { Project, AppService } from "@wocker/core";
|
|
2
2
|
import { DockerService } from "@wocker/docker-module";
|
|
3
3
|
import { PresetRepository } from "../repositories/PresetRepository";
|
|
4
4
|
import { PresetService } from "../services/PresetService";
|
|
5
5
|
export declare class PresetListener {
|
|
6
|
-
protected readonly
|
|
6
|
+
protected readonly appService: AppService;
|
|
7
7
|
protected readonly dockerService: DockerService;
|
|
8
8
|
protected readonly presetRepository: PresetRepository;
|
|
9
9
|
protected readonly presetService: PresetService;
|
|
10
|
-
constructor(
|
|
10
|
+
constructor(appService: AppService, dockerService: DockerService, presetRepository: PresetRepository, presetService: PresetService);
|
|
11
11
|
onInit(project: Project): Promise<void>;
|
|
12
12
|
protected onRebuild(project: Project): Promise<void>;
|
|
13
13
|
protected onBeforeStart(project: Project): Promise<void>;
|
|
@@ -17,14 +17,14 @@ const PresetRepository_1 = require("../repositories/PresetRepository");
|
|
|
17
17
|
const PresetService_1 = require("../services/PresetService");
|
|
18
18
|
const utils_2 = require("../../../utils");
|
|
19
19
|
let PresetListener = class PresetListener {
|
|
20
|
-
constructor(
|
|
21
|
-
this.
|
|
20
|
+
constructor(appService, dockerService, presetRepository, presetService) {
|
|
21
|
+
this.appService = appService;
|
|
22
22
|
this.dockerService = dockerService;
|
|
23
23
|
this.presetRepository = presetRepository;
|
|
24
24
|
this.presetService = presetService;
|
|
25
25
|
}
|
|
26
26
|
async onInit(project) {
|
|
27
|
-
if (project.type !== core_1.
|
|
27
|
+
if (project.type !== core_1.ProjectType.PRESET) {
|
|
28
28
|
return;
|
|
29
29
|
}
|
|
30
30
|
const presets = this.presetRepository.search();
|
|
@@ -92,7 +92,7 @@ let PresetListener = class PresetListener {
|
|
|
92
92
|
}
|
|
93
93
|
}
|
|
94
94
|
async onRebuild(project) {
|
|
95
|
-
if (project.type !== core_1.
|
|
95
|
+
if (project.type !== core_1.ProjectType.PRESET) {
|
|
96
96
|
return;
|
|
97
97
|
}
|
|
98
98
|
const preset = this.presetService.get(project.preset);
|
|
@@ -107,7 +107,7 @@ let PresetListener = class PresetListener {
|
|
|
107
107
|
}
|
|
108
108
|
}
|
|
109
109
|
async onBeforeStart(project) {
|
|
110
|
-
if (project.type !== core_1.
|
|
110
|
+
if (project.type !== core_1.ProjectType.PRESET) {
|
|
111
111
|
return;
|
|
112
112
|
}
|
|
113
113
|
const preset = this.presetService.get(project.preset);
|
|
@@ -115,7 +115,7 @@ let PresetListener = class PresetListener {
|
|
|
115
115
|
project.imageName = this.presetService.getImageNameForProject(project, preset);
|
|
116
116
|
if (!await this.dockerService.imageExists(project.imageName)) {
|
|
117
117
|
await this.dockerService.buildImage({
|
|
118
|
-
version: this.
|
|
118
|
+
version: this.appService.isExperimentalEnabled("buildKit") ? "2" : "1",
|
|
119
119
|
tag: project.imageName,
|
|
120
120
|
labels: {
|
|
121
121
|
presetName: preset.name
|
|
@@ -149,7 +149,7 @@ __decorate([
|
|
|
149
149
|
], PresetListener.prototype, "onBeforeStart", null);
|
|
150
150
|
exports.PresetListener = PresetListener = __decorate([
|
|
151
151
|
(0, core_1.Controller)(),
|
|
152
|
-
__metadata("design:paramtypes", [core_1.
|
|
152
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
153
153
|
docker_module_1.DockerService,
|
|
154
154
|
PresetRepository_1.PresetRepository,
|
|
155
155
|
PresetService_1.PresetService])
|
|
@@ -1,14 +1,14 @@
|
|
|
1
|
-
import { AppConfig, PresetServiceSearchOptions as SearchOptions, Preset, PresetSource,
|
|
1
|
+
import { AppConfig, PresetServiceSearchOptions as SearchOptions, Preset, PresetSource, AppService, LogService, FileSystemDriver } from "@wocker/core";
|
|
2
2
|
type PresetData = {
|
|
3
3
|
name: string;
|
|
4
4
|
source: PresetSource;
|
|
5
5
|
path?: string;
|
|
6
6
|
};
|
|
7
7
|
export declare class PresetRepository {
|
|
8
|
-
protected readonly
|
|
8
|
+
protected readonly appService: AppService;
|
|
9
9
|
protected readonly logService: LogService;
|
|
10
10
|
protected readonly driver: FileSystemDriver;
|
|
11
|
-
constructor(
|
|
11
|
+
constructor(appService: AppService, logService: LogService, driver: FileSystemDriver);
|
|
12
12
|
protected load(data: PresetData): Preset;
|
|
13
13
|
protected configs(): AppConfig["presets"];
|
|
14
14
|
search(options?: SearchOptions): Preset[];
|
|
@@ -16,8 +16,8 @@ exports.PresetRepository = void 0;
|
|
|
16
16
|
const core_1 = require("@wocker/core");
|
|
17
17
|
const env_1 = require("../../../env");
|
|
18
18
|
let PresetRepository = class PresetRepository {
|
|
19
|
-
constructor(
|
|
20
|
-
this.
|
|
19
|
+
constructor(appService, logService, driver) {
|
|
20
|
+
this.appService = appService;
|
|
21
21
|
this.logService = logService;
|
|
22
22
|
this.driver = driver;
|
|
23
23
|
}
|
|
@@ -39,7 +39,7 @@ let PresetRepository = class PresetRepository {
|
|
|
39
39
|
fs.writeJSON("config.json", this.toObject());
|
|
40
40
|
break;
|
|
41
41
|
}
|
|
42
|
-
_this.
|
|
42
|
+
_this.appService.registerPreset(this.name, this.source, data.path);
|
|
43
43
|
}
|
|
44
44
|
delete() {
|
|
45
45
|
switch (this.source) {
|
|
@@ -51,13 +51,13 @@ let PresetRepository = class PresetRepository {
|
|
|
51
51
|
}
|
|
52
52
|
break;
|
|
53
53
|
}
|
|
54
|
-
_this.
|
|
54
|
+
_this.appService.unregisterPreset(this.name);
|
|
55
55
|
}
|
|
56
56
|
}(config);
|
|
57
57
|
}
|
|
58
58
|
configs() {
|
|
59
59
|
const fs = new core_1.FileSystem(env_1.PRESETS_DIR, this.driver), dirs = fs.exists("") ? fs.readdir("") : [];
|
|
60
|
-
const { presets = [] } = this.
|
|
60
|
+
const { presets = [] } = this.appService.config;
|
|
61
61
|
return [
|
|
62
62
|
...dirs.map((name) => {
|
|
63
63
|
return {
|
|
@@ -70,7 +70,7 @@ let PresetRepository = class PresetRepository {
|
|
|
70
70
|
if (item.source === core_1.PRESET_SOURCE_GITHUB) {
|
|
71
71
|
return {
|
|
72
72
|
...item,
|
|
73
|
-
path: this.
|
|
73
|
+
path: this.appService.fs.path("presets", item.name)
|
|
74
74
|
};
|
|
75
75
|
}
|
|
76
76
|
return item;
|
|
@@ -113,6 +113,6 @@ exports.PresetRepository = PresetRepository;
|
|
|
113
113
|
exports.PresetRepository = PresetRepository = __decorate([
|
|
114
114
|
(0, core_1.Injectable)(),
|
|
115
115
|
__param(2, (0, core_1.Inject)(core_1.FILE_SYSTEM_DRIVER_KEY)),
|
|
116
|
-
__metadata("design:paramtypes", [core_1.
|
|
116
|
+
__metadata("design:paramtypes", [core_1.AppService,
|
|
117
117
|
core_1.LogService, Object])
|
|
118
118
|
], PresetRepository);
|