UNPKG

@namecheap/tsoa-cli

Version:

Build swagger-compliant REST APIs using TypeScript and Node

42 lines 1.86 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.generateRoutes = void 0; const path = require("path"); const metadataGenerator_1 = require("../metadataGeneration/metadataGenerator"); const routeGenerator_1 = require("../routeGeneration/routeGenerator"); const pathUtils_1 = require("../utils/pathUtils"); const fs_1 = require("../utils/fs"); const generateRoutes = async (routesConfig, compilerOptions, ignorePaths, /** * pass in cached metadata returned in a previous step to speed things up */ metadata) => { if (!metadata) { metadata = new metadataGenerator_1.MetadataGenerator(routesConfig.entryFile, compilerOptions, ignorePaths, routesConfig.controllerPathGlobs).Generate(); } const routeGenerator = new routeGenerator_1.RouteGenerator(metadata, routesConfig); let pathTransformer = pathUtils_1.convertBracesPathParams; let template; switch (routesConfig.middleware) { case 'express': template = path.join(__dirname, '..', 'routeGeneration/templates/express.hbs'); break; case 'hapi': template = path.join(__dirname, '..', 'routeGeneration/templates/hapi.hbs'); pathTransformer = (path) => path; break; case 'koa': template = path.join(__dirname, '..', 'routeGeneration/templates/koa.hbs'); break; default: template = path.join(__dirname, '..', 'routeGeneration/templates/express.hbs'); } if (routesConfig.middlewareTemplate) { template = routesConfig.middlewareTemplate; } await (0, fs_1.fsMkDir)(routesConfig.routesDir, { recursive: true }); await routeGenerator.GenerateCustomRoutes(template, pathTransformer); return metadata; }; exports.generateRoutes = generateRoutes; //# sourceMappingURL=generate-routes.js.map