@tsoa-next/cli 8.0.5 → 8.1.0

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,15 +1,18 @@
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';
5
5
  export declare function validateCompilerOptions(config: Config, configBaseDir?: string): CompilerOptions;
6
6
  export declare function validateCompilerOptions(compilerOptions?: Record<string, unknown>, configBaseDir?: string): CompilerOptions;
7
+ /** Normalized spec-generation config returned by {@link validateSpecConfig}. */
7
8
  export interface ExtendedSpecConfig extends SpecConfig {
8
9
  entryFile: Config['entryFile'];
9
10
  noImplicitAdditionalProperties: Exclude<Config['noImplicitAdditionalProperties'], undefined>;
10
11
  controllerPathGlobs?: Config['controllerPathGlobs'];
11
12
  }
13
+ /** Validates and enriches the `spec` section of a tsoa config object. */
12
14
  export declare const validateSpecConfig: (config: Config) => Promise<ExtendedSpecConfig>;
15
+ /** Normalized route-generation config returned by {@link validateRoutesConfig}. */
13
16
  export interface ExtendedRoutesConfig extends RoutesConfig {
14
17
  entryFile: Config['entryFile'];
15
18
  noImplicitAdditionalProperties: Exclude<Config['noImplicitAdditionalProperties'], undefined>;
@@ -17,21 +20,29 @@ export interface ExtendedRoutesConfig extends RoutesConfig {
17
20
  controllerPathGlobs?: Config['controllerPathGlobs'];
18
21
  multerOpts?: MulterOptions;
19
22
  rootSecurity?: Config['spec']['rootSecurity'];
23
+ runtimeSpecConfig?: RuntimeSpecConfigSnapshot;
20
24
  routeGenerator?: string | (new (metadata: Tsoa.Metadata, options: ExtendedRoutesConfig) => AbstractRouteGenerator<ExtendedRoutesConfig>);
21
25
  }
26
+ /** Validates and enriches the `routes` section of a tsoa config object. */
22
27
  export declare const validateRoutesConfig: (config: Config) => Promise<ExtendedRoutesConfig>;
28
+ /** Shared CLI arguments accepted by the programmatic route and spec generators. */
23
29
  export interface ConfigArgs {
24
30
  basePath?: string;
25
31
  configuration?: string | Config;
26
32
  }
33
+ /** CLI arguments specific to OpenAPI spec generation. */
27
34
  export interface SwaggerArgs extends ConfigArgs {
28
35
  host?: string;
29
36
  json?: boolean;
30
37
  yaml?: boolean;
31
38
  }
39
+ /** Loads config and generates only the OpenAPI spec output. */
32
40
  export declare function generateSpecFromArgs(args: SwaggerArgs): Promise<void>;
41
+ /** Loads config and generates only the route output. */
33
42
  export declare function generateRoutesFromArgs(args: ConfigArgs): Promise<void>;
43
+ /** Loads config and generates both routes and the OpenAPI spec from a shared metadata snapshot. */
34
44
  export declare function generateSpecAndRoutes(args: SwaggerArgs, metadata?: Tsoa.Metadata): Promise<Tsoa.Metadata>;
45
+ /** Module shape expected when loading a custom route generator with `routes.routeGenerator`. */
35
46
  export type RouteGeneratorModule<Config extends ExtendedRoutesConfig> = {
36
47
  default: new (metadata: Tsoa.Metadata, routesConfig: Config) => {
37
48
  GenerateCustomRoutes: () => Promise<void>;
package/dist/api.js CHANGED
@@ -313,6 +313,9 @@ const hasFileOrTsSibling = async (path) => {
313
313
  const getLegacyMulterOptions = (config) => {
314
314
  return Reflect.get(config, 'multerOpts');
315
315
  };
316
+ /**
317
+ * Resolves compiler options for tsoa generation from either a full config object or a raw `compilerOptions` map.
318
+ */
316
319
  function validateCompilerOptions(configOrCompilerOptions, configBaseDir = workingDir) {
317
320
  if (!isConfig(configOrCompilerOptions)) {
318
321
  return configOrCompilerOptions ? parseCompilerOptionsObject(configOrCompilerOptions, configBaseDir, 'Invalid compilerOptions in tsoa-next config', false) : {};
@@ -327,6 +330,7 @@ function validateCompilerOptions(configOrCompilerOptions, configBaseDir = workin
327
330
  ...explicitCompilerOptions,
328
331
  };
329
332
  }
333
+ /** Validates and enriches the `spec` section of a tsoa config object. */
330
334
  const validateSpecConfig = async (config) => {
331
335
  if (!config.spec) {
332
336
  throw new Error('Missing spec: configuration must contain spec. Spec used to be called swagger in previous versions of tsoa.');
@@ -342,10 +346,11 @@ const validateSpecConfig = async (config) => {
342
346
  ...config.spec,
343
347
  noImplicitAdditionalProperties,
344
348
  entryFile: config.entryFile,
345
- controllerPathGlobs: config.controllerPathGlobs,
349
+ controllerPathGlobs: config.controllerPathGlobs?.length ? config.controllerPathGlobs : undefined,
346
350
  };
347
351
  };
348
352
  exports.validateSpecConfig = validateSpecConfig;
353
+ /** Validates and enriches the `routes` section of a tsoa config object. */
349
354
  const validateRoutesConfig = async (config) => {
350
355
  assertEntryPointConfiguration(config);
351
356
  await assertExistingEntryFile(config.entryFile, `EntryFile not found: ${config.entryFile} - Please check your tsoa config.`);
@@ -363,6 +368,16 @@ const validateRoutesConfig = async (config) => {
363
368
  throw new Error(`No iocModule file found at '${routes.iocModule}'`);
364
369
  }
365
370
  const noImplicitAdditionalProperties = determineNoImplicitAdditionalSetting(config.noImplicitAdditionalProperties);
371
+ const runtimeSpecConfig = config.spec && config.entryFile
372
+ ? {
373
+ compilerOptions: config.compilerOptions,
374
+ defaultNumberType: config.defaultNumberType,
375
+ ignore: config.ignore,
376
+ spec: {
377
+ ...(await (0, exports.validateSpecConfig)(config)),
378
+ },
379
+ }
380
+ : undefined;
366
381
  const bodyCoercion = routes.bodyCoercion ?? true;
367
382
  routes.basePath = routes.basePath || '/';
368
383
  return {
@@ -370,9 +385,10 @@ const validateRoutesConfig = async (config) => {
370
385
  entryFile: config.entryFile,
371
386
  noImplicitAdditionalProperties,
372
387
  bodyCoercion,
373
- controllerPathGlobs: config.controllerPathGlobs,
388
+ controllerPathGlobs: config.controllerPathGlobs?.length ? config.controllerPathGlobs : undefined,
374
389
  multerOpts: getLegacyMulterOptions(config),
375
390
  rootSecurity: config.spec?.rootSecurity,
391
+ runtimeSpecConfig,
376
392
  };
377
393
  };
378
394
  exports.validateRoutesConfig = validateRoutesConfig;
@@ -393,6 +409,7 @@ const applySwaggerArgs = (config, args) => {
393
409
  config.yaml = false;
394
410
  }
395
411
  };
412
+ /** Loads config and generates only the OpenAPI spec output. */
396
413
  async function generateSpecFromArgs(args) {
397
414
  const { config, configBaseDir } = await resolveConfig(args.configuration);
398
415
  const compilerOptions = validateCompilerOptions(config, configBaseDir);
@@ -400,6 +417,7 @@ async function generateSpecFromArgs(args) {
400
417
  applySwaggerArgs(swaggerConfig, args);
401
418
  await (0, generate_spec_1.generateSpec)(swaggerConfig, compilerOptions, config.ignore);
402
419
  }
420
+ /** Loads config and generates only the route output. */
403
421
  async function generateRoutesFromArgs(args) {
404
422
  const { config, configBaseDir } = await resolveConfig(args.configuration);
405
423
  const compilerOptions = validateCompilerOptions(config, configBaseDir);
@@ -407,6 +425,7 @@ async function generateRoutesFromArgs(args) {
407
425
  applyBasePathArg(routesConfig, args);
408
426
  await (0, generate_routes_1.generateRoutes)(routesConfig, compilerOptions, config.ignore);
409
427
  }
428
+ /** Loads config and generates both routes and the OpenAPI spec from a shared metadata snapshot. */
410
429
  async function generateSpecAndRoutes(args, metadata) {
411
430
  const { config, configBaseDir } = await resolveConfig(args.configuration);
412
431
  const compilerOptions = validateCompilerOptions(config, configBaseDir);
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,13 @@
1
1
  import * as ts from 'typescript';
2
2
  import type { ExtendedRoutesConfig } from '../api';
3
3
  import { Config as BaseConfig, Tsoa } from '@tsoa-next/runtime';
4
+ /**
5
+ * Generates route files on disk and returns the metadata used to build them.
6
+ */
4
7
  export declare function generateRoutes<Config extends ExtendedRoutesConfig>(routesConfig: Config, compilerOptions?: ts.CompilerOptions, ignorePaths?: string[],
5
8
  /**
6
9
  * pass in cached metadata returned in a previous step to speed things up
7
10
  */
8
11
  metadata?: Tsoa.Metadata, defaultNumberType?: BaseConfig['defaultNumberType']): Promise<Tsoa.Metadata>;
12
+ /** Returns import specifiers that should be attempted when loading a custom route generator module. */
9
13
  export declare function getRouteGeneratorImportAttempts(routeGenerator: string): string[];
@@ -40,6 +40,9 @@ const defaultRouteGenerator_1 = require("../routeGeneration/defaultRouteGenerato
40
40
  const fs_1 = require("../utils/fs");
41
41
  const path = __importStar(require("node:path"));
42
42
  const node_fs_1 = require("node:fs");
43
+ /**
44
+ * Generates route files on disk and returns the metadata used to build them.
45
+ */
43
46
  async function generateRoutes(routesConfig, compilerOptions, ignorePaths,
44
47
  /**
45
48
  * pass in cached metadata returned in a previous step to speed things up
@@ -76,6 +79,7 @@ function localImportCandidateExists(targetPath) {
76
79
  }
77
80
  return false;
78
81
  }
82
+ /** Returns import specifiers that should be attempted when loading a custom route generator module. */
79
83
  function getRouteGeneratorImportAttempts(routeGenerator) {
80
84
  const relativeImportPath = normalizeRelativeImportPath(routeGenerator);
81
85
  const shouldPreferLocalImport = isExplicitPathLikeSpecifier(routeGenerator) && localImportCandidateExists(routeGenerator);
@@ -1 +1 @@
1
- {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../../src/module/generate-routes.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"generate-routes.js","sourceRoot":"","sources":["../../src/module/generate-routes.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,19 @@
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
+ /** Returns the final output path for the generated OpenAPI document. */
4
5
  export declare const getSwaggerOutputPath: (swaggerConfig: ExtendedSpecConfig) => string;
6
+ /**
7
+ * Generates an OpenAPI document on disk and returns the metadata used to build it.
8
+ */
5
9
  export declare const generateSpec: (swaggerConfig: ExtendedSpecConfig, compilerOptions?: ts.CompilerOptions, ignorePaths?: string[],
6
10
  /**
7
11
  * pass in cached metadata returned in a previous step to speed things up
8
12
  */
9
13
  metadata?: Tsoa.Metadata, defaultNumberType?: Config["defaultNumberType"]) => Promise<Tsoa.Metadata>;
14
+ /**
15
+ * Builds an OpenAPI document in memory without writing it to disk.
16
+ */
17
+ export declare const buildSpec: (swaggerConfig: ExtendedSpecConfig, compilerOptions?: ts.CompilerOptions, ignorePaths?: string[], metadata?: Tsoa.Metadata, defaultNumberType?: Config["defaultNumberType"]) => Swagger.Spec;
18
+ /** Serializes an OpenAPI document to JSON or YAML text. */
19
+ export declare const serializeSpec: (spec: Swagger.Spec, yaml?: boolean) => string;
@@ -33,45 +33,62 @@ 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");
40
40
  const specGenerator3_1 = require("../swagger/specGenerator3");
41
41
  const specGenerator31_1 = require("../swagger/specGenerator31");
42
42
  const fs_1 = require("../utils/fs");
43
+ /** Returns the final output path for the generated OpenAPI document. */
43
44
  const getSwaggerOutputPath = (swaggerConfig) => {
44
45
  const ext = swaggerConfig.yaml ? 'yaml' : 'json';
45
46
  const specFileBaseName = swaggerConfig.specFileBaseName || 'swagger';
46
47
  return `${swaggerConfig.outputDirectory}/${specFileBaseName}.${ext}`;
47
48
  };
48
49
  exports.getSwaggerOutputPath = getSwaggerOutputPath;
50
+ /**
51
+ * Generates an OpenAPI document on disk and returns the metadata used to build it.
52
+ */
49
53
  const generateSpec = async (swaggerConfig, compilerOptions, ignorePaths,
50
54
  /**
51
55
  * pass in cached metadata returned in a previous step to speed things up
52
56
  */
53
57
  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) {
58
+ const controllerPathGlobs = swaggerConfig.controllerPathGlobs?.length ? swaggerConfig.controllerPathGlobs : undefined;
59
+ metadata ??= new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, ignorePaths, controllerPathGlobs, swaggerConfig.rootSecurity, defaultNumberType).Generate();
60
+ const spec = (0, exports.buildSpec)(swaggerConfig, compilerOptions, ignorePaths, metadata, defaultNumberType);
61
+ await (0, fs_1.fsMkDir)(swaggerConfig.outputDirectory, { recursive: true });
62
+ const outputPath = (0, exports.getSwaggerOutputPath)(swaggerConfig);
63
+ await (0, fs_1.fsWriteFile)(outputPath, (0, exports.serializeSpec)(spec, swaggerConfig.yaml), { encoding: 'utf8' });
64
+ return metadata;
65
+ };
66
+ exports.generateSpec = generateSpec;
67
+ /**
68
+ * Builds an OpenAPI document in memory without writing it to disk.
69
+ */
70
+ const buildSpec = (swaggerConfig, compilerOptions, ignorePaths, metadata, defaultNumberType) => {
71
+ const controllerPathGlobs = swaggerConfig.controllerPathGlobs?.length ? swaggerConfig.controllerPathGlobs : undefined;
72
+ metadata ??= new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, ignorePaths, controllerPathGlobs, swaggerConfig.rootSecurity, defaultNumberType).Generate();
73
+ const specVersion = swaggerConfig.specVersion ?? 2;
74
+ switch (specVersion) {
57
75
  case 2:
58
- spec = new specGenerator2_1.SpecGenerator2(metadata, swaggerConfig).GetSpec();
59
- break;
76
+ return new specGenerator2_1.SpecGenerator2(metadata, swaggerConfig).GetSpec();
60
77
  case 3:
61
- spec = new specGenerator3_1.SpecGenerator3(metadata, swaggerConfig).GetSpec();
62
- break;
78
+ return new specGenerator3_1.SpecGenerator3(metadata, swaggerConfig).GetSpec();
63
79
  case 3.1:
64
80
  default:
65
- spec = new specGenerator31_1.SpecGenerator31(metadata, swaggerConfig).GetSpec();
81
+ return new specGenerator31_1.SpecGenerator31(metadata, swaggerConfig).GetSpec();
66
82
  }
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));
83
+ };
84
+ exports.buildSpec = buildSpec;
85
+ /** Serializes an OpenAPI document to JSON or YAML text. */
86
+ const serializeSpec = (spec, yaml = false) => {
87
+ const data = JSON.stringify(spec, null, '\t');
88
+ if (!yaml) {
89
+ return data;
71
90
  }
72
- const outputPath = (0, exports.getSwaggerOutputPath)(swaggerConfig);
73
- await (0, fs_1.fsWriteFile)(outputPath, data, { encoding: 'utf8' });
74
- return metadata;
91
+ return YAML.stringify(JSON.parse(data));
75
92
  };
76
- exports.generateSpec = generateSpec;
93
+ exports.serializeSpec = serializeSpec;
77
94
  //# 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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"}
@@ -1,12 +1,16 @@
1
1
  import type { ExtendedRoutesConfig } from '../api';
2
2
  import { Tsoa } from '@tsoa-next/runtime';
3
3
  import { AbstractRouteGenerator } from './routeGenerator';
4
+ /** Default route generator for the built-in Express, Koa, and Hapi templates. */
4
5
  export declare class DefaultRouteGenerator extends AbstractRouteGenerator<ExtendedRoutesConfig> {
5
6
  pathTransformerFn: (path: string) => string;
6
7
  template: string;
7
8
  constructor(metadata: Tsoa.Metadata, options: ExtendedRoutesConfig);
9
+ /** Loads the selected template file and generates the route output. */
8
10
  GenerateCustomRoutes(): Promise<void>;
11
+ /** Writes the generated route file to disk. */
9
12
  GenerateRoutes(middlewareTemplate: string): Promise<void>;
10
13
  protected pathTransformer(path: string): string;
14
+ /** Renders the route template with the current metadata context. */
11
15
  buildContent(middlewareTemplate: string): string;
12
16
  }
@@ -41,6 +41,7 @@ const runtime_1 = require("@tsoa-next/runtime");
41
41
  const fs_1 = require("../utils/fs");
42
42
  const pathUtils_1 = require("../utils/pathUtils");
43
43
  const routeGenerator_1 = require("./routeGenerator");
44
+ /** Default route generator for the built-in Express, Koa, and Hapi templates. */
44
45
  class DefaultRouteGenerator extends routeGenerator_1.AbstractRouteGenerator {
45
46
  pathTransformerFn;
46
47
  template;
@@ -63,11 +64,13 @@ class DefaultRouteGenerator extends routeGenerator_1.AbstractRouteGenerator {
63
64
  this.template = options.middlewareTemplate;
64
65
  }
65
66
  }
67
+ /** Loads the selected template file and generates the route output. */
66
68
  async GenerateCustomRoutes() {
67
69
  const data = await (0, fs_1.fsReadFile)(path.join(this.template));
68
70
  const file = data.toString();
69
71
  return await this.GenerateRoutes(file);
70
72
  }
73
+ /** Writes the generated route file to disk. */
71
74
  async GenerateRoutes(middlewareTemplate) {
72
75
  const allowedExtensions = this.options.esm ? ['.ts', '.mts', '.cts'] : ['.ts'];
73
76
  if (!fs.lstatSync(this.options.routesDir).isDirectory()) {
@@ -88,6 +91,7 @@ class DefaultRouteGenerator extends routeGenerator_1.AbstractRouteGenerator {
88
91
  pathTransformer(path) {
89
92
  return this.pathTransformerFn(path);
90
93
  }
94
+ /** Renders the route template with the current metadata context. */
91
95
  buildContent(middlewareTemplate) {
92
96
  handlebars.registerHelper('json', (context) => {
93
97
  return JSON.stringify(context);
@@ -1 +1 @@
1
- {"version":3,"file":"defaultRouteGenerator.js","sourceRoot":"","sources":["../../src/routeGeneration/defaultRouteGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,uDAAwC;AACxC,4CAA6B;AAC7B,gDAAiC;AAEjC,gDAAiE;AACjE,oCAAqD;AACrD,kDAA4D;AAC5D,qDAAyD;AAEzD,MAAa,qBAAsB,SAAQ,uCAA4C;IACrF,iBAAiB,CAA0B;IAC3C,QAAQ,CAAQ;IAChB,YAAY,QAAuB,EAAE,OAA6B;QAChE,KAAK,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACxB,IAAI,CAAC,iBAAiB,GAAG,mCAAuB,CAAA;QAEhD,QAAQ,OAAO,CAAC,UAAU,EAAE,CAAC;YAC3B,KAAK,MAAM;gBACT,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,oCAAoC,CAAC,CAAA;gBAChF,IAAI,CAAC,iBAAiB,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,IAAI,CAAA;gBAC/C,MAAK;YACP,KAAK,KAAK;gBACR,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,mCAAmC,CAAC,CAAA;gBAC/E,MAAK;YACP,KAAK,SAAS,CAAC;YACf;gBACE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,IAAI,CAAC,SAAS,EAAE,IAAI,EAAE,uCAAuC,CAAC,CAAA;QACvF,CAAC;QAED,IAAI,OAAO,CAAC,kBAAkB,EAAE,CAAC;YAC/B,IAAI,CAAC,QAAQ,GAAG,OAAO,CAAC,kBAAkB,CAAA;QAC5C,CAAC;IACH,CAAC;IAEM,KAAK,CAAC,oBAAoB;QAC/B,MAAM,IAAI,GAAG,MAAM,IAAA,eAAU,EAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC,CAAA;QACvD,MAAM,IAAI,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAA;QAC5B,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,IAAI,CAAC,CAAA;IACxC,CAAC;IAEM,KAAK,CAAC,cAAc,CAAC,kBAA0B;QACpD,MAAM,iBAAiB,GAAG,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,KAAK,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,KAAK,CAAC,CAAA;QAE9E,IAAI,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CAAC,iCAAiC,CAAC,CAAA;QACpD,CAAC;aAAM,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,KAAK,SAAS,EAAE,CAAC;YACrD,MAAM,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,cAAc,CAAC,CAAA;YACrD,IAAI,CAAC,iBAAiB,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;gBACrC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAA;YACtE,CAAC;QACH,CAAC;QAED,MAAM,QAAQ,GAAG,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,IAAI,IAAI,CAAC,OAAO,CAAC,cAAc,IAAI,WAAW,EAAE,CAAA;QAC1F,MAAM,OAAO,GAAG,IAAI,CAAC,YAAY,CAAC,kBAAkB,CAAC,CAAA;QAErD,IAAI,MAAM,IAAI,CAAC,eAAe,CAAC,QAAQ,EAAE,OAAO,CAAC,EAAE,CAAC;YAClD,MAAM,IAAA,gBAAW,EAAC,QAAQ,EAAE,OAAO,CAAC,CAAA;QACtC,CAAC;IACH,CAAC;IAES,eAAe,CAAC,IAAY;QACpC,OAAO,IAAI,CAAC,iBAAiB,CAAC,IAAI,CAAC,CAAA;IACrC,CAAC;IAEM,YAAY,CAAC,kBAA0B;QAC5C,UAAU,CAAC,cAAc,CAAC,MAAM,EAAE,CAAC,OAAgB,EAAE,EAAE;YACrD,OAAO,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,CAAA;QAChC,CAAC,CAAC,CAAA;QACF,MAAM,qBAAqB,GAAG,CAAC,oBAA4E,EAAE,EAAE;YAC7G,IAAI,oBAAoB,EAAE,CAAC;gBACzB,sGAAsG;gBACtG,OAAO,IAAI,CAAC,SAAS,CAAC,oBAAoB,CAAC,CAAA;YAC7C,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,8BAA8B,KAAK,wBAAwB,EAAE,CAAC;gBACpF,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,8BAA8B,KAAK,iBAAiB,EAAE,CAAC;gBAC7E,OAAO,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,CAAA;YAC9B,CAAC;iBAAM,IAAI,IAAI,CAAC,OAAO,CAAC,8BAA8B,KAAK,QAAQ,EAAE,CAAC;gBACpE,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAA;YAC7B,CAAC;iBAAM,CAAC;gBACN,OAAO,IAAA,qBAAW,EAAC,IAAI,CAAC,OAAO,CAAC,8BAA8B,CAAC,CAAA;YACjE,CAAC;QACH,CAAC,CAAA;QACD,UAAU,CAAC,cAAc,CAAC,uBAAuB,EAAE,qBAAqB,CAAC,CAAA;QAEzE,MAAM,cAAc,GAAG,UAAU,CAAC,OAAO,CAAC,kBAAkB,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,CAAA;QAEjF,OAAO,cAAc,CAAC,IAAI,CAAC,YAAY,EAAE,CAAC,CAAA;IAC5C,CAAC;CACF;AA/ED,sDA+EC"}
1
+ {"version":3,"file":"defaultRouteGenerator.js","sourceRoot":"","sources":["../../src/routeGeneration/defaultRouteGenerator.ts"],"names":[],"mappings":"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"}
@@ -1,15 +1,20 @@
1
1
  import type { ExtendedRoutesConfig } from '../api';
2
2
  import { Tsoa, TsoaRoute } from '@tsoa-next/runtime';
3
+ /**
4
+ * Base implementation for route generators that transform metadata into framework-specific route files.
5
+ */
3
6
  export declare abstract class AbstractRouteGenerator<Config extends ExtendedRoutesConfig> {
4
7
  protected readonly metadata: Tsoa.Metadata;
5
8
  protected readonly options: Config;
6
9
  constructor(metadata: Tsoa.Metadata, options: Config);
7
10
  /**
8
- * This is the entrypoint for a generator to create a custom set of routes
11
+ * Generates the configured route output for the active framework or custom template.
9
12
  */
10
13
  abstract GenerateCustomRoutes(): Promise<void>;
14
+ /** Builds the runtime model metadata consumed by generated route handlers. */
11
15
  buildModels(): TsoaRoute.Models;
12
16
  protected pathTransformer(path: string): string;
17
+ /** Builds the Handlebars template context used by the default route templates. */
13
18
  protected buildContext(): {
14
19
  authenticationModule: string | undefined;
15
20
  basePath: string;
@@ -37,12 +42,14 @@ export declare abstract class AbstractRouteGenerator<Config extends ExtendedRout
37
42
  path: string;
38
43
  }[];
39
44
  environment: NodeJS.ProcessEnv;
45
+ existingGetPaths: string[];
40
46
  iocModule: string | undefined;
41
47
  minimalSwaggerConfig: {
42
48
  noImplicitAdditionalProperties: "ignore" | "throw-on-extras" | "silently-remove-extras";
43
49
  bodyCoercion: boolean;
44
50
  };
45
51
  models: TsoaRoute.Models;
52
+ runtimeSpecConfig: import("@tsoa-next/runtime").RuntimeSpecConfigSnapshot | undefined;
46
53
  useFileUploads: boolean;
47
54
  multerOpts: Config["multerOpts"];
48
55
  useSecurity: boolean;
@@ -39,6 +39,9 @@ const runtime_1 = require("@tsoa-next/runtime");
39
39
  const internalTypeGuards_1 = require("../utils/internalTypeGuards");
40
40
  const pathUtils_1 = require("../utils/pathUtils");
41
41
  const fs_1 = require("../utils/fs");
42
+ /**
43
+ * Base implementation for route generators that transform metadata into framework-specific route files.
44
+ */
42
45
  class AbstractRouteGenerator {
43
46
  metadata;
44
47
  options;
@@ -46,6 +49,7 @@ class AbstractRouteGenerator {
46
49
  this.metadata = metadata;
47
50
  this.options = options;
48
51
  }
52
+ /** Builds the runtime model metadata consumed by generated route handlers. */
49
53
  buildModels() {
50
54
  const models = {};
51
55
  Object.keys(this.metadata.referenceTypeMap).forEach(name => {
@@ -96,6 +100,7 @@ class AbstractRouteGenerator {
96
100
  pathTransformer(path) {
97
101
  return (0, pathUtils_1.convertBracesPathParams)(path);
98
102
  }
103
+ /** Builds the Handlebars template context used by the default route templates. */
99
104
  buildContext() {
100
105
  const authenticationModule = this.options.authenticationModule ? this.getRelativeImportPath(this.options.authenticationModule) : undefined;
101
106
  const iocModule = this.options.iocModule ? this.getRelativeImportPath(this.options.iocModule) : undefined;
@@ -139,9 +144,13 @@ class AbstractRouteGenerator {
139
144
  };
140
145
  }),
141
146
  environment: process.env,
147
+ existingGetPaths: this.metadata.controllers.flatMap(controller => controller.methods
148
+ .filter(method => method.method.toLowerCase() === 'get')
149
+ .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
150
  iocModule,
143
151
  minimalSwaggerConfig: { noImplicitAdditionalProperties: this.options.noImplicitAdditionalProperties, bodyCoercion: this.options.bodyCoercion },
144
152
  models: this.buildModels(),
153
+ runtimeSpecConfig: this.options.runtimeSpecConfig,
145
154
  useFileUploads: this.metadata.controllers.some(controller => controller.methods.some(method => method.parameters.some(parameter => this.isFileUploadParameter(parameter)))),
146
155
  multerOpts: {
147
156
  limits: {
@@ -1 +1 @@
1
- {"version":3,"file":"routeGenerator.js","sourceRoot":"","sources":["../../src/routeGeneration/routeGenerator.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAAA,gDAAiC;AAEjC,gDAAiE;AACjE,oEAAuD;AACvD,kDAA2E;AAC3E,oCAAkD;AAElD,MAAsB,sBAAsB;IAErB;IACA;IAFrB,YACqB,QAAuB,EACvB,OAAe;QADf,aAAQ,GAAR,QAAQ,CAAe;QACvB,YAAO,GAAP,OAAO,CAAQ;IACjC,CAAC;IAOG,WAAW;QAChB,MAAM,MAAM,GAAG,EAAsB,CAAA;QAErC,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE;YACzD,MAAM,aAAa,GAAG,IAAI,CAAC,QAAQ,CAAC,gBAAgB,CAAC,IAAI,CAAC,CAAA;YAE1D,IAAI,KAA4B,CAAA;YAChC,IAAI,aAAa,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;gBACzC,MAAM,YAAY,GAAiC;oBACjD,QAAQ,EAAE,SAAS;oBACnB,KAAK,EAAE,aAAa,CAAC,KAAK;iBAC3B,CAAA;gBACD,KAAK,GAAG,YAAY,CAAA;YACtB,CAAC;iBAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,WAAW,EAAE,CAAC;gBAClD,MAAM,wBAAwB,GAAiD,EAAE,CAChF;gBAAA,CAAC,aAAa,CAAC,UAAU,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,EAAE;oBACnD,wBAAwB,CAAC,QAAQ,CAAC,IAAI,CAAC,GAAG,IAAI,CAAC,mBAAmB,CAAC,QAAQ,CAAC,CAAA;gBAC9E,CAAC,CAAC,CAAA;gBAEF,MAAM,WAAW,GAAmC;oBAClD,QAAQ,EAAE,WAAW;oBACrB,UAAU,EAAE,wBAAwB;iBACrC,CAAA;gBACD,IAAI,aAAa,CAAC,oBAAoB,EAAE,CAAC;oBACvC,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,oBAAoB,CAAC,CAAA;gBAC3F,CAAC;qBAAM,CAAC;oBACN,WAAW,CAAC,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,8BAA8B,KAAK,QAAQ,CAAA;gBAC7F,CAAC;gBACD,KAAK,GAAG,WAAW,CAAA;YACrB,CAAC;iBAAM,IAAI,aAAa,CAAC,QAAQ,KAAK,UAAU,EAAE,CAAC;gBACjD,MAAM,OAAO,GAAsC;oBACjD,QAAQ,EAAE,UAAU;oBACpB,IAAI,EAAE;wBACJ,GAAG,IAAI,CAAC,aAAa,CAAC,aAAa,CAAC,IAAI,CAAC;wBACzC,UAAU,EAAE,aAAa,CAAC,UAAU;wBACpC,OAAO,EAAE,aAAa,CAAC,OAAO;qBAC/B;iBACF,CAAA;gBACD,KAAK,GAAG,OAAO,CAAA;YACjB,CAAC;iBAAM,CAAC;gBACN,KAAK,GAAG,IAAA,qBAAW,EAAC,aAAa,CAAC,CAAA;YACpC,CAAC;YAED,MAAM,CAAC,IAAI,CAAC,GAAG,KAAK,CAAA;QACtB,CAAC,CAAC,CAAA;QACF,OAAO,MAAM,CAAA;IACf,CAAC;IAES,eAAe,CAAC,IAAY;QACpC,OAAO,IAAA,mCAAuB,EAAC,IAAI,CAAC,CAAA;IACtC,CAAC;IAES,YAAY;QACpB,MAAM,oBAAoB,GAAG,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,oBAAoB,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAC1I,MAAM,SAAS,GAAG,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,qBAAqB,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,SAAS,CAAA;QAEzG,6IAA6I;QAC7I,MAAM,gBAAgB,GAAG,IAAI,CAAA;QAE7B,MAAM,kBAAkB,GAAG,IAAA,yBAAa,EAAC,IAAI,CAAC,OAAO,CAAC,QAAkB,EAAE,GAAG,CAAC,CAAA;QAE9E,OAAO;YACL,oBAAoB;YACpB,QAAQ,EAAE,kBAAkB;YAC5B,gBAAgB;YAChB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE;gBACtD,MAAM,wBAAwB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAA,yBAAa,EAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;gBAE1F,OAAO;oBACL,OAAO,EAAE,UAAU,CAAC,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE;wBACvC,MAAM,aAAa,GAAkD,EAAE,CAAA;wBACvE,MAAM,CAAC,UAAU,CAAC,OAAO,CAAC,SAAS,CAAC,EAAE;4BACpC,aAAa,CAAC,SAAS,CAAC,aAAa,CAAC,GAAG,IAAI,CAAC,oBAAoB,CAAC,SAAS,CAAC,CAAA;wBAC/E,CAAC,CAAC,CAAA;wBACF,MAAM,oBAAoB,GAAG,IAAI,CAAC,eAAe,CAAC,IAAA,yBAAa,EAAC,MAAM,CAAC,IAAI,EAAE,GAAG,CAAC,CAAC,CAAA;wBAElF,MAAM,kBAAkB,GAAG,IAAA,yBAAa,EAAC,GAAG,kBAAkB,GAAG,wBAAwB,GAAG,oBAAoB,EAAE,EAAE,GAAG,EAAE,EAAE,EAAE,KAAK,CAAC,CAAA;wBAEnI,MAAM,sCAAsC,GAAG,MAAM,CAAC,UAAU,CAAC,MAAM,CACrE,SAAS,CAAC,EAAE,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,CAC3I,CAAA;wBACD,OAAO;4BACL,QAAQ,EAAE,kBAAkB;4BAC5B,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,WAAW,EAAE;4BACnC,IAAI,EAAE,MAAM,CAAC,IAAI;4BACjB,UAAU,EAAE,aAAa;4BACzB,IAAI,EAAE,oBAAoB;4BAC1B,UAAU,EAAE,sCAAsC,CAAC,MAAM,GAAG,CAAC;4BAC7D,cAAc,EAAE,sCAAsC,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC,CAAC;gCACvE,IAAI,EAAE,SAAS,CAAC,IAAI;gCACpB,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,SAAS;gCAC5D,QAAQ,EAAE,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,MAAM;6BAChG,CAAC,CAAC;4BACH,QAAQ,EAAE,MAAM,CAAC,QAAQ;4BACzB,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,WAAW;yBACnD,CAAA;oBACH,CAAC,CAAC;oBACF,UAAU,EAAE,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,QAAQ,CAAC;oBAC3D,IAAI,EAAE,UAAU,CAAC,IAAI;oBACrB,IAAI,EAAE,wBAAwB;iBAC/B,CAAA;YACH,CAAC,CAAC;YACF,WAAW,EAAE,OAAO,CAAC,GAAG;YACxB,SAAS;YACT,oBAAoB,EAAE,EAAE,8BAA8B,EAAE,IAAI,CAAC,OAAO,CAAC,8BAA8B,EAAE,YAAY,EAAE,IAAI,CAAC,OAAO,CAAC,YAAY,EAAE;YAC9I,MAAM,EAAE,IAAI,CAAC,WAAW,EAAE;YAC1B,cAAc,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,CAAC,IAAI,CAAC,qBAAqB,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC;YAC3K,UAAU,EAAE;gBACV,MAAM,EAAE;oBACN,QAAQ,EAAE,OAAO,EAAE,MAAM;iBAC1B;gBACD,GAAG,IAAI,CAAC,OAAO,CAAC,UAAU;aACH;YACzB,WAAW,EAAE,IAAI,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,MAAM,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;YACxH,GAAG,EAAE,IAAI,CAAC,OAAO,CAAC,GAAG;SACtB,CAAA;IACH,CAAC;IAES,qBAAqB,CAAC,YAAoB;QAClD,MAAM,UAAU,GAAG,IAAI,CAAC,OAAO,CAAC,YAAY,CAAC,CAAA;QAC7C,IAAI,YAAY,GAAG,IAAI,CAAC,OAAO,CAAC,+BAA+B,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,CAAA;QAEjF,IAAI,IAAI,CAAC,OAAO,CAAC,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,+BAA+B,EAAE,CAAC;YACtE,YAAY,GAAG,IAAI,CAAC,qBAAqB,CAAC,UAAU,CAAC,CAAA;QACvD,CAAC;QAED,YAAY,GAAG,YAAY,CAAC,OAAO,CAAC,iBAAiB,EAAE,EAAE,CAAC,CAAA,CAAC,4BAA4B;QACvF,OAAO,KAAK,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,SAAS,EAAE,YAAY,CAAC,CAAC,UAAU,CAAC,IAAI,EAAE,GAAG,CAAC,GAAG,YAAY,EAAE,CAAA;IACxG,CAAC;IAES,mBAAmB,CAAC,MAAqB;QACjD,MAAM,cAAc,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QACtD,cAAc,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO,CAAA;QACvC,cAAc,CAAC,QAAQ,GAAG,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS,CAAA;QAE5D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,cAAc,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QAC/C,CAAC;QACD,OAAO,cAAc,CAAA;IACvB,CAAC;IAES,oBAAoB,CAAC,MAAsB;QACnD,MAAM,QAAQ,GAAG,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,CAAA;QAChD,MAAM,SAAS,GAAG;YAChB,OAAO,EAAE,MAAM,CAAC,OAAO;YACvB,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;YAC3C,EAAE,EAAE,MAAM,CAAC,EAAE;YACb,IAAI,EAAE,MAAM,CAAC,IAAI;YACjB,cAAc,EAAE,MAAM,CAAC,cAAc;YACrC,QAAQ,EAAE,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,SAAS;YAC5C,kBAAkB,EAAE,MAAM,CAAC,kBAAkB;SACjB,CAAA;QAC9B,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,CAAC,SAAS,EAAE,QAAQ,CAAC,CAAA;QAE1D,IAAI,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YAC9C,eAAe,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAA;QAChD,CAAC;QAED,OAAO,eAAe,CAAA;IACxB,CAAC;IAES,aAAa,CAAC,IAAe;QACrC,MAAM,MAAM,GAA6B;YACvC,QAAQ,EAAE,IAAI,CAAC,QAAQ;SACxB,CAAA;QAED,IAAI,IAAA,8BAAS,EAAC,IAAI,CAAC,EAAE,CAAC;YACpB,MAAM,CAAC,QAAQ,GAAG,SAAS,CAAA;YAC3B,MAAM,CAAC,GAAG,GAAG,IAAI,CAAC,OAAO,CAAA;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,EAAE,CAAC;YAC9B,MAAM,SAAS,GAAG,IAAI,CAAA;YAEtB,IAAI,IAAA,8BAAS,EAAC,SAAS,CAAC,WAAW,CAAC,EAAE,CAAC;gBACrC,MAAM,CAAC,KAAK,GAAG;oBACb,QAAQ,EAAE,SAAS,CAAC,WAAW,CAAC,QAAQ;oBACxC,GAAG,EAAE,SAAS,CAAC,WAAW,CAAC,OAAO;iBACnC,CAAA;YACH,CAAC;iBAAM,CAAC;gBACN,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,aAAa,CAAC,SAAS,CAAC,WAAW,CAAC,CAAA;YAC1D,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,CAAC;YAC7B,MAAM,CAAC,KAAK,GAAG,IAAI,CAAC,KAAK,CAAA;QAC3B,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,IAAI,CAAC,QAAQ,KAAK,cAAc,EAAE,CAAC;YAClE,MAAM,CAAC,UAAU,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,CAAC,CAAA;QACtE,CAAC;QAED,IAAI,IAAI,CAAC,QAAQ,KAAK,qBAAqB,EAAE,CAAC;YAC5C,MAAM,UAAU,GAAG,IAAI,CAAA;YAEvB,MAAM,CAAC,gBAAgB,GAAG,UAAU,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,IAAI,EAAE,EAAE;gBACnE,OAAO,EAAE,GAAG,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,IAAI,CAAC,mBAAmB,CAAC,IAAI,CAAC,EAAE,CAAA;YAChE,CAAC,EAAE,EAAE,CAAC,CAAA;YAEN,MAAM,CAAC,oBAAoB,GAAG,UAAU,CAAC,oBAAoB,IAAI,IAAI,CAAC,aAAa,CAAC,UAAU,CAAC,oBAAoB,CAAC,CAAA;QACtH,CAAC;QAED,OAAO,MAAM,CAAA;IACf,CAAC;IAES,KAAK,CAAC,eAAe,CAAC,QAAgB,EAAE,OAAe;QAC/D,IAAI,IAAI,CAAC,OAAO,CAAC,kBAAkB,EAAE,CAAC;YACpC,IAAI,MAAM,IAAA,aAAQ,EAAC,QAAQ,CAAC,EAAE,CAAC;gBAC7B,MAAM,eAAe,GAAG,CAAC,MAAM,IAAA,eAAU,EAAC,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE,CAAA;gBAC/D,OAAO,OAAO,KAAK,eAAe,CAAA;YACpC,CAAC;QACH,CAAC;QACD,OAAO,IAAI,CAAA;IACb,CAAC;IAEO,qBAAqB,CAAC,UAAkB;QAC9C,QAAQ,UAAU,EAAE,CAAC;YACnB,KAAK,MAAM;gBACT,OAAO,MAAM,CAAA;YACf,KAAK,MAAM;gBACT,OAAO,MAAM,CAAA;YACf;gBACE,OAAO,KAAK,CAAA;QAChB,CAAC;IACH,CAAC;IAEO,qBAAqB,CAAC,SAAyB;QACrD,OAAO,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,QAAQ,KAAK,OAAO,IAAI,SAAS,CAAC,IAAI,CAAC,WAAW,CAAC,QAAQ,KAAK,MAAM,CAAC,CAAA;IACtI,CAAC;CACF;AAhPD,wDAgPC"}
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.5",
3
+ "version": "8.1.0",
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.5",
36
+ "@tsoa-next/runtime": "8.1.0",
37
37
  "@types/multer": "^2.1.0",
38
38
  "fs-extra": "^11.3.4",
39
39
  "glob": "^13.0.6",