@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 +12 -1
- package/dist/api.js +21 -2
- package/dist/api.js.map +1 -1
- package/dist/module/generate-routes.d.ts +4 -0
- package/dist/module/generate-routes.js +4 -0
- package/dist/module/generate-routes.js.map +1 -1
- package/dist/module/generate-spec.d.ts +11 -1
- package/dist/module/generate-spec.js +34 -17
- package/dist/module/generate-spec.js.map +1 -1
- package/dist/routeGeneration/defaultRouteGenerator.d.ts +4 -0
- package/dist/routeGeneration/defaultRouteGenerator.js +4 -0
- package/dist/routeGeneration/defaultRouteGenerator.js.map +1 -1
- package/dist/routeGeneration/routeGenerator.d.ts +8 -1
- package/dist/routeGeneration/routeGenerator.js +9 -0
- package/dist/routeGeneration/routeGenerator.js.map +1 -1
- package/dist/routeGeneration/templates/express.hbs +50 -1
- package/dist/routeGeneration/templates/hapi.hbs +52 -1
- package/dist/routeGeneration/templates/koa.hbs +43 -1
- package/package.json +2 -2
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":";;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
|
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
|
-
|
|
55
|
-
|
|
56
|
-
|
|
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
|
-
|
|
59
|
-
break;
|
|
76
|
+
return new specGenerator2_1.SpecGenerator2(metadata, swaggerConfig).GetSpec();
|
|
60
77
|
case 3:
|
|
61
|
-
|
|
62
|
-
break;
|
|
78
|
+
return new specGenerator3_1.SpecGenerator3(metadata, swaggerConfig).GetSpec();
|
|
63
79
|
case 3.1:
|
|
64
80
|
default:
|
|
65
|
-
|
|
81
|
+
return new specGenerator31_1.SpecGenerator31(metadata, swaggerConfig).GetSpec();
|
|
66
82
|
}
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
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
|
-
|
|
73
|
-
await (0, fs_1.fsWriteFile)(outputPath, data, { encoding: 'utf8' });
|
|
74
|
-
return metadata;
|
|
91
|
+
return YAML.stringify(JSON.parse(data));
|
|
75
92
|
};
|
|
76
|
-
exports.
|
|
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;
|
|
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;AAElD,wEAAwE;AACjE,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;AAED;;GAEG;AACI,MAAM,YAAY,GAAG,KAAK,EAC/B,aAAiC,EACjC,eAAoC,EACpC,WAAsB;AACtB;;GAEG;AACH,QAAwB,EACxB,iBAA+C,EAC/C,EAAE;IACF,MAAM,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAA;IACrH,QAAQ,KAAK,IAAI,qCAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxK,MAAM,IAAI,GAAG,IAAA,iBAAS,EAAC,aAAa,EAAE,eAAe,EAAE,WAAW,EAAE,QAAQ,EAAE,iBAAiB,CAAC,CAAA;IAEhG,MAAM,IAAA,YAAO,EAAC,aAAa,CAAC,eAAe,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE,CAAC,CAAA;IAEjE,MAAM,UAAU,GAAG,IAAA,4BAAoB,EAAC,aAAa,CAAC,CAAA;IACtD,MAAM,IAAA,gBAAW,EAAC,UAAU,EAAE,IAAA,qBAAa,EAAC,IAAI,EAAE,aAAa,CAAC,IAAI,CAAC,EAAE,EAAE,QAAQ,EAAE,MAAM,EAAE,CAAC,CAAA;IAE5F,OAAO,QAAQ,CAAA;AACjB,CAAC,CAAA;AApBY,QAAA,YAAY,gBAoBxB;AAED;;GAEG;AACI,MAAM,SAAS,GAAG,CACvB,aAAiC,EACjC,eAAoC,EACpC,WAAsB,EACtB,QAAwB,EACxB,iBAA+C,EACjC,EAAE;IAChB,MAAM,mBAAmB,GAAG,aAAa,CAAC,mBAAmB,EAAE,MAAM,CAAC,CAAC,CAAC,aAAa,CAAC,mBAAmB,CAAC,CAAC,CAAC,SAAS,CAAA;IACrH,QAAQ,KAAK,IAAI,qCAAiB,CAAC,aAAa,CAAC,SAAS,EAAE,eAAe,EAAE,WAAW,EAAE,mBAAmB,EAAE,aAAa,CAAC,YAAY,EAAE,iBAAiB,CAAC,CAAC,QAAQ,EAAE,CAAA;IACxK,MAAM,WAAW,GAAG,aAAa,CAAC,WAAW,IAAI,CAAC,CAAA;IAElD,QAAQ,WAAW,EAAE,CAAC;QACpB,KAAK,CAAC;YACJ,OAAO,IAAI,+BAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;QAC9D,KAAK,CAAC;YACJ,OAAO,IAAI,+BAAc,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;QAC9D,KAAK,GAAG,CAAC;QACT;YACE,OAAO,IAAI,iCAAe,CAAC,QAAQ,EAAE,aAAa,CAAC,CAAC,OAAO,EAAE,CAAA;IACjE,CAAC;AACH,CAAC,CAAA;AApBY,QAAA,SAAS,aAoBrB;AAED,2DAA2D;AACpD,MAAM,aAAa,GAAG,CAAC,IAAkB,EAAE,IAAI,GAAG,KAAK,EAAE,EAAE;IAChE,MAAM,IAAI,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,EAAE,IAAI,EAAE,IAAI,CAAC,CAAA;IAC7C,IAAI,CAAC,IAAI,EAAE,CAAC;QACV,OAAO,IAAI,CAAA;IACb,CAAC;IAED,OAAO,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,CAAA;AACzC,CAAC,CAAA;AAPY,QAAA,aAAa,iBAOzB"}
|
|
@@ -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;
|
|
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
|
-
*
|
|
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;
|
|
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 {
|
|
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
|
|
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
|
|
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",
|