Coder Social home page Coder Social logo

gregoor / relay Goto Github PK

View Code? Open in Web Editor NEW

This project forked from artsy/relay

0.0 1.0 0.0 15.24 MB

Relay is a JavaScript framework for building data-driven React applications.

Home Page: https://facebook.github.io/relay/

License: Other

JavaScript 99.04% CSS 0.93% HTML 0.01% Shell 0.02%

relay's Introduction

About this fork

Currently in upstream Relay, the assumption is made that the id field is globally unique as specified in the Global Object Identification specification. However, in our case this conflicted with an already existing id field in our schema that was being consumed by non-Relay clients, changing this would have broken those clients.

After deliberation, the conclusion was that the simplest solution would be to make it easy for people to fork Relay and change the hardcoded instances of id to whatever suits their needs. It also became apperant that there is a chance that the GraphQL specification itself will gain a reserved ID field that may be used by tools such as Relay to for whatever identification purpose.

As of yet, the name for that future ID field most likely is going to be __id, which is what this fork uses. This fork will be maintained, as in, kept up-to-date with upstream releases.

You can install the packages as per the npm install <tarball url> documentation.

See:

Update process

  • If not previously done, add the upstream remote: $ git remote add upstream https://github.com/facebook/relay.git
  • Fetch upstream changes: $ git fetch upstream && git merge upstream/master
  • Check that the upstream changes do not re-introduce a hardcoded use of 'id'. If it does, submit a PR upstream to fix that.
  • Push changes to our remote: $ git push origin __id
  • Create release with packages: $ node release.js [GITHUB-TOKEN]
  • Afterwards, your git checkout will be dirty, there’s no need to keep those changes: $ git checkout .

Relay is a JavaScript framework for building data-driven React applications.

  • Declarative: Never again communicate with your data store using an imperative API. Simply declare your data requirements using GraphQL and let Relay figure out how and when to fetch your data.
  • Colocation: Queries live next to the views that rely on them, so you can easily reason about your app. Relay aggregates queries into efficient network requests to fetch only what you need.
  • Mutations: Relay lets you mutate data on the client and server using GraphQL mutations, and offers automatic data consistency, optimistic updates, and error handling.

Learn how to use Relay in your own project.

Example

The relay-examples repository contains an implementation of TodoMVC. To try it out:

git clone https://github.com/relayjs/relay-examples.git
cd relay-examples/todo && npm install
npm start

Then, just point your browser at http://localhost:3000.

Contribute

We actively welcome pull requests, learn how to contribute.

Users

We have a community-maintained list of people and projects using Relay in production.

License

Relay is BSD licensed. We also provide an additional patent grant.

relay's People

Contributors

yungsters avatar josephsavona avatar steveluscher avatar wincent avatar kassens avatar yuzhi avatar devknoll avatar gabelevi avatar cpojer avatar zpao avatar voideanvalue avatar jeffmo avatar xuorig avatar denvned avatar chentsulin avatar dschafer avatar taion avatar sampepose avatar alloy avatar globegitter avatar sophiebits avatar enaqx avatar michaelchum avatar vjeux avatar davidaurelio avatar skevy avatar kyleamathews avatar knowbody avatar genbit avatar fson avatar

Watchers

James Cloos avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.