@wocker/core 1.0.4 → 1.0.6
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 +28 -0
- package/lib/decorators/Command.d.ts +1 -0
- package/lib/decorators/Command.js +10 -0
- package/lib/decorators/Completion.d.ts +1 -0
- package/lib/decorators/Completion.js +15 -0
- package/lib/decorators/Controller.d.ts +5 -0
- package/lib/decorators/Controller.js +14 -0
- package/lib/decorators/Inject.d.ts +1 -1
- package/lib/decorators/Inject.js +10 -2
- package/lib/decorators/Injectable.d.ts +1 -4
- package/lib/decorators/Injectable.js +7 -12
- package/lib/decorators/Module.d.ts +15 -0
- package/lib/decorators/Module.js +16 -0
- package/lib/decorators/Option.d.ts +4 -0
- package/lib/decorators/Option.js +21 -0
- package/lib/decorators/Param.d.ts +1 -0
- package/lib/decorators/Param.js +8 -0
- package/lib/decorators/index.d.ts +7 -0
- package/lib/decorators/index.js +23 -0
- package/lib/env.d.ts +18 -0
- package/lib/env.js +22 -0
- package/lib/index.d.ts +5 -17
- package/lib/index.js +8 -18
- package/lib/makes/Container.d.ts +8 -0
- package/lib/makes/Container.js +25 -0
- package/lib/makes/FS.d.ts +15 -3
- package/lib/makes/FS.js +99 -4
- package/lib/makes/FSManager.js +4 -4
- package/lib/makes/Factory.d.ts +17 -0
- package/lib/makes/Factory.js +201 -0
- package/lib/makes/InstanceWrapper.d.ts +10 -0
- package/lib/makes/InstanceWrapper.js +41 -0
- package/lib/makes/Logger.d.ts +4 -5
- package/lib/makes/Logger.js +8 -9
- package/lib/makes/Module.d.ts +17 -0
- package/lib/makes/Module.js +63 -0
- package/lib/makes/Plugin.d.ts +1 -3
- package/lib/makes/Plugin.js +2 -3
- package/lib/{models → makes}/Preset.d.ts +4 -4
- package/lib/{models → makes}/Project.d.ts +14 -10
- package/lib/{models → makes}/Project.js +60 -24
- package/lib/makes/Scanner.d.ts +4 -0
- package/lib/makes/Scanner.js +9 -0
- package/lib/makes/index.d.ts +9 -0
- package/lib/makes/index.js +25 -0
- package/lib/services/AppConfigService.d.ts +1 -1
- package/lib/services/AppConfigService.js +12 -2
- package/lib/services/AppEventsService.d.ts +2 -2
- package/lib/services/AppEventsService.js +12 -2
- package/lib/services/DockerService.d.ts +13 -1
- package/lib/services/DockerService.js +12 -2
- package/lib/services/LogService.d.ts +2 -3
- package/lib/services/LogService.js +12 -2
- package/lib/services/PluginConfigService.d.ts +5 -0
- package/lib/services/PluginConfigService.js +64 -0
- package/lib/services/PresetService.d.ts +6 -7
- package/lib/services/ProjectService.d.ts +5 -3
- package/lib/services/ProjectService.js +14 -4
- package/lib/services/index.d.ts +7 -0
- package/lib/services/index.js +23 -0
- package/lib/types/Abstract.d.ts +3 -0
- package/lib/types/Abstract.js +2 -0
- package/lib/types/InjectionToken.d.ts +3 -0
- package/lib/types/InjectionToken.js +2 -0
- package/lib/types/PickProperties.d.ts +3 -0
- package/lib/types/PickProperties.js +2 -0
- package/lib/types/Provider.d.ts +12 -0
- package/lib/types/Provider.js +2 -0
- package/lib/types/Type.d.ts +3 -0
- package/lib/types/Type.js +2 -0
- package/lib/types/index.d.ts +3 -0
- package/lib/types/index.js +19 -0
- package/package.json +17 -6
- package/lib/makes/Controller.d.ts +0 -5
- package/lib/makes/Controller.js +0 -9
- /package/lib/{models → makes}/Preset.js +0 -0
package/README.md
CHANGED
|
@@ -1 +1,29 @@
|
|
|
1
1
|
# @wocker/core
|
|
2
|
+
|
|
3
|
+
###### Docker workspace for web projects
|
|
4
|
+
|
|
5
|
+
## Installation
|
|
6
|
+
|
|
7
|
+
**Note:** It is recommended to install Wocker globally to ensure accessibility from any directory in your terminal.
|
|
8
|
+
|
|
9
|
+
```shell
|
|
10
|
+
npm i -g @wocker/ws
|
|
11
|
+
```
|
|
12
|
+
|
|
13
|
+
|
|
14
|
+
### Completion
|
|
15
|
+
|
|
16
|
+
Wocker comes with shell completion support to enhance your development workflow. To enable shell completion, run the following command:
|
|
17
|
+
|
|
18
|
+
```bash
|
|
19
|
+
source <(ws completion script)
|
|
20
|
+
```
|
|
21
|
+
|
|
22
|
+
This will enable tab completion for `ws` commands, providing a more convenient and efficient way to interact with the tool.
|
|
23
|
+
|
|
24
|
+
|
|
25
|
+
## Documentation
|
|
26
|
+
|
|
27
|
+
Wocker is a powerful tool for managing your web project's Docker workspace. It provides a convenient and efficient way to set up and manage your Docker containers.
|
|
28
|
+
|
|
29
|
+
For more information and detailed usage, please refer to the [documentation](https://kearisp.github.io/wocker).
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Command: (command: string) => MethodDecorator;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Command = void 0;
|
|
4
|
+
const env_1 = require("../env");
|
|
5
|
+
const Command = (command) => {
|
|
6
|
+
return (target, key, descriptor) => {
|
|
7
|
+
Reflect.defineMetadata(env_1.COMMAND_METADATA, command, descriptor.value);
|
|
8
|
+
};
|
|
9
|
+
};
|
|
10
|
+
exports.Command = Command;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Completion: (name: string, command?: string) => MethodDecorator;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Completion = void 0;
|
|
4
|
+
const Completion = (name, command) => {
|
|
5
|
+
return (target, propertyKey, descriptor) => {
|
|
6
|
+
Reflect.defineMetadata("completion", [
|
|
7
|
+
...Reflect.getMetadata("completion", descriptor.value) || [],
|
|
8
|
+
{
|
|
9
|
+
name,
|
|
10
|
+
command
|
|
11
|
+
}
|
|
12
|
+
], descriptor.value);
|
|
13
|
+
};
|
|
14
|
+
};
|
|
15
|
+
exports.Completion = Completion;
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Controller = void 0;
|
|
4
|
+
const Controller = (params) => {
|
|
5
|
+
const { command } = params || {};
|
|
6
|
+
return (target) => {
|
|
7
|
+
if (!command) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
Reflect.defineMetadata("IS_CONTROLLER", true, target);
|
|
11
|
+
// TODO:
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
exports.Controller = Controller;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const Inject:
|
|
1
|
+
export declare const Inject: <T = any>(token?: T) => ParameterDecorator;
|
package/lib/decorators/Inject.js
CHANGED
|
@@ -1,8 +1,16 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Inject = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
4
|
+
const env_1 = require("../env");
|
|
5
|
+
const Inject = (token) => {
|
|
6
|
+
return (target, propertyKey, parameterIndex) => {
|
|
7
|
+
Reflect.defineMetadata(env_1.SELF_DECLARED_DEPS_METADATA, [
|
|
8
|
+
...Reflect.getMetadata(env_1.SELF_DECLARED_DEPS_METADATA, target) || [],
|
|
9
|
+
{
|
|
10
|
+
token: token,
|
|
11
|
+
index: parameterIndex
|
|
12
|
+
}
|
|
13
|
+
], target);
|
|
6
14
|
};
|
|
7
15
|
};
|
|
8
16
|
exports.Inject = Inject;
|
|
@@ -1,18 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.Injectable = void 0;
|
|
4
|
-
const
|
|
5
|
-
|
|
6
|
-
|
|
7
|
-
|
|
8
|
-
|
|
9
|
-
|
|
10
|
-
|
|
11
|
-
return (di).resolveService(type);
|
|
12
|
-
});
|
|
13
|
-
super(...params);
|
|
14
|
-
}
|
|
15
|
-
};
|
|
4
|
+
const env_1 = require("../env");
|
|
5
|
+
const Injectable = (token) => {
|
|
6
|
+
return (target) => {
|
|
7
|
+
Reflect.defineMetadata(env_1.INJECTABLE_WATERMARK, true, target);
|
|
8
|
+
if (token) {
|
|
9
|
+
Reflect.defineMetadata(env_1.INJECT_TOKEN_METADATA, token, target);
|
|
10
|
+
}
|
|
16
11
|
};
|
|
17
12
|
};
|
|
18
13
|
exports.Injectable = Injectable;
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { MODULE_METADATA } from "../env";
|
|
2
|
+
import { Provider } from "../types/Provider";
|
|
3
|
+
import { Type } from "../types/Type";
|
|
4
|
+
type Config = {
|
|
5
|
+
[MODULE_METADATA.NAME]?: string;
|
|
6
|
+
[MODULE_METADATA.CONTROLLERS]?: any[];
|
|
7
|
+
[MODULE_METADATA.PROVIDERS]?: Provider[];
|
|
8
|
+
[MODULE_METADATA.IMPORTS]?: any[];
|
|
9
|
+
[MODULE_METADATA.EXPORTS]?: any[];
|
|
10
|
+
};
|
|
11
|
+
export type DynamicModule = {
|
|
12
|
+
providers?: any[];
|
|
13
|
+
};
|
|
14
|
+
export declare const Module: (config: Config) => <T extends Type>(Target: T) => void;
|
|
15
|
+
export {};
|
|
@@ -0,0 +1,16 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Module = void 0;
|
|
4
|
+
const env_1 = require("../env");
|
|
5
|
+
const Module = (config) => {
|
|
6
|
+
const { [env_1.MODULE_METADATA.NAME]: name, [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
|
+
return (Target) => {
|
|
8
|
+
Reflect.defineMetadata("isModule", true, Target);
|
|
9
|
+
Reflect.defineMetadata(env_1.MODULE_METADATA.NAME, name, Target);
|
|
10
|
+
Reflect.defineMetadata(env_1.MODULE_METADATA.IMPORTS, imports, Target);
|
|
11
|
+
Reflect.defineMetadata(env_1.MODULE_METADATA.CONTROLLERS, controllers, Target);
|
|
12
|
+
Reflect.defineMetadata(env_1.MODULE_METADATA.PROVIDERS, providers, Target);
|
|
13
|
+
Reflect.defineMetadata(env_1.MODULE_METADATA.EXPORTS, exports, Target);
|
|
14
|
+
};
|
|
15
|
+
};
|
|
16
|
+
exports.Module = Module;
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Option = void 0;
|
|
4
|
+
const env_1 = require("../env");
|
|
5
|
+
const Option = (name, params) => {
|
|
6
|
+
return (target, key, index) => {
|
|
7
|
+
if (!key) {
|
|
8
|
+
return;
|
|
9
|
+
}
|
|
10
|
+
Reflect.defineMetadata(env_1.ARGS_METADATA, [
|
|
11
|
+
...Reflect.getMetadata(env_1.ARGS_METADATA, target.constructor, key) || [],
|
|
12
|
+
{
|
|
13
|
+
type: "option",
|
|
14
|
+
name,
|
|
15
|
+
params,
|
|
16
|
+
index
|
|
17
|
+
}
|
|
18
|
+
], target.constructor, key);
|
|
19
|
+
};
|
|
20
|
+
};
|
|
21
|
+
exports.Option = Option;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export declare const Param: (name: string) => MethodDecorator;
|
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
16
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
+
__exportStar(require("./Command"), exports);
|
|
18
|
+
__exportStar(require("./Completion"), exports);
|
|
19
|
+
__exportStar(require("./Controller"), exports);
|
|
20
|
+
__exportStar(require("./Inject"), exports);
|
|
21
|
+
__exportStar(require("./Injectable"), exports);
|
|
22
|
+
__exportStar(require("./Module"), exports);
|
|
23
|
+
__exportStar(require("./Option"), exports);
|
package/lib/env.d.ts
ADDED
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
export declare const IS_MODULE = "IS_MODULE";
|
|
2
|
+
export declare const INJECTABLE_WATERMARK = "__injectable__";
|
|
3
|
+
export declare const ARGS_META = "__ARGS__";
|
|
4
|
+
export declare const COMMAND_METADATA = "command";
|
|
5
|
+
export declare const COMPLETION_METADATA = "completion";
|
|
6
|
+
export declare const ARGS_METADATA = "__ARGS__";
|
|
7
|
+
export declare const OPTION_META = "__OPTION_META__";
|
|
8
|
+
export declare const PARAMTYPES_METADATA = "design:paramtypes";
|
|
9
|
+
export declare const SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
|
|
10
|
+
export declare const INJECT_TOKEN_METADATA = "INJECT_TOKEN";
|
|
11
|
+
export declare const PLUGIN_DIR_KEY = "PLUGIN_DIR";
|
|
12
|
+
export declare enum MODULE_METADATA {
|
|
13
|
+
NAME = "name",
|
|
14
|
+
IMPORTS = "imports",
|
|
15
|
+
EXPORTS = "exports",
|
|
16
|
+
CONTROLLERS = "controllers",
|
|
17
|
+
PROVIDERS = "providers"
|
|
18
|
+
}
|
package/lib/env.js
ADDED
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.MODULE_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_METADATA = exports.ARGS_META = exports.INJECTABLE_WATERMARK = exports.IS_MODULE = void 0;
|
|
4
|
+
exports.IS_MODULE = "IS_MODULE";
|
|
5
|
+
exports.INJECTABLE_WATERMARK = "__injectable__";
|
|
6
|
+
exports.ARGS_META = "__ARGS__";
|
|
7
|
+
exports.COMMAND_METADATA = "command";
|
|
8
|
+
exports.COMPLETION_METADATA = "completion";
|
|
9
|
+
exports.ARGS_METADATA = "__ARGS__";
|
|
10
|
+
exports.OPTION_META = "__OPTION_META__";
|
|
11
|
+
exports.PARAMTYPES_METADATA = "design:paramtypes";
|
|
12
|
+
exports.SELF_DECLARED_DEPS_METADATA = "self:paramtypes";
|
|
13
|
+
exports.INJECT_TOKEN_METADATA = "INJECT_TOKEN";
|
|
14
|
+
exports.PLUGIN_DIR_KEY = "PLUGIN_DIR";
|
|
15
|
+
var MODULE_METADATA;
|
|
16
|
+
(function (MODULE_METADATA) {
|
|
17
|
+
MODULE_METADATA["NAME"] = "name";
|
|
18
|
+
MODULE_METADATA["IMPORTS"] = "imports";
|
|
19
|
+
MODULE_METADATA["EXPORTS"] = "exports";
|
|
20
|
+
MODULE_METADATA["CONTROLLERS"] = "controllers";
|
|
21
|
+
MODULE_METADATA["PROVIDERS"] = "providers";
|
|
22
|
+
})(MODULE_METADATA || (exports.MODULE_METADATA = MODULE_METADATA = {}));
|
package/lib/index.d.ts
CHANGED
|
@@ -1,18 +1,6 @@
|
|
|
1
1
|
export { Cli } from "@kearisp/cli";
|
|
2
|
-
export * from "./decorators
|
|
3
|
-
export * from "./
|
|
4
|
-
export * from "./
|
|
5
|
-
export * from "./
|
|
6
|
-
export
|
|
7
|
-
export * from "./makes/Logger";
|
|
8
|
-
export * from "./makes/Plugin";
|
|
9
|
-
export * from "./models/Preset";
|
|
10
|
-
export * from "./models/Project";
|
|
11
|
-
export * from "./services/AppConfigService";
|
|
12
|
-
export * from "./services/AppEventsService";
|
|
13
|
-
export * from "./services/DockerService";
|
|
14
|
-
export * from "./services/LogService";
|
|
15
|
-
export * from "./services/PresetService";
|
|
16
|
-
export * from "./services/ProjectService";
|
|
17
|
-
export * from "./types/AppConfig";
|
|
18
|
-
export * from "./types/EnvConfig";
|
|
2
|
+
export * from "./decorators";
|
|
3
|
+
export * from "./makes";
|
|
4
|
+
export * from "./services";
|
|
5
|
+
export * from "./types";
|
|
6
|
+
export { MODULE_METADATA, PLUGIN_DIR_KEY } from "./env";
|
package/lib/index.js
CHANGED
|
@@ -14,23 +14,13 @@ 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.Cli = void 0;
|
|
17
|
+
exports.PLUGIN_DIR_KEY = exports.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
|
-
__exportStar(require("./decorators
|
|
21
|
-
__exportStar(require("./
|
|
22
|
-
__exportStar(require("./
|
|
23
|
-
__exportStar(require("./
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
__exportStar(require("./models/Preset"), exports);
|
|
28
|
-
__exportStar(require("./models/Project"), exports);
|
|
29
|
-
__exportStar(require("./services/AppConfigService"), exports);
|
|
30
|
-
__exportStar(require("./services/AppEventsService"), exports);
|
|
31
|
-
__exportStar(require("./services/DockerService"), exports);
|
|
32
|
-
__exportStar(require("./services/LogService"), exports);
|
|
33
|
-
__exportStar(require("./services/PresetService"), exports);
|
|
34
|
-
__exportStar(require("./services/ProjectService"), exports);
|
|
35
|
-
__exportStar(require("./types/AppConfig"), exports);
|
|
36
|
-
__exportStar(require("./types/EnvConfig"), exports);
|
|
20
|
+
__exportStar(require("./decorators"), exports);
|
|
21
|
+
__exportStar(require("./makes"), exports);
|
|
22
|
+
__exportStar(require("./services"), exports);
|
|
23
|
+
__exportStar(require("./types"), exports);
|
|
24
|
+
var env_1 = require("./env");
|
|
25
|
+
Object.defineProperty(exports, "MODULE_METADATA", { enumerable: true, get: function () { return env_1.MODULE_METADATA; } });
|
|
26
|
+
Object.defineProperty(exports, "PLUGIN_DIR_KEY", { enumerable: true, get: function () { return env_1.PLUGIN_DIR_KEY; } });
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import { Module } from "./Module";
|
|
2
|
+
export declare class Container {
|
|
3
|
+
modules: Map<any, Module>;
|
|
4
|
+
hasModule(type: any): boolean;
|
|
5
|
+
getModule(type: any): Module | undefined;
|
|
6
|
+
addModule(type: any, module: Module): void;
|
|
7
|
+
addController(moduleType: any, type: any): void;
|
|
8
|
+
}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Container = void 0;
|
|
4
|
+
class Container {
|
|
5
|
+
constructor() {
|
|
6
|
+
this.modules = new Map();
|
|
7
|
+
}
|
|
8
|
+
hasModule(type) {
|
|
9
|
+
return this.modules.has(type);
|
|
10
|
+
}
|
|
11
|
+
getModule(type) {
|
|
12
|
+
return this.modules.get(type);
|
|
13
|
+
}
|
|
14
|
+
addModule(type, module) {
|
|
15
|
+
this.modules.set(type, module);
|
|
16
|
+
}
|
|
17
|
+
addController(moduleType, type) {
|
|
18
|
+
const module = this.getModule(moduleType);
|
|
19
|
+
if (!module) {
|
|
20
|
+
return;
|
|
21
|
+
}
|
|
22
|
+
module.addController(type);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.Container = Container;
|
package/lib/makes/FS.d.ts
CHANGED
|
@@ -1,7 +1,19 @@
|
|
|
1
1
|
/// <reference types="node" />
|
|
2
|
-
|
|
2
|
+
/// <reference types="node" />
|
|
3
|
+
/// <reference types="node" />
|
|
4
|
+
/// <reference types="node" />
|
|
5
|
+
import { Abortable } from "node:events";
|
|
6
|
+
import { PathLike, PathOrFileDescriptor, WriteFileOptions, RmOptions, MakeDirectoryOptions } from "fs";
|
|
7
|
+
type ReadFileOptions = Abortable & {
|
|
8
|
+
encoding?: BufferEncoding;
|
|
9
|
+
flag?: string;
|
|
10
|
+
};
|
|
3
11
|
declare class FS {
|
|
4
|
-
static
|
|
5
|
-
static
|
|
12
|
+
static mkdir(path: PathLike, options?: MakeDirectoryOptions): Promise<unknown>;
|
|
13
|
+
static readFile(filePath: PathOrFileDescriptor, options?: ReadFileOptions): Promise<string | Buffer>;
|
|
14
|
+
static writeFile(filePath: PathOrFileDescriptor, data: string | NodeJS.ArrayBufferView, options?: WriteFileOptions): Promise<unknown>;
|
|
15
|
+
static readJSON(...paths: string[]): Promise<any>;
|
|
16
|
+
static writeJSON(filePath: PathOrFileDescriptor, data: any, options?: WriteFileOptions): Promise<void>;
|
|
17
|
+
static rm(path: PathLike, options?: RmOptions): Promise<void>;
|
|
6
18
|
}
|
|
7
19
|
export { FS };
|
package/lib/makes/FS.js
CHANGED
|
@@ -1,4 +1,27 @@
|
|
|
1
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 (mod) {
|
|
19
|
+
if (mod && mod.__esModule) return mod;
|
|
20
|
+
var result = {};
|
|
21
|
+
if (mod != null) for (var k in mod) if (k !== "default" && Object.prototype.hasOwnProperty.call(mod, k)) __createBinding(result, mod, k);
|
|
22
|
+
__setModuleDefault(result, mod);
|
|
23
|
+
return result;
|
|
24
|
+
};
|
|
2
25
|
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
3
26
|
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
4
27
|
return new (P || (P = Promise))(function (resolve, reject) {
|
|
@@ -11,10 +34,57 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
34
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
35
|
exports.FS = void 0;
|
|
13
36
|
const fs_1 = require("fs");
|
|
37
|
+
const Path = __importStar(require("path"));
|
|
14
38
|
class FS {
|
|
15
|
-
static
|
|
39
|
+
static mkdir(path, options) {
|
|
40
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
41
|
+
return new Promise((resolve, reject) => {
|
|
42
|
+
(0, fs_1.mkdir)(path, options, (err) => {
|
|
43
|
+
if (err) {
|
|
44
|
+
reject(err);
|
|
45
|
+
return;
|
|
46
|
+
}
|
|
47
|
+
resolve(undefined);
|
|
48
|
+
});
|
|
49
|
+
});
|
|
50
|
+
});
|
|
51
|
+
}
|
|
52
|
+
static readFile(filePath, options) {
|
|
53
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
54
|
+
return new Promise((resolve, reject) => {
|
|
55
|
+
(0, fs_1.readFile)(filePath, options, (err, res) => {
|
|
56
|
+
if (err) {
|
|
57
|
+
reject(err);
|
|
58
|
+
return;
|
|
59
|
+
}
|
|
60
|
+
resolve(res);
|
|
61
|
+
});
|
|
62
|
+
});
|
|
63
|
+
});
|
|
64
|
+
}
|
|
65
|
+
static writeFile(filePath, data, options) {
|
|
66
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
67
|
+
return new Promise((resolve, reject) => {
|
|
68
|
+
const callback = (err) => {
|
|
69
|
+
if (err) {
|
|
70
|
+
reject(err);
|
|
71
|
+
return;
|
|
72
|
+
}
|
|
73
|
+
resolve(undefined);
|
|
74
|
+
};
|
|
75
|
+
if (options) {
|
|
76
|
+
(0, fs_1.writeFile)(filePath, data, options, callback);
|
|
77
|
+
}
|
|
78
|
+
else {
|
|
79
|
+
(0, fs_1.writeFile)(filePath, data, callback);
|
|
80
|
+
}
|
|
81
|
+
});
|
|
82
|
+
});
|
|
83
|
+
}
|
|
84
|
+
static readJSON(...paths) {
|
|
16
85
|
return __awaiter(this, void 0, void 0, function* () {
|
|
17
86
|
const res = yield new Promise((resolve, reject) => {
|
|
87
|
+
const filePath = Path.join(...paths);
|
|
18
88
|
(0, fs_1.readFile)(filePath, (err, data) => {
|
|
19
89
|
if (err) {
|
|
20
90
|
reject(err);
|
|
@@ -26,17 +96,42 @@ class FS {
|
|
|
26
96
|
return JSON.parse(res.toString());
|
|
27
97
|
});
|
|
28
98
|
}
|
|
29
|
-
static writeJSON(filePath, data) {
|
|
99
|
+
static writeJSON(filePath, data, options) {
|
|
30
100
|
return __awaiter(this, void 0, void 0, function* () {
|
|
31
101
|
const json = JSON.stringify(data, null, 4);
|
|
32
102
|
return new Promise((resolve, reject) => {
|
|
33
|
-
|
|
103
|
+
const callback = (err) => {
|
|
34
104
|
if (err) {
|
|
35
105
|
reject(err);
|
|
36
106
|
return;
|
|
37
107
|
}
|
|
38
108
|
resolve(undefined);
|
|
39
|
-
}
|
|
109
|
+
};
|
|
110
|
+
if (options) {
|
|
111
|
+
(0, fs_1.writeFile)(filePath, json, options, callback);
|
|
112
|
+
}
|
|
113
|
+
else {
|
|
114
|
+
(0, fs_1.writeFile)(filePath, json, callback);
|
|
115
|
+
}
|
|
116
|
+
});
|
|
117
|
+
});
|
|
118
|
+
}
|
|
119
|
+
static rm(path, options) {
|
|
120
|
+
return __awaiter(this, void 0, void 0, function* () {
|
|
121
|
+
return new Promise((resolve, reject) => {
|
|
122
|
+
const callback = (err) => {
|
|
123
|
+
if (err) {
|
|
124
|
+
reject(err);
|
|
125
|
+
return;
|
|
126
|
+
}
|
|
127
|
+
resolve(undefined);
|
|
128
|
+
};
|
|
129
|
+
if (options) {
|
|
130
|
+
(0, fs_1.rm)(path, options, callback);
|
|
131
|
+
}
|
|
132
|
+
else {
|
|
133
|
+
(0, fs_1.rm)(path, callback);
|
|
134
|
+
}
|
|
40
135
|
});
|
|
41
136
|
});
|
|
42
137
|
}
|
package/lib/makes/FSManager.js
CHANGED
|
@@ -43,8 +43,8 @@ class FSManager {
|
|
|
43
43
|
path(...parts) {
|
|
44
44
|
return Path.join(this.destination, ...parts);
|
|
45
45
|
}
|
|
46
|
-
mkdir(
|
|
47
|
-
return __awaiter(this,
|
|
46
|
+
mkdir(path_1) {
|
|
47
|
+
return __awaiter(this, arguments, void 0, function* (path, options = {}) {
|
|
48
48
|
const fullPath = Path.join(this.destination, path);
|
|
49
49
|
return new Promise((resolve, reject) => {
|
|
50
50
|
(0, fs_1.mkdir)(fullPath, options, (err) => {
|
|
@@ -120,8 +120,8 @@ class FSManager {
|
|
|
120
120
|
});
|
|
121
121
|
});
|
|
122
122
|
}
|
|
123
|
-
rm(
|
|
124
|
-
return __awaiter(this,
|
|
123
|
+
rm(path_1) {
|
|
124
|
+
return __awaiter(this, arguments, void 0, function* (path, options = {}) {
|
|
125
125
|
const filePath = Path.join(this.destination, path);
|
|
126
126
|
return new Promise((resolve, reject) => {
|
|
127
127
|
fs_1.default.rm(filePath, options, (err) => {
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import { Module } from "./Module";
|
|
2
|
+
export declare class Factory {
|
|
3
|
+
private readonly cli;
|
|
4
|
+
private readonly container;
|
|
5
|
+
private routes;
|
|
6
|
+
private constructor();
|
|
7
|
+
scan(moduleType: any): Promise<void>;
|
|
8
|
+
scanModules(moduleType: any, parent?: Module): Promise<Module | undefined>;
|
|
9
|
+
scanDependencies(): Promise<void>;
|
|
10
|
+
scanModuleDependencies(module: Module): Promise<void>;
|
|
11
|
+
scanDynamicModules(): Promise<void>;
|
|
12
|
+
scanRoutes(): Promise<void>;
|
|
13
|
+
log(...args: any[]): void;
|
|
14
|
+
init(): Promise<void>;
|
|
15
|
+
run(args: string[]): Promise<any>;
|
|
16
|
+
static create(module: any): Promise<Factory>;
|
|
17
|
+
}
|