{"id":15478528,"url":"https://github.com/robertmassaioli/openapi-merge","last_synced_at":"2025-04-04T10:08:47.558Z","repository":{"id":41856867,"uuid":"369944083","full_name":"robertmassaioli/openapi-merge","owner":"robertmassaioli","description":"Merge multiple OpenAPI 3.0 (Swagger) files together via a library or CLI tool.","archived":false,"fork":false,"pushed_at":"2024-06-06T04:48:25.000Z","size":2253,"stargazers_count":129,"open_issues_count":40,"forks_count":26,"subscribers_count":4,"default_branch":"main","last_synced_at":"2024-10-30T03:43:02.490Z","etag":null,"topics":["merge","openapi","swagger"],"latest_commit_sha":null,"homepage":"","language":"TypeScript","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/robertmassaioli.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-05-23T02:23:17.000Z","updated_at":"2024-09-26T17:21:46.000Z","dependencies_parsed_at":"2024-06-06T06:11:27.685Z","dependency_job_id":"9c1bf6cc-4333-4a5a-a0ac-1f60178ff1ca","html_url":"https://github.com/robertmassaioli/openapi-merge","commit_stats":{"total_commits":181,"total_committers":7,"mean_commits":"25.857142857142858","dds":0.4530386740331491,"last_synced_commit":"bc232e4828685eb3db71a6a8e8c5fefc1c58bea3"},"previous_names":[],"tags_count":27,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertmassaioli%2Fopenapi-merge","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertmassaioli%2Fopenapi-merge/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertmassaioli%2Fopenapi-merge/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/robertmassaioli%2Fopenapi-merge/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/robertmassaioli","download_url":"https://codeload.github.com/robertmassaioli/openapi-merge/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":247157283,"owners_count":20893220,"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":["merge","openapi","swagger"],"created_at":"2024-10-02T04:05:29.306Z","updated_at":"2025-04-04T10:08:47.536Z","avatar_url":"https://github.com/robertmassaioli.png","language":"TypeScript","funding_links":[],"categories":[],"sub_categories":[],"readme":"## The openapi-merge repository\n\nWelcome to the openapi-merge repository. This library is intended to be used for merging multiple OpenAPI 3.0 files together. The most common reason that developers want to do this is because they have multiple services that they wish to expose underneath a single API Gateway. Therefore, even though this merging logic is sufficiently generic to be used for most use cases, some of the feature decisions are tailored for that specific use case.\n\n### Screenshots\n\n![Imgur](https://i.imgur.com/GjnSXCS.png)\n(An example of creating an openapi-merge.json configuration file for the CLI tool)\n\n### About this repository\n\nThis is a multi-package repository that contains:\n\n* The openapi-merge library: [![npm](https://img.shields.io/npm/v/openapi-merge?label=openapi-merge\u0026logo=npm)](https://bit.ly/2WnIytF)\n* The openapi-merge CLI tool: [![npm](https://img.shields.io/npm/v/openapi-merge-cli?label=openapi-merge-cli\u0026logo=npm)](https://bit.ly/3bEVq3f)\n\nDepending on your use-case, you may wish to use the CLI tool or the library in your project. Please see the readme file of the specific package for more details.\n\n### Developing on openapi-merge\n\nThis project is a multi-package repository and uses the [bolt][1] tool to manage these packages in one development experience.\n\nAfter checking out this repository, you can run the following command to install the required dependencies:\n\n``` shell\nbolt install\n```\n\nYou can then test running the CLI tool by running:\n\n``` shell\nyarn cli\n```\n\nIf you wish to ensure that you can develop on the `openapi-merge` library in parallel to the `openapi-merge-cli` tool\nthen you must run the Typescript build for `openapi-merge` in watch mode. You can do this by:\n\n``` shell\nbolt w openapi-merge build -w\n```\n\nThis will ensure that the Typescript is compiled into JavaScript so that it can be used by the `openapi-merge-cli` tool.\n\nFor the other operations that you wish to perform, please see the package.json of the other packages in this repository.\n\n [1]: https://github.com/boltpkg/bolt","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertmassaioli%2Fopenapi-merge","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Frobertmassaioli%2Fopenapi-merge","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Frobertmassaioli%2Fopenapi-merge/lists"}