@142vip/nest-starter 0.0.1-alpha.1 → 0.0.1-alpha.10
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/dist/app.config.d.ts +1 -1
- package/dist/app.config.d.ts.map +1 -0
- package/dist/app.config.js +2 -2
- package/dist/config/index.d.ts +1 -0
- package/dist/config/index.d.ts.map +1 -0
- package/dist/config/index.js +0 -1
- package/dist/config/plugin/logger.config.d.ts +1 -0
- package/dist/config/plugin/logger.config.d.ts.map +1 -0
- package/dist/config/plugin/logger.config.js +3 -1
- package/dist/config/plugin/redis.config.d.ts +2 -1
- package/dist/config/plugin/redis.config.d.ts.map +1 -0
- package/dist/config/plugin/redis.config.js +1 -1
- package/dist/config/plugin/sequelize.config.d.ts +2 -0
- package/dist/config/plugin/sequelize.config.d.ts.map +1 -0
- package/dist/config/plugin/sequelize.config.js +16 -1
- package/dist/config/plugin/swagger.config.d.ts +4 -0
- package/dist/config/plugin/swagger.config.d.ts.map +1 -0
- package/dist/config/plugin/swagger.config.js +11 -5
- package/dist/config/plugin/typeorm.config.d.ts +36 -3
- package/dist/config/plugin/typeorm.config.d.ts.map +1 -0
- package/dist/config/plugin/typeorm.config.js +120 -11
- package/dist/config/starter.config.d.ts +5 -5
- package/dist/config/starter.config.d.ts.map +1 -0
- package/dist/config/starter.config.js +29 -8
- package/dist/config.module.d.ts +7 -2
- package/dist/config.module.d.ts.map +1 -0
- package/dist/config.module.js +15 -44
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +2 -1
- package/dist/nest-process.d.ts +1 -0
- package/dist/nest-process.d.ts.map +1 -0
- package/dist/nest-process.js +1 -1
- package/dist/nest-root.module.d.ts +1 -0
- package/dist/nest-root.module.d.ts.map +1 -0
- package/dist/nest-root.module.js +5 -2
- package/dist/nest-starter.d.ts +6 -11
- package/dist/nest-starter.d.ts.map +1 -0
- package/dist/nest-starter.js +40 -39
- package/dist/nest-util.d.ts +24 -0
- package/dist/nest-util.d.ts.map +1 -0
- package/dist/nest-util.js +77 -20
- package/dist/pkgs.d.ts +6 -0
- package/dist/pkgs.d.ts.map +1 -0
- package/dist/pkgs.js +21 -0
- package/dist/swagger/index.d.ts +2 -0
- package/dist/swagger/index.d.ts.map +1 -0
- package/dist/swagger/index.js +2 -0
- package/dist/swagger/swagger.manager.d.ts +8 -0
- package/dist/swagger/swagger.manager.d.ts.map +1 -0
- package/dist/swagger/swagger.manager.js +16 -1
- package/dist/swagger/swagger.type.d.ts +5 -0
- package/dist/swagger/swagger.type.d.ts.map +1 -0
- package/dist/swagger/swagger.type.js +11 -0
- package/index.js +9 -0
- package/package.json +15 -10
package/dist/nest-process.js
CHANGED
|
@@ -9,6 +9,7 @@ var NestProcessNodeEnv;
|
|
|
9
9
|
NestProcessNodeEnv["DEVELOP"] = "dev";
|
|
10
10
|
})(NestProcessNodeEnv || (NestProcessNodeEnv = {}));
|
|
11
11
|
class NestProcess {
|
|
12
|
+
static instance;
|
|
12
13
|
static getInstance() {
|
|
13
14
|
if (this.instance == null)
|
|
14
15
|
this.instance = new NestProcess();
|
|
@@ -79,4 +80,3 @@ class NestProcess {
|
|
|
79
80
|
}
|
|
80
81
|
}
|
|
81
82
|
exports.nestProcess = NestProcess.getInstance();
|
|
82
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1wcm9jZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3QtcHJvY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBeUM7QUFFekMsSUFBSyxrQkFJSjtBQUpELFdBQUssa0JBQWtCO0lBQ3JCLHFDQUFlLENBQUE7SUFDZixtQ0FBYSxDQUFBO0lBQ2IscUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSkksa0JBQWtCLEtBQWxCLGtCQUFrQixRQUl0QjtBQUVELE1BQU0sV0FBVztJQUdSLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUVuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUVEOztPQUVHO0lBQ0ksVUFBVTtRQUNmLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxVQUFVLENBQUMsQ0FBQTtJQUNoQyxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxTQUFTLENBQUMsQ0FBQTtJQUMvQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksU0FBUztRQUNkLE9BQU8sSUFBSSxDQUFDLE1BQU0sQ0FBQyxLQUFLLENBQUMsQ0FBQTtJQUMzQixDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZ0JBQWdCO1FBQ3JCLE9BQU8sSUFBSSxDQUFDLFVBQVUsRUFBRSxLQUFLLGtCQUFrQixDQUFDLEtBQUssQ0FBQTtJQUN2RCxDQUFDO0lBRUQ7OztPQUdHO0lBQ0ksZUFBZTtRQUNwQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxJQUFJLENBQUE7SUFDdEQsQ0FBQztJQUVEOzs7T0FHRztJQUNJLGtCQUFrQjtRQUN2QixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxPQUFPLENBQUE7SUFDekQsQ0FBQztJQUVEOzs7OztPQUtHO0lBQ0ksYUFBYTtRQUNsQixNQUFNLE9BQU8sR0FBRyxJQUFJLENBQUMsVUFBVSxFQUFFLENBQUE7UUFDakMsT0FBTyxPQUFPLElBQUksSUFBSSxJQUFJLE1BQU0sQ0FBQyxNQUFNLENBQUMsa0JBQWtCLENBQUMsQ0FBQyxRQUFRLENBQUMsT0FBNkIsQ0FBQyxDQUFBO0lBQ3JHLENBQUM7SUFFRDs7T0FFRztJQUNJLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLE9BQU8saUJBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUVEOztPQUVHO0lBQ0ksTUFBTTtRQUNYLE9BQU8saUJBQVMsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNsQyxDQUFDO0NBQ0Y7QUFFWSxRQUFBLFdBQVcsR0FBRyxXQUFXLENBQUMsV0FBVyxFQUFFLENBQUEifQ==
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-root.module.d.ts","sourceRoot":"","sources":["../src/nest-root.module.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAU,MAAM,gBAAgB,CAAA;AAEtD,qBAKa,cAAc;WACX,QAAQ,CAAC,iBAAiB,EAAE,IAAI,CAAC,aAAa,EAAE,QAAQ,CAAC,GAAG,aAAa;CAMxF"}
|
package/dist/nest-root.module.js
CHANGED
|
@@ -19,6 +19,9 @@ let NestRootModule = NestRootModule_1 = class NestRootModule {
|
|
|
19
19
|
};
|
|
20
20
|
exports.NestRootModule = NestRootModule;
|
|
21
21
|
exports.NestRootModule = NestRootModule = NestRootModule_1 = __decorate([
|
|
22
|
-
(0, common_1.Module)({
|
|
22
|
+
(0, common_1.Module)({
|
|
23
|
+
imports: [
|
|
24
|
+
// NestConfigModule,
|
|
25
|
+
],
|
|
26
|
+
})
|
|
23
27
|
], NestRootModule);
|
|
24
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1yb290Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXN0LXJvb3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyQ0FBc0Q7QUFHL0MsSUFBTSxjQUFjLHNCQUFwQixNQUFNLGNBQWM7SUFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBZ0Q7UUFDckUsT0FBTztZQUNMLE1BQU0sRUFBRSxnQkFBYztZQUN0QixHQUFHLGlCQUFpQjtTQUNyQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFQWSx3Q0FBYzt5QkFBZCxjQUFjO0lBRDFCLElBQUEsZUFBTSxFQUFDLEVBQUUsQ0FBQztHQUNFLGNBQWMsQ0FPMUIifQ==
|
package/dist/nest-starter.d.ts
CHANGED
|
@@ -1,5 +1,7 @@
|
|
|
1
|
+
import type { ClassConstructor } from 'class-transformer';
|
|
1
2
|
import { NestModule } from '@142vip/nest';
|
|
2
3
|
import { NestApplicationOptions } from '@nestjs/common';
|
|
4
|
+
import { NestAppConfig } from './app.config';
|
|
3
5
|
/**
|
|
4
6
|
* Nest框架启动器
|
|
5
7
|
*/
|
|
@@ -7,12 +9,9 @@ export declare class NestStarter {
|
|
|
7
9
|
protected readonly nestApplicationOptions?: NestApplicationOptions | undefined;
|
|
8
10
|
private static instance;
|
|
9
11
|
/**
|
|
10
|
-
*
|
|
11
|
-
* @private
|
|
12
|
-
*/
|
|
13
|
-
private readonly starterConfig;
|
|
14
|
-
/**
|
|
12
|
+
*
|
|
15
13
|
* @param nestApplicationOptions
|
|
14
|
+
* @protected
|
|
16
15
|
*/
|
|
17
16
|
protected constructor(nestApplicationOptions?: NestApplicationOptions | undefined);
|
|
18
17
|
/**
|
|
@@ -23,12 +22,7 @@ export declare class NestStarter {
|
|
|
23
22
|
/**
|
|
24
23
|
* 入口
|
|
25
24
|
*/
|
|
26
|
-
start(
|
|
27
|
-
/**
|
|
28
|
-
* 设置全局配置
|
|
29
|
-
* @private
|
|
30
|
-
*/
|
|
31
|
-
private setGlobalConfig;
|
|
25
|
+
start(appModule: NestModule, rootConfigSchema: ClassConstructor<NestAppConfig>): Promise<void>;
|
|
32
26
|
/**
|
|
33
27
|
* 注册全局模块
|
|
34
28
|
* @private
|
|
@@ -36,3 +30,4 @@ export declare class NestStarter {
|
|
|
36
30
|
private registerGlobalModules;
|
|
37
31
|
private getProviders;
|
|
38
32
|
}
|
|
33
|
+
//# sourceMappingURL=nest-starter.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-starter.d.ts","sourceRoot":"","sources":["../src/nest-starter.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AACzD,OAAO,EAAE,UAAU,EAAE,MAAM,cAAc,CAAA;AAKzC,OAAO,EAGL,sBAAsB,EAEvB,MAAM,gBAAgB,CAAA;AAGvB,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAM5C;;GAEG;AACH,qBAAa,WAAW;IAQpB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB;IAPpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IACpC;;;;OAIG;IACH,SAAS,aACY,sBAAsB,CAAC,EAAE,sBAAsB,YAAA;IAGpE;;;OAGG;WACW,WAAW,CACvB,sBAAsB,CAAC,EAAE,sBAAsB,GAC9C,WAAW;IAOd;;OAEG;IACU,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IA8D3G;;;OAGG;IACH,OAAO,CAAC,qBAAqB;IAoB7B,OAAO,CAAC,YAAY;CAgErB"}
|
package/dist/nest-starter.js
CHANGED
|
@@ -7,6 +7,7 @@ const nest_typeorm_1 = require("@142vip/nest-typeorm");
|
|
|
7
7
|
const utils_1 = require("@142vip/utils");
|
|
8
8
|
const common_1 = require("@nestjs/common");
|
|
9
9
|
const core_1 = require("@nestjs/core");
|
|
10
|
+
const nest_typed_config_1 = require("nest-typed-config");
|
|
10
11
|
const config_module_1 = require("./config.module");
|
|
11
12
|
const nest_root_module_1 = require("./nest-root.module");
|
|
12
13
|
const nest_util_1 = require("./nest-util");
|
|
@@ -15,25 +16,21 @@ const swagger_manager_1 = require("./swagger/swagger.manager");
|
|
|
15
16
|
* Nest框架启动器
|
|
16
17
|
*/
|
|
17
18
|
class NestStarter {
|
|
19
|
+
nestApplicationOptions;
|
|
20
|
+
static instance;
|
|
18
21
|
/**
|
|
22
|
+
*
|
|
19
23
|
* @param nestApplicationOptions
|
|
24
|
+
* @protected
|
|
20
25
|
*/
|
|
21
26
|
constructor(nestApplicationOptions) {
|
|
22
27
|
this.nestApplicationOptions = nestApplicationOptions;
|
|
23
|
-
/**
|
|
24
|
-
* 启动配置
|
|
25
|
-
* @private
|
|
26
|
-
*/
|
|
27
|
-
this.starterConfig = config_module_1.nestStaterConfig;
|
|
28
28
|
}
|
|
29
29
|
/**
|
|
30
30
|
* 单例
|
|
31
31
|
* @param nestApplicationOptions 应用启动选项
|
|
32
32
|
*/
|
|
33
33
|
static getInstance(nestApplicationOptions) {
|
|
34
|
-
// 开启日志
|
|
35
|
-
if (config_module_1.nestStaterConfig?.enableLogger)
|
|
36
|
-
utils_1.vipLogger.logByBlank(JSON.stringify(config_module_1.nestStaterConfig, null, 2));
|
|
37
34
|
if (this.instance == null)
|
|
38
35
|
this.instance = new this(nestApplicationOptions);
|
|
39
36
|
return this.instance;
|
|
@@ -41,37 +38,41 @@ class NestStarter {
|
|
|
41
38
|
/**
|
|
42
39
|
* 入口
|
|
43
40
|
*/
|
|
44
|
-
async start(
|
|
45
|
-
const
|
|
46
|
-
|
|
41
|
+
async start(appModule, rootConfigSchema) {
|
|
42
|
+
const ConfigModule = config_module_1.NestConfigModule.register(rootConfigSchema);
|
|
43
|
+
// 整个项目配置
|
|
44
|
+
const rootConfig = (0, nest_typed_config_1.selectConfig)(ConfigModule, rootConfigSchema);
|
|
45
|
+
// 开启日志
|
|
46
|
+
if (config_module_1.nestStaterConfig.enableLogger)
|
|
47
|
+
utils_1.vipLogger.logByBlank(JSON.stringify(rootConfig, null, 2));
|
|
48
|
+
const rootModule = nest_root_module_1.NestRootModule.register({
|
|
49
|
+
imports: [
|
|
50
|
+
// 配置模块
|
|
51
|
+
ConfigModule,
|
|
52
|
+
// 全局模块
|
|
53
|
+
...this.registerGlobalModules(),
|
|
54
|
+
// 业务模块
|
|
55
|
+
appModule,
|
|
56
|
+
],
|
|
47
57
|
providers: this.getProviders(),
|
|
48
58
|
});
|
|
49
59
|
/**
|
|
50
60
|
* 创建应用
|
|
51
61
|
*/
|
|
52
|
-
const app = await core_1.NestFactory.create(
|
|
62
|
+
const app = await core_1.NestFactory.create(rootModule, {
|
|
53
63
|
bufferLogs: true,
|
|
54
64
|
...this.nestApplicationOptions,
|
|
55
65
|
});
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
void new nest_util_1.NestUtil(app, this.starterConfig).printAppModuleStarterLogger();
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* 设置全局配置
|
|
64
|
-
* @private
|
|
65
|
-
*/
|
|
66
|
-
setGlobalConfig(app) {
|
|
67
|
-
// 应用日志
|
|
68
|
-
if (this.starterConfig.enableLogger)
|
|
66
|
+
/**
|
|
67
|
+
* 应用日志
|
|
68
|
+
*/
|
|
69
|
+
if (config_module_1.nestStaterConfig.enableLogger)
|
|
69
70
|
nest_logger_1.NestLoggerModule.useLogger(app);
|
|
70
71
|
// 路由版本功能
|
|
71
72
|
// apiVersioning必须在swagger之前加载
|
|
72
73
|
app.enableVersioning({ type: common_1.VersioningType.URI });
|
|
73
|
-
if (
|
|
74
|
-
new swagger_manager_1.SwaggerManager(
|
|
74
|
+
if (config_module_1.nestStaterConfig.enableSwagger && config_module_1.nestStaterConfig.swagger != null) {
|
|
75
|
+
new swagger_manager_1.SwaggerManager(config_module_1.nestStaterConfig.swagger).register(app);
|
|
75
76
|
// TODO 打印swagger相关信息
|
|
76
77
|
}
|
|
77
78
|
// 启用关闭钩子(for优雅下线)
|
|
@@ -79,7 +80,10 @@ class NestStarter {
|
|
|
79
80
|
// 添加健康检查路由
|
|
80
81
|
app.getHttpAdapter()
|
|
81
82
|
.get('/health', (_req, res) => res.status(common_1.HttpStatus.OK).send('SERVER OK'));
|
|
82
|
-
|
|
83
|
+
// 应用启动
|
|
84
|
+
await app.listen(config_module_1.nestStaterConfig.port);
|
|
85
|
+
// 优化日志
|
|
86
|
+
void new nest_util_1.NestUtil(app, config_module_1.nestStaterConfig).printAppModuleStarterLogger();
|
|
83
87
|
}
|
|
84
88
|
/**
|
|
85
89
|
* 注册全局模块
|
|
@@ -87,18 +91,16 @@ class NestStarter {
|
|
|
87
91
|
*/
|
|
88
92
|
registerGlobalModules() {
|
|
89
93
|
const imports = [];
|
|
90
|
-
|
|
91
|
-
imports.push(config_module_1.NestConfigModule);
|
|
92
|
-
if (this.starterConfig.enableLogger) {
|
|
94
|
+
if (config_module_1.nestStaterConfig.enableLogger) {
|
|
93
95
|
imports.push(nest_logger_1.NestLoggerModule.register({ consoleLogger: { level: nest_logger_1.LoggerLevelEnum.trace } }));
|
|
94
96
|
}
|
|
95
97
|
// 注册Redis模块
|
|
96
|
-
if (
|
|
97
|
-
imports.push(nest_redis_1.NestRedisModule.register(
|
|
98
|
+
if (config_module_1.nestStaterConfig.redis != null) {
|
|
99
|
+
imports.push(nest_redis_1.NestRedisModule.register(config_module_1.nestStaterConfig.redis));
|
|
98
100
|
}
|
|
99
101
|
// 注册TypeOrm模块
|
|
100
|
-
if (
|
|
101
|
-
imports.push(nest_typeorm_1.
|
|
102
|
+
if (config_module_1.nestStaterConfig.typeorm != null) {
|
|
103
|
+
imports.push(nest_typeorm_1.TypeOrmModule.forRoot(config_module_1.nestStaterConfig.typeorm));
|
|
102
104
|
}
|
|
103
105
|
return imports;
|
|
104
106
|
}
|
|
@@ -135,11 +137,11 @@ class NestStarter {
|
|
|
135
137
|
// transform: true,
|
|
136
138
|
// transformOptions: { enableImplicitConversion: true }, // TODO to delete it
|
|
137
139
|
// // 是否禁用DTO参数校验错误详情
|
|
138
|
-
// disableErrorMessages:
|
|
140
|
+
// disableErrorMessages: nestStaterConfig.disableErrorMessages,
|
|
139
141
|
// // 下面两个class-validator参数用于禁止未知的参数
|
|
140
142
|
// // whitelist: true,
|
|
141
143
|
// // forbidNonWhitelisted: true,
|
|
142
|
-
// ...(
|
|
144
|
+
// ...(nestStaterConfig.disableErrorMessages
|
|
143
145
|
// ? {
|
|
144
146
|
// exceptionFactory: (_errors): PlatformException => {
|
|
145
147
|
// return new PlatformException(ErrorCodes.BAD_REQUEST, HttpStatus.BAD_REQUEST)
|
|
@@ -158,7 +160,7 @@ class NestStarter {
|
|
|
158
160
|
// /**
|
|
159
161
|
// * 限制请求来源页
|
|
160
162
|
// */
|
|
161
|
-
// ...(
|
|
163
|
+
// ...(nestStaterConfig.allowedReferers != null
|
|
162
164
|
// ? [{
|
|
163
165
|
// provide: APP_GUARD,
|
|
164
166
|
// useClass: RefererGuard,
|
|
@@ -168,4 +170,3 @@ class NestStarter {
|
|
|
168
170
|
}
|
|
169
171
|
}
|
|
170
172
|
exports.NestStarter = NestStarter;
|
|
171
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1zdGFydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3Qtc3RhcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFDQSxxREFBdUU7QUFDdkUsbURBQW9EO0FBQ3BELHVEQUF3RDtBQUN4RCx5Q0FBeUM7QUFDekMsMkNBTXVCO0FBQ3ZCLHVDQUEyRDtBQUUzRCxtREFBb0U7QUFDcEUseURBQW1EO0FBQ25ELDJDQUFzQztBQUN0QywrREFBMEQ7QUFFMUQ7O0dBRUc7QUFDSCxNQUFhLFdBQVc7SUFPdEI7O09BRUc7SUFDSCxZQUNxQixzQkFBK0M7UUFBL0MsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtRQVRwRTs7O1dBR0c7UUFDYyxrQkFBYSxHQUFrQixnQ0FBZ0IsQ0FBQTtJQU01RCxDQUFDO0lBRUw7OztPQUdHO0lBQ0ksTUFBTSxDQUFDLFdBQVcsQ0FDdkIsc0JBQStDO1FBRS9DLE9BQU87UUFDUCxJQUFJLGdDQUFnQixFQUFFLFlBQVk7WUFDaEMsaUJBQVMsQ0FBQyxVQUFVLENBQUMsSUFBSSxDQUFDLFNBQVMsQ0FBQyxnQ0FBZ0IsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUVqRSxJQUFJLElBQUksQ0FBQyxRQUFRLElBQUksSUFBSTtZQUN2QixJQUFJLENBQUMsUUFBUSxHQUFHLElBQUksSUFBSSxDQUFDLHNCQUFzQixDQUFDLENBQUE7UUFFbEQsT0FBTyxJQUFJLENBQUMsUUFBUSxDQUFBO0lBQ3RCLENBQUM7SUFFRDs7T0FFRztJQUNJLEtBQUssQ0FBQyxLQUFLLENBQUMsYUFBeUI7UUFDMUMsTUFBTSxjQUFjLEdBQUcsaUNBQWMsQ0FBQyxRQUFRLENBQUM7WUFDN0MsT0FBTyxFQUFFLElBQUksQ0FBQyxxQkFBcUIsRUFBRSxDQUFDLE1BQU0sQ0FBQyxhQUFhLENBQUM7WUFDM0QsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7U0FDL0IsQ0FBQyxDQUFBO1FBRUY7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
|
package/dist/nest-util.d.ts
CHANGED
|
@@ -3,6 +3,7 @@ import { StarterConfig } from './config';
|
|
|
3
3
|
export declare class NestUtil {
|
|
4
4
|
readonly app: INestApplication;
|
|
5
5
|
readonly starterConfig: StarterConfig;
|
|
6
|
+
private logger;
|
|
6
7
|
constructor(app: INestApplication, starterConfig: StarterConfig);
|
|
7
8
|
/**
|
|
8
9
|
* 是否为开发模式
|
|
@@ -12,4 +13,27 @@ export declare class NestUtil {
|
|
|
12
13
|
*/
|
|
13
14
|
isDevelopMode(): boolean;
|
|
14
15
|
printAppModuleStarterLogger(): Promise<void>;
|
|
16
|
+
/**
|
|
17
|
+
* GRPC 日志
|
|
18
|
+
* @private
|
|
19
|
+
*/
|
|
20
|
+
private privateGrpcLogger;
|
|
21
|
+
private printAppLogger;
|
|
22
|
+
/**
|
|
23
|
+
* 获取日志模板
|
|
24
|
+
* @private
|
|
25
|
+
*/
|
|
26
|
+
private printSwaggerLogger;
|
|
27
|
+
/**
|
|
28
|
+
* http服务日志
|
|
29
|
+
* @private
|
|
30
|
+
*/
|
|
31
|
+
private printHttpLogger;
|
|
32
|
+
/**
|
|
33
|
+
* 终端日志模板
|
|
34
|
+
* @param title
|
|
35
|
+
* @param info
|
|
36
|
+
*/
|
|
37
|
+
private getLoggerTemplate;
|
|
15
38
|
}
|
|
39
|
+
//# sourceMappingURL=nest-util.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"nest-util.d.ts","sourceRoot":"","sources":["../src/nest-util.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAU,MAAM,gBAAgB,CAAA;AACzD,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAGxC,qBAAa,QAAQ;IACnB,SAAgB,GAAG,EAAE,gBAAgB,CAAA;IACrC,SAAgB,aAAa,EAAE,aAAa,CAAA;IAC5C,OAAO,CAAC,MAAM,CAAe;gBAEjB,GAAG,EAAE,gBAAgB,EAAE,aAAa,EAAE,aAAa;IAK/D;;;;;OAKG;IACI,aAAa,IAAI,OAAO;IAIlB,2BAA2B;IAkBxC;;;OAGG;IACH,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IAWtB;;;OAGG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;;OAGG;YACW,eAAe;IAgB7B;;;;OAIG;IACH,OAAO,CAAC,iBAAiB;CAS1B"}
|
package/dist/nest-util.js
CHANGED
|
@@ -1,9 +1,13 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.NestUtil = void 0;
|
|
4
|
+
const utils_1 = require("@142vip/utils");
|
|
4
5
|
const common_1 = require("@nestjs/common");
|
|
5
6
|
const nest_process_1 = require("./nest-process");
|
|
6
7
|
class NestUtil {
|
|
8
|
+
app;
|
|
9
|
+
starterConfig;
|
|
10
|
+
logger = new common_1.Logger();
|
|
7
11
|
constructor(app, starterConfig) {
|
|
8
12
|
this.app = app;
|
|
9
13
|
this.starterConfig = starterConfig;
|
|
@@ -21,29 +25,82 @@ class NestUtil {
|
|
|
21
25
|
// 未开启日志
|
|
22
26
|
if (!this.starterConfig.enableLogger)
|
|
23
27
|
return;
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
//
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
28
|
+
// 应用日志
|
|
29
|
+
this.printAppLogger();
|
|
30
|
+
// http 日志
|
|
31
|
+
await this.printHttpLogger();
|
|
32
|
+
// grpc 日志
|
|
33
|
+
this.privateGrpcLogger();
|
|
34
|
+
// swagger日志
|
|
35
|
+
this.printSwaggerLogger();
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* GRPC 日志
|
|
39
|
+
* @private
|
|
40
|
+
*/
|
|
41
|
+
privateGrpcLogger() {
|
|
38
42
|
// if (this.starterConfig.grpcServer?.url)
|
|
39
43
|
// logger.log(`🔌 GRPC服务: ${this.starterConfig.grpcServer.url}`)
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
44
|
+
}
|
|
45
|
+
printAppLogger() {
|
|
46
|
+
const appName = nest_process_1.nestProcess.getAppEnv();
|
|
47
|
+
const template = this.getLoggerTemplate('🚀 应用启动成功', {
|
|
48
|
+
nodeEnv: nest_process_1.nestProcess.getNodeEnv(),
|
|
49
|
+
config: `${nest_process_1.nestProcess.getRunEnv()}.config.js`,
|
|
50
|
+
...(appName == null ? {} : { appName }),
|
|
51
|
+
...(this.starterConfig.globalPrefix == null ? {} : { globalPrefix: this.starterConfig.globalPrefix }),
|
|
52
|
+
});
|
|
53
|
+
this.logger.log(template);
|
|
54
|
+
}
|
|
55
|
+
/**
|
|
56
|
+
* 获取日志模板
|
|
57
|
+
* @private
|
|
58
|
+
*/
|
|
59
|
+
printSwaggerLogger() {
|
|
60
|
+
if (!this.starterConfig.enableSwagger || this.starterConfig.swagger?.envs == null) {
|
|
61
|
+
return;
|
|
62
|
+
}
|
|
63
|
+
// swagger envs 配置 遍历
|
|
64
|
+
for (const [envName, serverUrl] of Object.entries(this.starterConfig.swagger?.envs)) {
|
|
65
|
+
const docPath = this.starterConfig.swagger?.docPath;
|
|
66
|
+
const uiUrl = `${serverUrl}:${this.starterConfig.port}/${docPath}`;
|
|
67
|
+
const apiUrl = `${serverUrl}:${this.starterConfig.port}/${docPath}-json`;
|
|
68
|
+
const template = this.getLoggerTemplate(`📚 Swagger API,${utils_1.VipColor.greenBright(envName)} ${utils_1.VipColor.greenBright('环境')}`, {
|
|
69
|
+
doc: uiUrl,
|
|
70
|
+
JSON: apiUrl,
|
|
71
|
+
});
|
|
72
|
+
this.logger.log(template);
|
|
45
73
|
}
|
|
46
74
|
}
|
|
75
|
+
/**
|
|
76
|
+
* http服务日志
|
|
77
|
+
* @private
|
|
78
|
+
*/
|
|
79
|
+
async printHttpLogger() {
|
|
80
|
+
const apiUrl = await this.app.getUrl();
|
|
81
|
+
const { local, ip } = await utils_1.vipDetect.getAddress();
|
|
82
|
+
const [localOrigin, ipOrigin] = [local, ip].map((address) => {
|
|
83
|
+
const api = new URL(apiUrl);
|
|
84
|
+
// 替换hostname为地址
|
|
85
|
+
api.hostname = address;
|
|
86
|
+
return api.origin;
|
|
87
|
+
});
|
|
88
|
+
const template = this.getLoggerTemplate(`🌐 HTTP服务`, { local: localOrigin, network: ipOrigin });
|
|
89
|
+
this.logger.log(template);
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* 终端日志模板
|
|
93
|
+
* @param title
|
|
94
|
+
* @param info
|
|
95
|
+
*/
|
|
96
|
+
getLoggerTemplate(title, info) {
|
|
97
|
+
let content = '';
|
|
98
|
+
const maxKeyLength = Math.max(...Object.keys(info).map(key => key.length));
|
|
99
|
+
Object.entries(info).forEach(([key, value]) => {
|
|
100
|
+
content += ` ➜ ${utils_1.vipLodash.upperFirst(key)}:${' '.repeat(maxKeyLength - key.length + 8)}${utils_1.VipColor.greenBright(value)}\n`;
|
|
101
|
+
});
|
|
102
|
+
content = `\n${content}`;
|
|
103
|
+
return `${title}:${content}`;
|
|
104
|
+
}
|
|
47
105
|
}
|
|
48
106
|
exports.NestUtil = NestUtil;
|
|
49
|
-
//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSwyQ0FBeUQ7QUFFekQsaURBQTRDO0FBRTVDLE1BQWEsUUFBUTtJQUluQixZQUFZLEdBQXFCLEVBQUUsYUFBNEI7UUFDN0QsSUFBSSxDQUFDLEdBQUcsR0FBRyxHQUFHLENBQUE7UUFDZCxJQUFJLENBQUMsYUFBYSxHQUFHLGFBQWEsQ0FBQTtJQUNwQyxDQUFDO0lBRUQ7Ozs7O09BS0c7SUFDSSxhQUFhO1FBQ2xCLE9BQU8sMEJBQVcsQ0FBQyxhQUFhLEVBQUUsQ0FBQTtJQUNwQyxDQUFDO0lBRU0sS0FBSyxDQUFDLDJCQUEyQjtRQUN0QyxRQUFRO1FBQ1IsSUFBSSxDQUFDLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWTtZQUNsQyxPQUFNO1FBRVIsTUFBTSxNQUFNLEdBQUcsSUFBSSxlQUFNLENBQUMsUUFBUSxDQUFDLElBQUksQ0FBQyxDQUFBO1FBRXhDLE1BQU0sTUFBTSxHQUFHLE1BQU0sSUFBSSxDQUFDLEdBQUcsQ0FBQyxNQUFNLEVBQUUsQ0FBQTtRQUN0QyxNQUFNLENBQUMsR0FBRyxDQUFDLFdBQVcsQ0FBQyxDQUFBO1FBRXZCLE1BQU0sQ0FBQyxHQUFHLENBQUMsV0FBVywwQkFBVyxDQUFDLFVBQVUsRUFBRSxTQUFTLDBCQUFXLENBQUMsU0FBUyxFQUFFLFlBQVksQ0FBQyxDQUFBO1FBRTNGLFlBQVk7UUFDWixNQUFNLE9BQU8sR0FBRywwQkFBVyxDQUFDLFNBQVMsRUFBRSxDQUFBO1FBQ3ZDLElBQUksT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ3BCLE1BQU0sQ0FBQyxHQUFHLENBQUMsaUJBQWlCLE9BQU8sU0FBUyxDQUFDLENBQUE7UUFDL0MsQ0FBQztRQUVELE1BQU0sQ0FBQyxHQUFHLENBQUMsY0FBYyxNQUFNLEVBQUUsQ0FBQyxDQUFBO1FBQ2xDLFVBQVU7UUFDVixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsWUFBWTtZQUNqQyxNQUFNLENBQUMsR0FBRyxDQUFDLGNBQWMsSUFBSSxDQUFDLGFBQWEsQ0FBQyxZQUFZLEVBQUUsQ0FBQyxDQUFBO1FBRTdELFlBQVk7UUFDWiwwQ0FBMEM7UUFDMUMsa0VBQWtFO1FBRWxFLGVBQWU7UUFDZixJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsYUFBYSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLElBQUksSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNqRixLQUFLLE1BQU0sQ0FBQyxPQUFPLEVBQUUsTUFBTSxDQUFDLElBQUksTUFBTSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLE9BQU8sQ0FBQyxJQUFJLENBQUMsRUFBRSxDQUFDO2dCQUNoRixNQUFNLENBQUMsR0FBRyxDQUFDLG9CQUFvQixPQUFPLElBQUksTUFBTSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsSUFBSSxJQUFJLElBQUksQ0FBQyxhQUFhLENBQUMsT0FBTyxFQUFFLE9BQU8sRUFBRSxDQUFDLENBQUE7WUFDdkgsQ0FBQztRQUNILENBQUM7SUFDSCxDQUFDO0NBQ0Y7QUFyREQsNEJBcURDIn0=
|
package/dist/pkgs.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pkgs.d.ts","sourceRoot":"","sources":["../src/pkgs.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,qBAAqB,CAAA;AACnC,cAAc,oBAAoB,CAAA;AAClC,cAAc,sBAAsB,CAAA;AACpC,cAAc,iBAAiB,CAAA"}
|
package/dist/pkgs.js
ADDED
|
@@ -0,0 +1,21 @@
|
|
|
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("@142vip/nest"), exports);
|
|
18
|
+
__exportStar(require("@142vip/nest-logger"), exports);
|
|
19
|
+
__exportStar(require("@142vip/nest-redis"), exports);
|
|
20
|
+
__exportStar(require("@142vip/nest-typeorm"), exports);
|
|
21
|
+
__exportStar(require("@nestjs/swagger"), exports);
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/swagger/index.ts"],"names":[],"mappings":""}
|
|
@@ -26,6 +26,9 @@ export interface SwaggerOptions {
|
|
|
26
26
|
export declare class SwaggerDocumentBuilder {
|
|
27
27
|
getConfig(options?: DocumentBuilderOptions): Omit<OpenAPIObject, 'paths'>;
|
|
28
28
|
}
|
|
29
|
+
/**
|
|
30
|
+
* 管理器
|
|
31
|
+
*/
|
|
29
32
|
export declare class SwaggerManager {
|
|
30
33
|
private swaggerOptions;
|
|
31
34
|
constructor(swaggerOptions: SwaggerOptions);
|
|
@@ -34,3 +37,8 @@ export declare class SwaggerManager {
|
|
|
34
37
|
*/
|
|
35
38
|
register(app: INestApplication): INestApplication;
|
|
36
39
|
}
|
|
40
|
+
/**
|
|
41
|
+
* Swagger终端日志模板
|
|
42
|
+
*/
|
|
43
|
+
export declare function getTemplate(envName: string, uiPath: string, apiUrl: string): string;
|
|
44
|
+
//# sourceMappingURL=swagger.manager.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.manager.d.ts","sourceRoot":"","sources":["../../src/swagger/swagger.manager.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,gBAAgB,EAAE,MAAM,gBAAgB,CAAA;AAEjD,OAAO,EAAE,aAAa,EAAE,oBAAoB,EAAE,MAAM,iCAAiC,CAAA;AAErF,MAAM,WAAW,sBAAsB;IACrC,KAAK,CAAC,EAAE,MAAM,CAAA;IACd,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;QACX,KAAK,EAAE,MAAM,CAAA;KACd,CAAA;IACD,OAAO,CAAC,EAAE;QACR,IAAI,EAAE,MAAM,CAAA;QACZ,GAAG,EAAE,MAAM,CAAA;KACZ,CAAA;CACF;AAED,MAAM,WAAW,cAAc;IAC7B;;OAEG;IACH,OAAO,EAAE,MAAM,CAAA;IACf,cAAc,CAAC,EAAE,sBAAsB,CAAA;IACvC,aAAa,CAAC,EAAE,oBAAoB,CAAA;CACrC;AAED,qBAAa,sBAAsB;IAC1B,SAAS,CAAC,OAAO,CAAC,EAAE,sBAAsB,GAAG,IAAI,CAAC,aAAa,EAAE,OAAO,CAAC;CA8BjF;AAED;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAgB;gBAC1B,cAAc,EAAE,cAAc;IAI1C;;OAEG;IACI,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB;CAOzD;AAED;;GAEG;AACH,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMnF"}
|
|
@@ -1,6 +1,8 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.SwaggerManager = exports.SwaggerDocumentBuilder = void 0;
|
|
4
|
+
exports.getTemplate = getTemplate;
|
|
5
|
+
const utils_1 = require("@142vip/utils");
|
|
4
6
|
const swagger_1 = require("@nestjs/swagger");
|
|
5
7
|
class SwaggerDocumentBuilder {
|
|
6
8
|
getConfig(options) {
|
|
@@ -31,7 +33,11 @@ class SwaggerDocumentBuilder {
|
|
|
31
33
|
}
|
|
32
34
|
}
|
|
33
35
|
exports.SwaggerDocumentBuilder = SwaggerDocumentBuilder;
|
|
36
|
+
/**
|
|
37
|
+
* 管理器
|
|
38
|
+
*/
|
|
34
39
|
class SwaggerManager {
|
|
40
|
+
swaggerOptions;
|
|
35
41
|
constructor(swaggerOptions) {
|
|
36
42
|
this.swaggerOptions = swaggerOptions;
|
|
37
43
|
}
|
|
@@ -46,4 +52,13 @@ class SwaggerManager {
|
|
|
46
52
|
}
|
|
47
53
|
}
|
|
48
54
|
exports.SwaggerManager = SwaggerManager;
|
|
49
|
-
|
|
55
|
+
/**
|
|
56
|
+
* Swagger终端日志模板
|
|
57
|
+
*/
|
|
58
|
+
function getTemplate(envName, uiPath, apiUrl) {
|
|
59
|
+
return `📚 Swagger API:${utils_1.VipColor.greenBright(envName)} 环境。
|
|
60
|
+
|
|
61
|
+
➜ Doc: ${uiPath}
|
|
62
|
+
➜ JSON: ${apiUrl}
|
|
63
|
+
`;
|
|
64
|
+
}
|
|
@@ -0,0 +1,5 @@
|
|
|
1
|
+
export { IntersectionType as SwaggerIntersectionType } from '@nestjs/swagger';
|
|
2
|
+
export { PartialType as SwaggerPartialType } from '@nestjs/swagger';
|
|
3
|
+
export { PickType as SwaggerPickType } from '@nestjs/swagger';
|
|
4
|
+
export { OmitType as SwaggerOmitType } from '@nestjs/swagger';
|
|
5
|
+
//# sourceMappingURL=swagger.type.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"swagger.type.d.ts","sourceRoot":"","sources":["../../src/swagger/swagger.type.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,IAAI,uBAAuB,EAAE,MAAM,iBAAiB,CAAA;AAC7E,OAAO,EAAE,WAAW,IAAI,kBAAkB,EAAE,MAAM,iBAAiB,CAAA;AACnE,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA;AAC7D,OAAO,EAAE,QAAQ,IAAI,eAAe,EAAE,MAAM,iBAAiB,CAAA"}
|
|
@@ -0,0 +1,11 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.SwaggerOmitType = exports.SwaggerPickType = exports.SwaggerPartialType = exports.SwaggerIntersectionType = void 0;
|
|
4
|
+
var swagger_1 = require("@nestjs/swagger");
|
|
5
|
+
Object.defineProperty(exports, "SwaggerIntersectionType", { enumerable: true, get: function () { return swagger_1.IntersectionType; } });
|
|
6
|
+
var swagger_2 = require("@nestjs/swagger");
|
|
7
|
+
Object.defineProperty(exports, "SwaggerPartialType", { enumerable: true, get: function () { return swagger_2.PartialType; } });
|
|
8
|
+
var swagger_3 = require("@nestjs/swagger");
|
|
9
|
+
Object.defineProperty(exports, "SwaggerPickType", { enumerable: true, get: function () { return swagger_3.PickType; } });
|
|
10
|
+
var swagger_4 = require("@nestjs/swagger");
|
|
11
|
+
Object.defineProperty(exports, "SwaggerOmitType", { enumerable: true, get: function () { return swagger_4.OmitType; } });
|
package/index.js
ADDED
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@142vip/nest-starter",
|
|
3
|
-
"version": "0.0.1-alpha.
|
|
3
|
+
"version": "0.0.1-alpha.10",
|
|
4
4
|
"private": false,
|
|
5
5
|
"description": "Nest.js框架下Redis使用最佳实践",
|
|
6
6
|
"author": "mmdapl <mmdapl@163.com>",
|
|
@@ -24,7 +24,7 @@
|
|
|
24
24
|
".": {
|
|
25
25
|
"types": "./dist/index.d.ts",
|
|
26
26
|
"import": "./dist/index.js",
|
|
27
|
-
"require": "./
|
|
27
|
+
"require": "./index.js"
|
|
28
28
|
}
|
|
29
29
|
},
|
|
30
30
|
"authorInfo": {
|
|
@@ -37,25 +37,30 @@
|
|
|
37
37
|
"module": "./dist/index.js",
|
|
38
38
|
"types": "./dist/index.d.ts",
|
|
39
39
|
"files": [
|
|
40
|
-
"dist"
|
|
40
|
+
"dist",
|
|
41
|
+
"index.js"
|
|
41
42
|
],
|
|
42
43
|
"peerDependencies": {
|
|
43
|
-
"@142vip/nest": "0.0.1-alpha.
|
|
44
|
+
"@142vip/nest": "0.0.1-alpha.5",
|
|
45
|
+
"@142vip/nest-redis": "0.0.1-alpha.5",
|
|
46
|
+
"@142vip/nest-typeorm": "0.0.1-alpha.8",
|
|
47
|
+
"@142vip/utils": "0.0.1-alpha.46",
|
|
48
|
+
"@142vip/nest-logger": "0.0.1-alpha.3"
|
|
44
49
|
},
|
|
45
50
|
"dependencies": {
|
|
46
51
|
"@nestjs/swagger": "11.2.1",
|
|
47
|
-
"
|
|
48
|
-
"@142vip/nest-logger": "0.0.1-alpha.
|
|
49
|
-
"@142vip/nest-
|
|
50
|
-
"@142vip/
|
|
51
|
-
"@142vip/
|
|
52
|
+
"@142vip/nest": "0.0.1-alpha.5",
|
|
53
|
+
"@142vip/nest-logger": "0.0.1-alpha.3",
|
|
54
|
+
"@142vip/nest-typeorm": "0.0.1-alpha.8",
|
|
55
|
+
"@142vip/utils": "0.0.1-alpha.46",
|
|
56
|
+
"@142vip/nest-redis": "0.0.1-alpha.5"
|
|
52
57
|
},
|
|
53
58
|
"publishConfig": {
|
|
54
59
|
"access": "public",
|
|
55
60
|
"registry": "https://registry.npmjs.org"
|
|
56
61
|
},
|
|
57
62
|
"scripts": {
|
|
58
|
-
"build": "
|
|
63
|
+
"build": "rm -rf dist && tsc -p tsconfig.json",
|
|
59
64
|
"typecheck": "tsc --noEmit",
|
|
60
65
|
"test": "npx jest",
|
|
61
66
|
"test:coverage": "npx jest --coverage"
|