ugql

1.1.7 • Public • Published

µGQL

npm License: MIT package dependencies
Leveraging GraphQL-js with µWebSockets.js

Installation

npm i ugql or yarn add ugql

Usage

Create an app.mjs file with the following content:

import uWS from 'uWebSockets.js';
import gql from 'graphql';
import ugql from 'ugql';
 
const { buildSchema } = gql;
const app = uWS.App();
const ugraphql = ugql(app, async (res, req) => ({})/* middleware */, true /* cors */);
 
const schema = buildSchema(`
  type Query {
    hello: String
  }
`);
 
const root = { 
  hello: () => 'Hello world'
};
 
ugraphql(schema, root);
 
app.listen(9001, token => token ? console.log('µGQL running on port 9001') : console.log('µGQL failed to run: port already in use'));

Then run

node --experimental-modules app.mjs

Quick test, in a developer console

fetch('http://localhost:9001/graphql', {
  method: 'POST',
  headers: {
    'Content-Type': 'application/json'
  },
  body: JSON.stringify({ query: "{ hello }" })
})
  .then(r => r.json())
  .then(console.log);

You should see

Object { hello: "Hello world!" }

Supported request's types

  • GET with query parameter
  • POST with content-type
    • application/json
    • application/x-www-form-urlencoded
    • application/graphql

Package Sidebar

Install

npm i ugql

Weekly Downloads

9

Version

1.1.7

License

MIT

Unpacked Size

4.69 kB

Total Files

3

Last publish

Collaborators

  • annihil