Our great sponsors
-
SurveyJS
Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
-
graphql-introspection-tools
A library to query and manipulate GraphQL Introspection Query results in some useful ways.
It gets downloaded thousands of times per week on NPM
There have been several articles written about it, like this one and this one
SpectaQL was originally forked from a project called DociQL to add some enhancements there. And DociQL was originally forked from a project called Spectacle to make it work with GraphQL. And (finally) Spectacle was designed to work with Swagger/OpenAPI. Swagger/OpenAPI is a specification designed to help standardize the description of REST APIs with many routes, and uses JSON Schema as the way to define Data Types/Models. This means that SpectaQL had to wrestle with several layers of history and transformations; making SpectaQL's enhancements fit into the DociQL world, which in turn had to make things fit into the Spectacle/Swagger/OpenAPI world.
SpectaQL was originally forked from a project called DociQL to add some enhancements there. And DociQL was originally forked from a project called Spectacle to make it work with GraphQL. And (finally) Spectacle was designed to work with Swagger/OpenAPI. Swagger/OpenAPI is a specification designed to help standardize the description of REST APIs with many routes, and uses JSON Schema as the way to define Data Types/Models. This means that SpectaQL had to wrestle with several layers of history and transformations; making SpectaQL's enhancements fit into the DociQL world, which in turn had to make things fit into the Spectacle/Swagger/OpenAPI world.
After starting from scratch with a purely GraphQL mindset and landscape, these sorts of advanced manipulations became much easier to reason about and implement. Since there was no existing tool for it, we ended up creating a standalone package just for querying and manipulating the GraphQL schema in the ways that we needed. We then decided that others might find this tool useful, so we recently open sourced it as Microfiber. You can read my blog post about its release here.
In order to increase their reliability and usefulness, most open source projects, and especially libraries and packages, follow the Semantic Versioning (aka Semver) specification. Perhaps the most important takeaway from Semver is that if you make any "breaking changes" to your library, you should release those changes as a new Major version—e.g. go from 1.x.x => 2.0.0. While the possibility of breaking changes without a major version change was something I warned users about while SpectaQL was on version 0.x.x, I was still hesitant to cause any breaking changes due to the amount of usage the package was getting.