@wocker/core 1.0.13 → 1.0.14
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/decorators/Module.d.ts +1 -5
- package/lib/decorators/Module.js +2 -5
- package/lib/env.d.ts +1 -2
- package/lib/env.js +2 -3
- package/lib/index.d.ts +1 -1
- package/lib/index.js +3 -1
- package/lib/makes/Config.d.ts +8 -0
- package/lib/makes/Config.js +31 -2
- package/lib/makes/Factory.js +1 -1
- package/lib/makes/Preset.d.ts +8 -2
- package/lib/makes/Preset.js +19 -2
- package/package.json +2 -2
|
@@ -1,10 +1,6 @@
|
|
|
1
|
-
import { MODULE_METADATA
|
|
1
|
+
import { MODULE_METADATA } from "../env";
|
|
2
2
|
import { Provider } from "../types/Provider";
|
|
3
3
|
export type ModuleConfig = {
|
|
4
|
-
/**
|
|
5
|
-
* @deprecated
|
|
6
|
-
*/
|
|
7
|
-
[PLUGIN_NAME_METADATA]?: string;
|
|
8
4
|
[MODULE_METADATA.CONTROLLERS]?: any[];
|
|
9
5
|
[MODULE_METADATA.PROVIDERS]?: Provider[];
|
|
10
6
|
[MODULE_METADATA.IMPORTS]?: any[];
|
package/lib/decorators/Module.js
CHANGED
|
@@ -3,12 +3,9 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
3
3
|
exports.Module = void 0;
|
|
4
4
|
const env_1 = require("../env");
|
|
5
5
|
const Module = (config) => {
|
|
6
|
-
const { [env_1.
|
|
6
|
+
const { [env_1.MODULE_METADATA.CONTROLLERS]: controllers = [], [env_1.MODULE_METADATA.PROVIDERS]: providers = [], [env_1.MODULE_METADATA.IMPORTS]: imports = [], [env_1.MODULE_METADATA.EXPORTS]: exports = [] } = config;
|
|
7
7
|
return (target) => {
|
|
8
|
-
|
|
9
|
-
Reflect.defineMetadata(env_1.PLUGIN_NAME_METADATA, name, target);
|
|
10
|
-
}
|
|
11
|
-
Reflect.defineMetadata("isModule", true, target);
|
|
8
|
+
Reflect.defineMetadata(env_1.IS_MODULE_METADATA, true, target);
|
|
12
9
|
Reflect.defineMetadata(env_1.MODULE_METADATA.IMPORTS, imports, target);
|
|
13
10
|
Reflect.defineMetadata(env_1.MODULE_METADATA.CONTROLLERS, controllers, target);
|
|
14
11
|
Reflect.defineMetadata(env_1.MODULE_METADATA.PROVIDERS, providers, target);
|
package/lib/env.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const
|
|
1
|
+
export declare const IS_MODULE_METADATA = "isModule";
|
|
2
2
|
export declare const INJECTABLE_WATERMARK = "__injectable__";
|
|
3
3
|
export declare const ARGS_META = "__ARGS__";
|
|
4
4
|
export declare const COMMAND_METADATA = "command";
|
|
@@ -12,7 +12,6 @@ export declare const INJECT_TOKEN_METADATA = "INJECT_TOKEN";
|
|
|
12
12
|
export declare const PLUGIN_DIR_KEY = "PLUGIN_DIR";
|
|
13
13
|
export declare const PLUGIN_NAME_METADATA = "name";
|
|
14
14
|
export declare enum MODULE_METADATA {
|
|
15
|
-
NAME = "name",
|
|
16
15
|
IMPORTS = "imports",
|
|
17
16
|
EXPORTS = "exports",
|
|
18
17
|
CONTROLLERS = "controllers",
|
package/lib/env.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.MODULE_METADATA = exports.PLUGIN_NAME_METADATA = exports.PLUGIN_DIR_KEY = exports.INJECT_TOKEN_METADATA = exports.SELF_DECLARED_DEPS_METADATA = exports.PARAMTYPES_METADATA = exports.OPTION_META = exports.ARGS_METADATA = exports.COMPLETION_METADATA = exports.COMMAND_DESCRIPTION_METADATA = exports.COMMAND_METADATA = exports.ARGS_META = exports.INJECTABLE_WATERMARK = exports.
|
|
4
|
-
exports.
|
|
3
|
+
exports.MODULE_METADATA = exports.PLUGIN_NAME_METADATA = exports.PLUGIN_DIR_KEY = exports.INJECT_TOKEN_METADATA = exports.SELF_DECLARED_DEPS_METADATA = exports.PARAMTYPES_METADATA = exports.OPTION_META = exports.ARGS_METADATA = exports.COMPLETION_METADATA = exports.COMMAND_DESCRIPTION_METADATA = exports.COMMAND_METADATA = exports.ARGS_META = exports.INJECTABLE_WATERMARK = exports.IS_MODULE_METADATA = void 0;
|
|
4
|
+
exports.IS_MODULE_METADATA = "isModule";
|
|
5
5
|
exports.INJECTABLE_WATERMARK = "__injectable__";
|
|
6
6
|
exports.ARGS_META = "__ARGS__";
|
|
7
7
|
exports.COMMAND_METADATA = "command";
|
|
@@ -16,7 +16,6 @@ exports.PLUGIN_DIR_KEY = "PLUGIN_DIR";
|
|
|
16
16
|
exports.PLUGIN_NAME_METADATA = "name";
|
|
17
17
|
var MODULE_METADATA;
|
|
18
18
|
(function (MODULE_METADATA) {
|
|
19
|
-
MODULE_METADATA["NAME"] = "name";
|
|
20
19
|
MODULE_METADATA["IMPORTS"] = "imports";
|
|
21
20
|
MODULE_METADATA["EXPORTS"] = "exports";
|
|
22
21
|
MODULE_METADATA["CONTROLLERS"] = "controllers";
|
package/lib/index.d.ts
CHANGED
package/lib/index.js
CHANGED
|
@@ -14,7 +14,7 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.PLUGIN_DIR_KEY = exports.MODULE_METADATA = exports.Cli = void 0;
|
|
17
|
+
exports.PLUGIN_DIR_KEY = exports.PLUGIN_NAME_METADATA = exports.MODULE_METADATA = exports.IS_MODULE_METADATA = exports.Cli = void 0;
|
|
18
18
|
var cli_1 = require("@kearisp/cli");
|
|
19
19
|
Object.defineProperty(exports, "Cli", { enumerable: true, get: function () { return cli_1.Cli; } });
|
|
20
20
|
__exportStar(require("./decorators"), exports);
|
|
@@ -22,5 +22,7 @@ __exportStar(require("./makes"), exports);
|
|
|
22
22
|
__exportStar(require("./services"), exports);
|
|
23
23
|
__exportStar(require("./types"), exports);
|
|
24
24
|
var env_1 = require("./env");
|
|
25
|
+
Object.defineProperty(exports, "IS_MODULE_METADATA", { enumerable: true, get: function () { return env_1.IS_MODULE_METADATA; } });
|
|
25
26
|
Object.defineProperty(exports, "MODULE_METADATA", { enumerable: true, get: function () { return env_1.MODULE_METADATA; } });
|
|
27
|
+
Object.defineProperty(exports, "PLUGIN_NAME_METADATA", { enumerable: true, get: function () { return env_1.PLUGIN_NAME_METADATA; } });
|
|
26
28
|
Object.defineProperty(exports, "PLUGIN_DIR_KEY", { enumerable: true, get: function () { return env_1.PLUGIN_DIR_KEY; } });
|
package/lib/makes/Config.d.ts
CHANGED
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { EnvConfig, PickProperties } from "../types";
|
|
2
|
+
import { PresetType } from "./Preset";
|
|
2
3
|
export type ConfigProperties = Omit<PickProperties<Config>, "logLevel"> & {
|
|
3
4
|
logLevel?: Config["logLevel"];
|
|
4
5
|
};
|
|
@@ -6,6 +7,11 @@ export declare abstract class Config {
|
|
|
6
7
|
debug?: boolean;
|
|
7
8
|
logLevel: "off" | "info" | "warn" | "error";
|
|
8
9
|
plugins: string[];
|
|
10
|
+
presets?: {
|
|
11
|
+
name: string;
|
|
12
|
+
source: PresetType;
|
|
13
|
+
path?: string;
|
|
14
|
+
}[];
|
|
9
15
|
projects: {
|
|
10
16
|
id: string;
|
|
11
17
|
name?: string;
|
|
@@ -17,6 +23,8 @@ export declare abstract class Config {
|
|
|
17
23
|
addPlugin(plugin: string): void;
|
|
18
24
|
removePlugin(removePlugin: string): void;
|
|
19
25
|
setProject(id: string, path: string): void;
|
|
26
|
+
registerPreset(name: string, source: PresetType, path?: string): void;
|
|
27
|
+
unregisterPreset(name: string): void;
|
|
20
28
|
getMeta(name: string, defaultValue: string): string;
|
|
21
29
|
setMeta(name: string, value: string): void;
|
|
22
30
|
unsetMeta(name: string): void;
|
package/lib/makes/Config.js
CHANGED
|
@@ -5,6 +5,7 @@ class Config {
|
|
|
5
5
|
constructor(data) {
|
|
6
6
|
this.logLevel = "off";
|
|
7
7
|
this.plugins = [];
|
|
8
|
+
this.presets = [];
|
|
8
9
|
this.projects = [];
|
|
9
10
|
Object.assign(this, data);
|
|
10
11
|
}
|
|
@@ -31,6 +32,32 @@ class Config {
|
|
|
31
32
|
}
|
|
32
33
|
];
|
|
33
34
|
}
|
|
35
|
+
registerPreset(name, source, path) {
|
|
36
|
+
if (!this.presets) {
|
|
37
|
+
this.presets = [];
|
|
38
|
+
}
|
|
39
|
+
const preset = this.presets.find((preset) => {
|
|
40
|
+
return preset.name === name;
|
|
41
|
+
});
|
|
42
|
+
if (!preset) {
|
|
43
|
+
this.presets.push({
|
|
44
|
+
name,
|
|
45
|
+
source,
|
|
46
|
+
path
|
|
47
|
+
});
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
unregisterPreset(name) {
|
|
51
|
+
if (!this.presets) {
|
|
52
|
+
return;
|
|
53
|
+
}
|
|
54
|
+
this.presets = this.presets.filter((preset) => {
|
|
55
|
+
return preset.name !== name;
|
|
56
|
+
});
|
|
57
|
+
if (this.presets.length === 0) {
|
|
58
|
+
delete this.presets;
|
|
59
|
+
}
|
|
60
|
+
}
|
|
34
61
|
getMeta(name, defaultValue) {
|
|
35
62
|
if (!this.meta || !(name in this.meta)) {
|
|
36
63
|
return defaultValue;
|
|
@@ -73,14 +100,16 @@ class Config {
|
|
|
73
100
|
delete this.env;
|
|
74
101
|
}
|
|
75
102
|
}
|
|
103
|
+
// noinspection JSUnusedGlobalSymbols
|
|
76
104
|
toJson() {
|
|
77
105
|
return {
|
|
78
106
|
debug: this.debug,
|
|
79
107
|
logLevel: this.logLevel,
|
|
80
108
|
plugins: this.plugins,
|
|
81
109
|
projects: this.projects,
|
|
82
|
-
|
|
83
|
-
env: this.env
|
|
110
|
+
presets: (this.presets || []).length > 0 ? this.presets : undefined,
|
|
111
|
+
env: this.env,
|
|
112
|
+
meta: this.meta
|
|
84
113
|
};
|
|
85
114
|
}
|
|
86
115
|
}
|
package/lib/makes/Factory.js
CHANGED
|
@@ -76,7 +76,7 @@ class Factory {
|
|
|
76
76
|
if (moduleType.prototype.load) {
|
|
77
77
|
const { imports } = yield moduleType.prototype.load(this.container);
|
|
78
78
|
for (const type of imports) {
|
|
79
|
-
const isModule = Reflect.getMetadata(
|
|
79
|
+
const isModule = Reflect.getMetadata(env_1.IS_MODULE_METADATA, type);
|
|
80
80
|
if (!isModule) {
|
|
81
81
|
continue;
|
|
82
82
|
}
|
package/lib/makes/Preset.d.ts
CHANGED
|
@@ -23,8 +23,8 @@ type SelectOption = {
|
|
|
23
23
|
type AnyOption = TextOption | ConfirmOption | SelectOption;
|
|
24
24
|
export type PresetProperties = PickProperties<Preset>;
|
|
25
25
|
export declare abstract class Preset {
|
|
26
|
-
id: string;
|
|
27
26
|
name: string;
|
|
27
|
+
source?: PresetType;
|
|
28
28
|
version: string;
|
|
29
29
|
dockerfile?: string;
|
|
30
30
|
buildArgsOptions?: {
|
|
@@ -33,10 +33,16 @@ export declare abstract class Preset {
|
|
|
33
33
|
envOptions?: {
|
|
34
34
|
[name: string]: AnyOption;
|
|
35
35
|
};
|
|
36
|
-
path
|
|
36
|
+
path?: string;
|
|
37
37
|
volumes?: string[];
|
|
38
38
|
volumeOptions?: string[];
|
|
39
39
|
protected constructor(data: PresetProperties);
|
|
40
40
|
abstract save(): Promise<void>;
|
|
41
|
+
abstract delete(): Promise<void>;
|
|
42
|
+
toJSON(): PresetProperties;
|
|
41
43
|
}
|
|
44
|
+
export declare const PRESET_SOURCE_INTERNAL = "internal";
|
|
45
|
+
export declare const PRESET_SOURCE_EXTERNAL = "external";
|
|
46
|
+
export declare const PRESET_SOURCE_GITHUB = "github";
|
|
47
|
+
export type PresetType = typeof PRESET_SOURCE_INTERNAL | typeof PRESET_SOURCE_EXTERNAL | typeof PRESET_SOURCE_GITHUB;
|
|
42
48
|
export {};
|
package/lib/makes/Preset.js
CHANGED
|
@@ -1,10 +1,10 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.Preset = void 0;
|
|
3
|
+
exports.PRESET_SOURCE_GITHUB = exports.PRESET_SOURCE_EXTERNAL = exports.PRESET_SOURCE_INTERNAL = exports.Preset = void 0;
|
|
4
4
|
class Preset {
|
|
5
5
|
constructor(data) {
|
|
6
|
-
this.id = data.id;
|
|
7
6
|
this.name = data.name;
|
|
7
|
+
this.source = data.source;
|
|
8
8
|
this.path = data.path;
|
|
9
9
|
this.version = data.version;
|
|
10
10
|
this.dockerfile = data.dockerfile;
|
|
@@ -13,5 +13,22 @@ class Preset {
|
|
|
13
13
|
this.volumes = data.volumes;
|
|
14
14
|
this.volumeOptions = data.volumeOptions;
|
|
15
15
|
}
|
|
16
|
+
// noinspection JSUnusedGlobalSymbols
|
|
17
|
+
toJSON() {
|
|
18
|
+
return {
|
|
19
|
+
name: this.name,
|
|
20
|
+
source: this.source,
|
|
21
|
+
version: this.version,
|
|
22
|
+
dockerfile: this.dockerfile,
|
|
23
|
+
buildArgsOptions: this.buildArgsOptions,
|
|
24
|
+
envOptions: this.envOptions,
|
|
25
|
+
path: this.path,
|
|
26
|
+
volumes: this.volumes,
|
|
27
|
+
volumeOptions: this.volumeOptions
|
|
28
|
+
};
|
|
29
|
+
}
|
|
16
30
|
}
|
|
17
31
|
exports.Preset = Preset;
|
|
32
|
+
exports.PRESET_SOURCE_INTERNAL = "internal";
|
|
33
|
+
exports.PRESET_SOURCE_EXTERNAL = "external";
|
|
34
|
+
exports.PRESET_SOURCE_GITHUB = "github";
|
package/package.json
CHANGED
|
@@ -1,8 +1,8 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@wocker/core",
|
|
3
|
-
"version": "1.0.
|
|
3
|
+
"version": "1.0.14",
|
|
4
4
|
"author": "Kris Papercut <krispcut@gmail.com>",
|
|
5
|
-
"description": "Core of
|
|
5
|
+
"description": "Core of the Wocker",
|
|
6
6
|
"license": "MIT",
|
|
7
7
|
"main": "lib/index.js",
|
|
8
8
|
"types": "lib/index.d.ts",
|