7 releases (stable)
1.2.1 | Jan 31, 2024 |
---|---|
1.2.0 | Nov 30, 2023 |
1.1.0 | Sep 13, 2023 |
1.0.0 | Aug 1, 2022 |
0.1.0 | Aug 21, 2020 |
#219 in Data structures
662 downloads per month
Used in postman2openapi-cli
185KB
3K
SLoC
postman2openapi
Convert Postman collections to OpenAPI definitions.
Try it on the Web: https://kevinswiber.github.io/postman2openapi/
CLI
Installation
Archives of precompiled binaries for postman2openapi are available for Windows, macOS and Linux.
Linux binaries are static executables. Windows binaries are available either as built with MinGW (GNU) or with Microsoft Visual C++ (MSVC). When possible, prefer MSVC over GNU, but you'll need to have the Microsoft VC++ 2015 redistributable installed.
For Rust developers, installation is also available via Cargo. Installing Rust and Cargo
To install the latest published version on crates.io, use:
cargo install postman2openapi-cli
To install from the latest on GitHub, use:
cargo install --git https://github.com/kevinswiber/postman2openapi postman2openapi-cli
Usage
USAGE:
postman2openapi [OPTIONS] [input-file]
ARGS:
<input-file> The Postman collection to convert; data may also come from stdin
OPTIONS:
-f, --output-format <format> The output format [default: yaml] [possible values: yaml, json]
-h, --help Print help information
-V, --version Print version information
Examples
postman2openapi collection.json > openapi.yaml
cat collection.json | postman2openapi -f json
JavaScript library
Installation
npm install postman2openapi
Usage
const collection = require("./collection"); // any Postman collection JSON file
const { transpile } = require("postman2openapi");
// Returns a JavaScript object representation of the OpenAPI definition.
const openapi = transpile(collection);
console.log(JSON.stringify(openapi, null, 2));
JavaScript API
transpile(collection: object): object
- collection - An object representing the Postman collection.
- returns - an OpenAPI definition as a JavaScript object.
Build
Note: A Dev Container is included for convenience.
To take advantage of build recipes, install just.
just build
Builds the Rust library and the CLI packages.
just test
Runs all lint checks (cargo fmt --check
, cargo clippy
) and runs all tests, including tests for wasm32-unknown-unknown
targets (Node.js, Chrome, Firefox).
just start-web
Builds the WebAssembly project and starts a local version of the postman2openapi site.
just prepare
Builds the Rust library, the CLI, the Node.js library, and the Web site. Then all tests are run.
License
Apache License 2.0 (Apache-2.0)
Dependencies
~4.5–8.5MB
~148K SLoC