Popularity
3.1
Growing
Activity
9.1
Declining
978
10
51

Programming language: TypeScript
License: MIT License
Tags: API    
Latest version: v8.5.0

Optic alternatives and similar libraries

Based on the "API" category.
Alternatively, view Optic alternatives based on common mentions on social networks and blogs.

Do you think we are missing an alternative of Optic or a related project?

Add another 'API' Library

README

Announcement: Optic is launching with native support for OpenAPI 3. Read more and get early access here


Track and review API changes as a team

Design better APIs · Improve quality · Ship faster. It starts with having the right conversations on your team

In this repo are the open source libraries powering Optic

  • optic-ci - the tool used to compare specs and enforce your rules for your API
  • rulesets-base - includes the SDKs for authoring and running your own optic-ci checks

Migrating from Optic 10 to Optic 11

Optic 11 is in beta and nearing release. Get early access by joining the beta here. If you are using Optic <=10, the first step is to migrate your spec to an OpenAPI file.

Generating an OpenAPI specification

In your project's root directory, run api generate:oas. This exports your specification into an OpenAPI file for the Optic Toolkit, in YAML format. Copy the file in the command output into your project's root folder as optic.openapi.yaml.

$ api generate:oas

[optic] Generated OAS files
[optic] /{project root}/.optic/generated/openapi.yaml

$ cp .optic/generated/openapi.yaml optic.openapi.yaml
$ git add optic.openapi.yaml

💡 Optional You may specify a JSON OpenAPI file with the --json flag and using the .json extension. You may also save your OpenAPI file anywhere in your project, just don't lose track of it.

Cleaning up

You're ready to run the Optic Toolkit against your project. It will automatically use the OpenAPI file exported above, and update it when changes are detected. Once you're comfortable with the new toolkit, you can remove the Optic 10 files from your project with rm -rf .optic optic.yml. It's safe to remove these files: the only thing the new Optic Toolkit uses is your OpenAPI specification.

You should also remove the old Optic 10 CLI, as it doesn't share any components with the Optic Toolkit and is no longer necessary. Removal depends on how you installed it in the first place. For example, to uninstall via NPM, npm remove --global @useoptic/cli.

If you have any problem or questions Open an Issue or reach out in Discord.

Resources

Want to help us design the next features? Book Maintainer Office Hours

License

MIT

Contributors ✨

Thanks goes to these wonderful people (emoji key):

<!-- ALL-CONTRIBUTORS-BADGE:START - Do not remove or modify this section --> All Contributors <!-- ALL-CONTRIBUTORS-BADGE:END --> <!-- ALL-CONTRIBUTORS-LIST:START - Do not remove or modify this section --> <!-- prettier-ignore-start --> <!-- markdownlint-disable --> Aidan Cunniffe📖 💻 devdoshi📖 💻 Evan Mallory📖 Jaap van Hardeveld💻 📖 Ronak Shah💻 📖 taraedits📖 Lou Manglass💻 📖 Nate Meyer💻 Tim Gates📖 Matthew Hudson📖 LaV📖 Gaurav Nelson📖 Ross Nordstrom🎨 💻 🐛 Kin Lane🤔 🖋 Viljami Kuosmanen🤔 🖋 Richard Crowley🔬 🤔 dnmtr👀 Tim Perry💻 jordaniza📖 Sandy Vanderbleek📖 Dave Rolsky📖 Baptiste Darthenay📖 Alex Miller📖 Joseph Shearer💻 Ray Bejjani📖 Adrien Brault📖 Nicholas Lim📖 💻 Stephen Mizell💻 📖 Bojan Đurđević💻 Taras Mankovski📖 Ikko Ashimine📖 Mukesh💻 Tony Knight📖 Roger Dickey, Jr📖

<!-- markdownlint-restore --> <!-- prettier-ignore-end -->

<!-- ALL-CONTRIBUTORS-LIST:END -->

This project follows the all-contributors specification. Contributions of any kind welcome!


*Note that all licence references and agreements mentioned in the Optic README section above are relevant to that project's source code only.