@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
JavaScript
;
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);
});