graphql-public-schema-filter
graphql-js
graphql-public-schema-filter | graphql-js | |
---|---|---|
8 | 26 | |
52 | 19,926 | |
- | 0.2% | |
4.2 | 7.4 | |
5 days ago | 2 days ago | |
TypeScript | TypeScript | |
MIT License | 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-js
- Understanding TTFB Latency in DJango - Seems absurdly slow after DB optimizations even locally
-
Diving into Open-Source Development
To begin, I'm going to start with GraphQL. This repo is a JS-specific implementation for GraphQL, for which projects written in JS/TS can utilize to build an API for their web app. The reason why I chose this project is because I've always been intrigued by how GraphQl challenges the standard way of building an API, a.k.a REST APIs. I have very little knowledge about this project since I've never used it before at work or for my personal projects. I only have theoretical knowledge about it which I gained from watching YouTube videos. It also uses TypeScript which is fascinating because type safety is very important when building software considering it cleans out a lot of bugs early on before the software is shipped.
-
How to define schema once and have server code and client code typed? [Typescript]
When I asked this in StackOverflow over a year ago I reached the solution of using graphql + graphql-zeus.
-
Uncovering Frontend Data Aggregation: Our Encounter with BFF, GraphQL, and Hydration
In short, we chose not to pursue GraphQL due to some limitations with union types and a lack of support for maps. This is further detailed in this link: limitations.
-
Exploring the Most Commonly Used Folder Names in Popular NPM Packages
benchmarks: This directory contains benchmark tests that help measure the performance of the package's code, these tests can be are very useful when experimenting with performance optimizations, and to ensure no slowdowns are introduced between releases. Example from graphql.
-
Apollo federated graph is not presenting its schema to graphiql with fields sorted lexicographically
GraphiQL (and many other tools) relies on introspection query which AFAIK is not guaranteed to have any specific order (and many libs don't support it). Apollo Server is built on top of graphql-js and it relies on it for this functionality.
-
What are popular ORMs for Node.js?
GraphQL.js + Knex.js + knex-types (TypeScript generator for Knex)
-
Announcing GraphQL Yoga 2.0!
Yoga v2 supports some experimental GraphQL features such as @defer and @stream, allowing you to get a taste of the future of GraphQL (with compatible clients such as URQL).
-
11 JavaScript Examples to Source Code That Reveal Design Patterns In Use
Visitors are used for many reasons like extensibility, plugins, printing an entire schema somewhere, etc.
-
How not to learn GraphQL
support for @defer and @stream
What are some alternatives?
nestjs-graphql - GraphQL (TypeScript) module for Nest framework (node.js) 🍷
mercurius - Implement GraphQL servers and gateways with Fastify
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.
graphql-jit - GraphQL execution using a JIT compiler
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.
fastify-websocket - basic websocket support for fastify
graphql-helix - A highly evolved GraphQL HTTP Server 🧬
graphql-subscriptions - :newspaper: A small module that implements GraphQL subscriptions for Node.js
galactagraph-boilerplate - 🚀 The best&fastest way to create and manage your World-Dominating Federated GraphQL API
graphql-code-generator - A tool for generating code based on a GraphQL schema and GraphQL operations (query/mutation/subscription), with flexible support for custom plugins.