Nonconformist Propaganda Machine

    @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

    Install

    npm i @jagql/framework

    DownloadsWeekly Downloads

    15

    Version

    5.6.14

    License

    MIT

    Unpacked Size

    295 kB

    Total Files

    106

    Last publish

    Collaborators

    • championswimmer