graphql-playground-middleware-express

GraphQL IDE for better development workflows (GraphQL Subscriptions, interactive docs & collaboration).

Usage no npm install needed!

<script type="module">
  import graphqlPlaygroundMiddlewareExpress from 'https://cdn.skypack.dev/graphql-playground-middleware-express';
</script>

README

graphql-playground-middleware-express

Express middleware to expose an endpoint for the GraphQL Playground IDE SECURITY NOTE: All versions of graphql-playground-express until 1.7.16 or later have a security vulnerability when unsanitized user input is used while invoking expressPlayground(). Read more below

Installation

Using yarn:

yarn add graphql-playground-middleware-express

Or npm:

npm install graphql-playground-middleware-express --save

Usage

See full example in examples/basic.

const express = require('express')
const expressPlayground = require('graphql-playground-middleware-express')
  .default

const app = express()

app.get('/playground', expressPlayground({ endpoint: '/graphql' }))

Security Notes

All versions before 1.7.16 were vulnerable to user-defined input to expressPlayground(). Read more in the security notes

Security Upgrade Steps

To fix the issue, you can upgrade to 1.6.12 or later. If you aren't able to upgrade, see the security notes for a workaround.

yarn: yarn add graphql-playground-express@^1.7.16

npm: npm install --save graphql-playground-express@^1.7.16