openapi-enforcer-cli
Version:
A command line tool for the openapi enforcer libraries
29 lines (26 loc) • 896 B
JavaScript
const Enforcer = require('openapi-enforcer')
const path = require('path')
module.exports = function (program) {
program
.command('validate <oas-doc>')
.description('Validate an Open API Specification document')
.option('-c, --clean-exit', 'If the OpenAPI document is not valid, do not throw an exception.')
.action((oasDoc, command) => {
const fullPath = path.resolve(process.cwd(), oasDoc)
Enforcer(fullPath, { fullResult: true })
.then(({ error, warning }) => {
if (!error) {
console.log('Document is valid')
if (warning) console.warn(warning)
} else {
console.error(error)
}
if (!command.cleanExit && error) process.exit(1)
})
.catch(err => {
console.log(err.message)
if (!command.cleanExit) process.exit(1)
})
})
}