graphql-public-schema-filter
graphql-spec
graphql-public-schema-filter | graphql-spec | |
---|---|---|
8 | 37 | |
52 | 14,230 | |
- | 0.2% | |
4.2 | 5.8 | |
5 days ago | 29 days ago | |
TypeScript | Shell | |
MIT License | - |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
graphql-public-schema-filter
- Public and Private GQL APIs pointing to same Unified graph?
-
Keeping parts of your GraphQL schema hidden from Introspection
We actually built the following package, @n1ru4l/graphql-public-schema-filter which solves the problem stated within the blog post in a similar way (by filtering an existing schema into a subset of the original schema).
-
Authorization by entities
I am using this technique in one of my projects where we have a public API that is a subset of the internal API. I open sourced the library for doing that: https://github.com/n1ru4l/graphql-public-schema-filter
-
Ideas for implementing admin authentication for only a few mutations?
I built something similar that is "metaframework"-agnostic https://github.com/n1ru4l/graphql-public-schema-filter. Using this method has its benefits and drawbacks. If you simply public and internal part of the schema it can work pretty well. We use it for hiding the internal API from the public customer facing integration API. It is definetly easier than makntaining two seperate GraphQL schemas. However, if you want full inteospection capabilities doing this can be confusing as the introspection query operation result is different based on the authorization header which moght be weird if you are using tools such as code generators, as you now have to do it for two different schemas.
-
When to use multiple endpoints in GraphQL
While building an GraphQL API that powers web applications we introduced a public customer-facing API. Instead of building two separate endpoints we chose to serve a different schema based on the authorization header. Furthermore, requests that do not provide an customer kntegration authorization header are only allowed to execute persisted operations. That way we somehow avoided having multiple HTTP routr endpoints. Instead of building two schemas from scratch and because the public schema is basically a filtered down version of the full graph we decided to filter down the graph using directive annotations on the schema SDL. I open sourced rhe JavaScript library for doing that (which is based upon graphql-tools). The dynamic schema selection based on the authorization header is done with Envelop
-
Any GraphQL issues the community would like to be solved?
graphql-public-schema-filter: This library allows you to filter down you big graphql schema into a smaller subgraph. I have been using this for filtering our big production schema down into a public api schema that our customers use. So they don't have access to all the internal types, that are only for our internal web applications. The great thing about this is that we can just serve the correct schema based on the authorization headers as API users and Web Application tokens differ. If you have one big monolithic GraphQL server this is a great way of doing this and we are quite happy with it.
-
Introducing Envelop - The GraphQL Plugin System
Public schema filter - for creating a simple GraphQL schema that can be used for public APIs based on existing GraphQL schema.
- I built a small library for filtering a GraphQL schema graph into a subgraph
graphql-spec
-
Show HN: REST Alternative to GraphQL and tRPC
GraphQL's first draft release was 8 years ago. [1]
It's first non-draft release was 5 years ago. [2]
It's first release under a community foundation was 2 years ago. [3]
[1] https://spec.graphql.org/July2015/
[2] https://github.com/graphql/graphql-spec/releases/tag/June201...
[3] https://github.com/graphql/graphql-spec/releases/tag/October...
-
Intro to PostGraphile V5 (Part 3): Introspection and Abstraction
I'm a big believer in GraphQL (in fact, at time of writing I'm #2 contributor to the GraphQL spec itself) so it pains me that a tool I built doesn't always have easy ways to achieve the "versionless schema" design that GraphQL encourages when it comes to making significant breaking changes to your underlying database tables. (Personally, I think you should aim for your database schema itself to be versionless, but this is not always possible.) Of course you can build your PostGraphile schema over views instead of tables, but views have their own problems that I won't go into here…
-
Migrating Netflix to GraphQL Safely
I created a proposal for Map type but didn’t make it through.
https://github.com/graphql/graphql-spec/pull/888
The issue with GraphQL is it tries to appease too many masters.
Similar to jsx. The language isn’t evolving.
The good thing is the spec is (almost) frozen, so there’s many implementations, the bad is it can encompass the flexibility of json schema can do.
-
GraphQL Live Queries with live directive
Longer thread - Subscriptions RFC: Are Subscriptions and Live Queries the same thing?
https://github.com/graphql/graphql-spec/issues/284
-
Ask HN: Tutorials Written with Heavy Dependencies
You’ve probably figured it out by now, but for others who may be in a similar position; GraphQL is a specification (with various implementations) and you can read up on the spec here: https://spec.graphql.org/
-
GraphQL object schemas - how to represent (and query?) Graph (hierarchical objects) in GraphQL?
If you're asking whether GraphQL supports anonymous objects that can be arbitrarily nested then no, it doesn't.
- Union for an input to a mutation arg
-
Thanks graphql, I hate it.
show this feature request some love https://github.com/graphql/graphql-spec/issues/174
-
Deprecation Notice: GraphQL for Packages
* Performance: It's just hard to track down what makes an operation slow. The waterfall nature of resolvers is a big contributor
[1] https://github.com/graphql/graphql-spec/issues/488
-
GraphQL error handling to the max with Typescript, codegen and fp-ts
:::note GraphQL Union is available for Types only, not for Inputs. However, the oneOf directive will bridge the gap in the future.
What are some alternatives?
nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷
apollo-server - 🌍 Spec-compliant and production ready JavaScript GraphQL server that lets you develop in a schema-first way. Built for Express, Connect, Hapi, Koa, and more.
Hasura - Blazing fast, instant realtime GraphQL APIs on your DB with fine grained access control, also trigger webhooks on database events.
envelop - Envelop is a lightweight library allowing developers to easily develop, share, collaborate and extend their GraphQL execution layer. Envelop is the missing GraphQL plugin system.
graphql-ws - Coherent, zero-dependency, lazy, simple, GraphQL over WebSocket Protocol compliant server and client.
graphql-jit - GraphQL execution using a JIT compiler
Neo4j - Graphs for Everyone
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
graphql-shield - 🛡 A GraphQL tool to ease the creation of permission layer.
galactagraph-boilerplate - 🚀 The best&fastest way to create and manage your World-Dominating Federated GraphQL API
gRPC - The C based gRPC (C++, Python, Ruby, Objective-C, PHP, C#)