@142vip/nest-starter 0.0.1-alpha.7 → 0.0.1-alpha.9

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.
Files changed (40) hide show
  1. package/dist/app.config.js +1 -1
  2. package/dist/config/index.js +0 -1
  3. package/dist/config/plugin/logger.config.d.ts +6 -0
  4. package/dist/config/plugin/logger.config.d.ts.map +1 -1
  5. package/dist/config/plugin/logger.config.js +9 -1
  6. package/dist/config/plugin/redis.config.js +1 -1
  7. package/dist/config/plugin/sequelize.config.js +1 -1
  8. package/dist/config/plugin/swagger.config.d.ts +3 -0
  9. package/dist/config/plugin/swagger.config.d.ts.map +1 -1
  10. package/dist/config/plugin/swagger.config.js +5 -5
  11. package/dist/config/plugin/typeorm.config.d.ts +9 -0
  12. package/dist/config/plugin/typeorm.config.d.ts.map +1 -1
  13. package/dist/config/plugin/typeorm.config.js +32 -19
  14. package/dist/config/starter.config.js +12 -3
  15. package/dist/config.module.d.ts +19 -0
  16. package/dist/config.module.d.ts.map +1 -1
  17. package/dist/config.module.js +20 -1
  18. package/dist/index.d.ts +1 -0
  19. package/dist/index.d.ts.map +1 -1
  20. package/dist/index.js +1 -1
  21. package/dist/nest-process.d.ts +35 -0
  22. package/dist/nest-process.d.ts.map +1 -1
  23. package/dist/nest-process.js +36 -1
  24. package/dist/nest-root.module.js +3 -2
  25. package/dist/nest-starter.d.ts +19 -0
  26. package/dist/nest-starter.d.ts.map +1 -1
  27. package/dist/nest-starter.js +97 -1
  28. package/dist/nest-util.d.ts +23 -0
  29. package/dist/nest-util.d.ts.map +1 -1
  30. package/dist/nest-util.js +38 -6
  31. package/dist/pkgs.d.ts +1 -0
  32. package/dist/pkgs.d.ts.map +1 -1
  33. package/dist/pkgs.js +1 -1
  34. package/dist/swagger/index.d.ts +1 -0
  35. package/dist/swagger/index.js +1 -1
  36. package/dist/swagger/swagger.manager.d.ts +12 -0
  37. package/dist/swagger/swagger.manager.d.ts.map +1 -1
  38. package/dist/swagger/swagger.manager.js +12 -3
  39. package/dist/swagger/swagger.type.js +0 -1
  40. package/package.json +13 -9
@@ -14,6 +14,7 @@ const class_transformer_1 = require("class-transformer");
14
14
  const class_validator_1 = require("class-validator");
15
15
  const config_1 = require("./config");
16
16
  class NestAppConfig {
17
+ starter;
17
18
  }
18
19
  exports.NestAppConfig = NestAppConfig;
19
20
  __decorate([
@@ -22,4 +23,3 @@ __decorate([
22
23
  (0, class_validator_1.IsNotEmpty)(),
23
24
  __metadata("design:type", config_1.StarterConfig)
24
25
  ], NestAppConfig.prototype, "starter", void 0);
25
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiYXBwLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9hcHAuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHlEQUF3QztBQUN4QyxxREFBNEQ7QUFDNUQscUNBQXdDO0FBRXhDLE1BQWEsYUFBYTtDQUt6QjtBQUxELHNDQUtDO0FBREM7SUFIQyxJQUFBLGdDQUFjLEdBQUU7SUFDaEIsSUFBQSx3QkFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLHNCQUFhLENBQUM7SUFDekIsSUFBQSw0QkFBVSxHQUFFOzhCQUNILHNCQUFhOzhDQUFBIn0=
@@ -20,4 +20,3 @@ __exportStar(require("./plugin/sequelize.config"), exports);
20
20
  __exportStar(require("./plugin/swagger.config"), exports);
21
21
  __exportStar(require("./plugin/typeorm.config"), exports);
22
22
  __exportStar(require("./starter.config"), exports);
23
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL2luZGV4LnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSx5REFBc0M7QUFDdEMsd0RBQXFDO0FBQ3JDLDREQUF5QztBQUN6QywwREFBdUM7QUFDdkMsMERBQXVDO0FBRXZDLG1EQUFnQyJ9
@@ -1,7 +1,13 @@
1
1
  import { LoggerLevelEnum } from '@142vip/nest-logger';
2
+ /**
3
+ * 控制台日志配置
4
+ */
2
5
  export declare class ConsoleLoggerConfig {
3
6
  level?: LoggerLevelEnum;
4
7
  }
8
+ /**
9
+ * 文件日志配置
10
+ */
5
11
  export declare class FileLoggerConfig {
6
12
  }
7
13
  export declare class LoggerConfig {
@@ -1 +1 @@
1
- {"version":3,"file":"logger.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/logger.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAOrD,qBAAa,mBAAmB;IAG9B,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAKD,qBAAa,gBAAgB;CAE5B;AAED,qBAAa,YAAY;IAIvB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAKnC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B"}
1
+ {"version":3,"file":"logger.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/logger.config.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAA;AAIrD;;GAEG;AACH,qBAAa,mBAAmB;IAG9B,KAAK,CAAC,EAAE,eAAe,CAAA;CACxB;AAED;;GAEG;AACH,qBAAa,gBAAgB;CAE5B;AAED,qBAAa,YAAY;IAIvB,aAAa,CAAC,EAAE,mBAAmB,CAAA;IAKnC,UAAU,CAAC,EAAE,gBAAgB,CAAA;CAC9B"}
@@ -13,7 +13,11 @@ exports.LoggerConfig = exports.FileLoggerConfig = exports.ConsoleLoggerConfig =
13
13
  const nest_logger_1 = require("@142vip/nest-logger");
14
14
  const class_transformer_1 = require("class-transformer");
15
15
  const class_validator_1 = require("class-validator");
16
+ /**
17
+ * 控制台日志配置
18
+ */
16
19
  class ConsoleLoggerConfig {
20
+ level;
17
21
  }
18
22
  exports.ConsoleLoggerConfig = ConsoleLoggerConfig;
19
23
  __decorate([
@@ -21,10 +25,15 @@ __decorate([
21
25
  (0, class_validator_1.IsEnum)(nest_logger_1.LoggerLevelEnum),
22
26
  __metadata("design:type", String)
23
27
  ], ConsoleLoggerConfig.prototype, "level", void 0);
28
+ /**
29
+ * 文件日志配置
30
+ */
24
31
  class FileLoggerConfig {
25
32
  }
26
33
  exports.FileLoggerConfig = FileLoggerConfig;
27
34
  class LoggerConfig {
35
+ consoleLogger;
36
+ fileLogger;
28
37
  }
29
38
  exports.LoggerConfig = LoggerConfig;
30
39
  __decorate([
@@ -39,4 +48,3 @@ __decorate([
39
48
  (0, class_transformer_1.Type)(() => FileLoggerConfig),
40
49
  __metadata("design:type", FileLoggerConfig)
41
50
  ], LoggerConfig.prototype, "fileLogger", void 0);
42
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibG9nZ2VyLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvcGx1Z2luL2xvZ2dlci5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEscURBQXFEO0FBQ3JELHlEQUF3QztBQUN4QyxxREFBb0U7QUFLcEUsTUFBYSxtQkFBbUI7Q0FJL0I7QUFKRCxrREFJQztBQURDO0lBRkMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSx3QkFBTSxFQUFDLDZCQUFlLENBQUM7O2tEQUNEO0FBTXpCLE1BQWEsZ0JBQWdCO0NBRTVCO0FBRkQsNENBRUM7QUFFRCxNQUFhLFlBQVk7Q0FVeEI7QUFWRCxvQ0FVQztBQU5DO0lBSEMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQyxtQkFBbUIsQ0FBQzs4QkFDaEIsbUJBQW1CO21EQUFBO0FBS25DO0lBSEMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQyxnQkFBZ0IsQ0FBQzs4QkFDaEIsZ0JBQWdCO2dEQUFBIn0=
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.RedisConfig = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  class RedisConfig {
15
+ url;
15
16
  }
16
17
  exports.RedisConfig = RedisConfig;
17
18
  __decorate([
@@ -19,4 +20,3 @@ __decorate([
19
20
  (0, class_validator_1.IsString)(),
20
21
  __metadata("design:type", String)
21
22
  ], RedisConfig.prototype, "url", void 0);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicmVkaXMuY29uZmlnLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vLi4vc3JjL2NvbmZpZy9wbHVnaW4vcmVkaXMuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHFEQUFzRDtBQUV0RCxNQUFhLFdBQVc7Q0FJdkI7QUFKRCxrQ0FJQztBQURpQjtJQUZmLElBQUEsNEJBQVUsR0FBRTtJQUNaLElBQUEsMEJBQVEsR0FBRTs7d0NBQ2lCIn0=
@@ -12,6 +12,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
12
12
  exports.SequelizeConfig = void 0;
13
13
  const class_validator_1 = require("class-validator");
14
14
  class SequelizeConfig {
15
+ a;
15
16
  }
16
17
  exports.SequelizeConfig = SequelizeConfig;
17
18
  __decorate([
@@ -19,4 +20,3 @@ __decorate([
19
20
  (0, class_validator_1.IsString)(),
20
21
  __metadata("design:type", String)
21
22
  ], SequelizeConfig.prototype, "a", void 0);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic2VxdWVsaXplLmNvbmZpZy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uLy4uLy4uL3NyYy9jb25maWcvcGx1Z2luL3NlcXVlbGl6ZS5jb25maWcudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7O0FBQUEscURBQXNEO0FBRXRELE1BQWEsZUFBZTtDQUkzQjtBQUpELDBDQUlDO0FBRGlCO0lBRmYsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSwwQkFBUSxHQUFFOzswQ0FDZSJ9
@@ -1,5 +1,8 @@
1
1
  export declare class SwaggerConfig {
2
2
  docPath: string;
3
+ /**
4
+ * 默认本地环境
5
+ */
3
6
  envs: Record<string, string>;
4
7
  }
5
8
  //# sourceMappingURL=swagger.config.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"swagger.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/swagger.config.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IAGxB,OAAO,EAAE,MAAM,CAAQ;IAMvB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgC;CAC7D"}
1
+ {"version":3,"file":"swagger.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/swagger.config.ts"],"names":[],"mappings":"AAGA,qBAAa,aAAa;IAGxB,OAAO,EAAE,MAAM,CAAQ;IAEvB;;OAEG;IAEH,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAgC;CAC7D"}
@@ -13,10 +13,11 @@ exports.SwaggerConfig = void 0;
13
13
  const nest_1 = require("@142vip/nest");
14
14
  const class_validator_1 = require("class-validator");
15
15
  class SwaggerConfig {
16
- constructor() {
17
- this.docPath = 'doc';
18
- this.envs = { local: 'http://127.0.0.1' };
19
- }
16
+ docPath = 'doc';
17
+ /**
18
+ * 默认本地环境
19
+ */
20
+ envs = { local: 'http://127.0.0.1' };
20
21
  }
21
22
  exports.SwaggerConfig = SwaggerConfig;
22
23
  __decorate([
@@ -28,4 +29,3 @@ __decorate([
28
29
  (0, class_validator_1.IsObject)(),
29
30
  __metadata("design:type", Object)
30
31
  ], SwaggerConfig.prototype, "envs", void 0);
31
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3BsdWdpbi9zd2FnZ2VyLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFBQSx1Q0FBK0M7QUFDL0MscURBQW9EO0FBRXBELE1BQWEsYUFBYTtJQUExQjtRQUdFLFlBQU8sR0FBVyxLQUFLLENBQUE7UUFNdkIsU0FBSSxHQUEyQixFQUFFLEtBQUssRUFBRSxrQkFBa0IsRUFBRSxDQUFBO0lBQzlELENBQUM7Q0FBQTtBQVZELHNDQVVDO0FBUEM7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLHVCQUFnQixHQUFFOzs4Q0FDSTtBQU12QjtJQURDLElBQUEsMEJBQVEsR0FBRTs7MkNBQ2lEIn0=
@@ -2,6 +2,9 @@ import type { BaseDataSourceOptions } from 'typeorm/data-source/BaseDataSourceOp
2
2
  import type { MysqlConnectionOptions } from 'typeorm/driver/mysql/MysqlConnectionOptions';
3
3
  import type { PostgresConnectionOptions } from 'typeorm/driver/postgres/PostgresConnectionOptions';
4
4
  import { DataType } from '@142vip/nest-typeorm';
5
+ /**
6
+ * Typeorm基础配置
7
+ */
5
8
  export declare class TypeormConfig implements BaseDataSourceOptions {
6
9
  url?: string;
7
10
  host?: string;
@@ -15,12 +18,18 @@ export declare class TypeormConfig implements BaseDataSourceOptions {
15
18
  logging: boolean;
16
19
  poolSize?: number;
17
20
  }
21
+ /**
22
+ * MySQL
23
+ */
18
24
  export declare class TypeormMysqlConfig extends TypeormConfig implements MysqlConnectionOptions {
19
25
  type: DataType.MYSQL;
20
26
  supportBigNumbers: boolean;
21
27
  bigNumberStrings: boolean;
22
28
  charset: string;
23
29
  }
30
+ /**
31
+ * PostgreSQL
32
+ */
24
33
  export declare class TypeormPostgresConfig extends TypeormConfig implements PostgresConnectionOptions {
25
34
  type: DataType.POSTGRES;
26
35
  parseInt8: boolean;
@@ -1 +1 @@
1
- {"version":3,"file":"typeorm.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/typeorm.config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AACzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAM/C,qBAAa,aAAc,YAAW,qBAAqB;IAGzD,GAAG,CAAC,EAAE,MAAM,CAAA;IAIZ,IAAI,CAAC,EAAE,MAAM,CAAA;IAKb,IAAI,CAAC,EAAE,MAAM,CAAA;IAIb,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,IAAI,EAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAIzC,gBAAgB,UAAO;IAIvB,WAAW,UAAQ;IAInB,OAAO,UAAQ;IAMf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAKD,qBAAa,kBAAmB,SAAQ,aAAc,YAAW,sBAAsB;IAE5E,IAAI,iBAA0B;IAIvC,iBAAiB,UAAO;IAIxB,gBAAgB,UAAQ;IAIxB,OAAO,SAAuB;CAC/B;AAKD,qBAAa,qBAAsB,SAAQ,aAAc,YAAW,yBAAyB;IAElF,IAAI,oBAA6B;IAI1C,SAAS,UAAO;IAIhB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
1
+ {"version":3,"file":"typeorm.config.d.ts","sourceRoot":"","sources":["../../../src/config/plugin/typeorm.config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,qBAAqB,EAAE,MAAM,2CAA2C,CAAA;AACtF,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,6CAA6C,CAAA;AACzF,OAAO,KAAK,EAAE,yBAAyB,EAAE,MAAM,mDAAmD,CAAA;AAElG,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAA;AAG/C;;GAEG;AACH,qBAAa,aAAc,YAAW,qBAAqB;IAGzD,GAAG,CAAC,EAAE,MAAM,CAAA;IAIZ,IAAI,CAAC,EAAE,MAAM,CAAA;IAKb,IAAI,CAAC,EAAE,MAAM,CAAA;IAIb,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAIjB,QAAQ,CAAC,EAAE,MAAM,CAAA;IAGjB,IAAI,EAAG,QAAQ,CAAC,KAAK,GAAG,QAAQ,CAAC,QAAQ,CAAA;IAIzC,gBAAgB,UAAO;IAIvB,WAAW,UAAQ;IAInB,OAAO,UAAQ;IAMf,QAAQ,CAAC,EAAE,MAAM,CAAA;CAClB;AAED;;GAEG;AACH,qBAAa,kBAAmB,SAAQ,aAAc,YAAW,sBAAsB;IAE5E,IAAI,iBAA0B;IAIvC,iBAAiB,UAAO;IAIxB,gBAAgB,UAAQ;IAIxB,OAAO,SAAuB;CAC/B;AAED;;GAEG;AACH,qBAAa,qBAAsB,SAAQ,aAAc,YAAW,yBAAyB;IAElF,IAAI,oBAA6B;IAI1C,SAAS,UAAO;IAIhB,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB"}
@@ -13,12 +13,22 @@ exports.TypeormPostgresConfig = exports.TypeormMysqlConfig = exports.TypeormConf
13
13
  const nest_1 = require("@142vip/nest");
14
14
  const nest_typeorm_1 = require("@142vip/nest-typeorm");
15
15
  const class_validator_1 = require("class-validator");
16
+ /**
17
+ * Typeorm基础配置
18
+ */
16
19
  class TypeormConfig {
17
- constructor() {
18
- this.autoLoadEntities = true;
19
- this.synchronize = false;
20
- this.logging = false;
21
- }
20
+ url;
21
+ host;
22
+ port;
23
+ username;
24
+ password;
25
+ database;
26
+ type;
27
+ autoLoadEntities = true;
28
+ synchronize = false;
29
+ logging = false;
30
+ // 数据库连接池,默认10个,若希望控制typeorm内置线程池的连接数,则使用maxConnections配置
31
+ poolSize;
22
32
  }
23
33
  exports.TypeormConfig = TypeormConfig;
24
34
  __decorate([
@@ -77,14 +87,15 @@ __decorate([
77
87
  (0, class_validator_1.Max)(25),
78
88
  __metadata("design:type", Number)
79
89
  ], TypeormConfig.prototype, "poolSize", void 0);
90
+ /**
91
+ * MySQL
92
+ */
80
93
  class TypeormMysqlConfig extends TypeormConfig {
81
- constructor() {
82
- super(...arguments);
83
- this.type = nest_typeorm_1.DataType.MYSQL;
84
- this.supportBigNumbers = true;
85
- this.bigNumberStrings = false;
86
- this.charset = 'utf8mb4_unicode_ci';
87
- }
94
+ type = nest_typeorm_1.DataType.MYSQL;
95
+ supportBigNumbers = true;
96
+ bigNumberStrings = false;
97
+ // 官方默认值为utf8_general_ci,不支持emoji表情,只适用于mysql
98
+ charset = 'utf8mb4_unicode_ci';
88
99
  }
89
100
  exports.TypeormMysqlConfig = TypeormMysqlConfig;
90
101
  __decorate([
@@ -102,15 +113,18 @@ __decorate([
102
113
  __metadata("design:type", Object)
103
114
  ], TypeormMysqlConfig.prototype, "bigNumberStrings", void 0);
104
115
  __decorate([
105
- (0, class_validator_1.IsString)(),
116
+ (0, class_validator_1.IsString)()
117
+ // 官方默认值为utf8_general_ci,不支持emoji表情,只适用于mysql
118
+ ,
106
119
  __metadata("design:type", Object)
107
120
  ], TypeormMysqlConfig.prototype, "charset", void 0);
121
+ /**
122
+ * PostgreSQL
123
+ */
108
124
  class TypeormPostgresConfig extends TypeormConfig {
109
- constructor() {
110
- super(...arguments);
111
- this.type = nest_typeorm_1.DataType.POSTGRES;
112
- this.parseInt8 = true;
113
- }
125
+ type = nest_typeorm_1.DataType.POSTGRES;
126
+ parseInt8 = true;
127
+ schema;
114
128
  }
115
129
  exports.TypeormPostgresConfig = TypeormPostgresConfig;
116
130
  __decorate([
@@ -127,4 +141,3 @@ __decorate([
127
141
  (0, class_validator_1.IsString)(),
128
142
  __metadata("design:type", String)
129
143
  ], TypeormPostgresConfig.prototype, "schema", void 0);
130
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoidHlwZW9ybS5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi8uLi9zcmMvY29uZmlnL3BsdWdpbi90eXBlb3JtLmNvbmZpZy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7Ozs7Ozs7Ozs7QUFHQSx1Q0FBb0U7QUFDcEUsdURBQStDO0FBQy9DLHFEQUF1RjtBQUt2RixNQUFhLGFBQWE7SUFBMUI7UUErQkUscUJBQWdCLEdBQUcsSUFBSSxDQUFBO1FBSXZCLGdCQUFXLEdBQUcsS0FBSyxDQUFBO1FBSW5CLFlBQU8sR0FBRyxLQUFLLENBQUE7SUFPakIsQ0FBQztDQUFBO0FBOUNELHNDQThDQztBQTNDQztJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7MENBQ0Q7QUFJWjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7MkNBQ0E7QUFLYjtJQUhDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTtJQUNaLElBQUEsd0JBQWlCLEdBQUU7OzJDQUNQO0FBSWI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7SUFDVixJQUFBLDRCQUFVLEdBQUU7OytDQUNJO0FBSWpCO0lBRkMsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzsrQ0FDSTtBQUlqQjtJQUZDLElBQUEsMEJBQVEsR0FBRTtJQUNWLElBQUEsNEJBQVUsR0FBRTs7K0NBQ0k7QUFHakI7SUFEQyxJQUFBLDBCQUFRLEdBQUU7OzJDQUM4QjtBQUl6QztJQUZDLElBQUEseUJBQWtCLEdBQUU7SUFDcEIsSUFBQSwyQkFBUyxHQUFFOzt1REFDVztBQUl2QjtJQUZDLElBQUEseUJBQWtCLEdBQUU7SUFDcEIsSUFBQSwyQkFBUyxHQUFFOztrREFDTztBQUluQjtJQUZDLElBQUEseUJBQWtCLEdBQUU7SUFDcEIsSUFBQSwyQkFBUyxHQUFFOzs4Q0FDRztBQU1mO0lBSEMsSUFBQSx1QkFBSyxHQUFFO0lBQ1AsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSxxQkFBRyxFQUFDLEVBQUUsQ0FBQzs7K0NBQ1M7QUFNbkIsTUFBYSxrQkFBbUIsU0FBUSxhQUFhO0lBQXJEOztRQUVXLFNBQUksR0FBRyx1QkFBUSxDQUFDLEtBQWMsQ0FBQTtRQUl2QyxzQkFBaUIsR0FBRyxJQUFJLENBQUE7UUFJeEIscUJBQWdCLEdBQUcsS0FBSyxDQUFBO1FBSXhCLFlBQU8sR0FBRyxvQkFBb0IsQ0FBQTtJQUNoQyxDQUFDO0NBQUE7QUFmRCxnREFlQztBQWJVO0lBRFIsSUFBQSwwQkFBUSxHQUFFOztnREFDNEI7QUFJdkM7SUFGQyxJQUFBLHlCQUFrQixHQUFFO0lBQ3BCLElBQUEsMkJBQVMsR0FBRTs7NkRBQ1k7QUFJeEI7SUFGQyxJQUFBLHlCQUFrQixHQUFFO0lBQ3BCLElBQUEsMkJBQVMsR0FBRTs7NERBQ1k7QUFJeEI7SUFGQyxJQUFBLDBCQUFRLEdBQUU7O21EQUVtQjtBQU1oQyxNQUFhLHFCQUFzQixTQUFRLGFBQWE7SUFBeEQ7O1FBRVcsU0FBSSxHQUFHLHVCQUFRLENBQUMsUUFBaUIsQ0FBQTtRQUkxQyxjQUFTLEdBQUcsSUFBSSxDQUFBO0lBS2xCLENBQUM7Q0FBQTtBQVhELHNEQVdDO0FBVFU7SUFEUixJQUFBLDBCQUFRLEdBQUU7O21EQUMrQjtBQUkxQztJQUZDLElBQUEsMkJBQVMsR0FBRTtJQUNYLElBQUEseUJBQWtCLEdBQUU7O3dEQUNMO0FBSWhCO0lBRkMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSwwQkFBUSxHQUFFOztxREFDSSJ9
@@ -19,6 +19,15 @@ const sequelize_config_1 = require("./plugin/sequelize.config");
19
19
  const swagger_config_1 = require("./plugin/swagger.config");
20
20
  const typeorm_config_1 = require("./plugin/typeorm.config");
21
21
  class StarterConfig {
22
+ port;
23
+ globalPrefix;
24
+ redis;
25
+ typeorm;
26
+ sequelize;
27
+ enableSwagger;
28
+ swagger;
29
+ enableLogger;
30
+ logger;
22
31
  }
23
32
  exports.StarterConfig = StarterConfig;
24
33
  __decorate([
@@ -39,12 +48,13 @@ __decorate([
39
48
  ], StarterConfig.prototype, "redis", void 0);
40
49
  __decorate([
41
50
  (0, class_transformer_1.Type)((options) => {
42
- const { type, url } = (options === null || options === void 0 ? void 0 : options.object).typeorm;
43
- const dataType = type !== null && type !== void 0 ? type : new URL(url).protocol.slice(0, -1);
51
+ const { type, url } = (options?.object).typeorm;
52
+ const dataType = type ?? new URL(url).protocol.slice(0, -1);
44
53
  if (dataType === nest_typeorm_1.DataType.POSTGRES)
45
54
  return typeorm_config_1.TypeormPostgresConfig;
46
55
  if (dataType === nest_typeorm_1.DataType.MYSQL)
47
56
  return typeorm_config_1.TypeormMysqlConfig;
57
+ // 默认PG
48
58
  return typeorm_config_1.TypeormPostgresConfig;
49
59
  }),
50
60
  (0, class_validator_1.ValidateNested)(),
@@ -79,4 +89,3 @@ __decorate([
79
89
  (0, class_validator_1.IsOptional)(),
80
90
  __metadata("design:type", logger_config_1.LoggerConfig)
81
91
  ], StarterConfig.prototype, "logger", void 0);
82
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3RhcnRlci5jb25maWcuanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvY29uZmlnL3N0YXJ0ZXIuY29uZmlnLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7OztBQUFBLHVEQUErQztBQUMvQyx5REFBd0M7QUFDeEMscURBQXVHO0FBQ3ZHLDBEQUFxRDtBQUNyRCx3REFBbUQ7QUFDbkQsZ0VBQTJEO0FBQzNELDREQUF1RDtBQUN2RCw0REFBbUY7QUFFbkYsTUFBYSxhQUFhO0NBcUR6QjtBQXJERCxzQ0FxREM7QUFsRGlCO0lBRmYsSUFBQSwwQkFBUSxHQUFFO0lBQ1YsSUFBQSw0QkFBVSxHQUFFOzsyQ0FDZ0I7QUFJN0I7SUFGQyxJQUFBLDRCQUFVLEdBQUU7SUFDWixJQUFBLDBCQUFRLEdBQUU7O21EQUNVO0FBS3JCO0lBSEMsSUFBQSw0QkFBVSxHQUFFO0lBQ1osSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQywwQkFBVyxDQUFDOzhCQUNoQiwwQkFBVzs0Q0FBQTtBQWlCbkI7SUFmQyxJQUFBLHdCQUFJLEVBQUMsQ0FBQyxPQUFPLEVBQUUsRUFBRTtRQUNoQixNQUFNLEVBQUUsSUFBSSxFQUFFLEdBQUcsRUFBRSxHQUFHLENBQUMsT0FBTyxhQUFQLE9BQU8sdUJBQVAsT0FBTyxDQUFFLE1BQWMsQ0FBQSxDQUFDLE9BQU8sQ0FBQTtRQUN0RCxNQUFNLFFBQVEsR0FBRyxJQUFJLGFBQUosSUFBSSxjQUFKLElBQUksR0FBSSxJQUFJLEdBQUcsQ0FBQyxHQUFHLENBQUMsQ0FBQyxRQUFRLENBQUMsS0FBSyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxDQUFBO1FBRTNELElBQUksUUFBUSxLQUFLLHVCQUFRLENBQUMsUUFBUTtZQUNoQyxPQUFPLHNDQUFxQixDQUFBO1FBRTlCLElBQUksUUFBUSxLQUFLLHVCQUFRLENBQUMsS0FBSztZQUM3QixPQUFPLG1DQUFrQixDQUFBO1FBRzNCLE9BQU8sc0NBQXFCLENBQUE7SUFDOUIsQ0FBQyxDQUFDO0lBQ0QsSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsNEJBQVUsR0FBRTs7OENBQ3VDO0FBS3BEO0lBSEMsSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQyxrQ0FBZSxDQUFDO0lBQzNCLElBQUEsNEJBQVUsR0FBRTs4QkFDRCxrQ0FBZTtnREFBQTtBQUkzQjtJQUZDLElBQUEsMkJBQVMsR0FBRTtJQUNYLElBQUEsNEJBQVUsR0FBRTs7b0RBQ1U7QUFLdkI7SUFIQyxJQUFBLGdDQUFjLEdBQUU7SUFDaEIsSUFBQSx3QkFBSSxFQUFDLEdBQUcsRUFBRSxDQUFDLDhCQUFhLENBQUM7SUFDekIsSUFBQSw0QkFBVSxHQUFFOzhCQUNILDhCQUFhOzhDQUFBO0FBSXZCO0lBRkMsSUFBQSwyQkFBUyxHQUFFO0lBQ1gsSUFBQSw0QkFBVSxHQUFFOzttREFDUztBQUtOO0lBSGYsSUFBQSxnQ0FBYyxHQUFFO0lBQ2hCLElBQUEsd0JBQUksRUFBQyxHQUFHLEVBQUUsQ0FBQyw0QkFBWSxDQUFDO0lBQ3hCLElBQUEsNEJBQVUsR0FBRTs4QkFDWSw0QkFBWTs2Q0FBQSJ9
@@ -5,9 +5,28 @@ import { StarterConfig } from './config';
5
5
  export declare class NestConfigModule {
6
6
  static register<T extends ClassConstructor<NestAppConfig>>(ConfigConSchema: T): DynamicModule;
7
7
  }
8
+ /**
9
+ * Nest应用模块
10
+ * - 默认全局模块
11
+ */
8
12
  export declare const NestAppConfigModule: DynamicModule;
13
+ /**
14
+ * 基于Schema获取配置
15
+ * - 不存在时,报错
16
+ * @param configSchema
17
+ */
9
18
  export declare function getConfig<T>(configSchema: ClassConstructor<T>): T;
19
+ /**
20
+ * 基于Schema获取配置,可能为空
21
+ * @param configSchema
22
+ */
10
23
  export declare function getOptionalConfig<T>(configSchema: ClassConstructor<T>): T | undefined;
24
+ /**
25
+ * 启动配置
26
+ */
11
27
  export declare const nestStaterConfig: StarterConfig;
28
+ /**
29
+ * 整个应用配置
30
+ */
12
31
  export declare const nestAppConfig: NestAppConfig;
13
32
  //# sourceMappingURL=config.module.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"config.module.d.ts","sourceRoot":"","sources":["../src/config.module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qBAAa,gBAAgB;WACb,QAAQ,CAAC,CAAC,SAAS,gBAAgB,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,aAAa;CASrG;AAMD,eAAO,MAAM,mBAAmB,eAA2C,CAAA;AAO3E,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAMjE;AAMD,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAErF;AAKD,eAAO,MAAM,gBAAgB,eAA2B,CAAA;AAKxD,eAAO,MAAM,aAAa,eAA2B,CAAA"}
1
+ {"version":3,"file":"config.module.d.ts","sourceRoot":"","sources":["../src/config.module.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AAEzD,OAAO,EAAE,aAAa,EAAE,MAAM,gBAAgB,CAAA;AAE9C,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAA;AAC5C,OAAO,EAAE,aAAa,EAAE,MAAM,UAAU,CAAA;AAExC,qBAAa,gBAAgB;WACb,QAAQ,CAAC,CAAC,SAAS,gBAAgB,CAAC,aAAa,CAAC,EAAE,eAAe,EAAE,CAAC,GAAG,aAAa;CASrG;AAED;;;GAGG;AACH,eAAO,MAAM,mBAAmB,eAA2C,CAAA;AAE3E;;;;GAIG;AACH,wBAAgB,SAAS,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,CAMjE;AAED;;;GAGG;AACH,wBAAgB,iBAAiB,CAAC,CAAC,EAAE,YAAY,EAAE,gBAAgB,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,SAAS,CAErF;AAED;;GAEG;AACH,eAAO,MAAM,gBAAgB,eAA2B,CAAA;AAExD;;GAEG;AACH,eAAO,MAAM,aAAa,eAA2B,CAAA"}
@@ -12,13 +12,23 @@ class NestConfigModule {
12
12
  return nest_typed_config_1.TypedConfigModule.forRoot({
13
13
  schema: ConfigConSchema,
14
14
  load: (0, nest_typed_config_1.fileLoader)({
15
+ // TODO 指定配置文件
15
16
  absolutePath: utils_1.VipNodeJS.pathResolve(utils_1.VipNodeJS.getProcessCwd(), 'config/test.config.js'),
16
17
  }),
17
18
  });
18
19
  }
19
20
  }
20
21
  exports.NestConfigModule = NestConfigModule;
22
+ /**
23
+ * Nest应用模块
24
+ * - 默认全局模块
25
+ */
21
26
  exports.NestAppConfigModule = NestConfigModule.register(app_config_1.NestAppConfig);
27
+ /**
28
+ * 基于Schema获取配置
29
+ * - 不存在时,报错
30
+ * @param configSchema
31
+ */
22
32
  function getConfig(configSchema) {
23
33
  const config = getOptionalConfig(configSchema);
24
34
  if (!config) {
@@ -26,9 +36,18 @@ function getConfig(configSchema) {
26
36
  }
27
37
  return config;
28
38
  }
39
+ /**
40
+ * 基于Schema获取配置,可能为空
41
+ * @param configSchema
42
+ */
29
43
  function getOptionalConfig(configSchema) {
30
44
  return (0, nest_typed_config_1.selectConfig)(exports.NestAppConfigModule, configSchema, { allowOptional: true });
31
45
  }
46
+ /**
47
+ * 启动配置
48
+ */
32
49
  exports.nestStaterConfig = getConfig(config_1.StarterConfig);
50
+ /**
51
+ * 整个应用配置
52
+ */
33
53
  exports.nestAppConfig = getConfig(app_config_1.NestAppConfig);
34
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29uZmlnLm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9jb25maWcubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQThCQSw4QkFNQztBQU1ELDhDQUVDO0FBM0NELHlDQUF5QztBQUV6Qyx5REFBK0U7QUFDL0UsNkNBQTRDO0FBQzVDLHFDQUF3QztBQUV4QyxNQUFhLGdCQUFnQjtJQUNwQixNQUFNLENBQUMsUUFBUSxDQUE0QyxlQUFrQjtRQUNsRixPQUFPLHFDQUFpQixDQUFDLE9BQU8sQ0FBQztZQUMvQixNQUFNLEVBQUUsZUFBZTtZQUN2QixJQUFJLEVBQUUsSUFBQSw4QkFBVSxFQUFDO2dCQUVmLFlBQVksRUFBRSxpQkFBUyxDQUFDLFdBQVcsQ0FBQyxpQkFBUyxDQUFDLGFBQWEsRUFBRSxFQUFFLHVCQUF1QixDQUFDO2FBQ3hGLENBQUM7U0FDSCxDQUFDLENBQUE7SUFDSixDQUFDO0NBQ0Y7QUFWRCw0Q0FVQztBQU1ZLFFBQUEsbUJBQW1CLEdBQUcsZ0JBQWdCLENBQUMsUUFBUSxDQUFDLDBCQUFhLENBQUMsQ0FBQTtBQU8zRSxTQUFnQixTQUFTLENBQUksWUFBaUM7SUFDNUQsTUFBTSxNQUFNLEdBQUcsaUJBQWlCLENBQUMsWUFBWSxDQUFDLENBQUE7SUFDOUMsSUFBSSxDQUFDLE1BQU0sRUFBRSxDQUFDO1FBQ1osTUFBTSxJQUFJLEtBQUssQ0FBQyxVQUFVLFlBQVksQ0FBQyxJQUFJLFlBQVksQ0FBQyxDQUFBO0lBQzFELENBQUM7SUFDRCxPQUFPLE1BQU0sQ0FBQTtBQUNmLENBQUM7QUFNRCxTQUFnQixpQkFBaUIsQ0FBSSxZQUFpQztJQUNwRSxPQUFPLElBQUEsZ0NBQVksRUFBQywyQkFBbUIsRUFBRSxZQUFZLEVBQUUsRUFBRSxhQUFhLEVBQUUsSUFBSSxFQUFFLENBQWtCLENBQUE7QUFDbEcsQ0FBQztBQUtZLFFBQUEsZ0JBQWdCLEdBQUcsU0FBUyxDQUFDLHNCQUFhLENBQUMsQ0FBQTtBQUszQyxRQUFBLGFBQWEsR0FBRyxTQUFTLENBQUMsMEJBQWEsQ0FBQyxDQUFBIn0=
package/dist/index.d.ts CHANGED
@@ -3,4 +3,5 @@ export * from './config';
3
3
  export * from './config.module';
4
4
  export * from './nest-starter';
5
5
  export * from './pkgs';
6
+ export * from './swagger/swagger.type';
6
7
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,cAAc,CAAA;AAC5B,cAAc,UAAU,CAAA;AACxB,cAAc,iBAAiB,CAAA;AAC/B,cAAc,gBAAgB,CAAA;AAC9B,cAAc,QAAQ,CAAA;AACtB,cAAc,wBAAwB,CAAA"}
package/dist/index.js CHANGED
@@ -19,4 +19,4 @@ __exportStar(require("./config"), exports);
19
19
  __exportStar(require("./config.module"), exports);
20
20
  __exportStar(require("./nest-starter"), exports);
21
21
  __exportStar(require("./pkgs"), exports);
22
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi9zcmMvaW5kZXgudHMiXSwibmFtZXMiOltdLCJtYXBwaW5ncyI6Ijs7Ozs7Ozs7Ozs7Ozs7OztBQUFBLCtDQUE0QjtBQUM1QiwyQ0FBd0I7QUFDeEIsa0RBQStCO0FBQy9CLGlEQUE4QjtBQUM5Qix5Q0FBc0IifQ==
22
+ __exportStar(require("./swagger/swagger.type"), exports);
@@ -1,14 +1,49 @@
1
1
  declare class NestProcess {
2
2
  private static instance;
3
3
  static getInstance(): NestProcess;
4
+ /**
5
+ * 获取当前进程的运行环境
6
+ */
4
7
  getNodeEnv(): string | undefined;
8
+ /**
9
+ * 获取加载配置的运行环境
10
+ * - 使用RUN_ENV环境变量
11
+ */
5
12
  getRunEnv(): string | undefined;
13
+ /**
14
+ * 获取启动的应用
15
+ * - 使用APP环境变量
16
+ */
6
17
  getAppEnv(): string | undefined;
18
+ /**
19
+ * 是否本地环境启动Nestjs应用
20
+ * - local.config 配置
21
+ */
7
22
  isLocalStartNest(): boolean;
23
+ /**
24
+ * 是否测试环境启动Nestjs应用
25
+ * - test.config 配置
26
+ */
8
27
  isTestStartNest(): boolean;
28
+ /**
29
+ * 是否开发环境启动Nestjs应用
30
+ * - dev.config 配置
31
+ */
9
32
  isDevelopStartNest(): boolean;
33
+ /**
34
+ * 是否为开发模式
35
+ * - 本地环境
36
+ * - 开发环境
37
+ * - 测试环境
38
+ */
10
39
  isDevelopMode(): boolean;
40
+ /**
41
+ * 根据key获取环境变量
42
+ */
11
43
  getEnv(envKey: string): string | undefined;
44
+ /**
45
+ * 获取进程当前路径
46
+ */
12
47
  getCwd(): string;
13
48
  }
14
49
  export declare const nestProcess: NestProcess;
@@ -1 +1 @@
1
- {"version":3,"file":"nest-process.d.ts","sourceRoot":"","sources":["../src/nest-process.ts"],"names":[],"mappings":"AAQA,cAAM,WAAW;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;WAE7B,WAAW,IAAI,WAAW;IAUjC,UAAU,IAAI,MAAM,GAAG,SAAS;IAQhC,SAAS,IAAI,MAAM,GAAG,SAAS;IAQ/B,SAAS,IAAI,MAAM,GAAG,SAAS;IAQ/B,gBAAgB,IAAI,OAAO;IAQ3B,eAAe,IAAI,OAAO;IAQ1B,kBAAkB,IAAI,OAAO;IAU7B,aAAa,IAAI,OAAO;IAQxB,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAO1C,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,WAAW,aAA4B,CAAA"}
1
+ {"version":3,"file":"nest-process.d.ts","sourceRoot":"","sources":["../src/nest-process.ts"],"names":[],"mappings":"AAQA,cAAM,WAAW;IACf,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAoB;WAE7B,WAAW,IAAI,WAAW;IAOxC;;OAEG;IACI,UAAU,IAAI,MAAM,GAAG,SAAS;IAIvC;;;OAGG;IACI,SAAS,IAAI,MAAM,GAAG,SAAS;IAItC;;;OAGG;IACI,SAAS,IAAI,MAAM,GAAG,SAAS;IAItC;;;OAGG;IACI,gBAAgB,IAAI,OAAO;IAIlC;;;OAGG;IACI,eAAe,IAAI,OAAO;IAIjC;;;OAGG;IACI,kBAAkB,IAAI,OAAO;IAIpC;;;;;OAKG;IACI,aAAa,IAAI,OAAO;IAK/B;;OAEG;IACI,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,SAAS;IAIjD;;OAEG;IACI,MAAM,IAAI,MAAM;CAGxB;AAED,eAAO,MAAM,WAAW,aAA4B,CAAA"}
@@ -9,39 +9,74 @@ 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();
15
16
  return this.instance;
16
17
  }
18
+ /**
19
+ * 获取当前进程的运行环境
20
+ */
17
21
  getNodeEnv() {
18
22
  return this.getEnv('NODE_ENV');
19
23
  }
24
+ /**
25
+ * 获取加载配置的运行环境
26
+ * - 使用RUN_ENV环境变量
27
+ */
20
28
  getRunEnv() {
21
29
  return this.getEnv('RUN_ENV');
22
30
  }
31
+ /**
32
+ * 获取启动的应用
33
+ * - 使用APP环境变量
34
+ */
23
35
  getAppEnv() {
24
36
  return this.getEnv('APP');
25
37
  }
38
+ /**
39
+ * 是否本地环境启动Nestjs应用
40
+ * - local.config 配置
41
+ */
26
42
  isLocalStartNest() {
27
43
  return this.getNodeEnv() === NestProcessNodeEnv.LOCAL;
28
44
  }
45
+ /**
46
+ * 是否测试环境启动Nestjs应用
47
+ * - test.config 配置
48
+ */
29
49
  isTestStartNest() {
30
50
  return this.getNodeEnv() === NestProcessNodeEnv.TEST;
31
51
  }
52
+ /**
53
+ * 是否开发环境启动Nestjs应用
54
+ * - dev.config 配置
55
+ */
32
56
  isDevelopStartNest() {
33
57
  return this.getNodeEnv() === NestProcessNodeEnv.DEVELOP;
34
58
  }
59
+ /**
60
+ * 是否为开发模式
61
+ * - 本地环境
62
+ * - 开发环境
63
+ * - 测试环境
64
+ */
35
65
  isDevelopMode() {
36
66
  const nodeEnv = this.getNodeEnv();
37
67
  return nodeEnv != null && Object.values(NestProcessNodeEnv).includes(nodeEnv);
38
68
  }
69
+ /**
70
+ * 根据key获取环境变量
71
+ */
39
72
  getEnv(envKey) {
40
73
  return utils_1.VipNodeJS.getProcessEnv(envKey);
41
74
  }
75
+ /**
76
+ * 获取进程当前路径
77
+ */
42
78
  getCwd() {
43
79
  return utils_1.VipNodeJS.getProcessCwd();
44
80
  }
45
81
  }
46
82
  exports.nestProcess = NestProcess.getInstance();
47
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1wcm9jZXNzLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3QtcHJvY2Vzcy50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBeUM7QUFFekMsSUFBSyxrQkFJSjtBQUpELFdBQUssa0JBQWtCO0lBQ3JCLHFDQUFlLENBQUE7SUFDZixtQ0FBYSxDQUFBO0lBQ2IscUNBQWUsQ0FBQTtBQUNqQixDQUFDLEVBSkksa0JBQWtCLEtBQWxCLGtCQUFrQixRQUl0QjtBQUVELE1BQU0sV0FBVztJQUdSLE1BQU0sQ0FBQyxXQUFXO1FBQ3ZCLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxXQUFXLEVBQUUsQ0FBQTtRQUVuQyxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUtNLFVBQVU7UUFDZixPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsVUFBVSxDQUFDLENBQUE7SUFDaEMsQ0FBQztJQU1NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsU0FBUyxDQUFDLENBQUE7SUFDL0IsQ0FBQztJQU1NLFNBQVM7UUFDZCxPQUFPLElBQUksQ0FBQyxNQUFNLENBQUMsS0FBSyxDQUFDLENBQUE7SUFDM0IsQ0FBQztJQU1NLGdCQUFnQjtRQUNyQixPQUFPLElBQUksQ0FBQyxVQUFVLEVBQUUsS0FBSyxrQkFBa0IsQ0FBQyxLQUFLLENBQUE7SUFDdkQsQ0FBQztJQU1NLGVBQWU7UUFDcEIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssa0JBQWtCLENBQUMsSUFBSSxDQUFBO0lBQ3RELENBQUM7SUFNTSxrQkFBa0I7UUFDdkIsT0FBTyxJQUFJLENBQUMsVUFBVSxFQUFFLEtBQUssa0JBQWtCLENBQUMsT0FBTyxDQUFBO0lBQ3pELENBQUM7SUFRTSxhQUFhO1FBQ2xCLE1BQU0sT0FBTyxHQUFHLElBQUksQ0FBQyxVQUFVLEVBQUUsQ0FBQTtRQUNqQyxPQUFPLE9BQU8sSUFBSSxJQUFJLElBQUksTUFBTSxDQUFDLE1BQU0sQ0FBQyxrQkFBa0IsQ0FBQyxDQUFDLFFBQVEsQ0FBQyxPQUE2QixDQUFDLENBQUE7SUFDckcsQ0FBQztJQUtNLE1BQU0sQ0FBQyxNQUFjO1FBQzFCLE9BQU8saUJBQVMsQ0FBQyxhQUFhLENBQUMsTUFBTSxDQUFDLENBQUE7SUFDeEMsQ0FBQztJQUtNLE1BQU07UUFDWCxPQUFPLGlCQUFTLENBQUMsYUFBYSxFQUFFLENBQUE7SUFDbEMsQ0FBQztDQUNGO0FBRVksUUFBQSxXQUFXLEdBQUcsV0FBVyxDQUFDLFdBQVcsRUFBRSxDQUFBIn0=
@@ -20,7 +20,8 @@ let NestRootModule = NestRootModule_1 = class NestRootModule {
20
20
  exports.NestRootModule = NestRootModule;
21
21
  exports.NestRootModule = NestRootModule = NestRootModule_1 = __decorate([
22
22
  (0, common_1.Module)({
23
- imports: [],
23
+ imports: [
24
+ // NestConfigModule,
25
+ ],
24
26
  })
25
27
  ], NestRootModule);
26
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1yb290Lm1vZHVsZS5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9uZXN0LXJvb3QubW9kdWxlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7QUFBQSwyQ0FBc0Q7QUFPL0MsSUFBTSxjQUFjLHNCQUFwQixNQUFNLGNBQWM7SUFDbEIsTUFBTSxDQUFDLFFBQVEsQ0FBQyxpQkFBZ0Q7UUFDckUsT0FBTztZQUNMLE1BQU0sRUFBRSxnQkFBYztZQUN0QixHQUFHLGlCQUFpQjtTQUNyQixDQUFBO0lBQ0gsQ0FBQztDQUNGLENBQUE7QUFQWSx3Q0FBYzt5QkFBZCxjQUFjO0lBTDFCLElBQUEsZUFBTSxFQUFDO1FBQ04sT0FBTyxFQUFFLEVBRVI7S0FDRixDQUFDO0dBQ1csY0FBYyxDQU8xQiJ9
@@ -2,12 +2,31 @@ import type { ClassConstructor } from 'class-transformer';
2
2
  import { NestModule } from '@142vip/nest';
3
3
  import { NestApplicationOptions } from '@nestjs/common';
4
4
  import { NestAppConfig } from './app.config';
5
+ /**
6
+ * Nest框架启动器
7
+ */
5
8
  export declare class NestStarter {
6
9
  protected readonly nestApplicationOptions?: NestApplicationOptions | undefined;
7
10
  private static instance;
11
+ /**
12
+ *
13
+ * @param nestApplicationOptions
14
+ * @protected
15
+ */
8
16
  protected constructor(nestApplicationOptions?: NestApplicationOptions | undefined);
17
+ /**
18
+ * 单例
19
+ * @param nestApplicationOptions 应用启动选项
20
+ */
9
21
  static getInstance(nestApplicationOptions?: NestApplicationOptions): NestStarter;
22
+ /**
23
+ * 入口
24
+ */
10
25
  start(appModule: NestModule, rootConfigSchema: ClassConstructor<NestAppConfig>): Promise<void>;
26
+ /**
27
+ * 注册全局模块
28
+ * @private
29
+ */
11
30
  private registerGlobalModules;
12
31
  private getProviders;
13
32
  }
@@ -1 +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;AAS5C,qBAAa,WAAW;IAQpB,SAAS,CAAC,QAAQ,CAAC,sBAAsB,CAAC,EAAE,sBAAsB;IAPpE,OAAO,CAAC,MAAM,CAAC,QAAQ,CAAa;IAMpC,SAAS,aACY,sBAAsB,CAAC,EAAE,sBAAsB,YAAA;WAOtD,WAAW,CACvB,sBAAsB,CAAC,EAAE,sBAAsB,GAC9C,WAAW;IAUD,KAAK,CAAC,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,gBAAgB,CAAC,aAAa,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAkE3G,OAAO,CAAC,qBAAqB;IAqB7B,OAAO,CAAC,YAAY;CAgErB"}
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;IAqB7B,OAAO,CAAC,YAAY;CAgErB"}
@@ -12,53 +12,94 @@ const config_module_1 = require("./config.module");
12
12
  const nest_root_module_1 = require("./nest-root.module");
13
13
  const nest_util_1 = require("./nest-util");
14
14
  const swagger_manager_1 = require("./swagger/swagger.manager");
15
+ /**
16
+ * Nest框架启动器
17
+ */
15
18
  class NestStarter {
19
+ nestApplicationOptions;
20
+ static instance;
21
+ /**
22
+ *
23
+ * @param nestApplicationOptions
24
+ * @protected
25
+ */
16
26
  constructor(nestApplicationOptions) {
17
27
  this.nestApplicationOptions = nestApplicationOptions;
18
28
  }
29
+ /**
30
+ * 单例
31
+ * @param nestApplicationOptions 应用启动选项
32
+ */
19
33
  static getInstance(nestApplicationOptions) {
20
34
  if (this.instance == null)
21
35
  this.instance = new this(nestApplicationOptions);
22
36
  return this.instance;
23
37
  }
38
+ /**
39
+ * 入口
40
+ */
24
41
  async start(appModule, rootConfigSchema) {
25
42
  const ConfigModule = config_module_1.NestConfigModule.register(rootConfigSchema);
43
+ // 整个项目配置
26
44
  const rootConfig = (0, nest_typed_config_1.selectConfig)(ConfigModule, rootConfigSchema);
45
+ // 开启日志
27
46
  if (config_module_1.nestStaterConfig.enableLogger)
28
47
  utils_1.vipLogger.logByBlank(JSON.stringify(rootConfig, null, 2));
29
48
  const rootModule = nest_root_module_1.NestRootModule.register({
30
49
  imports: [
50
+ // 配置模块
31
51
  ConfigModule,
52
+ // 全局模块
32
53
  ...this.registerGlobalModules(),
54
+ // 业务模块
33
55
  appModule,
34
56
  ],
35
57
  providers: this.getProviders(),
36
58
  });
59
+ /**
60
+ * 创建应用
61
+ */
37
62
  const app = await core_1.NestFactory.create(rootModule, {
38
63
  bufferLogs: true,
39
64
  ...this.nestApplicationOptions,
40
65
  });
66
+ /**
67
+ * 应用日志
68
+ */
41
69
  if (config_module_1.nestStaterConfig.enableLogger)
42
70
  nest_logger_1.NestLoggerModule.useLogger(app);
71
+ // 路由版本功能
72
+ // apiVersioning必须在swagger之前加载
43
73
  app.enableVersioning({ type: common_1.VersioningType.URI });
44
74
  if (config_module_1.nestStaterConfig.enableSwagger && config_module_1.nestStaterConfig.swagger != null) {
45
75
  new swagger_manager_1.SwaggerManager(config_module_1.nestStaterConfig.swagger).register(app);
76
+ // TODO 打印swagger相关信息
46
77
  }
78
+ // 启用关闭钩子(for优雅下线)
47
79
  app.enableShutdownHooks();
80
+ // 添加健康检查路由
48
81
  app.getHttpAdapter()
49
82
  .get('/health', (_req, res) => res.status(common_1.HttpStatus.OK).send('SERVER OK'));
83
+ // 应用启动
50
84
  await app.listen(config_module_1.nestStaterConfig.port);
85
+ // 优化日志
51
86
  void new nest_util_1.NestUtil(app, config_module_1.nestStaterConfig).printAppModuleStarterLogger();
52
87
  }
88
+ /**
89
+ * 注册全局模块
90
+ * @private
91
+ */
53
92
  registerGlobalModules() {
54
93
  const imports = [];
55
94
  if (config_module_1.nestStaterConfig.enableLogger) {
56
95
  imports.push(nest_logger_1.NestLoggerModule.register({ consoleLogger: { level: nest_logger_1.LoggerLevelEnum.trace } }));
57
96
  }
97
+ // 注册Redis模块
58
98
  if (config_module_1.nestStaterConfig.redis != null) {
59
99
  imports.push(nest_redis_1.NestRedisModule.register(config_module_1.nestStaterConfig.redis));
60
100
  }
61
101
  console.log(111, config_module_1.nestStaterConfig.typeorm);
102
+ // 注册TypeOrm模块
62
103
  if (config_module_1.nestStaterConfig.typeorm != null) {
63
104
  imports.push(nest_typeorm_1.NestTypeOrmModule.register(config_module_1.nestStaterConfig.typeorm));
64
105
  }
@@ -66,12 +107,67 @@ class NestStarter {
66
107
  }
67
108
  getProviders() {
68
109
  return [
110
+ /**
111
+ * 传播上下文
112
+ */
113
+ // {
114
+ // provide: APP_INTERCEPTOR,
115
+ // useClass: PropagationInterceptor,
116
+ // },
117
+ /**
118
+ * 统一响应体
119
+ */
120
+ // {
121
+ // provide: APP_INTERCEPTOR,
122
+ // useClass: ResponseInterceptor,
123
+ // },
124
+ /**
125
+ * 序列化类(过滤不正常字段)
126
+ */
69
127
  {
70
128
  provide: core_1.APP_INTERCEPTOR,
71
129
  useClass: common_1.ClassSerializerInterceptor,
72
130
  },
131
+ /**
132
+ * 校验入参
133
+ */
134
+ // {
135
+ // provide: APP_PIPE,
136
+ // useValue: new CustomValidationPipe({
137
+ // // 下面两个class-transformer参数用于尝试将传进来的参数转成dto定义的类型
138
+ // transform: true,
139
+ // transformOptions: { enableImplicitConversion: true }, // TODO to delete it
140
+ // // 是否禁用DTO参数校验错误详情
141
+ // disableErrorMessages: nestStaterConfig.disableErrorMessages,
142
+ // // 下面两个class-validator参数用于禁止未知的参数
143
+ // // whitelist: true,
144
+ // // forbidNonWhitelisted: true,
145
+ // ...(nestStaterConfig.disableErrorMessages
146
+ // ? {
147
+ // exceptionFactory: (_errors): PlatformException => {
148
+ // return new PlatformException(ErrorCodes.BAD_REQUEST, HttpStatus.BAD_REQUEST)
149
+ // },
150
+ // }
151
+ // : {}),
152
+ // }),
153
+ // },
154
+ /**
155
+ * 拦截框架内部异常
156
+ */
157
+ // {
158
+ // provide: APP_FILTER,
159
+ // useClass: GlobalFilter,
160
+ // },
161
+ // /**
162
+ // * 限制请求来源页
163
+ // */
164
+ // ...(nestStaterConfig.allowedReferers != null
165
+ // ? [{
166
+ // provide: APP_GUARD,
167
+ // useClass: RefererGuard,
168
+ // }]
169
+ // : []),
73
170
  ];
74
171
  }
75
172
  }
76
173
  exports.NestStarter = NestStarter;
77
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC1zdGFydGVyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3Qtc3RhcnRlci50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFFQSxxREFBdUU7QUFDdkUsbURBQW9EO0FBQ3BELHVEQUF3RDtBQUN4RCx5Q0FBeUM7QUFDekMsMkNBS3VCO0FBQ3ZCLHVDQUEyRDtBQUMzRCx5REFBZ0Q7QUFFaEQsbURBQW9FO0FBQ3BFLHlEQUFtRDtBQUNuRCwyQ0FBc0M7QUFDdEMsK0RBQTBEO0FBSzFELE1BQWEsV0FBVztJQU90QixZQUNxQixzQkFBK0M7UUFBL0MsMkJBQXNCLEdBQXRCLHNCQUFzQixDQUF5QjtJQUNoRSxDQUFDO0lBTUUsTUFBTSxDQUFDLFdBQVcsQ0FDdkIsc0JBQStDO1FBRS9DLElBQUksSUFBSSxDQUFDLFFBQVEsSUFBSSxJQUFJO1lBQ3ZCLElBQUksQ0FBQyxRQUFRLEdBQUcsSUFBSSxJQUFJLENBQUMsc0JBQXNCLENBQUMsQ0FBQTtRQUVsRCxPQUFPLElBQUksQ0FBQyxRQUFRLENBQUE7SUFDdEIsQ0FBQztJQUtNLEtBQUssQ0FBQyxLQUFLLENBQUMsU0FBcUIsRUFBRSxnQkFBaUQ7UUFDekYsTUFBTSxZQUFZLEdBQUcsZ0NBQWdCLENBQUMsUUFBUSxDQUFDLGdCQUFnQixDQUFDLENBQUE7UUFHaEUsTUFBTSxVQUFVLEdBQUcsSUFBQSxnQ0FBWSxFQUFDLFlBQVksRUFBRSxnQkFBZ0IsQ0FBQyxDQUFBO1FBRy9ELElBQUksZ0NBQWdCLENBQUMsWUFBWTtZQUMvQixpQkFBUyxDQUFDLFVBQVUsQ0FBQyxJQUFJLENBQUMsU0FBUyxDQUFDLFVBQVUsRUFBRSxJQUFJLEVBQUUsQ0FBQyxDQUFDLENBQUMsQ0FBQTtRQUUzRCxNQUFNLFVBQVUsR0FBRyxpQ0FBYyxDQUFDLFFBQVEsQ0FBQztZQUN6QyxPQUFPLEVBQUU7Z0JBRVAsWUFBWTtnQkFHWixHQUFHLElBQUksQ0FBQyxxQkFBcUIsRUFBRTtnQkFHL0IsU0FBUzthQUNWO1lBQ0QsU0FBUyxFQUFFLElBQUksQ0FBQyxZQUFZLEVBQUU7U0FDL0IsQ0FBQyxDQUFBO1FBS0YsTUFBTSxHQUFHLEdBQUcsTUFBTSxrQkFBVyxDQUFDLE1BQU0sQ0FBQyxVQUFVLEVBQUU7WUFDL0MsVUFBVSxFQUFFLElBQUk7WUFDaEIsR0FBRyxJQUFJLENBQUMsc0JBQXNCO1NBQy9CLENBQUMsQ0FBQTtRQUtGLElBQUksZ0NBQWdCLENBQUMsWUFBWTtZQUMvQiw4QkFBZ0IsQ0FBQyxTQUFTLENBQUMsR0FBRyxDQUFDLENBQUE7UUFJakMsR0FBRyxDQUFDLGdCQUFnQixDQUFDLEVBQUUsSUFBSSxFQUFFLHVCQUFjLENBQUMsR0FBRyxFQUFFLENBQUMsQ0FBQTtRQUVsRCxJQUFJLGdDQUFnQixDQUFDLGFBQWEsSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDdkUsSUFBSSxnQ0FBYyxDQUFDLGdDQUFnQixDQUFDLE9BQU8sQ0FBQyxDQUFDLFFBQVEsQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUc1RCxDQUFDO1FBR0QsR0FBRyxDQUFDLG1CQUFtQixFQUFFLENBQUE7UUFHekIsR0FBRyxDQUFDLGNBQWMsRUFBRTthQUNqQixHQUFHLENBQUMsU0FBUyxFQUFFLENBQUMsSUFBSSxFQUFFLEdBQUcsRUFBRSxFQUFFLENBQUMsR0FBRyxDQUFDLE1BQU0sQ0FBQyxtQkFBVSxDQUFDLEVBQUUsQ0FBQyxDQUFDLElBQUksQ0FBQyxXQUFXLENBQUMsQ0FBQyxDQUFBO1FBRzdFLE1BQU0sR0FBRyxDQUFDLE1BQU0sQ0FBQyxnQ0FBZ0IsQ0FBQyxJQUFLLENBQUMsQ0FBQTtRQUd4QyxLQUFLLElBQUksb0JBQVEsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdCLENBQUMsQ0FBQywyQkFBMkIsRUFBRSxDQUFBO0lBQ3hFLENBQUM7SUFNTyxxQkFBcUI7UUFDM0IsTUFBTSxPQUFPLEdBQWlCLEVBQUUsQ0FBQTtRQUVoQyxJQUFJLGdDQUFnQixDQUFDLFlBQVksRUFBRSxDQUFDO1lBQ2xDLE9BQU8sQ0FBQyxJQUFJLENBQUMsOEJBQWdCLENBQUMsUUFBUSxDQUFDLEVBQUUsYUFBYSxFQUFFLEVBQUUsS0FBSyxFQUFFLDZCQUFlLENBQUMsS0FBSyxFQUFFLEVBQUUsQ0FBQyxDQUFDLENBQUE7UUFDOUYsQ0FBQztRQUdELElBQUksZ0NBQWdCLENBQUMsS0FBSyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQ25DLE9BQU8sQ0FBQyxJQUFJLENBQUMsNEJBQWUsQ0FBQyxRQUFRLENBQUMsZ0NBQWdCLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQTtRQUNoRSxDQUFDO1FBRUQsT0FBTyxDQUFDLEdBQUcsQ0FBQyxHQUFHLEVBQUUsZ0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUE7UUFFMUMsSUFBSSxnQ0FBZ0IsQ0FBQyxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDckMsT0FBTyxDQUFDLElBQUksQ0FBQyxnQ0FBaUIsQ0FBQyxRQUFRLENBQUMsZ0NBQWdCLENBQUMsT0FBTyxDQUFDLENBQUMsQ0FBQTtRQUNwRSxDQUFDO1FBRUQsT0FBTyxPQUFPLENBQUE7SUFDaEIsQ0FBQztJQUVPLFlBQVk7UUFDbEIsT0FBTztZQWtCTDtnQkFDRSxPQUFPLEVBQUUsc0JBQWU7Z0JBQ3hCLFFBQVEsRUFBRSxtQ0FBMEI7YUFDckM7U0F3Q0YsQ0FBQTtJQUNILENBQUM7Q0FDRjtBQWxMRCxrQ0FrTEMifQ==
@@ -5,12 +5,35 @@ export declare class NestUtil {
5
5
  readonly starterConfig: StarterConfig;
6
6
  private logger;
7
7
  constructor(app: INestApplication, starterConfig: StarterConfig);
8
+ /**
9
+ * 是否为开发模式
10
+ * - 本地环境
11
+ * - 开发环境
12
+ * - 测试环境
13
+ */
8
14
  isDevelopMode(): boolean;
9
15
  printAppModuleStarterLogger(): Promise<void>;
16
+ /**
17
+ * GRPC 日志
18
+ * @private
19
+ */
10
20
  private privateGrpcLogger;
11
21
  private printAppLogger;
22
+ /**
23
+ * 获取日志模板
24
+ * @private
25
+ */
12
26
  private printSwaggerLogger;
27
+ /**
28
+ * http服务日志
29
+ * @private
30
+ */
13
31
  private printHttpLogger;
32
+ /**
33
+ * 终端日志模板
34
+ * @param title
35
+ * @param info
36
+ */
14
37
  private getLoggerTemplate;
15
38
  }
16
39
  //# sourceMappingURL=nest-util.d.ts.map
@@ -1 +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;IAWxD,aAAa,IAAI,OAAO;IAIlB,2BAA2B;IAsBxC,OAAO,CAAC,iBAAiB;IAMzB,OAAO,CAAC,cAAc;IAetB,OAAO,CAAC,kBAAkB;YAuBZ,eAAe;IAqB7B,OAAO,CAAC,iBAAiB;CAS1B"}
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
@@ -5,23 +5,42 @@ const utils_1 = require("@142vip/utils");
5
5
  const common_1 = require("@nestjs/common");
6
6
  const nest_process_1 = require("./nest-process");
7
7
  class NestUtil {
8
+ app;
9
+ starterConfig;
10
+ logger = new common_1.Logger();
8
11
  constructor(app, starterConfig) {
9
- this.logger = new common_1.Logger();
10
12
  this.app = app;
11
13
  this.starterConfig = starterConfig;
12
14
  }
15
+ /**
16
+ * 是否为开发模式
17
+ * - 本地环境
18
+ * - 开发环境
19
+ * - 测试环境
20
+ */
13
21
  isDevelopMode() {
14
22
  return nest_process_1.nestProcess.isDevelopMode();
15
23
  }
16
24
  async printAppModuleStarterLogger() {
25
+ // 未开启日志
17
26
  if (!this.starterConfig.enableLogger)
18
27
  return;
28
+ // 应用日志
19
29
  this.printAppLogger();
30
+ // http 日志
20
31
  await this.printHttpLogger();
32
+ // grpc 日志
21
33
  this.privateGrpcLogger();
34
+ // swagger日志
22
35
  this.printSwaggerLogger();
23
36
  }
37
+ /**
38
+ * GRPC 日志
39
+ * @private
40
+ */
24
41
  privateGrpcLogger() {
42
+ // if (this.starterConfig.grpcServer?.url)
43
+ // logger.log(`🔌 GRPC服务: ${this.starterConfig.grpcServer.url}`)
25
44
  }
26
45
  printAppLogger() {
27
46
  const appName = nest_process_1.nestProcess.getAppEnv();
@@ -33,13 +52,17 @@ class NestUtil {
33
52
  });
34
53
  this.logger.log(template);
35
54
  }
55
+ /**
56
+ * 获取日志模板
57
+ * @private
58
+ */
36
59
  printSwaggerLogger() {
37
- var _a, _b, _c;
38
- if (!this.starterConfig.enableSwagger || ((_a = this.starterConfig.swagger) === null || _a === void 0 ? void 0 : _a.envs) == null) {
60
+ if (!this.starterConfig.enableSwagger || this.starterConfig.swagger?.envs == null) {
39
61
  return;
40
62
  }
41
- for (const [envName, serverUrl] of Object.entries((_b = this.starterConfig.swagger) === null || _b === void 0 ? void 0 : _b.envs)) {
42
- const docPath = (_c = this.starterConfig.swagger) === null || _c === void 0 ? void 0 : _c.docPath;
63
+ // swagger envs 配置 遍历
64
+ for (const [envName, serverUrl] of Object.entries(this.starterConfig.swagger?.envs)) {
65
+ const docPath = this.starterConfig.swagger?.docPath;
43
66
  const uiUrl = `${serverUrl}:${this.starterConfig.port}/${docPath}`;
44
67
  const apiUrl = `${serverUrl}:${this.starterConfig.port}/${docPath}-json`;
45
68
  const template = this.getLoggerTemplate(`📚 Swagger API,${utils_1.VipColor.greenBright(envName)} ${utils_1.VipColor.greenBright('环境')}`, {
@@ -49,17 +72,27 @@ class NestUtil {
49
72
  this.logger.log(template);
50
73
  }
51
74
  }
75
+ /**
76
+ * http服务日志
77
+ * @private
78
+ */
52
79
  async printHttpLogger() {
53
80
  const apiUrl = await this.app.getUrl();
54
81
  const { local, ip } = await utils_1.vipDetect.getAddress();
55
82
  const [localOrigin, ipOrigin] = [local, ip].map((address) => {
56
83
  const api = new URL(apiUrl);
84
+ // 替换hostname为地址
57
85
  api.hostname = address;
58
86
  return api.origin;
59
87
  });
60
88
  const template = this.getLoggerTemplate(`🌐 HTTP服务`, { local: localOrigin, network: ipOrigin });
61
89
  this.logger.log(template);
62
90
  }
91
+ /**
92
+ * 终端日志模板
93
+ * @param title
94
+ * @param info
95
+ */
63
96
  getLoggerTemplate(title, info) {
64
97
  let content = '';
65
98
  const maxKeyLength = Math.max(...Object.keys(info).map(key => key.length));
@@ -71,4 +104,3 @@ class NestUtil {
71
104
  }
72
105
  }
73
106
  exports.NestUtil = NestUtil;
74
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoibmVzdC11dGlsLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL25lc3QtdXRpbC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiOzs7QUFBQSx5Q0FBOEQ7QUFDOUQsMkNBQXlEO0FBRXpELGlEQUE0QztBQUU1QyxNQUFhLFFBQVE7SUFLbkIsWUFBWSxHQUFxQixFQUFFLGFBQTRCO1FBRnZELFdBQU0sR0FBRyxJQUFJLGVBQU0sRUFBRSxDQUFBO1FBRzNCLElBQUksQ0FBQyxHQUFHLEdBQUcsR0FBRyxDQUFBO1FBQ2QsSUFBSSxDQUFDLGFBQWEsR0FBRyxhQUFhLENBQUE7SUFDcEMsQ0FBQztJQVFNLGFBQWE7UUFDbEIsT0FBTywwQkFBVyxDQUFDLGFBQWEsRUFBRSxDQUFBO0lBQ3BDLENBQUM7SUFFTSxLQUFLLENBQUMsMkJBQTJCO1FBRXRDLElBQUksQ0FBQyxJQUFJLENBQUMsYUFBYSxDQUFDLFlBQVk7WUFDbEMsT0FBTTtRQUdSLElBQUksQ0FBQyxjQUFjLEVBQUUsQ0FBQTtRQUdyQixNQUFNLElBQUksQ0FBQyxlQUFlLEVBQUUsQ0FBQTtRQUc1QixJQUFJLENBQUMsaUJBQWlCLEVBQUUsQ0FBQTtRQUd4QixJQUFJLENBQUMsa0JBQWtCLEVBQUUsQ0FBQTtJQUMzQixDQUFDO0lBTU8saUJBQWlCO0lBSXpCLENBQUM7SUFFTyxjQUFjO1FBQ3BCLE1BQU0sT0FBTyxHQUFHLDBCQUFXLENBQUMsU0FBUyxFQUFFLENBQUE7UUFDdkMsTUFBTSxRQUFRLEdBQUcsSUFBSSxDQUFDLGlCQUFpQixDQUFDLFdBQVcsRUFBRTtZQUNuRCxPQUFPLEVBQUUsMEJBQVcsQ0FBQyxVQUFVLEVBQUc7WUFDbEMsTUFBTSxFQUFFLEdBQUcsMEJBQVcsQ0FBQyxTQUFTLEVBQUUsWUFBWTtZQUM5QyxHQUFHLENBQUMsT0FBTyxJQUFJLElBQUksQ0FBQyxDQUFDLENBQUMsRUFBRSxDQUFDLENBQUMsQ0FBQyxFQUFFLE9BQU8sRUFBRSxDQUFDO1lBQ3ZDLEdBQUcs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
package/dist/pkgs.d.ts CHANGED
@@ -2,4 +2,5 @@ export * from '@142vip/nest';
2
2
  export * from '@142vip/nest-logger';
3
3
  export * from '@142vip/nest-redis';
4
4
  export * from '@142vip/nest-typeorm';
5
+ export * from '@nestjs/swagger';
5
6
  //# sourceMappingURL=pkgs.d.ts.map
@@ -1 +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"}
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 CHANGED
@@ -18,4 +18,4 @@ __exportStar(require("@142vip/nest"), exports);
18
18
  __exportStar(require("@142vip/nest-logger"), exports);
19
19
  __exportStar(require("@142vip/nest-redis"), exports);
20
20
  __exportStar(require("@142vip/nest-typeorm"), exports);
21
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoicGtncy5qcyIsInNvdXJjZVJvb3QiOiIiLCJzb3VyY2VzIjpbIi4uL3NyYy9wa2dzLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7Ozs7Ozs7Ozs7Ozs7Ozs7QUFBQSwrQ0FBNEI7QUFDNUIsc0RBQW1DO0FBQ25DLHFEQUFrQztBQUNsQyx1REFBb0MifQ==
21
+ __exportStar(require("@nestjs/swagger"), exports);
@@ -1 +1,2 @@
1
+ export {};
1
2
  //# sourceMappingURL=index.d.ts.map
@@ -1,2 +1,2 @@
1
1
  "use strict";
2
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiaW5kZXguanMiLCJzb3VyY2VSb290IjoiIiwic291cmNlcyI6WyIuLi8uLi9zcmMvc3dhZ2dlci9pbmRleC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiIn0=
2
+ Object.defineProperty(exports, "__esModule", { value: true });
@@ -16,6 +16,9 @@ export interface DocumentBuilderOptions {
16
16
  };
17
17
  }
18
18
  export interface SwaggerOptions {
19
+ /**
20
+ * swagger路径
21
+ */
19
22
  docPath: string;
20
23
  builderOptions?: DocumentBuilderOptions;
21
24
  customOptions?: SwaggerCustomOptions;
@@ -23,10 +26,19 @@ export interface SwaggerOptions {
23
26
  export declare class SwaggerDocumentBuilder {
24
27
  getConfig(options?: DocumentBuilderOptions): Omit<OpenAPIObject, 'paths'>;
25
28
  }
29
+ /**
30
+ * 管理器
31
+ */
26
32
  export declare class SwaggerManager {
27
33
  private swaggerOptions;
28
34
  constructor(swaggerOptions: SwaggerOptions);
35
+ /**
36
+ * 注册
37
+ */
29
38
  register(app: INestApplication): INestApplication;
30
39
  }
40
+ /**
41
+ * Swagger终端日志模板
42
+ */
31
43
  export declare function getTemplate(envName: string, uiPath: string, apiUrl: string): string;
32
44
  //# sourceMappingURL=swagger.manager.d.ts.map
@@ -1 +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;IAI7B,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;AAKD,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAgB;gBAC1B,cAAc,EAAE,cAAc;IAOnC,QAAQ,CAAC,GAAG,EAAE,gBAAgB,GAAG,gBAAgB;CAOzD;AAKD,wBAAgB,WAAW,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,MAAM,CAMnF"}
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"}
@@ -7,6 +7,7 @@ const swagger_1 = require("@nestjs/swagger");
7
7
  class SwaggerDocumentBuilder {
8
8
  getConfig(options) {
9
9
  const document = new swagger_1.DocumentBuilder();
10
+ // 初始化
10
11
  if (options == null) {
11
12
  options = {};
12
13
  }
@@ -32,19 +33,28 @@ class SwaggerDocumentBuilder {
32
33
  }
33
34
  }
34
35
  exports.SwaggerDocumentBuilder = SwaggerDocumentBuilder;
36
+ /**
37
+ * 管理器
38
+ */
35
39
  class SwaggerManager {
40
+ swaggerOptions;
36
41
  constructor(swaggerOptions) {
37
42
  this.swaggerOptions = swaggerOptions;
38
43
  }
44
+ /**
45
+ * 注册
46
+ */
39
47
  register(app) {
40
- var _a;
41
- const documentConfig = new SwaggerDocumentBuilder().getConfig((_a = this.swaggerOptions) === null || _a === void 0 ? void 0 : _a.builderOptions);
48
+ const documentConfig = new SwaggerDocumentBuilder().getConfig(this.swaggerOptions?.builderOptions);
42
49
  const document = swagger_1.SwaggerModule.createDocument(app, documentConfig);
43
50
  swagger_1.SwaggerModule.setup(this.swaggerOptions.docPath, app, document, this.swaggerOptions.customOptions);
44
51
  return app;
45
52
  }
46
53
  }
47
54
  exports.SwaggerManager = SwaggerManager;
55
+ /**
56
+ * Swagger终端日志模板
57
+ */
48
58
  function getTemplate(envName, uiPath, apiUrl) {
49
59
  return `📚 Swagger API:${utils_1.VipColor.greenBright(envName)} 环境。
50
60
 
@@ -52,4 +62,3 @@ function getTemplate(envName, uiPath, apiUrl) {
52
62
  ➜ JSON: ${apiUrl}
53
63
  `;
54
64
  }
55
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci5tYW5hZ2VyLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N3YWdnZXIvc3dhZ2dlci5tYW5hZ2VyLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQXVGQSxrQ0FNQztBQTdGRCx5Q0FBd0M7QUFFeEMsNkNBQWdFO0FBNEJoRSxNQUFhLHNCQUFzQjtJQUMxQixTQUFTLENBQUMsT0FBZ0M7UUFDL0MsTUFBTSxRQUFRLEdBQUcsSUFBSSx5QkFBZSxFQUFFLENBQUE7UUFFdEMsSUFBSSxPQUFPLElBQUksSUFBSSxFQUFFLENBQUM7WUFDcEIsT0FBTyxHQUFHLEVBQUUsQ0FBQTtRQUNkLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxLQUFLLElBQUksSUFBSSxFQUFFLENBQUM7WUFDMUIsUUFBUSxDQUFDLFFBQVEsQ0FBQyxPQUFPLENBQUMsS0FBSyxDQUFDLENBQUE7UUFDbEMsQ0FBQztRQUVELElBQUksT0FBTyxDQUFDLFdBQVcsSUFBSSxJQUFJLEVBQUUsQ0FBQztZQUNoQyxRQUFRLENBQUMsY0FBYyxDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUM5QyxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxDQUFBO1FBQ3RDLENBQUM7UUFDRCxJQUFJLE9BQU8sQ0FBQyxXQUFXLElBQUksSUFBSSxFQUFFLENBQUM7WUFDaEMsUUFBUSxDQUFDLGlCQUFpQixDQUFDLE9BQU8sQ0FBQyxXQUFXLENBQUMsQ0FBQTtRQUNqRCxDQUFDO1FBRUQsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxLQUFLLENBQUMsQ0FBQTtRQUN2RixDQUFDO1FBQ0QsSUFBSSxPQUFPLENBQUMsT0FBTyxJQUFJLElBQUksRUFBRSxDQUFDO1lBQzVCLFFBQVEsQ0FBQyxVQUFVLENBQUMsT0FBTyxDQUFDLE9BQU8sQ0FBQyxJQUFJLEVBQUUsT0FBTyxDQUFDLE9BQU8sQ0FBQyxHQUFHLENBQUMsQ0FBQTtRQUNoRSxDQUFDO1FBRUQsT0FBTyxRQUFRLENBQUMsS0FBSyxFQUFFLENBQUE7SUFDekIsQ0FBQztDQUNGO0FBL0JELHdEQStCQztBQUtELE1BQWEsY0FBYztJQUV6QixZQUFZLGNBQThCO1FBQ3hDLElBQUksQ0FBQyxjQUFjLEdBQUcsY0FBYyxDQUFBO0lBQ3RDLENBQUM7SUFLTSxRQUFRLENBQUMsR0FBcUI7O1FBQ25DLE1BQU0sY0FBYyxHQUFHLElBQUksc0JBQXNCLEVBQUUsQ0FBQyxTQUFTLENBQUMsTUFBQSxJQUFJLENBQUMsY0FBYywwQ0FBRSxjQUFjLENBQUMsQ0FBQTtRQUNsRyxNQUFNLFFBQVEsR0FBRyx1QkFBYSxDQUFDLGNBQWMsQ0FBQyxHQUFHLEVBQUUsY0FBYyxDQUFDLENBQUE7UUFDbEUsdUJBQWEsQ0FBQyxLQUFLLENBQUMsSUFBSSxDQUFDLGNBQWMsQ0FBQyxPQUFPLEVBQUUsR0FBRyxFQUFFLFFBQVEsRUFBRSxJQUFJLENBQUMsY0FBYyxDQUFDLGFBQWEsQ0FBQyxDQUFBO1FBRWxHLE9BQU8sR0FBRyxDQUFBO0lBQ1osQ0FBQztDQUNGO0FBaEJELHdDQWdCQztBQUtELFNBQWdCLFdBQVcsQ0FBQyxPQUFlLEVBQUUsTUFBYyxFQUFFLE1BQWM7SUFDekUsT0FBTyxrQkFBa0IsZ0JBQVEsQ0FBQyxXQUFXLENBQUMsT0FBTyxDQUFDOzttQkFFckMsTUFBTTttQkFDTixNQUFNO0dBQ3RCLENBQUE7QUFDSCxDQUFDIn0=
@@ -9,4 +9,3 @@ var swagger_3 = require("@nestjs/swagger");
9
9
  Object.defineProperty(exports, "SwaggerPickType", { enumerable: true, get: function () { return swagger_3.PickType; } });
10
10
  var swagger_4 = require("@nestjs/swagger");
11
11
  Object.defineProperty(exports, "SwaggerOmitType", { enumerable: true, get: function () { return swagger_4.OmitType; } });
12
- //# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoic3dhZ2dlci50eXBlLmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vLi4vc3JjL3N3YWdnZXIvc3dhZ2dlci50eXBlLnRzIl0sIm5hbWVzIjpbXSwibWFwcGluZ3MiOiI7OztBQUFBLDJDQUE2RTtBQUFwRSxrSEFBQSxnQkFBZ0IsT0FBMkI7QUFDcEQsMkNBQW1FO0FBQTFELDZHQUFBLFdBQVcsT0FBc0I7QUFDMUMsMkNBQTZEO0FBQXBELDBHQUFBLFFBQVEsT0FBbUI7QUFDcEMsMkNBQTZEO0FBQXBELDBHQUFBLFFBQVEsT0FBbUIifQ==
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@142vip/nest-starter",
3
- "version": "0.0.1-alpha.7",
3
+ "version": "0.0.1-alpha.9",
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": "./dist/index.js"
27
+ "require": "./index.js"
28
28
  }
29
29
  },
30
30
  "authorInfo": {
@@ -40,22 +40,26 @@
40
40
  "dist"
41
41
  ],
42
42
  "peerDependencies": {
43
- "@142vip/nest": "0.0.1-alpha.4"
43
+ "@142vip/nest": "0.0.1-alpha.5",
44
+ "@142vip/nest-logger": "0.0.1-alpha.2",
45
+ "@142vip/nest-redis": "0.0.1-alpha.4",
46
+ "@142vip/nest-typeorm": "0.0.1-alpha.7",
47
+ "@142vip/utils": "0.0.1-alpha.46"
44
48
  },
45
49
  "dependencies": {
46
50
  "@nestjs/swagger": "11.2.1",
47
- "nestjs-pino": "4.4.1",
48
- "@142vip/nest-logger": "0.0.1-alpha.1",
49
- "@142vip/nest-redis": "0.0.1-alpha.3",
50
- "@142vip/nest-typeorm": "0.0.1-alpha.5",
51
- "@142vip/utils": "0.0.1-alpha.46"
51
+ "@142vip/nest": "0.0.1-alpha.5",
52
+ "@142vip/nest-redis": "0.0.1-alpha.4",
53
+ "@142vip/nest-typeorm": "0.0.1-alpha.7",
54
+ "@142vip/utils": "0.0.1-alpha.46",
55
+ "@142vip/nest-logger": "0.0.1-alpha.2"
52
56
  },
53
57
  "publishConfig": {
54
58
  "access": "public",
55
59
  "registry": "https://registry.npmjs.org"
56
60
  },
57
61
  "scripts": {
58
- "build": "npx nest build",
62
+ "build": "rm -rf dist && tsc -p tsconfig.json",
59
63
  "typecheck": "tsc --noEmit",
60
64
  "test": "npx jest",
61
65
  "test:coverage": "npx jest --coverage"