{"id":16971634,"url":"https://github.com/thomastjdev/jester2swagger","last_synced_at":"2026-04-16T04:33:16.050Z","repository":{"id":87656803,"uuid":"432383804","full_name":"ThomasTJdev/jester2swagger","owner":"ThomasTJdev","description":"Convert Jester to Swagger to Postman","archived":false,"fork":false,"pushed_at":"2021-11-27T09:30:03.000Z","size":58,"stargazers_count":4,"open_issues_count":0,"forks_count":0,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-03-21T20:16:24.101Z","etag":null,"topics":["jester","postman","swagger"],"latest_commit_sha":null,"homepage":"","language":"Nim","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/ThomasTJdev.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2021-11-27T06:12:05.000Z","updated_at":"2024-08-26T13:15:09.000Z","dependencies_parsed_at":"2023-03-13T18:40:24.264Z","dependency_job_id":null,"html_url":"https://github.com/ThomasTJdev/jester2swagger","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/ThomasTJdev/jester2swagger","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasTJdev%2Fjester2swagger","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasTJdev%2Fjester2swagger/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasTJdev%2Fjester2swagger/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasTJdev%2Fjester2swagger/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/ThomasTJdev","download_url":"https://codeload.github.com/ThomasTJdev/jester2swagger/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/ThomasTJdev%2Fjester2swagger/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31871667,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T15:24:51.572Z","status":"online","status_checked_at":"2026-04-16T02:00:06.042Z","response_time":69,"last_error":null,"robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":true,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["jester","postman","swagger"],"created_at":"2024-10-14T00:53:11.807Z","updated_at":"2026-04-16T04:33:16.010Z","avatar_url":"https://github.com/ThomasTJdev.png","language":"Nim","readme":"\u003cimg src=\"private/jestermyswagger.svg\" style=\"display: inline; max-height: 300px\"\u003e\n\n# jester2swagger\n\n**jester** =\u003e **swagger** =\u003e **postman**\n\n\nThis hybrid package transforms routes from [Jester](https://github.com/dom96/jester)\nto [Swagger](https://swagger.io/) JSON. The purpose is to generate a Swagger\nJSON file that can be imported directly into Postman.\n\nRun `jester2swagger` on your Jester routes and voila, you have a Swagger JSON\nfile that can be imported directly into Postman.\n\nOkay, this is not a 100% compliant with the Swagger specification, but it\nworks fine for generating a Swagger JSON file that can be imported without\nany hassle into Postman.\n\n# Generating Swagger JSON\n\n## Print it\nYou can just print directly to stdout and enjoy your Swagger JSON:\n```shell\n$ jester2swagger -f routes/apiRoutes.nim\n```\n\n## Parse one file\nCreate a single Swagger JSON file from a single Jester route file in the folder `swagger/folder`-\n```shell\n$ jester2swagger -f routes/apiRoutes.nim -o swagger/folder\n```\n\n## Parse many file\nThe key here is the `*` wildcard. All files within the folder will parsed.\n```shell\n$ jester2swagger -f routes/* -o swagger/folder\n```\n\n# Example output\n\nAn output file can found in the `tests` folder named `test_routes_swagger.example.json`.\n\n# Supported route items\n\n- Files containing Jester router or Jester routes\n- `GET`, `POST`, `DELETE` and `HEAD` routes is supported.\n- Specified Http-responses (`resp Http204`) or indirected (`redirect \"/\"`, `resp \"OK\"`)\n- Nim comments just below the route (`## Double hashtags are supported`)\n- In-path parameters are supported (`/users/@id`)\n- In-query parameters are supported (`/users?id=value`)\n- In-body parameters are supported (`@\"userID\"`)\n\n\n# Library\n\n```nim\nimport jester2swagger\n\nswagIt(\"tests/test_routes.nim\", baseurl=\"nim-lang.org\", print=true)\n```\n\n\n# CLI tool\n\n```shell\n$ ./jester2swagger --help\nUsage:\n    jester2swagger {options}\n\n\nOPTIONS\n  -h, --help      Print this help message\n  -f, --filepath  Full path to the file to parse or * for whole directory\n  -b, --baseurl   Base url for the swagger routes\n  -p, --print     Print the swagger routes to stdout\n  -j, --json      Save output to JSON file\n  -o, --output    Output file for JSON file (defaults to current directory)\n\n\nCONFIG\n  Convert Jester-route files to Swagger 2.0 JSON. JSON is partly compliant\n  with the Swagger 2.0 specification but allows for direct import in Postman.\n\n  If `filepath` includes an asterix (*) all files in the directory will be\n  converted (only available for output to file). Each file will generate it's\n  own JSON file (aka Postman collection).\n\n  Output is written to the current directory unless `output` is specified.\n\n  `GET`, `POST`, `DELETE` and `HEAD` routes is supported.\n\nINFO Swagger is making jokes\n```","funding_links":[],"categories":[],"sub_categories":[],"project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomastjdev%2Fjester2swagger","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fthomastjdev%2Fjester2swagger","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fthomastjdev%2Fjester2swagger/lists"}