@sirhc77/postman-sdk-gen
v0.2.0
Published
Generate a fully-typed TypeScript SDK from a Postman collection, with support for Axios or Fetch, folder-based namespacing, and auto-inferred types.
Maintainers
Readme
Postman TypeScript SDK Generator
Generate a fully-typed TypeScript SDK from a Postman collection, with support for Axios or Fetch, folder-based namespacing, and auto-inferred types.
✨ Features
- 🔌 Input: Supports Postman Collection v2.1
- 📦 Output: TypeScript SDK with methods, namespaces, and inferred request/response types
- ⚡ Transport: Axios (default) or Fetch
- 🔒 Authentication: Auto-parses Postman auth schemes (Bearer, API Key, Basic Auth)
- 🧠 Type Inference: Generates interfaces for bodies and responses
- 🗂️ Folder-Based Namespacing: Postman folders become nested namespaces
- 🧾 .d.ts Generation: Optional separate type declarations for consumption in JS projects
🚀 Getting Started
1. Install
npm install -g @sirhc77/postman-sdk-gen2. Generate SDK
postman-sdk-gen ./collection.json \
--output ./sdk \
--client-name ApiClient \
--use-fetch \CLI Options
| Flag | Description |
|-----------------|------------------------------------------------|
| --output | Output directory (default: ./sdk) |
| --client-name | Name of generated class (default: ApiClient) |
| --use-fetch | Use native fetch instead of Axios |
| --single-file | Generate one file instead of multi-file |
| --quiet | Supress logs |
| --version | Show version |
🧪 Sample Usage
import { ApiClient } from './sdk/ApiClient';
const client = new ApiClient('https://api.example.com', '<your username>', '<your password>');
const res = await client.users.getCurrentUser();📁 Namespacing
A Postman folder structure like:
- Space Management
- Phone Numbers
- List All…generates:
client.spaceManagement.phoneNumbers.listAll();🔒 Authentication
Postman auth sections are auto-detected. Supported:
- Bearer token`
- API key
- Basic Auth
🛠️ Contributing
- Clone the repo
- Run locally with
ts-nodeor build withtsc - Use
examples/*.postman_collection.jsonto test
📄 License
MIT License
