[d24f17c] | 1 | # Swagger Client <img src="https://raw.githubusercontent.com/swagger-api/swagger.io/wordpress/images/assets/SW-logo-clr.png" height="50" align="right">
|
---|
| 2 |
|
---|
| 3 | [](https://github.com/swagger-api/swagger-js/actions)
|
---|
| 4 |
|
---|
| 5 | **Swagger Client** is a JavaScript module that allows you to fetch, resolve, and interact with Swagger/OpenAPI documents.
|
---|
| 6 |
|
---|
| 7 | ## New!
|
---|
| 8 |
|
---|
| 9 | **This is the new version of swagger-js, 3.x.** The new version supports Swagger 2.0 as well as OpenAPI 3.
|
---|
| 10 |
|
---|
| 11 | Want to learn more? Check out our [FAQ](docs/migration/migration-2-x-to-3-x.md).
|
---|
| 12 |
|
---|
| 13 | For features known to be missing from 3.x please see the [Graveyard](docs/migration/graveyard-3-x.md).
|
---|
| 14 |
|
---|
| 15 |
|
---|
| 16 | For the older version of swagger-js, refer to the [*2.x branch*](https://github.com/swagger-api/swagger-js/tree/2.x).
|
---|
| 17 |
|
---|
| 18 | > *The npm package is called `swagger-client` and the GitHub repository is `swagger-js`.
|
---|
| 19 | We'll be consolidating that soon. Just giving you the heads-up. You may see references to both names.*
|
---|
| 20 |
|
---|
| 21 | ## Compatibility
|
---|
| 22 | The OpenAPI Specification has undergone multiple revisions since initial creation in 2010.
|
---|
| 23 | Compatibility between Swagger Client and the OpenAPI Specification is as follows:
|
---|
| 24 |
|
---|
| 25 | Swagger Client Version | Release Date | OpenAPI Spec compatibility | Notes
|
---|
| 26 | ------------------ |--------------|----------------------------------------| -----
|
---|
| 27 | 3.19.x | 2023-01-23 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3, 3.1.0 | [tag v3.19.0-alpha.3](https://github.com/swagger-api/swagger-js/releases/tag/v3.19.0-alpha.3)
|
---|
| 28 | 3.10.x | 2020-01-17 | 2.0, 3.0.0, 3.0.1, 3.0.2, 3.0.3 | [tag v3.10.0](https://github.com/swagger-api/swagger-js/tree/v3.10.0)
|
---|
| 29 | 2.1.32 | 2017-01-12 | 1.0, 1.1, 1.2 | [tag v2.1.32](https://github.com/swagger-api/swagger-js/tree/v2.1.32). This [release](https://github.com/swagger-api/swagger-js/releases/tag/v2.1.32) is only available on GitHub.
|
---|
| 30 |
|
---|
| 31 | ## Documentation
|
---|
| 32 |
|
---|
| 33 | #### Usage
|
---|
| 34 |
|
---|
| 35 | - [Installation](docs/usage/installation.md)
|
---|
| 36 | - [Tags Interface](docs/usage/tags-interface.md)
|
---|
| 37 | - [HTTP client for OAS operations](docs/usage/http-client-for-oas-operations.md)
|
---|
| 38 | - [OpenAPI Definition Resolver](docs/usage/openapi-definition-resolver.md)
|
---|
| 39 | - [HTTP Client](docs/usage/http-client.md)
|
---|
| 40 | - [Swagger Client API](docs/usage/api.md)
|
---|
| 41 |
|
---|
| 42 | #### Development
|
---|
| 43 |
|
---|
| 44 | - [Contributing](https://github.com/swagger-api/.github/blob/master/CONTRIBUTING.md)
|
---|
| 45 | - [Setting up](docs/development/setting-up.md)
|
---|
| 46 | - [Scripts](docs/development/scripts.md)
|
---|
| 47 |
|
---|
| 48 | #### Migrations
|
---|
| 49 |
|
---|
| 50 | - [Migration guide](docs/migration/migration-2-x-to-3-x.md)
|
---|
| 51 | - [Graveyard](docs/migration/graveyard-3-x.md)
|
---|
| 52 |
|
---|
| 53 | ### Runtime
|
---|
| 54 |
|
---|
| 55 | ### Node.js
|
---|
| 56 |
|
---|
| 57 | `swagger-client` requires Node.js `>=12.20.0` and uses different `fetch` implementation depending
|
---|
| 58 | on Node.js version.
|
---|
| 59 |
|
---|
| 60 | - `>=12.20.0 <16.8` - [node-fetch@3](https://www.npmjs.com/package/node-fetch)
|
---|
| 61 | - `>=16.8 <18` - [undici](https://www.npmjs.com/package/undici)
|
---|
| 62 | - `>=18` - [native Node.js fetch](https://nodejs.org/dist/latest-v18.x/docs/api/globals.html#fetch)
|
---|
| 63 |
|
---|
| 64 | > NOTE: swagger-client minimum Node.js runtime version aligns with [Node.js Releases](https://nodejs.org/en/about/releases/)
|
---|
| 65 | > which means that we can drop support for **EOL** (End Of Life) Node.js versions without doing major version bump.
|
---|
| 66 |
|
---|
| 67 | ### Browsers
|
---|
| 68 |
|
---|
| 69 | `swagger-client` works in the latest versions of Chrome, Safari, Firefox, and Edge
|
---|
| 70 | and uses [native fetch](https://developer.mozilla.org/en-US/docs/Web/API/Fetch_API) implementation
|
---|
| 71 | provided by each supported browser.
|
---|
| 72 |
|
---|
| 73 | ## Security contact
|
---|
| 74 |
|
---|
| 75 | Please disclose any security-related issues or vulnerabilities by emailing [security@swagger.io](mailto:security@swagger.io), instead of using the public issue tracker.
|
---|