Giter Club home page Giter Club logo

graphql-hack's Introduction

GraphQL Hack

This project aims to be a port of graphql/graphql-js written in Hack. Build Status

Reasoning

There already exists a PHP port at webonyx/graphql-php, this port will be different in that it tries to be idiomatic as a Hack port. That means it will use Hack collections whenever possible, but more importantly, like the original JavaScript implementation, it can support asynchronous execution, which will allow one to use a Hack port (not sure if it exists, yet, but it should be easy to create) of facebook/dataloader to implement efficient fetching, caching of data.

I intend to create this port in such a way that it will be easy for me to continue keeping it up to date with the original JavaScript implementation. I will port all the original tests as well. The hope is that, once this port is finished and the JavaScript implementation keeps changing, I can watch the changes and apply them in this implementation as well.

Status

  • graphql/language - Almost all of this module is ported. With exception of Visitor::visitInParallel and Visitor::visitWithTypeInfo. This means that it is possible to lex and parse the GraphQL language and it is possible to pretty print GraphQL back out again.
  • graphql/type - This will be the next in line. This module the one responsible for defining a GraphQL schema.
  • graphql/language : missing pieces - Implement the remaining visitor methods described above.
  • graphql/validation - Implement the validation rules as per the GraphQL spec.
  • graphql/execution - Implement the execution logic to actually execute a GraphQL query.

There might be pieces missing in the above mentioned plan, I will add them as I discover them. Like stated earlier, I intend this to be a complete port of graphql-js.

graphql-hack's People

Contributors

kastermester avatar

Stargazers

 avatar João Marins avatar Turadg Aleahmad avatar Michael Alexander avatar Zhao Lei avatar

Watchers

Mikkel Schmidt avatar James Cloos avatar  avatar

graphql-hack's Issues

Any updates on this?

This is a lovely project and I would love to see it made useable. I have project where I intend to use GraphQL and seems like you already have a good start. Is there any estimate when you'll be able to work on this again.
I'll be able to contribute if you're interested.

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.