Socket
Book a DemoInstallSign in
Socket

graphql-to-openapi

Package Overview
Dependencies
Maintainers
1
Versions
58
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-to-openapi

A utility for converting the combination of an graphql schema and graphql query into an openapi specification.

4.0.23
latest
Source
npmnpm
Version published
Weekly downloads
245
-0.41%
Maintainers
1
Weekly downloads
 
Created
Source

graphql-to-openapi

NPM Known Vulnerabilities codecov

GraphQL → OpenAPI

Convert a graphql query + graphql schema into an openapi spec.

Demo

Not to be confused with the obviously more useful openapi-to-graphql.

Usage via CLI

npx graphql-to-openapi --yaml --schema <schemaFilename> --query <queryFilename>
GraphQL → OpenAPI

Unknown Scalar Configuration via the CLI

Unknown scalars are scalar types in the graphql schema that do not obviously map to an openapi type.

The default behavior for unknown scalars is to treat them as string types in the output openapi schema. If you desire to override that behavior, supply a scalar config file to the graphq-to-openapi tool:

Example CLI usage:

npx graphql-to-openapi --scalarConfigFile myScalarConfig.json --yaml --schema <schemaFilename> --query <queryFilename>

---

myScalarConfig.json:
{
  "DateTimeScalar": {
    "type": "string",
    "description": "YYYY-MM-DD date",
    "example": "2017-01-01",
    "format": "date",
    "pattern": "YYYY-MM-DD",
    "minLength": 0,
    "maxLength": 10
  }
}

Usage as a module

import { graphqlToOpenApi } from 'graphql-to-openapi';

const { error, openApiSchema, queryErrors, schemaError } = graphqlToOpenApi({
  schema,
  query,
});

// error will contain any graphql-to-openapi errors if they exist.
// graphql-to-openapi only throws an error if you've failed to name
// the input query. The name of the input query is used to define the
// openapi route name.

// schemaError is an error in the parsing of the input schema.

// queryErrors are errors associated with parsing and validating the input query.
// This includes any validation issues when matching the query with the schema.

// openApiSchema will contain the deserialized openapi schema for the
// specified query.

For Developers contributing to this project

To get started:

  • Clone the github repo git clone git@github.com/schwer/graphql-to-openapi
  • npm install // install dependencies
  • npm run test:watch

Updating the documentation:

  • The docs subdirectory contains a create-react-app.
  • cd docs && npm run start

Keywords

graphql

FAQs

Package last updated on 02 Apr 2023

Did you know?

Socket

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

About

Packages

Stay in touch

Get open source security insights delivered straight into your inbox.

  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc

U.S. Patent No. 12,346,443 & 12,314,394. Other pending.