typescript-swagger
Version:
Generate Swagger files from a decorator library like typescript-rest or a @decorators/express.
51 lines • 2.1 kB
JavaScript
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
;