UNPKG

typescript-swagger

Version:

Generate Swagger files from a decorator library like typescript-rest or a @decorators/express.

51 lines 2.1 kB
#!/usr/bin/env node 'use strict'; Object.defineProperty(exports, "__esModule", { value: true }); var argparse_1 = require("argparse"); var debug_1 = require("../debug"); var metadataGenerator_1 = require("../metadata/metadataGenerator"); var generator_1 = require("../swagger/generator"); var utils_1 = require("./utils"); var packageJson = require('../../package.json'); var debugLog = debug_1.useDebugger(); var workingDir = process.cwd(); var parser = new argparse_1.ArgumentParser({ addHelp: true, description: 'Typescript Swagger tool', version: packageJson.version }); parser.addArgument(['-c', '--config'], { help: 'The swagger config file (swagger.json or swagger.yml or swaggerConfig.js).' }); parser.addArgument(['-t', '--tsconfig'], { action: 'storeTrue', defaultValue: false, help: 'Load tsconfig.json file', }); parser.addArgument(['-p', '--tsconfig_path'], { help: 'The tsconfig file (tsconfig.json) path. Default to {cwd}/tsconfig.json.', }); var parameters = parser.parseArgs(); try { var config = utils_1.getSwaggerConfig(workingDir, parameters.config); var compilerOptions = utils_1.getCompilerOptions(parameters.tsconfig, parameters.tsconfig_path); debugLog('Starting Swagger generation tool'); debugLog('Compiler Options: %j', compilerOptions); var swaggerConfig = utils_1.validateSwaggerConfig(workingDir, config.swagger); debugLog('Swagger Config: %j', swaggerConfig); debugLog('Processing Services Metadata'); var metadata = new metadataGenerator_1.MetadataGenerator(swaggerConfig.entryFile, compilerOptions, swaggerConfig.ignore).generate(); debugLog('Generated Metadata: %j', metadata); new generator_1.SpecGenerator(metadata, swaggerConfig).generate() .then(function () { console.log('Generation completed'); }) .catch(function (err) { console.log("Error generating swagger. " + err); }); } catch (e) { console.log('Swagger config not found. Did you specify the path to the swagger config file?'); process.exit(1); } //# sourceMappingURL=index.js.map