Movatterモバイル変換


[0]ホーム

URL:


Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!

License

NotificationsYou must be signed in to change notification settings

graphile/crystal

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

GitHub SponsorsPatreon sponsor buttonDiscord chat roomFollow

At Graphile we love GraphQL so much we named ourself for our love of it! Thisrepository houses many of the Graphile packages that relate to GraphQL (orrelate to the packages that relate to GraphQL, or relate to those package...);the two headline projects areGrafast andPostGraphile but there'smany other packages, a fair few of which can be used independently - see belowfor more details.

Grafast: A cutting-edge planning and execution engine forGraphQL.js ─ use this as a drop-in replacement for theexecute method fromGraphQL.js and by moving from traditional resolvers to Grafast "planresolvers" you'll be able to leverage the declarative nature of GraphQL requeststo execute your business logic in the most efficient way, leading to reducedserver load and happier customers. Use this if you're building your own GraphQLschemas and want the best performance and efficiency without having to put muchextra effort in.

PostGraphile: An incredibly low-effort way to build a wellstructured and high-performance GraphQL API backed primarily by a PostgreSQLdatabase. Our main focusses are performance, automatic best-practices andcustomisability/extensibility. Use this if you have a PostgreSQL database andyou want to use it as the "source of truth" for an auto-generated GraphQL API(which you can still make significant changes to).NOTE: thanks tographile-export you can also use this as a starting point for an API thatyou then manage yourself.

➡️ ForPostGraphile V4 seethelegacy branch

Project summaries

Here's a rough breakdown of the main packages:

  • grafast - standalone cutting-edge planning and execution engine forGraphQL; see above for full description.
  • graphile-export - a package that can (under the right circumstances)export an in-memory dynamically-constructed GraphQL schema to raw JavaScriptsource code that can be imported and executed
  • jest-serializer-graphql-schema - a simple Jest serializer thatunderstands GraphQL schemas and thus does not fill snapshots with\"\"\"etc.
  • graphile-config - a module that handles the plugins, presets andconfiguration files for Graphile software - a universal configuration layer.
  • graphile-build - a system for building a GraphQL.js schema from"plugins", particularly useful for auto-generated GraphQL APIs (e.g.PostGraphile uses this) but also useful for hand-rolled schemas that have alot of modular but widely-used concerns such as connections, naming, etc.
    • graphile-build-pg - plugins forgraphile-build that understand@dataplan/pg (i.e. PostgreSQL) services and can generate types, relations,mutations, etc for these database resources.
  • @graphile/lru - anobsessively performant least-recently-used cache(possibly the fastest general purpose LRU cache in Node.js) with aridiculously tiny feature set; you almost certainly want @isaacs'lru-cacheinstead of this.
  • pg-sql2 - a library for building highly dynamic SQL-injection-proofPostgreSQL queries using tagged template literals.
  • pg-introspection - a strongly typed introspection library forPostgreSQL, generated from the PostgreSQL documentation to provide up-to-datedetails of each introspection field.
  • postgraphile - pulls most of the above technologies together; seeabove for full description.

Crowd-funded open-source software

To help us develop this software sustainably, we ask all individuals andbusinesses that use it to help support its ongoing maintenance and developmentvia sponsorship.

And please give some love to our featured sponsors 🤩:

The Guild
The Guild
*
Steelhead
Steelhead
*

* Sponsors the entire Graphile suite

Why the "crystal" monorepo?

Originally what is now Grafast (and was previously DataPlanner) was known bythe codename "Graphile Crystal." This lead us to use the 🔮 emoji to representthe project in secret before we announced it publicly, as a codeword for thosein the know. Now that Grafast is the name for our planning and executionengine and we needed a name for the monorepo that wasn't too GraphQL specific(since there are things in here that aren't strictly related to GraphQL) and wefigured that calling it the Crystal monorepo would honour our original nicknamefor the project. Rumours that the name was inspired by the maintainers'crystal wedding anniversaryare greatly exaggerated.

About

🔮 Graphile's Crystal Monorepo; home to Grafast, PostGraphile, pg-introspection, pg-sql2 and much more!

Topics

Resources

License

Code of conduct

Contributing

Security policy

Stars

Watchers

Forks

Sponsor this project

 

Packages

No packages published

[8]ページ先頭

©2009-2025 Movatter.jp