{"id":13527673,"url":"https://github.com/luckymarmot/API-Flow","last_synced_at":"2025-04-01T09:31:55.861Z","repository":{"id":57159280,"uuid":"54407384","full_name":"luckymarmot/API-Flow","owner":"luckymarmot","description":"Universal data structure and converter for API formats (Swagger, RAML, Paw, Postman…)","archived":false,"fork":false,"pushed_at":"2019-11-04T14:21:34.000Z","size":2589,"stargazers_count":193,"open_issues_count":26,"forks_count":19,"subscribers_count":11,"default_branch":"develop","last_synced_at":"2025-03-24T08:36:37.393Z","etag":null,"topics":["api-flow","converter","paw","postman","raml-utilities","swagger"],"latest_commit_sha":null,"homepage":"","language":"JavaScript","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/luckymarmot.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}},"created_at":"2016-03-21T16:58:36.000Z","updated_at":"2025-02-28T22:41:51.000Z","dependencies_parsed_at":"2022-09-07T20:12:00.487Z","dependency_job_id":null,"html_url":"https://github.com/luckymarmot/API-Flow","commit_stats":null,"previous_names":[],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckymarmot%2FAPI-Flow","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckymarmot%2FAPI-Flow/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckymarmot%2FAPI-Flow/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/luckymarmot%2FAPI-Flow/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/luckymarmot","download_url":"https://codeload.github.com/luckymarmot/API-Flow/tar.gz/refs/heads/develop","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246616274,"owners_count":20806098,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","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":["api-flow","converter","paw","postman","raml-utilities","swagger"],"created_at":"2024-08-01T06:01:56.552Z","updated_at":"2025-04-01T09:31:54.100Z","avatar_url":"https://github.com/luckymarmot.png","language":"JavaScript","funding_links":[],"categories":["HarmonyOS","JavaScript"],"sub_categories":["Windows Manager"],"readme":"[![Build Status](https://travis-ci.org/luckymarmot/API-Flow.svg?branch=master)](https://travis-ci.org/luckymarmot/API-Flow)\n\n# API-Flow\n\nA flow written in ES6 using Immutable to convert between API description formats (Swagger, etc.) and other programs such as cURL command lines.\n\n## What formats are supported and what will be in the future\nWe currently support:\n- `Swagger v2.0 (in/out)`\n- `RAML v1.0 (in/out)`\n- `Postman Collection v2.0 (in/out)`\n- `Paw v3.1 (in/out)`\n\nWe intend to support:\n- `Swagger v3.0`\n- `RAML v0.8`\n- `Postman Collection v1.0`\n- `Postman Dump v1.0`\n- `Insomnia v3.0`\n- `Api-Blueprint`\n- and many more.\n\n## Installation\n### from a cloned repository\n\njust run\n\n```sh\ngit clone https://github.com/luckymarmot/API-Flow.git\ncd API-Flow\nmake install\n```\n\nThis will install the node module dependencies\n\n## Building the different libraries\n### node, web, and webworker\n\nrun the following command to build API-Flow for the different environments that you need\n\n```sh\n# use TARGET=\"node\" if you only want the node library\nmake runners TARGET=\"node web webworker\"\n```\n\n### Paw\n\nYou can use the following command to add the different extensions to Paw\n\n```sh\n# use TARGET=\"swagger\" if you only want the swagger bindings\nmake transfer TARGET=\"swagger raml1 postman2\"\n```\n\n## Using the npm module\n### as a standard library\n\n```js\nconst ApiFlow = require('api-flow'); // if from npm\nconst ApiFlow = require('./dist/node/api-flow.js'); // if from `make runners TARGET=\"node\"`\n\nconst options = {\n    source: {\n        format: 'swagger',\n        version: 'v2.0'\n    },\n    target: {\n        format: 'raml',\n        version: 'v1.0'\n    }\n}\n\nconst promise = ApiFlow.transform({\n  options,\n  uri: path.resolve(__dirname, './my_super_swagger.yml')\n})\n\npromise.then((data) =\u003e {\n  // do some cool stuff with the data\n})\n```\n\n### Using as a CLI (coming soon)\n```sh\nnode ./bin/api-flow.js some_swagger.json -f swagger -t raml \u003e converted.yml\n```\n\n### User Interface\n\nAPI-Flow is one of the main components of [Console.REST](https://github.com/luckymarmot/console-rest). If you're an API user, you can easily use [https://console.rest/](https://console.rest/) to convert API description files. If you're an API provider, you can add a button to your API docs to let your users open and play with your API in client apps including Paw or Postman.\n\n## Contributing\n\nPRs are welcomed!\nOur sole requirement is that organizations that want to extend API-Flow to support their format write both a parser and a serializer, and not simply a serializer.\n\n## Documentation\nYou can find more information about the internal structure of API-Flow in [src](https://github.com/luckymarmot/API-Flow/tree/develop/src). We've also created a set of templates to help speed up the extension process: [loader](https://github.com/luckymarmot/API-Flow/tree/develop/src/loaders/template/v1.0), [parser](https://github.com/luckymarmot/API-Flow/tree/develop/src/parsers/template/v1.0/), and [environment](https://github.com/luckymarmot/API-Flow/tree/develop/src/environments/template)\n\n## License\n\nThis repository is released under the [MIT License](LICENSE). Feel free to fork, and modify!\nCopyright © 2016 Paw Inc.\n\n## Contributors\n\nSee [Contributors](https://github.com/luckymarmot/API-Flow/graphs/contributors).\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluckymarmot%2FAPI-Flow","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fluckymarmot%2FAPI-Flow","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fluckymarmot%2FAPI-Flow/lists"}