hoppscotch-to-postman
v1.0.1
Published
Convert Hoppscotch collections to Postman v2.1 collections
Maintainers
Readme
hoppscotch-to-postman
Convert Hoppscotch collections into Postman Collection v2.1 format.
✨ Features
- 🔄 Convert Hoppscotch exported JSON into Postman v2.1 collection
- 📂 Preserve folders as Postman
itemgroups - 📜 Support request body, headers, params
- 🛠 CLI + API both available
📦 Installation
npm install -g hoppscotch-to-postmanor use locally:
npm install hoppscotch-to-postman --save-dev🚀 Usage
CLI
Convert a Hoppscotch export file (hoppscotch.json) into a Postman collection (postman.json):
hoppscotch-to-postman hoppscotch.json postman.jsonIf no output file is provided, it defaults to postman-collection.json.
Node.js API
import fs from "fs";
import { convert } from "hoppscotch-to-postman";
const hoppscotchData = JSON.parse(fs.readFileSync("hoppscotch.json", "utf8"));
const postmanData = convert(hoppscotchData);
fs.writeFileSync("postman.json", JSON.stringify(postmanData, null, 2));
console.log("✅ Converted!");📂 Example
Hoppscotch (input)
{
"name": "Demo",
"folders": [
{
"name": "User",
"requests": ["15"],
"folders": []
}
],
"requests": [
{
"v": "15",
"name": "Login",
"method": "POST",
"endpoint": "http://localhost:8080/login",
"headers": [],
"params": [],
"body": {
"contentType": "application/json",
"body": "{\"username\":\"admin\",\"password\":\"123456\"}"
}
}
]
}Postman (output)
{
"info": {
"name": "Demo",
"schema": "https://schema.getpostman.com/json/collection/v2.1.0/collection.json"
},
"item": [
{
"name": "User",
"item": [
{
"name": "Login",
"request": {
"method": "POST",
"header": [],
"body": {
"mode": "raw",
"raw": "{\"username\":\"admin\",\"password\":\"123456\"}",
"options": { "raw": { "language": "json" } }
},
"url": {
"raw": "http://localhost:8080/login",
"protocol": "http",
"host": ["localhost"],
"port": "8080",
"path": ["login"]
}
},
"response": []
}
]
}
]
}📝 Notes
- Tested with Hoppscotch v9 export format
- Postman import supports Collection v2.1 only
- Requests without a valid URL will fallback to
{ raw: "<endpoint>" }
📜 License
MIT © 2025
要不要我顺便帮你写个 .npmignore(排除 node_modules/, test/, *.log,只发布核心文件)一起配好?
