@tsed/cli-generate-swagger 4.5.1 → 4.5.3

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/.eslintignore ADDED
@@ -0,0 +1,13 @@
1
+ node_modules
2
+ docs
3
+ docs-references
4
+ lib
5
+ dist
6
+ coverage
7
+ .nyc_output
8
+ *-lock.json
9
+ *.lock
10
+ benchmarks.*
11
+ **/generated
12
+
13
+ **/*.js
package/.eslintrc.js ADDED
@@ -0,0 +1 @@
1
+ module.exports = require("@tsed/eslint/node.js");
package/jest.config.js CHANGED
@@ -1 +1,14 @@
1
- module.exports = require("../../jest.config");
1
+ // For a detailed explanation regarding each configuration property, visit:
2
+ // https://jestjs.io/docs/en/configuration.html
3
+
4
+ module.exports = {
5
+ ...require("@tsed/jest-config"),
6
+ coverageThreshold: {
7
+ global: {
8
+ statements: 0,
9
+ branches: 0,
10
+ functions: 0,
11
+ lines: 0
12
+ }
13
+ }
14
+ };
@@ -13,7 +13,7 @@ let GenerateSwaggerCmd = class GenerateSwaggerCmd {
13
13
  $mapContext($ctx) {
14
14
  return { ...$ctx, output: (0, path_1.resolve)((0, path_1.join)(process.cwd(), $ctx.output)) };
15
15
  }
16
- async $exec($ctx) {
16
+ $exec($ctx) {
17
17
  return [
18
18
  {
19
19
  title: "generate client",
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateSwaggerCmd.js","sourceRoot":"","sources":["../../../src/commands/GenerateSwaggerCmd.ts"],"names":[],"mappings":"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","sourcesContent":["import {CliFs, CliYaml, Command, CommandProvider, Constant, Inject, InjectorService, Type} from \"@tsed/cli-core\";\nimport {importPackage} from \"@tsed/core\";\nimport path, {join, resolve} from \"path\";\n\nexport interface GenerateSwaggerCtx {\n output: string;\n}\n\n@Command({\n name: \"generate-swagger\",\n description: \"Generate the client API from swagger spec\",\n options: {\n \"-o, --output <output>\": {\n required: true,\n type: String,\n description: \"Path to generate files\"\n }\n }\n})\nexport class GenerateSwaggerCmd implements CommandProvider {\n @Inject()\n injector: InjectorService;\n\n @Inject()\n protected fs: CliFs;\n\n @Inject()\n protected cliYaml: CliYaml;\n\n @Constant(\"server\")\n protected serverModule: Type<any>;\n\n $mapContext($ctx: GenerateSwaggerCtx) {\n return {...$ctx, output: resolve(join(process.cwd(), $ctx.output))};\n }\n\n async $exec($ctx: GenerateSwaggerCtx) {\n return [\n {\n title: \"generate client\",\n task: () => this.generate($ctx)\n }\n ];\n }\n\n private async loadPlatformModule(): Promise<{\n bootstrap(module: any, settings: any): Promise<{injector: InjectorService; stop(): Promise<void>}>;\n }> {\n let platform = await importPackage(\"@tsed/platform-express\", undefined, true);\n\n if (platform) {\n return platform.PlatformExpress;\n }\n\n platform = await importPackage(\"@tsed/platform-koa\", undefined, true);\n\n if (platform) {\n return platform.PlatformKoa;\n }\n\n throw new Error(\"Unsupported platform. Please use Express.js or Koa.js platform.\");\n }\n\n private async generate($ctx: GenerateSwaggerCtx) {\n const Platform = await this.loadPlatformModule();\n const {SwaggerService} = await importPackage(\"@tsed/swagger\");\n\n const platform = await Platform.bootstrap(this.serverModule, {\n logger: {level: \"off\"}\n });\n\n const swaggerService = platform.injector.get<any>(SwaggerService)!;\n const confs = platform.injector.settings.get<any[]>(\"swagger\", []);\n\n await this.fs.raw.remove($ctx.output);\n await this.fs.ensureDir($ctx.output);\n\n const promises = confs.map(async (conf) => {\n const spec = await swaggerService.getOpenAPISpec(conf);\n\n await this.generateFromSpec(spec, conf, $ctx);\n });\n\n await Promise.all(promises);\n\n await platform.stop();\n }\n\n private async generateFromSpec(spec: any, conf: any, $ctx: GenerateSwaggerCtx) {\n const fileJson = path.resolve(path.join($ctx.output, conf.path, \"swagger.json\"));\n const fileYaml = path.resolve(path.join($ctx.output, conf.path, \"swagger.yaml\"));\n\n this.fs.ensureDirSync(path.dirname(fileJson));\n\n await Promise.all([this.fs.writeJson(fileJson, spec), this.cliYaml.write(fileYaml, spec)]);\n }\n}\n"]}
1
+ {"version":3,"file":"GenerateSwaggerCmd.js","sourceRoot":"","sources":["../../../src/commands/GenerateSwaggerCmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAE9C,kBAAe,EAAE,CAAC","sourcesContent":["export * from \"./commands/GenerateSwaggerCmd\";\n\nexport default {};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAA8C;AAE9C,kBAAe,EAAE,CAAC"}
@@ -10,7 +10,7 @@ let GenerateSwaggerCmd = class GenerateSwaggerCmd {
10
10
  $mapContext($ctx) {
11
11
  return { ...$ctx, output: resolve(join(process.cwd(), $ctx.output)) };
12
12
  }
13
- async $exec($ctx) {
13
+ $exec($ctx) {
14
14
  return [
15
15
  {
16
16
  title: "generate client",
@@ -1 +1 @@
1
- {"version":3,"file":"GenerateSwaggerCmd.js","sourceRoot":"","sources":["../../../src/commands/GenerateSwaggerCmd.ts"],"names":[],"mappings":"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","sourcesContent":["import {CliFs, CliYaml, Command, CommandProvider, Constant, Inject, InjectorService, Type} from \"@tsed/cli-core\";\nimport {importPackage} from \"@tsed/core\";\nimport path, {join, resolve} from \"path\";\n\nexport interface GenerateSwaggerCtx {\n output: string;\n}\n\n@Command({\n name: \"generate-swagger\",\n description: \"Generate the client API from swagger spec\",\n options: {\n \"-o, --output <output>\": {\n required: true,\n type: String,\n description: \"Path to generate files\"\n }\n }\n})\nexport class GenerateSwaggerCmd implements CommandProvider {\n @Inject()\n injector: InjectorService;\n\n @Inject()\n protected fs: CliFs;\n\n @Inject()\n protected cliYaml: CliYaml;\n\n @Constant(\"server\")\n protected serverModule: Type<any>;\n\n $mapContext($ctx: GenerateSwaggerCtx) {\n return {...$ctx, output: resolve(join(process.cwd(), $ctx.output))};\n }\n\n async $exec($ctx: GenerateSwaggerCtx) {\n return [\n {\n title: \"generate client\",\n task: () => this.generate($ctx)\n }\n ];\n }\n\n private async loadPlatformModule(): Promise<{\n bootstrap(module: any, settings: any): Promise<{injector: InjectorService; stop(): Promise<void>}>;\n }> {\n let platform = await importPackage(\"@tsed/platform-express\", undefined, true);\n\n if (platform) {\n return platform.PlatformExpress;\n }\n\n platform = await importPackage(\"@tsed/platform-koa\", undefined, true);\n\n if (platform) {\n return platform.PlatformKoa;\n }\n\n throw new Error(\"Unsupported platform. Please use Express.js or Koa.js platform.\");\n }\n\n private async generate($ctx: GenerateSwaggerCtx) {\n const Platform = await this.loadPlatformModule();\n const {SwaggerService} = await importPackage(\"@tsed/swagger\");\n\n const platform = await Platform.bootstrap(this.serverModule, {\n logger: {level: \"off\"}\n });\n\n const swaggerService = platform.injector.get<any>(SwaggerService)!;\n const confs = platform.injector.settings.get<any[]>(\"swagger\", []);\n\n await this.fs.raw.remove($ctx.output);\n await this.fs.ensureDir($ctx.output);\n\n const promises = confs.map(async (conf) => {\n const spec = await swaggerService.getOpenAPISpec(conf);\n\n await this.generateFromSpec(spec, conf, $ctx);\n });\n\n await Promise.all(promises);\n\n await platform.stop();\n }\n\n private async generateFromSpec(spec: any, conf: any, $ctx: GenerateSwaggerCtx) {\n const fileJson = path.resolve(path.join($ctx.output, conf.path, \"swagger.json\"));\n const fileYaml = path.resolve(path.join($ctx.output, conf.path, \"swagger.yaml\"));\n\n this.fs.ensureDirSync(path.dirname(fileJson));\n\n await Promise.all([this.fs.writeJson(fileJson, spec), this.cliYaml.write(fileYaml, spec)]);\n }\n}\n"]}
1
+ {"version":3,"file":"GenerateSwaggerCmd.js","sourceRoot":"","sources":["../../../src/commands/GenerateSwaggerCmd.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAE9C,eAAe,EAAE,CAAC","sourcesContent":["export * from \"./commands/GenerateSwaggerCmd\";\n\nexport default {};\n"]}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,+BAA+B,CAAC;AAE9C,eAAe,EAAE,CAAC"}