typescript-rest-swagger
typescript-rest-swagger copied to clipboard
swaggerGen not support baseUrl and paths at tsconfig.json
{
"compileOnSave": true,
"compilerOptions": {
"declaration": true,
"experimentalDecorators": true,
"emitDecoratorMetadata": true,
"module": "commonjs",
"newLine": "LF",
"noFallthroughCasesInSwitch": true,
"noImplicitAny": true,
"noImplicitReturns": true,
"noImplicitThis": false,
"noUnusedParameters": false,
"noUnusedLocals": true,
"outDir": "dist",
"skipLibCheck": true,
"sourceMap": true,
"strictNullChecks": false,
"target": "es2016",
"baseUrl": "src/",
"paths": {
"@config": ["config/"],
"@config/*": ["config/*"],
"@database": ["database/"],
"@database/*": ["database/*"],
"@core": ["core/"],
"@core/*": ["core/*"],
"@models": ["models/"],
"@models/*": ["models/*"],
"@schemas": ["schemas/"],
"@schemas/*": ["schemas/*"]
}
},
"include": [
"src/**/*.ts"
],
"exclude": [
"node_modules",
"dist"
]
}
There was a problem resolving type of 'UISchema'. /Users/xieyunqi/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/resolveType.js:218 throw err; ^
Error: No matching model found for referenced type UISchema
at getModelTypeDeclaration (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/resolveType.js:335:15)
at getReferenceType (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/resolveType.js:200:36)
at resolveType (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/resolveType.js:82:25)
at Object.resolveType (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/resolveType.js:51:16)
at MethodGenerator.generate (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/methodGenerator.js:28:34)
at /xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/controllerGenerator.js:61:58
at Array.map (<anonymous>)
at ControllerGenerator.buildMethodsForClass (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/controllerGenerator.js:61:14)
at ControllerGenerator.buildMethods (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/controllerGenerator.js:44:43)
at ControllerGenerator.generate (/xxxxx/projects/node-server/node_modules/typescript-rest-swagger/dist/metadata/controllerGenerator.js:29:27)
Maybe better read current project tsconfig.json here
constructor(entryFile: string) {
this.program = ts.createProgram([entryFile], {}); // replace {} with tsconfig
this.typeChecker = this.program.getTypeChecker();
MetadataGenerator.current = this;
}
Same issue here. Workaround is to include missing model in controller file without using '@' in path - just with normal "dot hell" path.
to swagger work with alias path, you should use -p ./tsconfig.json