k25-swagger-fetch
v1.1.0
Published
Download Swagger JSON from password-protected endpoints
Readme
k25-swagger-fetch
Download Swagger JSON from password-protected endpoints.
Installation
bun add -d k25-swagger-fetchUsage
CLI
# Uses SWAGGER_URL, SWAGGER_USER, SWAGGER_PASSWORD from .env
swagger-fetch
# With explicit parameters
swagger-fetch --url https://api.example.at/swagger/v1/swagger.json --output ./scripts/swagger.json
# With all flags
swagger-fetch --url <url> --user swagger --password <pw> --output ./scripts/swagger.jsonEnvironment Variables
Create a .env file:
SWAGGER_URL=https://your-project.k25-dev.at/api/swagger/v1/swagger.json
SWAGGER_USER=swagger
SWAGGER_PASSWORD=your-password
SWAGGER_OUTPUT=./scripts/swagger.jsonConfig File
Create swagger-fetch.config.ts (auto-detected):
import { defineConfig } from "k25-swagger-fetch";
export default defineConfig({
url: "https://your-project.k25-dev.at/api/swagger/v1/swagger.json",
output: "./scripts/swagger.json",
// username/password should stay in .env
});Programmatic API
import { fetchSwagger } from "k25-swagger-fetch";
await fetchSwagger({
url: "https://api.example.at/swagger/v1/swagger.json",
username: "swagger",
password: "secret",
output: "./scripts/swagger.json",
});Resolution Order
CLI flags > environment variables > config file > defaults
| Option | CLI Flag | Env Var | Default |
| -------- | ------------ | ------------------ | ------------------------ |
| url | --url | SWAGGER_URL | — |
| username | --user | SWAGGER_USER | swagger |
| password | --password | SWAGGER_PASSWORD | "" |
| output | --output | SWAGGER_OUTPUT | ./scripts/swagger.json |
Integration Example
{
"scripts": {
"download-swagger": "swagger-fetch",
"generate-client": "openapi-ts",
"openapi-ts": "bun run download-swagger && bun run generate-client",
"dev": "bun run openapi-ts && vite"
}
}