UNPKG

@sirhc77/postman-sdk-gen

Version:

Generate a fully-typed TypeScript SDK from a Postman collection, with support for Axios or Fetch, folder-based namespacing, and auto-inferred types.

43 lines (42 loc) 1.95 kB
#!/usr/bin/env node "use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; Object.defineProperty(exports, "__esModule", { value: true }); const commander_1 = require("commander"); const config_1 = require("./config"); const index_1 = require("./index"); const program = new commander_1.Command(); program .name("postman-sdk-gen") .description("Generate a TypeScript SDK from a Postman collection") .argument("<collection>", "Path or URL to Postman collection") .option("-o, --output <dir>", "Output directory", "./sdk") .option("--client-name <name>", "Name of the generated client class", "ApiClient") .option("--use-fetch", "Use native fetch instead of axios", false) .option("--single-file", "Generate a single output file", false) .option("--quiet", "Suppress logs", false) .option("--version", "Show version", () => { console.log("postman-sdk-gen v0.2.0"); process.exit(0); }) .parse(); const opts = program.opts(); const collectionArg = program.args[0]; function main() { return __awaiter(this, void 0, void 0, function* () { const config = yield (0, config_1.loadConfig)(collectionArg, opts); yield (0, index_1.generateSdk)(config); }); } main().catch((err) => { console.error("❌ Error:", err); process.exit(1); });