Huge News!Announcing our $40M Series B led by Abstract Ventures.Learn More
Socket
Sign inDemoInstall
Socket

graphql-sock

Package Overview
Dependencies
Maintainers
0
Versions
2
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

graphql-sock

GraphQL Semantic Output Conversion Kit - converts a cutting edge SDL file that supports semantic nullability into a more traditional SDL file legacy tools can support.

  • 0.2.0
  • latest
  • Source
  • npm
  • Socket score

Version published
Maintainers
0
Created
Source

GraphQL SOCK

SOCK: Semantic Output Conversion Kit

What is it?

Takes as input a GraphQL SDL and outputs a derived SDL wherein all semantic-non-null type modifiers have either been removed (semantic-to-nullable) or have been replaced with strict (traditional) non-null modifiers (semantic-to-strict).

In the latest proposals around semantic nullability, we introduce a new "Semantic Non Null" type modifier that means that the value is "null only on error". However, not all tools support this yet, so this library contains tools to convert a modern SDL into a more traditional one, to be used for code generation and other such functionality.

Which command you use will depend on your setup; if you're using graphql-toe then you'll want semantic-to-strict to really capitalize on the benefits of semantic nullability. If you just want to use a semantic nullability SDL with traditional tools that don't yet understand it, then semantic-to-nullable will just strip out the semantic-non-null types for you.

Installation

Pick the line that relates to your package manager:

npm install --save graphql-sock
yarn add graphql-sock
pnpm install --save graphql-sock

Usage

semantic-to-nullable

If a value is "null only on error" then it can be null. This conversion strips all semantic-non-null type wrappers from the SDL, making a schema that appears as it traditionally would. This means that you won't reap any of the benefits of semantic nullability, but you can support existing tools.

semantic-to-nullable -i input.graphql -o output.graphql

semantic-to-strict

If you're using graphql-toe or a similar technique that means that when you read from an errored field the error will be thrown, then it will not be possible for you to read a null from a "null only on error" position. As such, this position becomes equivalent to a traditional non-null for you, so this conversion converts all semantic-non-null type wrappers into traditional non-null wrappers. Your type generators can therefore generate fewer nullables, and your frontend engineers have to do fewer null checks and are therefore happier.

semantic-to-strict -i input.graphql -o output.graphql

Keywords

FAQs

Package last updated on 24 Sep 2024

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

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap
  • Changelog

Packages

npm

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc