postman-to-openapi
v3.0.1
Published
Convert postman collection to OpenAPI spec
Downloads
36,031
Maintainers
Readme
postman-to-openapi
🛸 Convert Postman Collection v2.1/v2.0 to OpenAPI v3.0.
Or in other words, transform this specification and also this to this one
Installation
Using npm
:
npm i postman-to-openapi
Using yarn
:
yarn add postman-to-openapi
To install as a cli
just
npm i postman-to-openapi -g
Quick Usage
As a library
// Require Package
const postmanToOpenApi = require('postman-to-openapi')
// Postman Collection Path
const postmanCollection = './path/to/postman/collection.json'
// Output OpenAPI Path
const outputFile = './api/collection.yml'
// Async/await
try {
const result = await postmanToOpenApi(postmanCollection, outputFile, { defaultTag: 'General' })
// Without save the result in a file
const result2 = await postmanToOpenApi(postmanCollection, null, { defaultTag: 'General' })
console.log(`OpenAPI specs: ${result}`)
} catch (err) {
console.log(err)
}
// Promise callback style
postmanToOpenApi(postmanCollection, outputFile, { defaultTag: 'General' })
.then(result => {
console.log(`OpenAPI specs: ${result}`)
})
.catch(err => {
console.log(err)
})
As a cli
p2o ./path/to/PostmantoCollection.json -f ./path/to/result.yml -o ./path/to/options.json
Cli Demo
Documentation
All features, usage instructions and help can be found in the Documentation page
Development
This project use for development:
- Node.js v12.x to v17.x
- Standard JS rules to maintain clean code.
- Use Conventional Commit for commit messages.
- Test with mocha.js.
Use the scripts in package.json
:
test:unit
: Run mocha unit test.test
: Executetest:lint
plus code coverage.lint
: Execute standard lint to review errors in code.lint:fix
: Execute standard lint and automatically fix errors.changelog
: Update changelog automatically.
Steps to generate the gif demo:
- Install terminalizer
npm install -g terminalizer
- Start a recording using
terminalizer record demo -d 'zsh'
- Stop recording with
Ctrl+D
- Check demo with
terminalizer play demo
- Adjust delays in
demo.yml
, changerows
to 15 (is the height) and anonymize terminal session. - Generate the gif with
terminalizer render demo
Husky is configured to avoid push incorrect content to git.
Tags
Nodejs
Javascript
OpenAPI
Postman
Newman
Collection
Transform
Convert
License
See the LICENSE file.