@tsoa-next/cli 8.0.4-dev.53.2c0aa7c6 → 8.0.5-dev.57.84bb4a63

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/api.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { Config, RoutesConfig, SpecConfig, Tsoa } from '@tsoa-next/runtime';
1
+ import { Config, RoutesConfig, RuntimeSpecConfigSnapshot, SpecConfig, Tsoa } from '@tsoa-next/runtime';
2
2
  import { AbstractRouteGenerator } from './routeGeneration/routeGenerator';
3
3
  import type { Options as MulterOptions } from 'multer';
4
4
  import type { CompilerOptions } from 'typescript';
@@ -17,6 +17,7 @@ export interface ExtendedRoutesConfig extends RoutesConfig {
17
17
  controllerPathGlobs?: Config['controllerPathGlobs'];
18
18
  multerOpts?: MulterOptions;
19
19
  rootSecurity?: Config['spec']['rootSecurity'];
20
+ runtimeSpecConfig?: RuntimeSpecConfigSnapshot;
20
21
  routeGenerator?: string | (new (metadata: Tsoa.Metadata, options: ExtendedRoutesConfig) => AbstractRouteGenerator<ExtendedRoutesConfig>);
21
22
  }
22
23
  export declare const validateRoutesConfig: (config: Config) => Promise<ExtendedRoutesConfig>;
package/dist/api.js CHANGED
@@ -342,7 +342,7 @@ const validateSpecConfig = async (config) => {
342
342
  ...config.spec,
343
343
  noImplicitAdditionalProperties,
344
344
  entryFile: config.entryFile,
345
- controllerPathGlobs: config.controllerPathGlobs,
345
+ controllerPathGlobs: config.controllerPathGlobs?.length ? config.controllerPathGlobs : undefined,
346
346
  };
347
347
  };
348
348
  exports.validateSpecConfig = validateSpecConfig;
@@ -363,6 +363,16 @@ const validateRoutesConfig = async (config) => {
363
363
  throw new Error(`No iocModule file found at '${routes.iocModule}'`);
364
364
  }
365
365
  const noImplicitAdditionalProperties = determineNoImplicitAdditionalSetting(config.noImplicitAdditionalProperties);
366
+ const runtimeSpecConfig = config.spec && config.entryFile
367
+ ? {
368
+ compilerOptions: config.compilerOptions,
369
+ defaultNumberType: config.defaultNumberType,
370
+ ignore: config.ignore,
371
+ spec: {
372
+ ...(await (0, exports.validateSpecConfig)(config)),
373
+ },
374
+ }
375
+ : undefined;
366
376
  const bodyCoercion = routes.bodyCoercion ?? true;
367
377
  routes.basePath = routes.basePath || '/';
368
378
  return {
@@ -370,9 +380,10 @@ const validateRoutesConfig = async (config) => {
370
380
  entryFile: config.entryFile,
371
381
  noImplicitAdditionalProperties,
372
382
  bodyCoercion,
373
- controllerPathGlobs: config.controllerPathGlobs,
383
+ controllerPathGlobs: config.controllerPathGlobs?.length ? config.controllerPathGlobs : undefined,
374
384
  multerOpts: getLegacyMulterOptions(config),
375
385
  rootSecurity: config.spec?.rootSecurity,
386
+ runtimeSpecConfig,
376
387
  };
377
388
  };
378
389
  exports.validateRoutesConfig = validateRoutesConfig;
package/dist/api.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"api.js","sourceRoot":"","sources":["../src/api.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
1
  import * as ts from 'typescript';
2
2
  import type { ExtendedSpecConfig } from '../api';
3
- import { Tsoa, Config } from '@tsoa-next/runtime';
3
+ import { Tsoa, Swagger, Config } from '@tsoa-next/runtime';
4
4
  export declare const getSwaggerOutputPath: (swaggerConfig: ExtendedSpecConfig) => string;
5
5
  export declare const generateSpec: (swaggerConfig: ExtendedSpecConfig, compilerOptions?: ts.CompilerOptions, ignorePaths?: string[],
6
6
  /**
7
7
  * pass in cached metadata returned in a previous step to speed things up
8
8
  */
9
9
  metadata?: Tsoa.Metadata, defaultNumberType?: Config["defaultNumberType"]) => Promise<Tsoa.Metadata>;
10
+ export declare const buildSpec: (swaggerConfig: ExtendedSpecConfig, compilerOptions?: ts.CompilerOptions, ignorePaths?: string[], metadata?: Tsoa.Metadata, defaultNumberType?: Config["defaultNumberType"]) => Swagger.Spec;
11
+ export declare const serializeSpec: (spec: Swagger.Spec, yaml?: boolean) => string;
@@ -33,7 +33,7 @@ var __importStar = (this && this.__importStar) || (function () {
33
33
  };
34
34
  })();
35
35
  Object.defineProperty(exports, "__esModule", { value: true });
36
- exports.generateSpec = exports.getSwaggerOutputPath = void 0;
36
+ exports.serializeSpec = exports.buildSpec = exports.generateSpec = exports.getSwaggerOutputPath = void 0;
37
37
  const YAML = __importStar(require("yaml"));
38
38
  const metadataGenerator_1 = require("../metadataGeneration/metadataGenerator");
39
39
  const specGenerator2_1 = require("../swagger/specGenerator2");
@@ -51,27 +51,36 @@ const generateSpec = async (swaggerConfig, compilerOptions, ignorePaths,
51
51
  * pass in cached metadata returned in a previous step to speed things up
52
52
  */
53
53
  metadata, defaultNumberType) => {
54
- metadata ??= new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, ignorePaths, swaggerConfig.controllerPathGlobs, swaggerConfig.rootSecurity, defaultNumberType).Generate();
55
- let spec;
56
- switch (swaggerConfig.specVersion) {
54
+ const controllerPathGlobs = swaggerConfig.controllerPathGlobs?.length ? swaggerConfig.controllerPathGlobs : undefined;
55
+ metadata ??= new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, ignorePaths, controllerPathGlobs, swaggerConfig.rootSecurity, defaultNumberType).Generate();
56
+ const spec = (0, exports.buildSpec)(swaggerConfig, compilerOptions, ignorePaths, metadata, defaultNumberType);
57
+ await (0, fs_1.fsMkDir)(swaggerConfig.outputDirectory, { recursive: true });
58
+ const outputPath = (0, exports.getSwaggerOutputPath)(swaggerConfig);
59
+ await (0, fs_1.fsWriteFile)(outputPath, (0, exports.serializeSpec)(spec, swaggerConfig.yaml), { encoding: 'utf8' });
60
+ return metadata;
61
+ };
62
+ exports.generateSpec = generateSpec;
63
+ const buildSpec = (swaggerConfig, compilerOptions, ignorePaths, metadata, defaultNumberType) => {
64
+ const controllerPathGlobs = swaggerConfig.controllerPathGlobs?.length ? swaggerConfig.controllerPathGlobs : undefined;
65
+ metadata ??= new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, ignorePaths, controllerPathGlobs, swaggerConfig.rootSecurity, defaultNumberType).Generate();
66
+ const specVersion = swaggerConfig.specVersion ?? 2;
67
+ switch (specVersion) {
57
68
  case 2:
58
- spec = new specGenerator2_1.SpecGenerator2(metadata, swaggerConfig).GetSpec();
59
- break;
69
+ return new specGenerator2_1.SpecGenerator2(metadata, swaggerConfig).GetSpec();
60
70
  case 3:
61
- spec = new specGenerator3_1.SpecGenerator3(metadata, swaggerConfig).GetSpec();
62
- break;
71
+ return new specGenerator3_1.SpecGenerator3(metadata, swaggerConfig).GetSpec();
63
72
  case 3.1:
64
73
  default:
65
- spec = new specGenerator31_1.SpecGenerator31(metadata, swaggerConfig).GetSpec();
74
+ return new specGenerator31_1.SpecGenerator31(metadata, swaggerConfig).GetSpec();
66
75
  }
67
- await (0, fs_1.fsMkDir)(swaggerConfig.outputDirectory, { recursive: true });
68
- let data = JSON.stringify(spec, null, '\t');
69
- if (swaggerConfig.yaml) {
70
- data = YAML.stringify(JSON.parse(data));
76
+ };
77
+ exports.buildSpec = buildSpec;
78
+ const serializeSpec = (spec, yaml = false) => {
79
+ const data = JSON.stringify(spec, null, '\t');
80
+ if (!yaml) {
81
+ return data;
71
82
  }
72
- const outputPath = (0, exports.getSwaggerOutputPath)(swaggerConfig);
73
- await (0, fs_1.fsWriteFile)(outputPath, data, { encoding: 'utf8' });
74
- return metadata;
83
+ return YAML.stringify(JSON.parse(data));
75
84
  };
76
- exports.generateSpec = generateSpec;
85
+ exports.serializeSpec = serializeSpec;
77
86
  //# sourceMappingURL=generate-spec.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"generate-spec.js","sourceRoot":"","sources":["../../src/module/generate-spec.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AACA,2CAA4B;AAE5B,+EAA2E;AAE3E,8DAA0D;AAC1D,8DAA0D;AAC1D,gEAA4D;AAC5D,oCAAkD;AAE3C,MAAM,oBAAoB,GAAG,CAAC,aAAiC,EAAE,EAAE;IACxE,MAAM,GAAG,GAAG,aAAa,CAAC,IAAI,CAAC,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,CAAA;IAChD,MAAM,gBAAgB,GAAG,aAAa,CAAC,gBAAgB,IAAI,SAAS,CAAA;IAEpE,OAAO,GAAG,aAAa,CAAC,eAAe,IAAI,gBAAgB,IAAI,GAAG,EAAE,CAAA;AACtE,CAAC,CAAA;AALY,QAAA,oBAAoB,wBAKhC;AAEM,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAiC,EACjC,eAAoC,EACpC,WAAsB;AACtB;;GAEG;AACH,QAAwB,EACxB,iBAA+C,EAC/C,EAAE;IACF,QAAQ,KAAK,IAAI,qCAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,CAAC,mBAAmB,EAAE,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAA;IAEtL,IAAI,IAAkB,CAAA;IAEtB,QAAQ,aAAa,CAAC,WAAW,EAAE,CAAC;QAClC,KAAK,CAAC;YACJ,IAAI,GAAG,IAAI,+BAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;YAC5D,MAAK;QACP,KAAK,CAAC;YACJ,IAAI,GAAG,IAAI,+BAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;YAC5D,MAAK;QACP,KAAK,GAAG,CAAC;QACT;YACE,IAAI,GAAG,IAAI,iCAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;IAED,MAAM,IAAA,YAAO,EAAC,aAAa,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjE,IAAI,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC3C,IAAI,aAAa,CAAC,IAAI,EAAE,CAAC;QACvB,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;IACzC,CAAC;IAED,MAAM,UAAU,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAA;IACtD,MAAM,IAAA,gBAAW,EAAC,UAAU,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAEzD,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AArCY,QAAA,YAAY,gBAqCxB"}
1
+ {"version":3,"file":"generate-spec.js","sourceRoot":"","sources":["../../src/module/generate-spec.ts"],"names":[],"mappings":"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"}
@@ -37,12 +37,14 @@ export declare abstract class AbstractRouteGenerator<Config extends ExtendedRout
37
37
  path: string;
38
38
  }[];
39
39
  environment: NodeJS.ProcessEnv;
40
+ existingGetPaths: string[];
40
41
  iocModule: string | undefined;
41
42
  minimalSwaggerConfig: {
42
43
  noImplicitAdditionalProperties: "ignore" | "throw-on-extras" | "silently-remove-extras";
43
44
  bodyCoercion: boolean;
44
45
  };
45
46
  models: TsoaRoute.Models;
47
+ runtimeSpecConfig: import("@tsoa-next/runtime").RuntimeSpecConfigSnapshot | undefined;
46
48
  useFileUploads: boolean;
47
49
  multerOpts: Config["multerOpts"];
48
50
  useSecurity: boolean;
@@ -139,9 +139,13 @@ class AbstractRouteGenerator {
139
139
  };
140
140
  }),
141
141
  environment: process.env,
142
+ existingGetPaths: this.metadata.controllers.flatMap(controller => controller.methods
143
+ .filter(method => method.method.toLowerCase() === 'get')
144
+ .map(method => (0, pathUtils_1.normalisePath)(`${normalisedBasePath}${this.pathTransformer((0, pathUtils_1.normalisePath)(controller.path, '/'))}${this.pathTransformer((0, pathUtils_1.normalisePath)(method.path, '/'))}`, '/', '', false))),
142
145
  iocModule,
143
146
  minimalSwaggerConfig: { noImplicitAdditionalProperties: this.options.noImplicitAdditionalProperties, bodyCoercion: this.options.bodyCoercion },
144
147
  models: this.buildModels(),
148
+ runtimeSpecConfig: this.options.runtimeSpecConfig,
145
149
  useFileUploads: this.metadata.controllers.some(controller => controller.methods.some(method => method.parameters.some(parameter => this.isFileUploadParameter(parameter)))),
146
150
  multerOpts: {
147
151
  limits: {
@@ -1 +1 @@
1
- {"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../src/routeGeneration/routeGenerator.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../src/routeGeneration/routeGenerator.ts"],"names":[],"mappings":"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"}
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/tsoa-next/tsoa-next
4
4
  import type { AdditionalProps, Tsoa, TsoaRoute } from 'tsoa-next';
5
- import { fetchMiddlewares, ExpressTemplateService } from 'tsoa-next';
5
+ import { createOpenApiSpecGenerator, fetchMiddlewares, fetchSpecPaths, normalisePath, resolveSpecPathResponse, ExpressTemplateService } from 'tsoa-next';
6
6
  {{#each controllers}}
7
7
  import { {{name}} } from '{{modulePath}}';
8
8
  {{/each}}
@@ -15,6 +15,7 @@ import { iocContainer } from '{{iocModule}}';
15
15
  import type { IocContainer, IocContainerFactory } from 'tsoa-next';
16
16
  {{/if}}
17
17
  import type { Request as ExRequest, Response as ExResponse, RequestHandler, Router } from 'express';
18
+ import { pipeline } from 'node:stream';
18
19
  {{#if useFileUploads}}
19
20
  {{#if esm}}
20
21
  import multer from 'multer';
@@ -49,6 +50,11 @@ const models: TsoaRoute.Models = {
49
50
  },
50
51
  {{/each}}
51
52
  };
53
+ {{#if runtimeSpecConfig}}
54
+ const specGenerator = createOpenApiSpecGenerator({{{json runtimeSpecConfig}}});
55
+ {{else}}
56
+ const specGenerator = createOpenApiSpecGenerator();
57
+ {{/if}}
52
58
 
53
59
  {{#if useFileUploads}}
54
60
  export function RegisterRoutes(app: Router,opts?:{multer?:ReturnType<typeof multer>; validation?: Tsoa.ValidationContext}) {
@@ -67,6 +73,7 @@ export function RegisterRoutes(app: Router,opts?:{validation?: Tsoa.ValidationCo
67
73
  validation: opts?.validation,
68
74
  };
69
75
  const templateService = new ExpressTemplateService(models, additionalProps);
76
+ const registeredGetPaths = new Set<string>({{{json existingGetPaths}}});
70
77
  {{#each controllers}}
71
78
  {{#each actions}}
72
79
 
@@ -125,6 +132,48 @@ export function RegisterRoutes(app: Router,opts?:{validation?: Tsoa.ValidationCo
125
132
  });
126
133
  {{/each}}
127
134
  {{/each}}
135
+ {{#each controllers}}
136
+ for (const specPath of fetchSpecPaths({{name}})) {
137
+ const specFullPath = normalisePath('{{../basePath}}{{path}}' + specPath.normalizedPath, '/', '', false);
138
+ if (registeredGetPaths.has(specFullPath)) {
139
+ throw new Error(`Duplicate GET route detected while registering @SpecPath for {{name}} at '${specFullPath}'.`);
140
+ }
141
+ registeredGetPaths.add(specFullPath);
142
+
143
+ app.get(specFullPath, async function {{name}}_specPath(request: ExRequest, response: ExResponse, next: any) {
144
+ try {
145
+ const specResponse = await resolveSpecPathResponse({
146
+ controllerClass: {{name}},
147
+ fullPath: specFullPath,
148
+ request,
149
+ response,
150
+ runtime: 'express',
151
+ specGenerator,
152
+ specPath,
153
+ });
154
+
155
+ if (specResponse.contentType) {
156
+ response.type(specResponse.contentType);
157
+ }
158
+
159
+ response.status(200);
160
+ if (typeof specResponse.body === 'string') {
161
+ response.send(specResponse.body);
162
+ return;
163
+ }
164
+
165
+ pipeline(specResponse.body, response, error => {
166
+ if (error) {
167
+ next(error);
168
+ }
169
+ });
170
+ return;
171
+ } catch (err) {
172
+ return next(err);
173
+ }
174
+ });
175
+ }
176
+ {{/each}}
128
177
  {{#if useSecurity}}
129
178
 
130
179
  function authenticateMiddleware(security: TsoaRoute.Security[] = []) {
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/tsoa-next/tsoa-next
4
4
  import type { AdditionalProps, Tsoa, TsoaRoute } from 'tsoa-next';
5
- import { fetchMiddlewares, HapiTemplateService } from 'tsoa-next';
5
+ import { createOpenApiSpecGenerator, fetchMiddlewares, fetchSpecPaths, normalisePath, resolveSpecPathResponse, HapiTemplateService } from 'tsoa-next';
6
6
  {{#each controllers}}
7
7
 
8
8
  import { {{name}} } from '{{modulePath}}';
@@ -41,6 +41,11 @@ const models: TsoaRoute.Models = {
41
41
  },
42
42
  {{/each}}
43
43
  };
44
+ {{#if runtimeSpecConfig}}
45
+ const specGenerator = createOpenApiSpecGenerator({{{json runtimeSpecConfig}}});
46
+ {{else}}
47
+ const specGenerator = createOpenApiSpecGenerator();
48
+ {{/if}}
44
49
 
45
50
  export function RegisterRoutes(server: any, opts?: { validation?: Tsoa.ValidationContext }) {
46
51
  // ###########################################################################################################
@@ -56,6 +61,7 @@ export function RegisterRoutes(server: any, opts?: { validation?: Tsoa.Validatio
56
61
  additionalProps,
57
62
  { boomify, isBoom },
58
63
  );
64
+ const registeredGetPaths = new Set<string>({{{json existingGetPaths}}});
59
65
  {{#each controllers}}
60
66
  {{#each actions}}
61
67
  const args{{../name}}_{{name}}: Record<string, TsoaRoute.ParameterSchema> = {
@@ -139,6 +145,51 @@ export function RegisterRoutes(server: any, opts?: { validation?: Tsoa.Validatio
139
145
  });
140
146
  {{/each}}
141
147
  {{/each}}
148
+ {{#each controllers}}
149
+ for (const specPath of fetchSpecPaths({{name}})) {
150
+ const specFullPath = normalisePath('{{../basePath}}{{path}}' + specPath.normalizedPath, '/', '', false);
151
+ if (registeredGetPaths.has(specFullPath)) {
152
+ throw new Error(`Duplicate GET route detected while registering @SpecPath for {{name}} at '${specFullPath}'.`);
153
+ }
154
+ registeredGetPaths.add(specFullPath);
155
+
156
+ server.route({
157
+ method: 'get',
158
+ path: specFullPath,
159
+ options: {
160
+ handler: async function {{name}}_specPath(request: Request, h: ResponseToolkit) {
161
+ try {
162
+ const specResponse = await resolveSpecPathResponse({
163
+ controllerClass: {{name}},
164
+ fullPath: specFullPath,
165
+ request,
166
+ response: h,
167
+ runtime: 'hapi',
168
+ specGenerator,
169
+ specPath,
170
+ });
171
+
172
+ const response = h.response(specResponse.body).code(200);
173
+ if (specResponse.contentType) {
174
+ response.type(specResponse.contentType);
175
+ }
176
+
177
+ return response;
178
+ } catch (error: any) {
179
+ if (isBoom(error)) {
180
+ throw error;
181
+ }
182
+
183
+ const errorMessage = error instanceof Error ? error.message : error?.message;
184
+ const boomErr = boomify(error instanceof Error ? error : new Error(errorMessage), { statusCode: error?.status || 500 });
185
+ boomErr.output.payload = { ...boomErr.output.payload, message: errorMessage };
186
+ throw boomErr;
187
+ }
188
+ }
189
+ }
190
+ });
191
+ }
192
+ {{/each}}
142
193
  {{#if useSecurity}}
143
194
 
144
195
  function authenticateMiddleware(security: TsoaRoute.Security[] = []) {
@@ -2,7 +2,7 @@
2
2
  /* eslint-disable */
3
3
  // WARNING: This file was auto-generated with tsoa. Please do not modify it. Re-run tsoa to re-generate this file: https://github.com/tsoa-next/tsoa-next
4
4
  import type { AdditionalProps, Tsoa, TsoaRoute } from 'tsoa-next';
5
- import { fetchMiddlewares, KoaTemplateService } from 'tsoa-next';
5
+ import { createOpenApiSpecGenerator, fetchMiddlewares, fetchSpecPaths, normalisePath, resolveSpecPathResponse, KoaTemplateService } from 'tsoa-next';
6
6
  {{#each controllers}}
7
7
 
8
8
  import { {{name}} } from '{{modulePath}}';
@@ -51,6 +51,11 @@ const models: TsoaRoute.Models = {
51
51
  },
52
52
  {{/each}}
53
53
  };
54
+ {{#if runtimeSpecConfig}}
55
+ const specGenerator = createOpenApiSpecGenerator({{{json runtimeSpecConfig}}});
56
+ {{else}}
57
+ const specGenerator = createOpenApiSpecGenerator();
58
+ {{/if}}
54
59
 
55
60
  {{#if useFileUploads}}
56
61
  export function RegisterRoutes(router: KoaRouter,opts?:{multer?:ReturnType<typeof multer>; validation?: Tsoa.ValidationContext}) {
@@ -69,6 +74,7 @@ export function RegisterRoutes(router: KoaRouter,opts?:{validation?: Tsoa.Valida
69
74
  validation: opts?.validation,
70
75
  };
71
76
  const templateService = new KoaTemplateService(models, additionalProps);
77
+ const registeredGetPaths = new Set<string>({{{json existingGetPaths}}});
72
78
 
73
79
  {{#each controllers}}
74
80
  {{#each actions}}
@@ -129,6 +135,42 @@ export function RegisterRoutes(router: KoaRouter,opts?:{validation?: Tsoa.Valida
129
135
  });
130
136
  {{/each}}
131
137
  {{/each}}
138
+ {{#each controllers}}
139
+ for (const specPath of fetchSpecPaths({{name}})) {
140
+ const specFullPath = normalisePath('{{../basePath}}{{path}}' + specPath.normalizedPath, '/', '', false);
141
+ if (registeredGetPaths.has(specFullPath)) {
142
+ throw new Error(`Duplicate GET route detected while registering @SpecPath for {{name}} at '${specFullPath}'.`);
143
+ }
144
+ registeredGetPaths.add(specFullPath);
145
+
146
+ router.get(specFullPath,
147
+ async function {{name}}_specPath(context: Context, next: Next) {
148
+ try {
149
+ const specResponse = await resolveSpecPathResponse({
150
+ controllerClass: {{name}},
151
+ fullPath: specFullPath,
152
+ request: context.request,
153
+ response: context.response,
154
+ runtime: 'koa',
155
+ specGenerator,
156
+ specPath,
157
+ });
158
+
159
+ if (specResponse.contentType) {
160
+ context.type = specResponse.contentType;
161
+ }
162
+
163
+ context.status = 200;
164
+ context.body = specResponse.body;
165
+ return;
166
+ } catch (err) {
167
+ const error = err as any;
168
+ context.status = error.status || 500;
169
+ context.throw(context.status, error.message, error);
170
+ }
171
+ });
172
+ }
173
+ {{/each}}
132
174
  {{#if useSecurity}}
133
175
 
134
176
  function authenticateMiddleware(security: TsoaRoute.Security[] = []) {
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsoa-next/cli",
3
- "version": "8.0.4-dev.53.2c0aa7c6",
3
+ "version": "8.0.5-dev.57.84bb4a63",
4
4
  "description": "Build swagger-compliant REST APIs using TypeScript and Node",
5
5
  "main": "./dist/index.js",
6
6
  "typings": "./dist/index.d.ts",
@@ -33,7 +33,7 @@
33
33
  "author": "Vanna DiCatania <vanna@dicatania.me> (http://www.dicatania.me)",
34
34
  "license": "MIT",
35
35
  "dependencies": {
36
- "@tsoa-next/runtime": "8.0.4-dev.53.2c0aa7c6",
36
+ "@tsoa-next/runtime": "8.0.5-dev.57.84bb4a63",
37
37
  "@types/multer": "^2.1.0",
38
38
  "fs-extra": "^11.3.4",
39
39
  "glob": "^13.0.6",