@tsoa-next/cli 7.3.3 → 7.3.4-dev.38.e942a31b
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 +38 -0
- package/dist/api.js +393 -0
- package/dist/api.js.map +1 -0
- package/dist/cli.d.ts +2 -46
- package/dist/cli.js +4 -468
- package/dist/cli.js.map +1 -1
- package/dist/index.d.ts +3 -1
- package/dist/index.js +8 -2
- package/dist/index.js.map +1 -1
- package/dist/metadataGeneration/typeResolver.js +1 -1
- package/dist/metadataGeneration/typeResolver.js.map +1 -1
- package/dist/module/generate-routes.d.ts +1 -1
- package/dist/module/generate-spec.d.ts +1 -1
- package/dist/routeGeneration/defaultRouteGenerator.d.ts +1 -1
- package/dist/routeGeneration/routeGenerator.d.ts +1 -1
- package/dist/routeGeneration/routeGenerator.js +1 -1
- package/dist/routeGeneration/routeGenerator.js.map +1 -1
- package/dist/runCLI.d.ts +5 -0
- package/dist/runCLI.js +144 -0
- package/dist/runCLI.js.map +1 -0
- package/dist/swagger/specGenerator.d.ts +1 -1
- package/dist/swagger/specGenerator2.d.ts +1 -1
- package/dist/swagger/specGenerator2.js +3 -2
- package/dist/swagger/specGenerator2.js.map +1 -1
- package/dist/swagger/specGenerator3.d.ts +1 -1
- package/dist/swagger/specGenerator3.js +3 -2
- package/dist/swagger/specGenerator3.js.map +1 -1
- package/dist/swagger/specGenerator31.d.ts +1 -1
- package/package.json +2 -2
package/dist/cli.js
CHANGED
|
@@ -1,408 +1,13 @@
|
|
|
1
1
|
#!/usr/bin/env node
|
|
2
2
|
"use strict";
|
|
3
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
4
|
-
if (k2 === undefined) k2 = k;
|
|
5
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
6
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
7
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
8
|
-
}
|
|
9
|
-
Object.defineProperty(o, k2, desc);
|
|
10
|
-
}) : (function(o, m, k, k2) {
|
|
11
|
-
if (k2 === undefined) k2 = k;
|
|
12
|
-
o[k2] = m[k];
|
|
13
|
-
}));
|
|
14
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
15
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
16
|
-
}) : function(o, v) {
|
|
17
|
-
o["default"] = v;
|
|
18
|
-
});
|
|
19
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
20
|
-
var ownKeys = function(o) {
|
|
21
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
22
|
-
var ar = [];
|
|
23
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
24
|
-
return ar;
|
|
25
|
-
};
|
|
26
|
-
return ownKeys(o);
|
|
27
|
-
};
|
|
28
|
-
return function (mod) {
|
|
29
|
-
if (mod && mod.__esModule) return mod;
|
|
30
|
-
var result = {};
|
|
31
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
32
|
-
__setModuleDefault(result, mod);
|
|
33
|
-
return result;
|
|
34
|
-
};
|
|
35
|
-
})();
|
|
36
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
37
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
38
|
-
};
|
|
39
3
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
40
|
-
exports.
|
|
41
|
-
|
|
42
|
-
exports
|
|
43
|
-
exports.generateSpecAndRoutes = generateSpecAndRoutes;
|
|
44
|
-
const yaml_1 = __importDefault(require("yaml"));
|
|
45
|
-
const yargs_1 = __importDefault(require("yargs"));
|
|
46
|
-
const helpers_1 = require("yargs/helpers");
|
|
47
|
-
const ts = __importStar(require("typescript"));
|
|
48
|
-
const metadataGenerator_1 = require("./metadataGeneration/metadataGenerator");
|
|
49
|
-
const generate_routes_1 = require("./module/generate-routes");
|
|
50
|
-
const generate_spec_1 = require("./module/generate-spec");
|
|
51
|
-
const fs_1 = require("./utils/fs");
|
|
52
|
-
const node_path_1 = require("node:path");
|
|
53
|
-
const workingDir = process.cwd();
|
|
54
|
-
const yamlModule = yaml_1.default;
|
|
55
|
-
let packageJson;
|
|
56
|
-
const getPackageJsonValue = async (key, defaultValue = '') => {
|
|
57
|
-
if (!packageJson) {
|
|
58
|
-
try {
|
|
59
|
-
const packageJsonRaw = await (0, fs_1.fsReadFile)(`${workingDir}/package.json`);
|
|
60
|
-
const parsedPackageJson = JSON.parse(packageJsonRaw.toString('utf8'));
|
|
61
|
-
packageJson = typeof parsedPackageJson === 'object' && parsedPackageJson !== null ? parsedPackageJson : {};
|
|
62
|
-
}
|
|
63
|
-
catch (_) {
|
|
64
|
-
return defaultValue;
|
|
65
|
-
}
|
|
66
|
-
}
|
|
67
|
-
const value = packageJson[key];
|
|
68
|
-
return typeof value === 'string' ? value : defaultValue;
|
|
69
|
-
};
|
|
70
|
-
const nameDefault = () => getPackageJsonValue('name', 'TSOA');
|
|
71
|
-
const versionDefault = () => getPackageJsonValue('version', '1.0.0');
|
|
72
|
-
const descriptionDefault = () => getPackageJsonValue('description', 'Build swagger-compliant REST APIs using TypeScript and Node');
|
|
73
|
-
const licenseDefault = () => getPackageJsonValue('license', 'MIT');
|
|
74
|
-
const determineNoImplicitAdditionalSetting = (noImplicitAdditionalProperties) => {
|
|
75
|
-
if (noImplicitAdditionalProperties === 'silently-remove-extras' || noImplicitAdditionalProperties === 'throw-on-extras' || noImplicitAdditionalProperties === 'ignore') {
|
|
76
|
-
return noImplicitAdditionalProperties;
|
|
77
|
-
}
|
|
78
|
-
else {
|
|
79
|
-
return 'ignore';
|
|
80
|
-
}
|
|
81
|
-
};
|
|
82
|
-
const isAuthorWhitespace = (char) => char === ' ' || char === '\t' || char === '\n' || char === '\r';
|
|
83
|
-
const skipAuthorWhitespace = (value, index) => {
|
|
84
|
-
let currentIndex = index;
|
|
85
|
-
while (currentIndex < value.length && isAuthorWhitespace(value[currentIndex])) {
|
|
86
|
-
currentIndex += 1;
|
|
87
|
-
}
|
|
88
|
-
return currentIndex;
|
|
89
|
-
};
|
|
90
|
-
const trimToUndefined = (value) => {
|
|
91
|
-
const trimmed = value.trim();
|
|
92
|
-
return trimmed.length > 0 ? trimmed : undefined;
|
|
93
|
-
};
|
|
94
|
-
const parseAuthorContact = (author) => {
|
|
95
|
-
const contact = {};
|
|
96
|
-
let index = skipAuthorWhitespace(author, 0);
|
|
97
|
-
let nameBoundary = author.length;
|
|
98
|
-
const emailStart = author.indexOf('<', index);
|
|
99
|
-
if (emailStart !== -1 && emailStart < nameBoundary) {
|
|
100
|
-
nameBoundary = emailStart;
|
|
101
|
-
}
|
|
102
|
-
const urlStart = author.indexOf('(', index);
|
|
103
|
-
if (urlStart !== -1 && urlStart < nameBoundary) {
|
|
104
|
-
nameBoundary = urlStart;
|
|
105
|
-
}
|
|
106
|
-
const name = trimToUndefined(author.slice(index, nameBoundary));
|
|
107
|
-
if (name) {
|
|
108
|
-
contact.name = name;
|
|
109
|
-
}
|
|
110
|
-
index = skipAuthorWhitespace(author, nameBoundary);
|
|
111
|
-
if (author[index] === '<') {
|
|
112
|
-
const emailEnd = author.indexOf('>', index + 1);
|
|
113
|
-
if (emailEnd !== -1) {
|
|
114
|
-
const email = trimToUndefined(author.slice(index + 1, emailEnd));
|
|
115
|
-
if (email) {
|
|
116
|
-
contact.email = email;
|
|
117
|
-
}
|
|
118
|
-
index = skipAuthorWhitespace(author, emailEnd + 1);
|
|
119
|
-
}
|
|
120
|
-
}
|
|
121
|
-
if (author[index] === '(') {
|
|
122
|
-
const urlEnd = author.indexOf(')', index + 1);
|
|
123
|
-
if (urlEnd !== -1) {
|
|
124
|
-
const url = trimToUndefined(author.slice(index + 1, urlEnd));
|
|
125
|
-
if (url) {
|
|
126
|
-
contact.url = url;
|
|
127
|
-
}
|
|
128
|
-
}
|
|
129
|
-
}
|
|
130
|
-
return contact;
|
|
131
|
-
};
|
|
132
|
-
const authorInformation = getPackageJsonValue('author', 'unknown');
|
|
133
|
-
const isYamlExtension = (extension) => extension === '.yaml' || extension === '.yml';
|
|
134
|
-
const isJsExtension = (extension) => extension === '.js' || extension === '.cjs';
|
|
135
|
-
const getConfig = async (configPath = 'tsoa.json') => {
|
|
136
|
-
let config;
|
|
137
|
-
const ext = (0, node_path_1.extname)(configPath);
|
|
138
|
-
const configFullPath = (0, node_path_1.isAbsolute)(configPath) ? configPath : `${workingDir}/${configPath}`;
|
|
139
|
-
try {
|
|
140
|
-
if (isYamlExtension(ext)) {
|
|
141
|
-
const configRaw = await (0, fs_1.fsReadFile)(configFullPath);
|
|
142
|
-
config = parseConfigValue(yamlModule.parse(configRaw.toString('utf8')));
|
|
143
|
-
}
|
|
144
|
-
else if (isJsExtension(ext)) {
|
|
145
|
-
const importedConfig = await Promise.resolve(`${configFullPath}`).then(s => __importStar(require(s)));
|
|
146
|
-
if (typeof importedConfig !== 'object' || importedConfig === null) {
|
|
147
|
-
throw new Error(`Invalid JS config export at '${configPath}'`);
|
|
148
|
-
}
|
|
149
|
-
config = parseConfigModule(importedConfig);
|
|
150
|
-
}
|
|
151
|
-
else {
|
|
152
|
-
const configRaw = await (0, fs_1.fsReadFile)(configFullPath);
|
|
153
|
-
config = parseConfigValue(JSON.parse(configRaw.toString('utf8')));
|
|
154
|
-
}
|
|
155
|
-
}
|
|
156
|
-
catch (err) {
|
|
157
|
-
if (!(err instanceof Error)) {
|
|
158
|
-
console.error(err);
|
|
159
|
-
throw Error(`Unhandled error encountered loading '${configPath}': ${String(err)}`);
|
|
160
|
-
}
|
|
161
|
-
else if ('code' in err && err.code === 'MODULE_NOT_FOUND') {
|
|
162
|
-
throw Error(`No config file found at '${configPath}'`);
|
|
163
|
-
}
|
|
164
|
-
else if (err.name === 'SyntaxError') {
|
|
165
|
-
console.error(err);
|
|
166
|
-
const errorType = isJsExtension(ext) ? 'JS' : 'JSON';
|
|
167
|
-
throw Error(`Invalid ${errorType} syntax in config at '${configPath}': ${err.message}`);
|
|
168
|
-
}
|
|
169
|
-
else {
|
|
170
|
-
console.error(err);
|
|
171
|
-
throw Error(`Unhandled error encountered loading '${configPath}': ${err.message}`);
|
|
172
|
-
}
|
|
173
|
-
}
|
|
174
|
-
return {
|
|
175
|
-
config,
|
|
176
|
-
configBaseDir: (0, node_path_1.dirname)(configFullPath),
|
|
177
|
-
};
|
|
178
|
-
};
|
|
179
|
-
const resolveConfig = async (config) => {
|
|
180
|
-
if (typeof config === 'object' && config !== null) {
|
|
181
|
-
return {
|
|
182
|
-
config,
|
|
183
|
-
configBaseDir: workingDir,
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
return getConfig(config);
|
|
187
|
-
};
|
|
188
|
-
const formatCompilerOptionsErrors = (context, errors) => {
|
|
189
|
-
const message = errors.map(error => ts.flattenDiagnosticMessageText(error.messageText, ts.sys.newLine)).join(ts.sys.newLine);
|
|
190
|
-
throw new Error(`${context}: ${message}`);
|
|
191
|
-
};
|
|
192
|
-
const parseCompilerOptionsObject = (compilerOptions, configBaseDir, context, validateDiagnostics = true) => {
|
|
193
|
-
const parsed = ts.convertCompilerOptionsFromJson(compilerOptions, configBaseDir);
|
|
194
|
-
if (validateDiagnostics && parsed.errors.length > 0) {
|
|
195
|
-
formatCompilerOptionsErrors(context, parsed.errors);
|
|
196
|
-
}
|
|
197
|
-
return parsed.options;
|
|
198
|
-
};
|
|
199
|
-
const loadTsConfigCompilerOptions = (config, configBaseDir) => {
|
|
200
|
-
const configuredTsconfig = config.tsconfig;
|
|
201
|
-
const fileExists = (fileName) => ts.sys.fileExists(fileName);
|
|
202
|
-
const readFile = (fileName) => ts.sys.readFile(fileName);
|
|
203
|
-
const resolvedTsconfigPath = configuredTsconfig !== undefined
|
|
204
|
-
? (0, node_path_1.isAbsolute)(configuredTsconfig)
|
|
205
|
-
? configuredTsconfig
|
|
206
|
-
: (0, node_path_1.resolve)(configBaseDir, configuredTsconfig)
|
|
207
|
-
: ts.findConfigFile(configBaseDir, fileExists, 'tsconfig.json');
|
|
208
|
-
if (!resolvedTsconfigPath) {
|
|
209
|
-
return {};
|
|
210
|
-
}
|
|
211
|
-
const readResult = ts.readConfigFile(resolvedTsconfigPath, readFile);
|
|
212
|
-
if (readResult.error) {
|
|
213
|
-
formatCompilerOptionsErrors(`Failed to read tsconfig at '${resolvedTsconfigPath}'`, [readResult.error]);
|
|
214
|
-
}
|
|
215
|
-
const parsed = ts.parseJsonConfigFileContent(readResult.config, ts.sys, (0, node_path_1.dirname)(resolvedTsconfigPath), undefined, resolvedTsconfigPath);
|
|
216
|
-
const relevantErrors = parsed.errors.filter(error => error.code !== 18003);
|
|
217
|
-
if (relevantErrors.length > 0) {
|
|
218
|
-
formatCompilerOptionsErrors(`Failed to resolve tsconfig at '${resolvedTsconfigPath}'`, relevantErrors);
|
|
219
|
-
}
|
|
220
|
-
return parsed.options;
|
|
221
|
-
};
|
|
222
|
-
const isConfig = (value) => {
|
|
223
|
-
return typeof value === 'object' && value !== null && ('entryFile' in value || 'routes' in value || 'spec' in value || 'tsconfig' in value);
|
|
224
|
-
};
|
|
225
|
-
const parseConfigValue = (value) => {
|
|
226
|
-
if (isConfig(value)) {
|
|
227
|
-
return value;
|
|
228
|
-
}
|
|
229
|
-
throw new Error('Invalid tsoa-next config shape');
|
|
230
|
-
};
|
|
231
|
-
const parseConfigModule = (moduleExports) => {
|
|
232
|
-
const defaultExport = 'default' in moduleExports ? moduleExports.default : moduleExports;
|
|
233
|
-
return parseConfigValue(defaultExport);
|
|
234
|
-
};
|
|
235
|
-
function validateCompilerOptions(configOrCompilerOptions, configBaseDir = workingDir) {
|
|
236
|
-
if (!isConfig(configOrCompilerOptions)) {
|
|
237
|
-
return configOrCompilerOptions ? parseCompilerOptionsObject(configOrCompilerOptions, configBaseDir, 'Invalid compilerOptions in tsoa-next config', false) : {};
|
|
238
|
-
}
|
|
239
|
-
const tsconfigCompilerOptions = loadTsConfigCompilerOptions(configOrCompilerOptions, configBaseDir);
|
|
240
|
-
const explicitCompilerOptions = configOrCompilerOptions.compilerOptions
|
|
241
|
-
? parseCompilerOptionsObject(configOrCompilerOptions.compilerOptions, configBaseDir, 'Invalid compilerOptions in tsoa-next config')
|
|
242
|
-
: {};
|
|
243
|
-
return {
|
|
244
|
-
...tsconfigCompilerOptions,
|
|
245
|
-
...explicitCompilerOptions,
|
|
246
|
-
};
|
|
247
|
-
}
|
|
248
|
-
const validateSpecConfig = async (config) => {
|
|
249
|
-
if (!config.spec) {
|
|
250
|
-
throw new Error('Missing spec: configuration must contain spec. Spec used to be called swagger in previous versions of tsoa.');
|
|
251
|
-
}
|
|
252
|
-
if (!config.spec.outputDirectory) {
|
|
253
|
-
throw new Error('Missing outputDirectory: configuration must contain output directory.');
|
|
254
|
-
}
|
|
255
|
-
if (!config.entryFile && (!config.controllerPathGlobs || !config.controllerPathGlobs.length)) {
|
|
256
|
-
throw new Error('Missing entryFile and controllerPathGlobs: Configuration must contain an entry point file or controller path globals.');
|
|
257
|
-
}
|
|
258
|
-
if (!!config.entryFile && !(await (0, fs_1.fsExists)(config.entryFile))) {
|
|
259
|
-
throw new Error(`EntryFile not found: ${config.entryFile} - please check your tsoa config.`);
|
|
260
|
-
}
|
|
261
|
-
config.spec.version = config.spec.version || (await versionDefault());
|
|
262
|
-
config.spec.specVersion = config.spec.specVersion || 2;
|
|
263
|
-
const supportedVersions = [2, 3, 3.1];
|
|
264
|
-
if (!supportedVersions.includes(config.spec.specVersion)) {
|
|
265
|
-
throw new Error(`Unsupported Spec version: ${config.spec.specVersion}.`);
|
|
266
|
-
}
|
|
267
|
-
if (config.spec.spec && !['immediate', 'recursive', 'deepmerge', undefined].includes(config.spec.specMerging)) {
|
|
268
|
-
throw new Error(`Invalid specMerging config: ${config.spec.specMerging}`);
|
|
269
|
-
}
|
|
270
|
-
const noImplicitAdditionalProperties = determineNoImplicitAdditionalSetting(config.noImplicitAdditionalProperties);
|
|
271
|
-
config.spec.name = config.spec.name || (await nameDefault());
|
|
272
|
-
config.spec.description = config.spec.description || (await descriptionDefault());
|
|
273
|
-
config.spec.license = config.spec.license || (await licenseDefault());
|
|
274
|
-
config.spec.basePath = config.spec.basePath || '/';
|
|
275
|
-
// defaults to template that may generate non-unique operation ids.
|
|
276
|
-
// @see https://github.com/lukeautry/tsoa/issues/1005
|
|
277
|
-
config.spec.operationIdTemplate = config.spec.operationIdTemplate || '{{titleCase method.name}}';
|
|
278
|
-
if (!config.spec.contact) {
|
|
279
|
-
config.spec.contact = {};
|
|
280
|
-
}
|
|
281
|
-
const specContact = config.spec.contact;
|
|
282
|
-
const setContactValue = (key, value) => {
|
|
283
|
-
if (!specContact[key] && value !== undefined) {
|
|
284
|
-
specContact[key] = value;
|
|
285
|
-
}
|
|
286
|
-
};
|
|
287
|
-
const author = await authorInformation;
|
|
288
|
-
if (typeof author === 'string') {
|
|
289
|
-
const contact = parseAuthorContact(author);
|
|
290
|
-
setContactValue('name', contact.name);
|
|
291
|
-
setContactValue('email', contact.email);
|
|
292
|
-
setContactValue('url', contact.url);
|
|
293
|
-
}
|
|
294
|
-
else if (typeof author === 'object') {
|
|
295
|
-
setContactValue('name', author?.name);
|
|
296
|
-
setContactValue('email', author?.email);
|
|
297
|
-
setContactValue('url', author?.url);
|
|
298
|
-
}
|
|
299
|
-
if (!config.defaultNumberType) {
|
|
300
|
-
config.defaultNumberType = 'double';
|
|
301
|
-
}
|
|
302
|
-
if (config.spec.rootSecurity) {
|
|
303
|
-
if (!Array.isArray(config.spec.rootSecurity)) {
|
|
304
|
-
throw new Error('spec.rootSecurity must be an array');
|
|
305
|
-
}
|
|
306
|
-
if (config.spec.rootSecurity) {
|
|
307
|
-
const ok = config.spec.rootSecurity.every(security => typeof security === 'object' && security !== null && Object.values(security).every(scope => Array.isArray(scope)));
|
|
308
|
-
if (!ok) {
|
|
309
|
-
throw new Error('spec.rootSecurity must be an array of objects whose keys are security scheme names and values are arrays of scopes');
|
|
310
|
-
}
|
|
311
|
-
}
|
|
312
|
-
}
|
|
313
|
-
return {
|
|
314
|
-
...config.spec,
|
|
315
|
-
noImplicitAdditionalProperties,
|
|
316
|
-
entryFile: config.entryFile,
|
|
317
|
-
controllerPathGlobs: config.controllerPathGlobs,
|
|
318
|
-
};
|
|
319
|
-
};
|
|
320
|
-
exports.validateSpecConfig = validateSpecConfig;
|
|
321
|
-
const validateRoutesConfig = async (config) => {
|
|
322
|
-
if (!config.entryFile && (!config.controllerPathGlobs || !config.controllerPathGlobs.length)) {
|
|
323
|
-
throw new Error('Missing entryFile and controllerPathGlobs: Configuration must contain an entry point file or controller path globals.');
|
|
324
|
-
}
|
|
325
|
-
if (!!config.entryFile && !(await (0, fs_1.fsExists)(config.entryFile))) {
|
|
326
|
-
throw new Error(`EntryFile not found: ${config.entryFile} - Please check your tsoa config.`);
|
|
327
|
-
}
|
|
328
|
-
if (!config.routes.routesDir) {
|
|
329
|
-
throw new Error('Missing routesDir: Configuration must contain a routes file output directory.');
|
|
330
|
-
}
|
|
331
|
-
if (config.routes.authenticationModule && !((await (0, fs_1.fsExists)(config.routes.authenticationModule)) || (await (0, fs_1.fsExists)(config.routes.authenticationModule + '.ts')))) {
|
|
332
|
-
throw new Error(`No authenticationModule file found at '${config.routes.authenticationModule}'`);
|
|
333
|
-
}
|
|
334
|
-
if (config.routes.iocModule && !((await (0, fs_1.fsExists)(config.routes.iocModule)) || (await (0, fs_1.fsExists)(config.routes.iocModule + '.ts')))) {
|
|
335
|
-
throw new Error(`No iocModule file found at '${config.routes.iocModule}'`);
|
|
336
|
-
}
|
|
337
|
-
const noImplicitAdditionalProperties = determineNoImplicitAdditionalSetting(config.noImplicitAdditionalProperties);
|
|
338
|
-
const bodyCoercion = config.routes.bodyCoercion ?? true;
|
|
339
|
-
config.routes.basePath = config.routes.basePath || '/';
|
|
340
|
-
return {
|
|
341
|
-
...config.routes,
|
|
342
|
-
entryFile: config.entryFile,
|
|
343
|
-
noImplicitAdditionalProperties,
|
|
344
|
-
bodyCoercion,
|
|
345
|
-
controllerPathGlobs: config.controllerPathGlobs,
|
|
346
|
-
multerOpts: config.multerOpts,
|
|
347
|
-
rootSecurity: config.spec.rootSecurity,
|
|
348
|
-
};
|
|
349
|
-
};
|
|
350
|
-
const configurationArgs = {
|
|
351
|
-
alias: 'c',
|
|
352
|
-
describe: 'tsoa configuration file; default is tsoa.json in the working directory',
|
|
353
|
-
required: false,
|
|
354
|
-
string: true,
|
|
355
|
-
};
|
|
356
|
-
const hostArgs = {
|
|
357
|
-
describe: 'API host',
|
|
358
|
-
required: false,
|
|
359
|
-
string: true,
|
|
360
|
-
};
|
|
361
|
-
const basePathArgs = {
|
|
362
|
-
describe: 'Base API path',
|
|
363
|
-
required: false,
|
|
364
|
-
string: true,
|
|
365
|
-
};
|
|
366
|
-
const yarmlArgs = {
|
|
367
|
-
describe: 'Swagger spec yaml format',
|
|
368
|
-
required: false,
|
|
369
|
-
boolean: true,
|
|
370
|
-
};
|
|
371
|
-
const jsonArgs = {
|
|
372
|
-
describe: 'Swagger spec json format',
|
|
373
|
-
required: false,
|
|
374
|
-
boolean: true,
|
|
375
|
-
};
|
|
376
|
-
function runCLI() {
|
|
377
|
-
return (0, yargs_1.default)((0, helpers_1.hideBin)(process.argv))
|
|
378
|
-
.usage('Usage: $0 <command> [options]')
|
|
379
|
-
.command('spec', 'Generate OpenAPI spec', {
|
|
380
|
-
basePath: basePathArgs,
|
|
381
|
-
configuration: configurationArgs,
|
|
382
|
-
host: hostArgs,
|
|
383
|
-
json: jsonArgs,
|
|
384
|
-
yaml: yarmlArgs,
|
|
385
|
-
}, args => SpecGenerator(args))
|
|
386
|
-
.command('routes', 'Generate routes', {
|
|
387
|
-
basePath: basePathArgs,
|
|
388
|
-
configuration: configurationArgs,
|
|
389
|
-
}, args => routeGenerator(args))
|
|
390
|
-
.command('spec-and-routes', 'Generate OpenAPI spec and routes', {
|
|
391
|
-
basePath: basePathArgs,
|
|
392
|
-
configuration: configurationArgs,
|
|
393
|
-
host: hostArgs,
|
|
394
|
-
json: jsonArgs,
|
|
395
|
-
yaml: yarmlArgs,
|
|
396
|
-
}, args => void generateSpecAndRoutes(args))
|
|
397
|
-
.demandCommand(1, 1, 'Must provide a valid command.')
|
|
398
|
-
.help('help')
|
|
399
|
-
.alias('help', 'h')
|
|
400
|
-
.parse();
|
|
401
|
-
}
|
|
4
|
+
exports.runCLI = void 0;
|
|
5
|
+
const runCLI_1 = require("./runCLI");
|
|
6
|
+
Object.defineProperty(exports, "runCLI", { enumerable: true, get: function () { return runCLI_1.runCLI; } });
|
|
402
7
|
if (require.main === module) {
|
|
403
8
|
void (async () => {
|
|
404
9
|
try {
|
|
405
|
-
await runCLI();
|
|
10
|
+
await (0, runCLI_1.runCLI)();
|
|
406
11
|
}
|
|
407
12
|
catch (err) {
|
|
408
13
|
console.error('tsoa cli error:\n', err);
|
|
@@ -410,73 +15,4 @@ if (require.main === module) {
|
|
|
410
15
|
}
|
|
411
16
|
})();
|
|
412
17
|
}
|
|
413
|
-
async function SpecGenerator(args) {
|
|
414
|
-
try {
|
|
415
|
-
const { config, configBaseDir } = await resolveConfig(args.configuration);
|
|
416
|
-
if (args.basePath) {
|
|
417
|
-
config.spec.basePath = args.basePath;
|
|
418
|
-
}
|
|
419
|
-
if (args.host) {
|
|
420
|
-
config.spec.host = args.host;
|
|
421
|
-
}
|
|
422
|
-
if (args.yaml) {
|
|
423
|
-
config.spec.yaml = args.yaml;
|
|
424
|
-
}
|
|
425
|
-
if (args.json) {
|
|
426
|
-
config.spec.yaml = false;
|
|
427
|
-
}
|
|
428
|
-
const compilerOptions = validateCompilerOptions(config, configBaseDir);
|
|
429
|
-
const swaggerConfig = await (0, exports.validateSpecConfig)(config);
|
|
430
|
-
await (0, generate_spec_1.generateSpec)(swaggerConfig, compilerOptions, config.ignore);
|
|
431
|
-
}
|
|
432
|
-
catch (err) {
|
|
433
|
-
console.error('Generate swagger error.\n', err);
|
|
434
|
-
process.exit(1);
|
|
435
|
-
}
|
|
436
|
-
}
|
|
437
|
-
async function routeGenerator(args) {
|
|
438
|
-
try {
|
|
439
|
-
const { config, configBaseDir } = await resolveConfig(args.configuration);
|
|
440
|
-
if (args.basePath) {
|
|
441
|
-
config.routes.basePath = args.basePath;
|
|
442
|
-
}
|
|
443
|
-
const compilerOptions = validateCompilerOptions(config, configBaseDir);
|
|
444
|
-
const routesConfig = await validateRoutesConfig(config);
|
|
445
|
-
await (0, generate_routes_1.generateRoutes)(routesConfig, compilerOptions, config.ignore);
|
|
446
|
-
}
|
|
447
|
-
catch (err) {
|
|
448
|
-
console.error('Generate routes error.\n', err);
|
|
449
|
-
process.exit(1);
|
|
450
|
-
}
|
|
451
|
-
}
|
|
452
|
-
async function generateSpecAndRoutes(args, metadata) {
|
|
453
|
-
try {
|
|
454
|
-
const { config, configBaseDir } = await resolveConfig(args.configuration);
|
|
455
|
-
if (args.basePath) {
|
|
456
|
-
config.spec.basePath = args.basePath;
|
|
457
|
-
}
|
|
458
|
-
if (args.host) {
|
|
459
|
-
config.spec.host = args.host;
|
|
460
|
-
}
|
|
461
|
-
if (args.yaml) {
|
|
462
|
-
config.spec.yaml = args.yaml;
|
|
463
|
-
}
|
|
464
|
-
if (args.json) {
|
|
465
|
-
config.spec.yaml = false;
|
|
466
|
-
}
|
|
467
|
-
const compilerOptions = validateCompilerOptions(config, configBaseDir);
|
|
468
|
-
const routesConfig = await validateRoutesConfig(config);
|
|
469
|
-
const swaggerConfig = await (0, exports.validateSpecConfig)(config);
|
|
470
|
-
if (!metadata) {
|
|
471
|
-
metadata = new metadataGenerator_1.MetadataGenerator(config.entryFile, compilerOptions, config.ignore, config.controllerPathGlobs, config.spec.rootSecurity, config.defaultNumberType, config.routes.esm).Generate();
|
|
472
|
-
}
|
|
473
|
-
await Promise.all([(0, generate_routes_1.generateRoutes)(routesConfig, compilerOptions, config.ignore, metadata), (0, generate_spec_1.generateSpec)(swaggerConfig, compilerOptions, config.ignore, metadata)]);
|
|
474
|
-
return metadata;
|
|
475
|
-
}
|
|
476
|
-
catch (err) {
|
|
477
|
-
console.error('Generate routes error.\n', err);
|
|
478
|
-
process.exit(1);
|
|
479
|
-
throw err;
|
|
480
|
-
}
|
|
481
|
-
}
|
|
482
18
|
//# sourceMappingURL=cli.js.map
|
package/dist/cli.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../src/cli.ts"],"names":[],"mappings":";;;;AACA,qCAAiC;AAExB,uFAFA,eAAM,OAEA;AAEf,IAAI,OAAO,CAAC,IAAI,KAAK,MAAM,EAAE,CAAC;IAC5B,KAAK,CAAC,KAAK,IAAI,EAAE;QACf,IAAI,CAAC;YACH,MAAM,IAAA,eAAM,GAAE,CAAA;QAChB,CAAC;QAAC,OAAO,GAAG,EAAE,CAAC;YACb,OAAO,CAAC,KAAK,CAAC,mBAAmB,EAAE,GAAG,CAAC,CAAA;YACvC,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC,CAAA;QACjB,CAAC;IACH,CAAC,CAAC,EAAE,CAAA;AACN,CAAC"}
|
package/dist/index.d.ts
CHANGED
|
@@ -3,4 +3,6 @@ export * from './module/generate-routes';
|
|
|
3
3
|
export { AbstractRouteGenerator } from './routeGeneration/routeGenerator';
|
|
4
4
|
export { DefaultRouteGenerator } from './routeGeneration/defaultRouteGenerator';
|
|
5
5
|
export { Config } from '@tsoa-next/runtime';
|
|
6
|
-
export
|
|
6
|
+
export { generateSpecAndRoutes, validateCompilerOptions, validateRoutesConfig, validateSpecConfig } from './api';
|
|
7
|
+
export type { ConfigArgs, ExtendedRoutesConfig, ExtendedSpecConfig, RouteGeneratorModule, SwaggerArgs } from './api';
|
|
8
|
+
export { runCLI } from './runCLI';
|
package/dist/index.js
CHANGED
|
@@ -14,12 +14,18 @@ var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
|
14
14
|
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
15
|
};
|
|
16
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
exports.DefaultRouteGenerator = exports.AbstractRouteGenerator = void 0;
|
|
17
|
+
exports.runCLI = exports.validateSpecConfig = exports.validateRoutesConfig = exports.validateCompilerOptions = exports.generateSpecAndRoutes = exports.DefaultRouteGenerator = exports.AbstractRouteGenerator = void 0;
|
|
18
18
|
__exportStar(require("./module/generate-spec"), exports);
|
|
19
19
|
__exportStar(require("./module/generate-routes"), exports);
|
|
20
20
|
var routeGenerator_1 = require("./routeGeneration/routeGenerator");
|
|
21
21
|
Object.defineProperty(exports, "AbstractRouteGenerator", { enumerable: true, get: function () { return routeGenerator_1.AbstractRouteGenerator; } });
|
|
22
22
|
var defaultRouteGenerator_1 = require("./routeGeneration/defaultRouteGenerator");
|
|
23
23
|
Object.defineProperty(exports, "DefaultRouteGenerator", { enumerable: true, get: function () { return defaultRouteGenerator_1.DefaultRouteGenerator; } });
|
|
24
|
-
|
|
24
|
+
var api_1 = require("./api");
|
|
25
|
+
Object.defineProperty(exports, "generateSpecAndRoutes", { enumerable: true, get: function () { return api_1.generateSpecAndRoutes; } });
|
|
26
|
+
Object.defineProperty(exports, "validateCompilerOptions", { enumerable: true, get: function () { return api_1.validateCompilerOptions; } });
|
|
27
|
+
Object.defineProperty(exports, "validateRoutesConfig", { enumerable: true, get: function () { return api_1.validateRoutesConfig; } });
|
|
28
|
+
Object.defineProperty(exports, "validateSpecConfig", { enumerable: true, get: function () { return api_1.validateSpecConfig; } });
|
|
29
|
+
var runCLI_1 = require("./runCLI");
|
|
30
|
+
Object.defineProperty(exports, "runCLI", { enumerable: true, get: function () { return runCLI_1.runCLI; } });
|
|
25
31
|
//# sourceMappingURL=index.js.map
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC;AACxC,mEAAyE;AAAhE,wHAAA,sBAAsB,OAAA;AAC/B,iFAA+E;AAAtE,8HAAA,qBAAqB,OAAA;AAE9B,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,yDAAsC;AACtC,2DAAwC;AACxC,mEAAyE;AAAhE,wHAAA,sBAAsB,OAAA;AAC/B,iFAA+E;AAAtE,8HAAA,qBAAqB,OAAA;AAE9B,6BAAgH;AAAvG,4GAAA,qBAAqB,OAAA;AAAE,8GAAA,uBAAuB,OAAA;AAAE,2GAAA,oBAAoB,OAAA;AAAE,yGAAA,kBAAkB,OAAA;AAEjG,mCAAiC;AAAxB,gGAAA,MAAM,OAAA"}
|