From 497a543812a6fb051a413f651eb7997cb1ce62f6 Mon Sep 17 00:00:00 2001 From: WindomZ Date: Sun, 13 Feb 2022 15:32:44 +0800 Subject: [PATCH] test: update swagger-merger --- README.md | 2 +- bin/swagger-merger.js | 102 ++++++++++++++++++++++-------------------- 2 files changed, 54 insertions(+), 50 deletions(-) diff --git a/README.md b/README.md index e0b339e..6ba8652 100644 --- a/README.md +++ b/README.md @@ -5,7 +5,7 @@ ``` [![Greenkeeper badge](https://badges.greenkeeper.io/WindomZ/swagger-merger.svg)](https://greenkeeper.io/) -[![Node.js CI](https://github.com/WindomZ/swagger-merger/actions/workflows/main.yml/badge.svg)](https://github.com/WindomZ/swagger-merger/actions/workflows/ci.yml) +[![Node.js(≥12.22) CI](https://github.com/WindomZ/swagger-merger/actions/workflows/ci.yml/badge.svg)](https://github.com/WindomZ/swagger-merger/actions/workflows/ci.yml) [![Coverage Status](https://coveralls.io/repos/github/WindomZ/swagger-merger/badge.svg?branch=master)](https://coveralls.io/github/WindomZ/swagger-merger?branch=master) [![Standard - JavaScript Style Guide](https://img.shields.io/badge/code_style-standard-brightgreen.svg)](https://standardjs.com/) [![License](https://img.shields.io/badge/license-MIT-green.svg)](https://opensource.org/licenses/MIT) diff --git a/bin/swagger-merger.js b/bin/swagger-merger.js index e9410a5..bc8fba2 100755 --- a/bin/swagger-merger.js +++ b/bin/swagger-merger.js @@ -4,62 +4,66 @@ */ 'use strict' -const program = require('commander') -const util = require('util') - const merger = require('../lib/merger') -let noArgs = true +if (require.main === module) { + const program = require('commander') + const util = require('util') -program - .version(require('../package.json').version) - .usage('[-h] [-v] [-c] [-o file] <-i file | file>') - .description('Merge multiple swagger files into a swagger file, just support JSON/YAML.') - .option('-i, --input <*.json|yaml|yml file>', 'input a main/entry JSON/YAML swagger file, MANDATORY', - /^.+\.(json|yaml|yml)$/gi, null) - .option('-o, --output <*.json|yaml|yml file>', 'output a merged JSON/YAML swagger file, default is `swagger.*`', - /^.+\.(json|yaml|yml)$/gi, null) - .option('-c, --compact', 'compact JSON/YAML format string', null, null) - .option('--debug', 'debug mode, such as print error tracks', null, null) - .action((options) => { - noArgs = !(options.input) - if (noArgs) { - return - } + let noArgs = true - merger({ - input: options.input || '', - output: options.output || '', - compact: options.compact - }).catch(e => { - if (options.debug) { - console.error(e) - } else if (e.mark) { - console.error(util.format('error: %s\ncontent: %s', e.message, e.mark.buffer)) - } else { - console.error(util.format('error: %s', e.message)) + program + .version(require('../package.json').version) + .usage('[-h] [-v] [-c] [-o file] <-i file | file>') + .description('Merge multiple swagger files into a swagger file, just support JSON/YAML.') + .option('-i, --input <*.json|yaml|yml file>', 'input a main/entry JSON/YAML swagger file, MANDATORY', + /^.+\.(json|yaml|yml)$/gi, null) + .option('-o, --output <*.json|yaml|yml file>', 'output a merged JSON/YAML swagger file, default is `swagger.*`', + /^.+\.(json|yaml|yml)$/gi, null) + .option('-c, --compact', 'compact JSON/YAML format string', null, null) + .option('--debug', 'debug mode, such as print error tracks', null, null) + .action((options) => { + noArgs = !(options.input) + if (noArgs) { + return } + + merger({ + input: options.input || '', + output: options.output || '', + compact: options.compact + }).catch(e => { + if (options.debug) { + console.error(e) + } else if (e.mark) { + console.error(util.format('error: %s\ncontent: %s', e.message, e.mark.buffer)) + } else { + console.error(util.format('error: %s', e.message)) + } + }) }) - }) -program.parse(process.argv) + program.parse(process.argv) -if (noArgs) { - if (program.opts().input) { - merger({ - input: program.opts().input, - output: program.opts().output || '', - compact: program.opts().compact - }).catch(e => { - if (program.opts().debug) { - console.error(e) - } else if (e.mark) { - console.error(util.format('error: %s\ncontent: %s', e.message, e.mark.buffer)) - } else { - console.error(util.format('error: %s', e.message)) - } - }) - } else { - program.outputHelp() + if (noArgs) { + if (program.opts().input) { + merger({ + input: program.opts().input, + output: program.opts().output || '', + compact: program.opts().compact + }).catch(e => { + if (program.opts().debug) { + console.error(e) + } else if (e.mark) { + console.error(util.format('error: %s\ncontent: %s', e.message, e.mark.buffer)) + } else { + console.error(util.format('error: %s', e.message)) + } + }) + } else { + program.outputHelp() + } } } + +module.exports.merge = merger