@tsoa-next/cli 7.2.1 → 7.3.2

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.
Files changed (30) hide show
  1. package/README.MD +3 -3
  2. package/dist/cli.js +63 -7
  3. package/dist/cli.js.map +1 -1
  4. package/dist/metadataGeneration/metadataGenerator.js +2 -0
  5. package/dist/metadataGeneration/metadataGenerator.js.map +1 -1
  6. package/dist/metadataGeneration/parameterGenerator.d.ts +3 -0
  7. package/dist/metadataGeneration/parameterGenerator.js +49 -2
  8. package/dist/metadataGeneration/parameterGenerator.js.map +1 -1
  9. package/dist/metadataGeneration/typeResolver.d.ts +8 -0
  10. package/dist/metadataGeneration/typeResolver.js +222 -19
  11. package/dist/metadataGeneration/typeResolver.js.map +1 -1
  12. package/dist/routeGeneration/routeGenerator.js +3 -0
  13. package/dist/routeGeneration/routeGenerator.js.map +1 -1
  14. package/dist/routeGeneration/templates/express.hbs +17 -32
  15. package/dist/routeGeneration/templates/hapi.hbs +25 -22
  16. package/dist/routeGeneration/templates/koa.hbs +21 -21
  17. package/dist/swagger/specGenerator.d.ts +4 -0
  18. package/dist/swagger/specGenerator.js +20 -0
  19. package/dist/swagger/specGenerator.js.map +1 -1
  20. package/dist/swagger/specGenerator2.js +9 -6
  21. package/dist/swagger/specGenerator2.js.map +1 -1
  22. package/dist/swagger/specGenerator3.d.ts +1 -0
  23. package/dist/swagger/specGenerator3.js +30 -15
  24. package/dist/swagger/specGenerator3.js.map +1 -1
  25. package/dist/utils/decoratorUtils.js +1 -0
  26. package/dist/utils/decoratorUtils.js.map +1 -1
  27. package/dist/utils/validateDecoratorUtils.d.ts +9 -0
  28. package/dist/utils/validateDecoratorUtils.js +225 -0
  29. package/dist/utils/validateDecoratorUtils.js.map +1 -0
  30. package/package.json +7 -6
@@ -0,0 +1,225 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.getParameterExternalValidator = getParameterExternalValidator;
37
+ exports.assertValidateDecoratorTargets = assertValidateDecoratorTargets;
38
+ const ts = __importStar(require("typescript"));
39
+ const decoratorUtils_1 = require("./decoratorUtils");
40
+ const exceptions_1 = require("../metadataGeneration/exceptions");
41
+ const SUPPORTED_VALIDATE_TARGETS = new Set(['body', 'body-prop', 'query', 'queries', 'path', 'header', 'formData']);
42
+ const VALIDATOR_MODULE_KIND_MAP = {
43
+ 'io-ts': 'io-ts',
44
+ 'io-ts-types': 'io-ts',
45
+ joi: 'joi',
46
+ superstruct: 'superstruct',
47
+ yup: 'yup',
48
+ zod: 'zod',
49
+ };
50
+ function isExternalValidatorKind(value) {
51
+ return value === 'zod' || value === 'joi' || value === 'yup' || value === 'superstruct' || value === 'io-ts';
52
+ }
53
+ function getValidateDecorator(parameter, typeChecker) {
54
+ const decorators = (0, decoratorUtils_1.getDecorators)(parameter, (_identifier, canonicalName) => canonicalName === 'Validate', typeChecker);
55
+ if (decorators.length > 1) {
56
+ throw new exceptions_1.GenerateMetadataError('Only one @Validate decorator is allowed per parameter.', parameter);
57
+ }
58
+ const decoratorIdentifier = decorators[0];
59
+ if (!decoratorIdentifier) {
60
+ return undefined;
61
+ }
62
+ let current = decoratorIdentifier;
63
+ while (current && !ts.isDecorator(current)) {
64
+ current = current.parent;
65
+ }
66
+ return current;
67
+ }
68
+ function getModuleKindFromImportDeclaration(declaration) {
69
+ let current = declaration.parent;
70
+ while (current && !ts.isImportDeclaration(current)) {
71
+ current = current.parent;
72
+ }
73
+ if (current && ts.isImportDeclaration(current) && ts.isStringLiteral(current.moduleSpecifier)) {
74
+ return VALIDATOR_MODULE_KIND_MAP[current.moduleSpecifier.text];
75
+ }
76
+ return undefined;
77
+ }
78
+ function getSymbolDeclarations(symbol) {
79
+ return symbol.declarations || (symbol.valueDeclaration ? [symbol.valueDeclaration] : []);
80
+ }
81
+ function inferValidatorKindFromDeclaration(declaration, typeChecker, visited) {
82
+ const fromImport = getModuleKindFromImportDeclaration(declaration);
83
+ if (fromImport) {
84
+ return fromImport;
85
+ }
86
+ if (ts.isVariableDeclaration(declaration) || ts.isPropertyAssignment(declaration) || ts.isBindingElement(declaration) || ts.isParameter(declaration)) {
87
+ if (declaration.initializer) {
88
+ return inferValidatorKindFromExpression(declaration.initializer, typeChecker, visited);
89
+ }
90
+ }
91
+ return undefined;
92
+ }
93
+ function inferValidatorKindFromDeclarations(declarations, typeChecker, visited) {
94
+ for (const declaration of declarations) {
95
+ const inferredKind = inferValidatorKindFromDeclaration(declaration, typeChecker, visited);
96
+ if (inferredKind) {
97
+ return inferredKind;
98
+ }
99
+ }
100
+ return undefined;
101
+ }
102
+ function inferValidatorKindFromSymbol(symbol, typeChecker, visited) {
103
+ if (!symbol || visited.has(symbol)) {
104
+ return undefined;
105
+ }
106
+ visited.add(symbol);
107
+ const directKind = inferValidatorKindFromDeclarations(getSymbolDeclarations(symbol), typeChecker, visited);
108
+ if (directKind) {
109
+ return directKind;
110
+ }
111
+ const isAliasSymbol = Boolean(symbol.flags & ts.SymbolFlags.Alias);
112
+ const resolvedSymbol = isAliasSymbol ? typeChecker.getAliasedSymbol(symbol) : symbol;
113
+ if (resolvedSymbol !== symbol) {
114
+ const aliasedKind = inferValidatorKindFromSymbol(resolvedSymbol, typeChecker, visited);
115
+ if (aliasedKind) {
116
+ return aliasedKind;
117
+ }
118
+ }
119
+ return inferValidatorKindFromDeclarations(getSymbolDeclarations(resolvedSymbol), typeChecker, visited);
120
+ }
121
+ function inferValidatorKindFromExpression(expression, typeChecker, visited = new Set()) {
122
+ if (ts.isParenthesizedExpression(expression) || ts.isAsExpression(expression) || ts.isTypeAssertionExpression(expression) || ts.isNonNullExpression(expression)) {
123
+ return inferValidatorKindFromExpression(expression.expression, typeChecker, visited);
124
+ }
125
+ if (ts.isPropertyAccessExpression(expression)) {
126
+ const propertySymbol = typeChecker.getSymbolAtLocation(expression.name);
127
+ const fromProperty = inferValidatorKindFromSymbol(propertySymbol, typeChecker, visited);
128
+ if (fromProperty) {
129
+ return fromProperty;
130
+ }
131
+ return inferValidatorKindFromExpression(expression.expression, typeChecker, visited);
132
+ }
133
+ if (ts.isElementAccessExpression(expression)) {
134
+ return inferValidatorKindFromExpression(expression.expression, typeChecker, visited);
135
+ }
136
+ if (ts.isCallExpression(expression) || ts.isNewExpression(expression)) {
137
+ return inferValidatorKindFromExpression(expression.expression, typeChecker, visited);
138
+ }
139
+ if (ts.isIdentifier(expression)) {
140
+ return inferValidatorKindFromSymbol(typeChecker.getSymbolAtLocation(expression), typeChecker, visited);
141
+ }
142
+ return undefined;
143
+ }
144
+ function parseValidateKindAndSchemaArgument(expression, parameter, typeChecker) {
145
+ const args = [...expression.arguments];
146
+ if (args.length === 0) {
147
+ throw new exceptions_1.GenerateMetadataError('@Validate requires a schema argument.', parameter);
148
+ }
149
+ if (args.length === 1) {
150
+ const [arg] = args;
151
+ if (ts.isObjectLiteralExpression(arg)) {
152
+ const kindProperty = getValidateKindProperty(arg);
153
+ const schemaProperty = getValidateSchemaProperty(arg);
154
+ if (!kindProperty || !schemaProperty || !ts.isStringLiteral(kindProperty.initializer) || !isExternalValidatorKind(kindProperty.initializer.text)) {
155
+ throw new exceptions_1.GenerateMetadataError('@Validate({ kind, schema }) requires a supported string kind and a schema property.', arg);
156
+ }
157
+ return {
158
+ kind: kindProperty.initializer.text,
159
+ strategy: 'external',
160
+ };
161
+ }
162
+ if (ts.isStringLiteral(arg) && isExternalValidatorKind(arg.text)) {
163
+ throw new exceptions_1.GenerateMetadataError(`@Validate('${arg.text}', schema) requires a schema argument.`, arg);
164
+ }
165
+ const inferredKind = inferValidatorKindFromExpression(arg, typeChecker);
166
+ if (!inferredKind) {
167
+ throw new exceptions_1.GenerateMetadataError('@Validate(schema) could not infer the validator kind. Use @Validate(kind, schema) instead.', arg);
168
+ }
169
+ return {
170
+ kind: inferredKind,
171
+ strategy: 'external',
172
+ };
173
+ }
174
+ if (args.length === 2) {
175
+ const [kindArg, schemaArg] = args;
176
+ if (!ts.isStringLiteral(kindArg) || !isExternalValidatorKind(kindArg.text) || !schemaArg) {
177
+ throw new exceptions_1.GenerateMetadataError('@Validate(kind, schema) requires a supported string kind and schema argument.', expression);
178
+ }
179
+ return {
180
+ kind: kindArg.text,
181
+ strategy: 'external',
182
+ };
183
+ }
184
+ throw new exceptions_1.GenerateMetadataError('@Validate accepts only (schema), (kind, schema), or ({ kind, schema }).', expression);
185
+ }
186
+ function getValidateKindProperty(objectLiteral) {
187
+ return objectLiteral.properties.find((property) => ts.isPropertyAssignment(property) && ts.isIdentifier(property.name) && property.name.text === 'kind');
188
+ }
189
+ function getValidateSchemaProperty(objectLiteral) {
190
+ return objectLiteral.properties.find((property) => (ts.isPropertyAssignment(property) || ts.isShorthandPropertyAssignment(property)) &&
191
+ ts.isIdentifier(property.name) &&
192
+ property.name.text === 'schema');
193
+ }
194
+ function getParameterExternalValidator(parameter, parameterIn, typeChecker) {
195
+ const decorator = getValidateDecorator(parameter, typeChecker);
196
+ if (!decorator) {
197
+ return undefined;
198
+ }
199
+ if (!SUPPORTED_VALIDATE_TARGETS.has(parameterIn)) {
200
+ throw new exceptions_1.GenerateMetadataError(`@Validate is not supported on '${parameterIn}' parameters in this release.`, parameter);
201
+ }
202
+ if (!ts.isCallExpression(decorator.expression)) {
203
+ throw new exceptions_1.GenerateMetadataError('@Validate must be called as a decorator function.', decorator);
204
+ }
205
+ return {
206
+ validationStrategy: 'external',
207
+ externalValidator: parseValidateKindAndSchemaArgument(decorator.expression, parameter, typeChecker),
208
+ };
209
+ }
210
+ function assertValidateDecoratorTargets(program, typeChecker) {
211
+ const visit = (node) => {
212
+ const validateDecorators = (0, decoratorUtils_1.getDecorators)(node, (_identifier, canonicalName) => canonicalName === 'Validate', typeChecker);
213
+ if (validateDecorators.length > 0) {
214
+ if (!ts.isParameter(node)) {
215
+ throw new exceptions_1.GenerateMetadataError('@Validate is currently supported only on controller method parameters.', node);
216
+ }
217
+ if (!ts.isMethodDeclaration(node.parent)) {
218
+ throw new exceptions_1.GenerateMetadataError('@Validate is currently supported only on method parameters.', node);
219
+ }
220
+ }
221
+ ts.forEachChild(node, visit);
222
+ };
223
+ program.getSourceFiles().forEach(sourceFile => visit(sourceFile));
224
+ }
225
+ //# sourceMappingURL=validateDecoratorUtils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"validateDecoratorUtils.js","sourceRoot":"","sources":["../../src/utils/validateDecoratorUtils.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tsoa-next/cli",
3
- "version": "7.2.1",
3
+ "version": "7.3.2",
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,16 +33,16 @@
33
33
  "author": "Vanna DiCatania <vanna@dicatania.me> (http://www.dicatania.me)",
34
34
  "license": "MIT",
35
35
  "dependencies": {
36
- "@tsoa-next/runtime": "7.2.1",
36
+ "@tsoa-next/runtime": "7.3.2",
37
37
  "@types/multer": "^2.1.0",
38
38
  "fs-extra": "^11.3.4",
39
39
  "glob": "^13.0.6",
40
- "handlebars": "^4.7.8",
40
+ "handlebars": "^4.7.9",
41
41
  "minimatch": "^10.2.4",
42
42
  "ts-deepmerge": "^7.0.3",
43
43
  "typescript": "^5.9.3",
44
44
  "validator": "^13.15.26",
45
- "yaml": "^2.8.2",
45
+ "yaml": "^2.8.3",
46
46
  "yargs": "^18.0.0"
47
47
  },
48
48
  "devDependencies": {
@@ -56,7 +56,7 @@
56
56
  },
57
57
  "repository": {
58
58
  "type": "git",
59
- "url": "https://github.com/vannadii/tsoa-next.git"
59
+ "url": "https://github.com/tsoa-next/tsoa-next.git"
60
60
  },
61
61
  "engines": {
62
62
  "node": ">=22.0.0",
@@ -65,5 +65,6 @@
65
65
  "engineStrict": true,
66
66
  "publishConfig": {
67
67
  "access": "public"
68
- }
68
+ },
69
+ "homepage": "https://tsoa-next.dev"
69
70
  }