@jagql/framework
TypeScript icon, indicating that this package has built-in type declarations

5.6.14 • Public • Published


jagql

Build Status codecov npm (scoped) Dependencies Status Greenkeeper badge



A resource driven framework to set up a {json:api} + GraphQL endpoint in record time.

Motivation

Let us look at these great articles written by some very experiences developers -

  1. Phil Sturgeon says if you use json:api you do not need GraphQL
  2. Bill Doerrfeld writes about the benefits of json:api
  3. Jorge says json:api is a simple alternative to GraphQL
  4. Jeremy Sherman says he is not impressed by json:api and GraphQL is better
  5. Brandur says GraphQL is the next frontier in Web Developement

If you ask me, I'd say -

And in fact, some of the most used public APIs like Github have both REST and GraphQL.

jagql lets you build a backend with both {json:api} and GraphQL support really really fast.

About this Fork

NOTE: This is a fork of holidayextra's jsonapi-server We have merged a lot of pending PRs on the original repo that we felt we would gain advantage from. The original project was coing a bit too slowly for our needs.

Differences from upstream

primaryKey is configurable

In upstream, keys are by default uuid and are taken from DB, if generateId = true We instead use a different property primaryKey, whose possible values are

  • uuid : Uses UUID v4 (generated from the client)
  • autoincrement : Uses AUTOINCREMENT integers

*In future there might be other types of primaryKeys if required.

relationship key type is configurable

When creating a field, you can state how to relate it

jsonApi.define({
  ... 
  attributes: {
    ... 
    author: jsonApi.Joi.one('people').uidType('uuid')
    ...
  }
})

You'd want to use our version of jsonapi-store-[*] plugins with this as the original versions will not be compatible with this

The old readme here is verbatim copy of the original project

Dependencies (20)

Dev Dependencies (16)

Package Sidebar

Install

npm i @jagql/framework

Weekly Downloads

48

Version

5.6.14

License

MIT

Unpacked Size

295 kB

Total Files

106

Last publish

Collaborators

  • championswimmer