tsoa
This commit is contained in:
240
node_modules/@tsoa/runtime/dist/config.d.ts
generated
vendored
Normal file
240
node_modules/@tsoa/runtime/dist/config.d.ts
generated
vendored
Normal file
@@ -0,0 +1,240 @@
|
||||
import { Swagger } from './swagger/swagger';
|
||||
import { Options as MulterOpts } from 'multer';
|
||||
export interface Config {
|
||||
/**
|
||||
* Swagger generation configuration object
|
||||
*/
|
||||
spec: SpecConfig;
|
||||
/**
|
||||
* Route generation configuration object
|
||||
*/
|
||||
routes: RoutesConfig;
|
||||
/**
|
||||
* Directories to ignore during TypeScript metadata scan
|
||||
*/
|
||||
ignore?: string[];
|
||||
/**
|
||||
* The entry point to your API
|
||||
*/
|
||||
entryFile: string;
|
||||
/**
|
||||
* An array of path globs that point to your route controllers that you would like to have tsoa include.
|
||||
*/
|
||||
controllerPathGlobs?: string[];
|
||||
/**
|
||||
* Modes that allow you to prevent input data from entering into your API. This will document your decision in the swagger.yaml and it will turn on excess-property validation (at runtime) in your routes.
|
||||
*/
|
||||
noImplicitAdditionalProperties?: 'throw-on-extras' | 'silently-remove-extras' | 'ignore';
|
||||
/**
|
||||
* Typescript CompilerOptions to be used during generation
|
||||
*
|
||||
* @type {Record<string, unknown>}
|
||||
* @memberof RoutesConfig
|
||||
*/
|
||||
compilerOptions?: Record<string, unknown>;
|
||||
/**
|
||||
* Multer's options to generate multer's middleware.
|
||||
* It doesn't support storage option
|
||||
*
|
||||
* @example {
|
||||
* "dest": "/tmp"
|
||||
* } Allow multer to write to file instead of using Memory's buffer
|
||||
* @deprecated
|
||||
* since v6.4.0 instroduces RegisterRoutes can pass multerOptions,
|
||||
* we will quickly remove this options soon at future version.
|
||||
* (https://github.com/lukeautry/tsoa/issues/1587#issuecomment-2391291433)
|
||||
* (https://github.com/lukeautry/tsoa/pull/1638)
|
||||
*/
|
||||
multerOpts?: MulterOpts;
|
||||
defaultNumberType?: 'double' | 'float' | 'integer' | 'long';
|
||||
}
|
||||
/**
|
||||
* these options will be removed in a future version since we would prefer consumers to explicitly state their preference that the tsoa validation throws or removes additional properties
|
||||
*/
|
||||
export type DeprecatedOptionForAdditionalPropertiesHandling = true | false;
|
||||
export interface SpecConfig {
|
||||
/**
|
||||
* Generated SwaggerConfig.json will output here
|
||||
*/
|
||||
outputDirectory: string;
|
||||
/**
|
||||
* API host, expressTemplate.g. localhost:3000 or myapi.com
|
||||
*/
|
||||
host?: string;
|
||||
/**
|
||||
* API servers, expressTemplate.g. [production.api.com, staging.api.com]
|
||||
*
|
||||
* Only available with the specVersion 3
|
||||
*/
|
||||
servers?: string[];
|
||||
/**
|
||||
* Base-name of swagger.json or swagger.yaml.
|
||||
*
|
||||
* @default: "swagger"
|
||||
*/
|
||||
specFileBaseName?: string;
|
||||
/**
|
||||
|
||||
* API version number; defaults to npm package version
|
||||
*/
|
||||
version?: string;
|
||||
/**
|
||||
* Major OpenAPI version to generate; defaults to version 2 when not specified
|
||||
* Possible values:
|
||||
* - 2: generates OpenAPI version 2.
|
||||
* - 3: generates OpenAPI version 3.
|
||||
* - 3.1: generates OpenAPI version 3.1.
|
||||
*/
|
||||
specVersion?: Swagger.SupportedSpecMajorVersion;
|
||||
/**
|
||||
* API name; defaults to npm package name
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* API description; defaults to npm package description
|
||||
*/
|
||||
description?: string;
|
||||
/**
|
||||
* Link to the page that describes the terms of service.
|
||||
* Must be in the URL format.
|
||||
*/
|
||||
termsOfService?: string;
|
||||
/**
|
||||
* Contact Information
|
||||
*/
|
||||
contact?: {
|
||||
/**
|
||||
* The identifying name of the contact person/organization.
|
||||
* @default npm package author
|
||||
*/
|
||||
name?: string;
|
||||
/**
|
||||
* The email address of the contact person/organization.
|
||||
* @default npm package author email
|
||||
*/
|
||||
email?: string;
|
||||
/**
|
||||
* API Info url
|
||||
* The URL pointing to the contact information.
|
||||
* @default npm package author url
|
||||
*/
|
||||
url?: string;
|
||||
};
|
||||
/**
|
||||
* API license; defaults to npm package license
|
||||
*/
|
||||
license?: string;
|
||||
/**
|
||||
* Base API path; e.g. the 'v1' in https://myapi.com/v1
|
||||
*/
|
||||
basePath?: string;
|
||||
/**
|
||||
* Base API prefix slash toggle
|
||||
* e.g. the 'v1' with toggle true will be https://myapi.comv1
|
||||
* Otherwise, http://myapi.com/v1
|
||||
*
|
||||
* Only available with the specVersion 3
|
||||
*/
|
||||
disableBasePathPrefixSlash?: boolean;
|
||||
/**
|
||||
* Extend generated swagger spec with this object
|
||||
* Note that generated properties will always take precedence over what get specified here
|
||||
*/
|
||||
spec?: unknown;
|
||||
/**
|
||||
* Alter how the spec is merged to generated swagger spec.
|
||||
* Possible values:
|
||||
* - 'immediate' is overriding top level elements only thus you can not append a new path or alter an existing value without erasing same level elements.
|
||||
* - 'recursive' proceed to a deep merge and will concat every branches or override or create new values if needed. @see https://www.npmjs.com/package/merge
|
||||
* - 'deepmerge' uses `ts-deepmerge` to merge, which will concat object branches and concat arrays as well @see https://www.npmjs.com/package/deepmerge @see https://github.com/voodoocreation/ts-deepmerge
|
||||
* The default is set to immediate so it is not breaking previous versions.
|
||||
* @default 'immediate'
|
||||
*/
|
||||
specMerging?: 'immediate' | 'recursive' | 'deepmerge';
|
||||
/**
|
||||
* Template string for generating operation ids.
|
||||
* This should be a valid handlebars template and is provided
|
||||
* with the following context:
|
||||
* - 'controllerName' - String name of controller class.
|
||||
* - 'method' - Tsoa.Method object.
|
||||
*
|
||||
* @default '{{titleCase method.name}}'
|
||||
*/
|
||||
operationIdTemplate?: string;
|
||||
/**
|
||||
* Security Definitions Object
|
||||
* A declaration of the security schemes available to be used in the
|
||||
* specification. This does not enforce the security schemes on the operations
|
||||
* and only serves to provide the relevant details for each scheme.
|
||||
*/
|
||||
securityDefinitions?: {
|
||||
[name: string]: Swagger.SecuritySchemes;
|
||||
};
|
||||
/**
|
||||
* Swagger Tags Information for your API
|
||||
*/
|
||||
tags?: Swagger.Tag[];
|
||||
yaml?: boolean;
|
||||
schemes?: Swagger.Protocol[];
|
||||
/**
|
||||
* Enable x-enum-varnames support
|
||||
* @default false
|
||||
*/
|
||||
xEnumVarnames?: boolean;
|
||||
/**
|
||||
* Sets a title for inline objects for responses and requestBodies
|
||||
* This helps to generate more consistent clients
|
||||
*/
|
||||
useTitleTagsForInlineObjects?: boolean;
|
||||
/**
|
||||
* Applies a default security to the entire API.
|
||||
* Can be overridden with @Security or @NoSecurity decorators on controllers or methods
|
||||
*/
|
||||
rootSecurity?: Swagger.Security[];
|
||||
}
|
||||
export interface RoutesConfig {
|
||||
/**
|
||||
* Routes directory; generated routes.ts (which contains the generated code wiring up routes using middleware of choice) will be dropped here
|
||||
*/
|
||||
routesDir: string;
|
||||
/**
|
||||
* Routes filename; the filename of the generated route file ('routes.ts' by default)
|
||||
*/
|
||||
routesFileName?: string;
|
||||
/**
|
||||
* Avoid writing the generated route file if the existing file is identical (useful to optimize watch processes); false by default
|
||||
*/
|
||||
noWriteIfUnchanged?: boolean;
|
||||
/**
|
||||
* Base API path; e.g. the '/v1' in https://myapi.com/v1
|
||||
*/
|
||||
basePath?: string;
|
||||
/**
|
||||
* Middleware provider.
|
||||
*/
|
||||
middleware?: 'express' | 'hapi' | 'koa';
|
||||
/**
|
||||
* Override the Middleware template
|
||||
*/
|
||||
middlewareTemplate?: string;
|
||||
/**
|
||||
* IOC module; e.g. './inversify/ioc' where IOC container named `iocContainer` is defined (https://github.com/inversify/InversifyJS)
|
||||
*/
|
||||
iocModule?: string;
|
||||
/**
|
||||
* Authentication Module for express, hapi and koa
|
||||
*/
|
||||
authenticationModule?: string;
|
||||
/**
|
||||
* When enabled, the imports in the routes files will have a `.js` extention to support esm.
|
||||
*
|
||||
* @default false
|
||||
*/
|
||||
esm?: boolean;
|
||||
bodyCoercion?: boolean;
|
||||
/**
|
||||
* When enabled, the imports in the routes files will keep having a `.ts` extention to support the TypeScript 5.7 feature rewriteRelativeImportExtensions.
|
||||
* @default false
|
||||
*/
|
||||
rewriteRelativeImportExtensions?: boolean;
|
||||
}
|
||||
Reference in New Issue
Block a user