🛸 Convert Postman Collection v2.1/v2.0 to OpenAPI v3.0.
Or in other words, transform this specification and also this to this one
Using npm:
npm i postman-to-openapiUsing yarn:
yarn add postman-to-openapiTo install as a cli just
npm i postman-to-openapi -gAs 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.jsonAll features, usage instructions and help can be found in the Documentation page
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:lintplus 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, changerowsto 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.
Nodejs Javascript OpenAPI Postman Newman Collection Transform Convert
See the LICENSE file.