@tsoa-next/cli 7.3.1 → 7.3.3-dev.35.b5a952be

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/cli.js CHANGED
@@ -79,6 +79,56 @@ const determineNoImplicitAdditionalSetting = (noImplicitAdditionalProperties) =>
79
79
  return 'ignore';
80
80
  }
81
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
+ };
82
132
  const authorInformation = getPackageJsonValue('author', 'unknown');
83
133
  const isYamlExtension = (extension) => extension === '.yaml' || extension === '.yml';
84
134
  const isJsExtension = (extension) => extension === '.js' || extension === '.cjs';
@@ -228,17 +278,23 @@ const validateSpecConfig = async (config) => {
228
278
  if (!config.spec.contact) {
229
279
  config.spec.contact = {};
230
280
  }
281
+ const specContact = config.spec.contact;
282
+ const setContactValue = (key, value) => {
283
+ if (!specContact[key] && value !== undefined) {
284
+ specContact[key] = value;
285
+ }
286
+ };
231
287
  const author = await authorInformation;
232
288
  if (typeof author === 'string') {
233
- const contact = /^([^<(]*)?\s*(?:<([^>(]*)>)?\s*(?:\(([^)]*)\)|$)/m.exec(author);
234
- config.spec.contact.name = config.spec.contact.name || contact?.[1];
235
- config.spec.contact.email = config.spec.contact.email || contact?.[2];
236
- config.spec.contact.url = config.spec.contact.url || contact?.[3];
289
+ const contact = parseAuthorContact(author);
290
+ setContactValue('name', contact.name);
291
+ setContactValue('email', contact.email);
292
+ setContactValue('url', contact.url);
237
293
  }
238
294
  else if (typeof author === 'object') {
239
- config.spec.contact.name = config.spec.contact.name || author?.name;
240
- config.spec.contact.email = config.spec.contact.email || author?.email;
241
- config.spec.contact.url = config.spec.contact.url || author?.url;
295
+ setContactValue('name', author?.name);
296
+ setContactValue('email', author?.email);
297
+ setContactValue('url', author?.url);
242
298
  }
243
299
  if (!config.defaultNumberType) {
244
300
  config.defaultNumberType = 'double';
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":"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"}
@@ -44,6 +44,12 @@ export declare class TypeResolver {
44
44
  private createCircularDependencyResolver;
45
45
  private nodeIsUsable;
46
46
  private getModelTypeDeclarations;
47
+ private getReferenceTypeFromTypeChecker;
48
+ private getResolvedTypeForReferenceNode;
49
+ private getReferenceTypesFromResolvedType;
50
+ private getUsableDeclarationsFromSymbol;
51
+ private isEquivalentReferenceTypeNode;
52
+ private wrapResolvedTypeAsReference;
47
53
  private getSymbolAtLocation;
48
54
  private getModelAdditionalProperties;
49
55
  private typeArgumentsToContext;
@@ -56,6 +56,84 @@ const getSyntheticOrigin = (symbol) => {
56
56
  const symbolWithLinks = symbol;
57
57
  return symbolWithLinks.links?.syntheticOrigin;
58
58
  };
59
+ const isAsciiLetter = (char) => {
60
+ if (!char) {
61
+ return false;
62
+ }
63
+ const code = char.charCodeAt(0);
64
+ return (code >= 65 && code <= 90) || (code >= 97 && code <= 122);
65
+ };
66
+ const isRefTypeTokenCharacter = (char) => {
67
+ if (!char) {
68
+ return false;
69
+ }
70
+ const code = char.charCodeAt(0);
71
+ return isAsciiLetter(char) || (code >= 48 && code <= 57) || char === '_';
72
+ };
73
+ const replaceTypeLiteralPropertySeparators = (value) => {
74
+ let formatted = '';
75
+ let index = 0;
76
+ while (index < value.length) {
77
+ if (!isRefTypeTokenCharacter(value[index])) {
78
+ formatted += value[index];
79
+ index += 1;
80
+ continue;
81
+ }
82
+ const tokenStart = index;
83
+ while (index < value.length && isRefTypeTokenCharacter(value[index])) {
84
+ index += 1;
85
+ }
86
+ if (value[index] === '?') {
87
+ index += 1;
88
+ }
89
+ const token = value.slice(tokenStart, index);
90
+ if (value[index] === ':') {
91
+ const typeStart = index + 1;
92
+ let typeEnd = typeStart;
93
+ while (typeEnd < value.length && isAsciiLetter(value[typeEnd])) {
94
+ typeEnd += 1;
95
+ }
96
+ if (typeEnd > typeStart) {
97
+ formatted += token;
98
+ formatted += '-';
99
+ formatted += value.slice(typeStart, typeEnd);
100
+ index = typeEnd;
101
+ continue;
102
+ }
103
+ }
104
+ formatted += token;
105
+ }
106
+ return formatted;
107
+ };
108
+ const replaceIndexedAccessSegments = (value) => {
109
+ let formatted = '';
110
+ let index = 0;
111
+ while (index < value.length) {
112
+ if (value[index] !== '[') {
113
+ formatted += value[index];
114
+ index += 1;
115
+ continue;
116
+ }
117
+ const previousCharacter = formatted[formatted.length - 1];
118
+ if (!(isAsciiLetter(previousCharacter) || previousCharacter === '}' || previousCharacter === ']' || previousCharacter === ')')) {
119
+ formatted += value[index];
120
+ index += 1;
121
+ continue;
122
+ }
123
+ let segmentEnd = index + 1;
124
+ while (segmentEnd < value.length && isAsciiLetter(value[segmentEnd])) {
125
+ segmentEnd += 1;
126
+ }
127
+ if (segmentEnd > index + 1 && value[segmentEnd] === ']') {
128
+ formatted += `-at-${value.slice(index + 1, segmentEnd)}`;
129
+ index = segmentEnd + 1;
130
+ continue;
131
+ }
132
+ formatted += value[index];
133
+ index += 1;
134
+ }
135
+ return formatted;
136
+ };
59
137
  class TypeResolver {
60
138
  typeNode;
61
139
  current;
@@ -935,8 +1013,11 @@ class TypeResolver {
935
1013
  const referenceTypes = [];
936
1014
  // If no declarations found, this might be a built-in type or a type that can't be resolved
937
1015
  if (declarations.length === 0) {
938
- // For complex generic types with object literal type arguments,
939
- // we need to handle them differently
1016
+ const fallbackReferenceType = this.getReferenceTypeFromTypeChecker(node, name, refTypeName);
1017
+ if (fallbackReferenceType) {
1018
+ this.addToLocalReferenceTypeCache(name, fallbackReferenceType);
1019
+ return fallbackReferenceType;
1020
+ }
940
1021
  throw new exceptions_1.GenerateMetadataError(`Could not find declarations for type '${name}'. This might be a complex generic type that needs special handling.`);
941
1022
  }
942
1023
  for (const declaration of declarations) {
@@ -956,7 +1037,7 @@ class TypeResolver {
956
1037
  return referenceType;
957
1038
  }
958
1039
  catch (err) {
959
- console.error(`There was a problem resolving type of '${name}'.`);
1040
+ delete inProgressTypes[name];
960
1041
  throw err;
961
1042
  }
962
1043
  };
@@ -1023,7 +1104,7 @@ class TypeResolver {
1023
1104
  //Generates a name from the original type expression.
1024
1105
  //This function is not invertable, so it's possible, that 2 type expressions have the same refTypeName.
1025
1106
  getRefTypeName(name) {
1026
- const preformattedName = name //Preformatted name handles most cases
1107
+ let preformattedName = name //Preformatted name handles most cases
1027
1108
  .replace(/<|>/g, '_')
1028
1109
  .replace(/\s+/g, '')
1029
1110
  .replace(/,/g, '.')
@@ -1032,10 +1113,10 @@ class TypeResolver {
1032
1113
  .replace(/&/g, '-and-')
1033
1114
  .replace(/\|/g, '-or-')
1034
1115
  .replace(/\[\]/g, '-Array')
1035
- .replace(/{|}/g, '_') // SuccessResponse_{indexesCreated-number}_ -> SuccessResponse__indexesCreated-number__
1036
- .replace(/([a-z_0-9]+\??):([a-z]+)/gi, '$1-$2') // SuccessResponse_indexesCreated:number_ -> SuccessResponse_indexesCreated-number_
1037
- .replace(/;/g, '--')
1038
- .replace(/([a-z})\]])\[([a-z]+)\]/gi, '$1-at-$2'); // Partial_SerializedDatasourceWithVersion[format]_ -> Partial_SerializedDatasourceWithVersion~format~_,
1116
+ .replace(/{|}/g, '_'); // SuccessResponse_{indexesCreated-number}_ -> SuccessResponse__indexesCreated-number__
1117
+ preformattedName = replaceTypeLiteralPropertySeparators(preformattedName); // SuccessResponse_indexesCreated:number_ -> SuccessResponse_indexesCreated-number_
1118
+ preformattedName = preformattedName.replace(/;/g, '--');
1119
+ preformattedName = replaceIndexedAccessSegments(preformattedName); // Partial_SerializedDatasourceWithVersion[format]_ -> Partial_SerializedDatasourceWithVersion~format~_,
1039
1120
  //Safety fixes to replace all characters which are not accepted by swagger ui
1040
1121
  let formattedName = preformattedName.replace(/[^A-Za-z0-9\-._]/g, match => {
1041
1122
  return `_${match.charCodeAt(0)}_`;
@@ -1099,6 +1180,67 @@ class TypeResolver {
1099
1180
  }
1100
1181
  return modelTypes;
1101
1182
  }
1183
+ getReferenceTypeFromTypeChecker(node, name, refTypeName) {
1184
+ const resolvedType = this.getResolvedTypeForReferenceNode(node);
1185
+ const declarationReferenceTypes = this.getReferenceTypesFromResolvedType(resolvedType, refTypeName);
1186
+ if (declarationReferenceTypes.length > 0) {
1187
+ return referenceTransformer_1.ReferenceTransformer.merge(declarationReferenceTypes);
1188
+ }
1189
+ const resolvedNode = this.current.typeChecker.typeToTypeNode(resolvedType, undefined, ts.NodeBuilderFlags.InTypeAlias | ts.NodeBuilderFlags.NoTruncation);
1190
+ if (!resolvedNode || this.isEquivalentReferenceTypeNode(node, resolvedNode, name)) {
1191
+ return undefined;
1192
+ }
1193
+ const resolved = new TypeResolver(resolvedNode, this.current, this.parentNode, this.context, resolvedType).resolve();
1194
+ return this.wrapResolvedTypeAsReference(resolved, refTypeName);
1195
+ }
1196
+ getResolvedTypeForReferenceNode(node) {
1197
+ if (ts.isTypeReferenceNode(node)) {
1198
+ return this.current.typeChecker.getTypeFromTypeNode(node);
1199
+ }
1200
+ return this.current.typeChecker.getTypeAtLocation(node);
1201
+ }
1202
+ getReferenceTypesFromResolvedType(resolvedType, refTypeName) {
1203
+ const symbols = [resolvedType.aliasSymbol, resolvedType.symbol].filter((symbol) => !!symbol);
1204
+ const declarations = symbols.flatMap(symbol => this.getUsableDeclarationsFromSymbol(symbol));
1205
+ const uniqueDeclarations = declarations.filter((declaration, index, allDeclarations) => {
1206
+ return allDeclarations.findIndex(candidate => candidate === declaration) === index;
1207
+ });
1208
+ return uniqueDeclarations.map(declaration => {
1209
+ if (ts.isTypeAliasDeclaration(declaration)) {
1210
+ return new referenceTransformer_1.ReferenceTransformer().transform(declaration, refTypeName, this, resolvedType);
1211
+ }
1212
+ if (enumTransformer_1.EnumTransformer.transformable(declaration)) {
1213
+ return new enumTransformer_1.EnumTransformer().transform(this, declaration, refTypeName);
1214
+ }
1215
+ return this.getModelReference(declaration, refTypeName);
1216
+ });
1217
+ }
1218
+ getUsableDeclarationsFromSymbol(symbol) {
1219
+ const targetSymbol = this.hasFlag(symbol, ts.SymbolFlags.Alias) ? this.current.typeChecker.getAliasedSymbol(symbol) : symbol;
1220
+ const declarations = targetSymbol?.getDeclarations?.() || [];
1221
+ return declarations.filter((node) => this.nodeIsUsable(node));
1222
+ }
1223
+ isEquivalentReferenceTypeNode(originalNode, resolvedNode, originalName) {
1224
+ if (!ts.isTypeReferenceNode(originalNode) || !ts.isTypeReferenceNode(resolvedNode)) {
1225
+ return false;
1226
+ }
1227
+ return this.calcTypeName(resolvedNode) === originalName && resolvedNode.typeArguments?.length === originalNode.typeArguments?.length;
1228
+ }
1229
+ wrapResolvedTypeAsReference(type, refTypeName) {
1230
+ if (type.dataType === 'refAlias' || type.dataType === 'refEnum' || type.dataType === 'refObject') {
1231
+ return {
1232
+ ...type,
1233
+ refName: refTypeName,
1234
+ };
1235
+ }
1236
+ return {
1237
+ dataType: 'refAlias',
1238
+ deprecated: false,
1239
+ refName: refTypeName,
1240
+ type,
1241
+ validators: {},
1242
+ };
1243
+ }
1102
1244
  getSymbolAtLocation(type) {
1103
1245
  const fallbackSymbol = type.symbol;
1104
1246
  const symbol = this.current.typeChecker.getSymbolAtLocation(type) || fallbackSymbol;
@@ -1180,7 +1322,17 @@ class TypeResolver {
1180
1322
  // create subContext
1181
1323
  const resetCtx = this.context;
1182
1324
  this.context = this.typeArgumentsToContext(t, baseEntityName);
1183
- const referenceType = this.getReferenceType(t, false);
1325
+ let referenceType;
1326
+ try {
1327
+ referenceType = this.getReferenceType(t, false);
1328
+ }
1329
+ catch (error) {
1330
+ if (error instanceof exceptions_1.GenerateMetadataError) {
1331
+ this.context = resetCtx;
1332
+ continue;
1333
+ }
1334
+ throw error;
1335
+ }
1184
1336
  if (referenceType) {
1185
1337
  if (referenceType.dataType === 'refEnum') {
1186
1338
  // since it doesn't have properties to iterate over, then we don't do anything with it