swagger-to-postman-cli
v1.0.1
Published
Generate dynamic Postman collections from Swagger/OpenAPI with Faker.js
Maintainers
Readme
Swagger to Postman (CLI Tool) 🚀
Generate dynamic, automated Postman collections and environments directly from your Swagger/OpenAPI documentation. This tool leverages Faker.js to populate requests with realistic mock data, ensuring a robust and production-ready testing workflow.
🛠 Features
- Smart Mocking: Automatically detects field names like
email,name,id, andpasswordto generate context-aware data. - Recursive Parsing: Deeply crawls nested objects and arrays in your Swagger schemas.
- Postman SDK: Built on top of the official
postman-collectionlibrary. - Environment Automation: Auto-generates
baseUrland security variables (API Key, Bearer Token). - CI/CD Ready: Built-in support for synchronizing collections directly to Postman Cloud.
📂 Project Structure
The project is organized following the Single Responsibility Principle:
src/
├── core/ # Postman SDK logic (Collection & Environment)
├── generators/ # Mock data engine and schema traversal
├── helpers/ # Utility functions (e.g., Postman Cloud Sync)
├── services/ # Swagger analysis and business logic
├── cli.ts # CLI entry point
└── index.ts # Public library API📦 npm Usage
Run without install
npx swagger-to-postman -i ./swagger.jsonGlobal install
npm install -g swagger-to-postman
swagger-to-postman -i ./swagger.jsonLocal dependency
npm install swagger-to-postman
npx swagger-to-postman -i ./swagger.jsonBuild and Link locally:
npm run build
npm linkDevelopment
npm run start -- -i ./swagger.json -o ./outputRunning the Tool
# Using a local file
swagger-to-postman -i ./swagger.json -o ./output
# Using a remote URL
swagger-to-postman -i https://petstore.swagger.io/v2/swagger.json -o ./petstore-output📖 CLI Arguments
| Argument | Shorthand | Description | Default |
| :--------- | :-------- | :------------------------------------------------------ | :--------- |
| --input | -i | (Required) Path to local swagger.json or remote URL | N/A |
| --output | -o | Target directory for generated files | ./output |
📤 Output
The tool generates the following files:
output/
├── collection.json # Postman Collection
└── environment.json # Postman Environment