2.0.12 • Published 7 years ago

feathers-apollo-server v2.0.12

Weekly downloads
1
License
MIT
Repository
github
Last release
7 years ago

feathers-apollo-server

Build Status Code Climate Test Coverage Dependency Status Download Status

A feathers-apollo-server plugin for apollo graphql server integration with feathers minimalist real-time framework

Installation

npm install feathers-apollo-server --save

Documentation

graphqlServer({typeDefs,resolver,[opts]},[extraOpts],[graphiqlOpts])
// setup

export const typeDefs = [`type Query{
  testString:String
}
schema{
  query:Query
}
`];

export const resolvers = {
  Query: {
    testString () {
      'use strict';
      return 'this is a test string';
    }
  }
};

const Opts={path:'/graphql',schema,resolvers} //makeExecutable schema options
const extraOpts={context:{key:"context_Value"}} // graphql server options: 

// Register the plugin, see below for an example
app.configure(graphqlService(Opts,extraOpts));

##Plugin Args Opts: The same as makeExecutableSchema options. path,typeDefs and resolvers are required while other arguments are optional,learn more options from graphql-tools

extraOpts(Optional): graphql express options, you can learn more here

graphiqlOpts: Same as graphiql Options except for the grapiqlUrl property for specifying path to graphiql UI default is '/graphiql'

Complete Example

Here's an example of a Feathers server that uses feathers-apollo-server.

const feathers = require('feathers');
const rest = require('feathers-rest');
const hooks = require('feathers-hooks');
const bodyParser = require('body-parser');
const errorHandler = require('feathers-errors/handler');
const plugin = require('feathers-apollo-server');

const Opts={path:'/plugin',schema,resolvers}  //makeExecutable schema options
const extraOpts={context:{key:"context_Value"}} // graphql server options: 

// Initialize the application
const app = feathers()
  .configure(rest())
  .configure(hooks())
  // Needed for parsing bodies (login)
  .use(bodyParser.json())
  .use(bodyParser.urlencoded({ extended: true }))
  .use(errorHandler())
  // Initialize your feathers plugin
  .configure(plugin(opts,extraOpts));
app.listen(3030);

console.log('Feathers app started on 127.0.0.1:3030');

Todo

  • Add server request object to graphql context
  • Write more tests
  • Improve readme documentation

License

Copyright (c) 2016

Licensed under the MIT license.

2.0.12

7 years ago

2.0.11

7 years ago

2.0.10

7 years ago

2.0.9

7 years ago

2.0.8

7 years ago

2.0.7

7 years ago

2.0.6

7 years ago

2.0.5

7 years ago

2.0.4

7 years ago

2.0.3

7 years ago

2.0.2

7 years ago

2.0.1

7 years ago

0.0.0

7 years ago

2.0.0

7 years ago

1.0.2

7 years ago

1.0.1

7 years ago

1.0.0

7 years ago