@bitecraft/yaak2postman
Version:
CLI tool to convert YAAK files to Postman
170 lines (126 loc) ⢠4.3 kB
Markdown
```
__ __ _ ____ ____ _
\ \ / /_ _ __ _| | _|___ \| _ \ ___ ___| |_ _ __ ___ __ _ _ __
\ V / _` |/ _` | |/ / __) | |_) / _ \/ __| __| '_ ` _ \ / _` | '_ \
| | (_| | (_| | < / __/| __/ (_) \__ \ |_| | | | | | (_| | | | |
|_|\__,_|\__,_|_|\_\_____|_| \___/|___/\__|_| |_| |_|\__,_|_| |_|
```
# YAAK to Postman Converter š
> A simple CLI tool to convert YAAK exported files into Postman collections and environments š ļø
[](https://opensource.org/licenses/MIT)
[](https://nodejs.org/)
[](https://www.typescriptlang.org/)
## Table of Contents
⢠[Overview](#overview)
⢠[Features](#features)
⢠[Installation](#installation)
⢠[Usage](#usage)
⢠[Examples](#examples)
⢠[Development](#development)
⢠[API Reference](#api-reference)
⢠[Contributing](#contributing)
⢠[License](#license)
## Overview šÆ
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.
## Features āØ
- š 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
## Installation š¦
```bash
# 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
```
## Usage š
The CLI supports three main usage patterns:
```bash
# 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
```
## Examples š
### Converting a YAAK File
```bash
yaak2postman ./my-api.json
```
### Converting Only Collection
```bash
yaak2postman collection ./my-api.json
```
### Converting Only Environment
```bash
yaak2postman env ./my-api.json
```
## Development š ļø
### Prerequisites
- Node.js >= 14.0.0
- Bun (latest version)
- TypeScript knowledge
### Setting Up Development Environment
1. Clone the repository:
```bash
git clone https://github.com/yourusername/yaak2postman.git
cd yaak2postman
```
2. Install dependencies:
```bash
bun install
```
3. Start development:
```bash
bun run start
```
### Building the Project
```bash
bun run build
```
## API Reference š
### YAAK Structure
The tool expects a YAAK file with the following structure:
```typescript
interface YaakData {
resources: {
workspaces: YaakWorkspace[];
environments: YaakEnvironment[];
folders: YaakFolder[];
httpRequests: YaakRequest[];
};
}
```
### Output Format
The tool generates Postman Collection v2.1.0 format files:
```typescript
interface PostmanCollection {
info: {
name: string;
description: string;
schema: string;
};
item: (PostmanFolder | PostmanRequest)[];
variable: PostmanVariable[];
}
```
## Contributing š¤
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.
1. Fork the repository
2. Create your feature branch (`git checkout -b feature/AmazingFeature`)
3. Commit your changes (`git commit -m 'Add some AmazingFeature'`)
4. Push to the branch (`git push origin feature/AmazingFeature`)
5. Open a Pull Request
## License š
This project is licensed under the ISC License - see the [LICENSE](LICENSE) file for details.
---
Made with ā¤ļø using TypeScript and Bun