__ __ _ ____ ____ _
\ \ / /_ _ __ _| | _|___ \| _ \ ___ ___| |_ _ __ ___ __ _ _ __
\ V / _` |/ _` | |/ / __) | |_) / _ \/ __| __| '_ ` _ \ / _` | '_ \
| | (_| | (_| | < / __/| __/ (_) \__ \ |_| | | | | | (_| | | | |
|_|\__,_|\__,_|_|\_\_____|_| \___/|___/\__|_| |_| |_|\__,_|_| |_|
A simple CLI tool to convert YAAK exported files into Postman collections and environments 🛠️
• Overview
• Features
• Installation
• Usage
• Examples
• Development
• API Reference
• Contributing
• License
YAAK to Postman Converter is a command-line interface tool that transforms YAAK format files into Postman collections and environments. It maintains folder structures, request details, and environment variables while providing a seamless conversion experience.
- 🔄 Convert YAAK files to Postman Collection v2.1.0
- 🌍 Environment variables support
- 📁 Preserves folder hierarchy
- 🔗 Handles both relative and absolute paths
- 🚀 Fast and efficient processing
- 💾 Automatic file saving
- 🎯 Type-safe implementation
# Using npm
npm install -g @bitecraft/yaak2postman
# Using Bun
bun install -g @bitecraft/yaak2postman
# Using pnpm
pnpm install -g @bitecraft/yaak2postman
# Using yarn
yarn global add @bitecraft/yaak2postman
The CLI supports three main usage patterns:
# Convert both collection and environments
yaak2postman path/to/yaak-file.json
# Convert only collection
yaak2postman collection path/to/yaak-file.json
# Convert only environments
yaak2postman env path/to/yaak-file.json
yaak2postman ./my-api.json
yaak2postman collection ./my-api.json
yaak2postman env ./my-api.json
- Node.js >= 14.0.0
- Bun (latest version)
- TypeScript knowledge
- Clone the repository:
git clone https://github.com/yourusername/yaak2postman.git
cd yaak2postman
- Install dependencies:
bun install
- Start development:
bun run start
bun run build
The tool expects a YAAK file with the following structure:
interface YaakData {
resources: {
workspaces: YaakWorkspace[];
environments: YaakEnvironment[];
folders: YaakFolder[];
httpRequests: YaakRequest[];
};
}
The tool generates Postman Collection v2.1.0 format files:
interface PostmanCollection {
info: {
name: string;
description: string;
schema: string;
};
item: (PostmanFolder | PostmanRequest)[];
variable: PostmanVariable[];
}
Contributions are welcome! Please feel free to submit a Pull Request. For major changes, please open an issue first to discuss what you would like to change.
- Fork the repository
- Create your feature branch (
git checkout -b feature/AmazingFeature
) - Commit your changes (
git commit -m 'Add some AmazingFeature'
) - Push to the branch (
git push origin feature/AmazingFeature
) - Open a Pull Request
This project is licensed under the ISC License - see the LICENSE file for details.
Made with ❤️ using TypeScript and Bun