{"id":13517805,"url":"https://github.com/graphile/graphile-engine","last_synced_at":"2025-05-14T11:09:20.774Z","repository":{"id":32981811,"uuid":"95087951","full_name":"graphile/graphile-engine","owner":"graphile","description":"Monorepo home of graphile-build, graphile-build-pg, graphile-utils, postgraphile-core and graphql-parse-resolve-info. Build a high-performance easily-extensible GraphQL schema by combining plugins!","archived":false,"fork":false,"pushed_at":"2025-04-27T10:18:19.000Z","size":8799,"stargazers_count":762,"open_issues_count":17,"forks_count":131,"subscribers_count":10,"default_branch":"v4","last_synced_at":"2025-05-07T01:04:27.559Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"https://www.graphile.org/","language":"JavaScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/graphile.png","metadata":{"files":{"readme":"README.md","changelog":"CHANGELOG.md","contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":"Benjie"}},"created_at":"2017-06-22T07:36:53.000Z","updated_at":"2025-04-29T17:18:23.000Z","dependencies_parsed_at":"2023-09-27T19:31:36.957Z","dependency_job_id":"0931b528-ec55-4402-b85f-a7fc0711fd71","html_url":"https://github.com/graphile/graphile-engine","commit_stats":{"total_commits":1070,"total_committers":60,"mean_commits":"17.833333333333332","dds":"0.14392523364485976","last_synced_commit":"29fa78a91df5d9865420fee429918cf3f7010c1e"},"previous_names":["graphile/graphile-build","benjie/graphql-build"],"tags_count":188,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphile%2Fgraphile-engine","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphile%2Fgraphile-engine/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphile%2Fgraphile-engine/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/graphile%2Fgraphile-engine/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/graphile","download_url":"https://codeload.github.com/graphile/graphile-engine/tar.gz/refs/heads/v4","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254129489,"owners_count":22019628,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-01T05:01:37.566Z","updated_at":"2025-05-14T11:09:20.761Z","avatar_url":"https://github.com/graphile.png","language":"JavaScript","funding_links":["https://github.com/sponsors/Benjie","https://patreon.com/benjie"],"categories":["JavaScript"],"sub_categories":[],"readme":"\u003cimg width=\"100\" height=\"100\" title=\"Graphile logo\" src=\"https://cdn.rawgit.com/graphile/graphile.github.io/a6225f8c3052df5c276ecef28aeb0cade1aec16a/logos/graphile.optimized.svg\" /\u003e\n\n# Graphile Engine\n\n\u003cspan class=\"badge-patreon\"\u003e\u003ca href=\"https://patreon.com/benjie\" title=\"Support Graphile development on Patreon\"\u003e\u003cimg src=\"https://img.shields.io/badge/sponsor-via%20Patreon-orange.svg\" alt=\"Patreon sponsor button\" /\u003e\u003c/a\u003e\u003c/span\u003e\n[![Discord chat room](https://img.shields.io/discord/489127045289476126.svg)](http://discord.gg/graphile)\n[![Package on npm](https://img.shields.io/npm/v/graphile-build.svg?style=flat)](https://www.npmjs.com/package/graphile-build)\n![MIT license](https://img.shields.io/npm/l/graphile-build.svg)\n[![Follow](https://img.shields.io/badge/twitter-@GraphileHQ-blue.svg)](https://twitter.com/GraphileHQ)\n\nGraphile Engine enables you to build high-performance easily-extensible GraphQL schemas by combining plugins.\n\n**NOTE**: _You might be looking for [PostGraphile](https://github.com/graphile/postgraphile) which is Graphile Engine applied to a PostgreSQL database._\n\n\u003c!-- SPONSORS_BEGIN --\u003e\n\n## Crowd-funded open-source software\n\nTo help us develop this software sustainably, we ask all individuals and\nbusinesses that use it to help support its ongoing maintenance and development\nvia sponsorship.\n\n### [Click here to find out more about sponsors and sponsorship.](https://www.graphile.org/sponsor/)\n\nAnd please give some love to our featured sponsors 🤩:\n\n\u003ctable\u003e\u003ctr\u003e\n\u003ctd align=\"center\"\u003e\u003ca href=\"https://www.the-guild.dev/\"\u003e\u003cimg src=\"https://graphile.org/images/sponsors/theguild.png\" width=\"90\" height=\"90\" alt=\"The Guild\" /\u003e\u003cbr /\u003eThe Guild\u003c/a\u003e *\u003c/td\u003e\n\u003ctd align=\"center\"\u003e\u003ca href=\"https://gosteelhead.com/\"\u003e\u003cimg src=\"https://graphile.org/images/sponsors/steelhead.svg\" width=\"90\" height=\"90\" alt=\"Steelhead\" /\u003e\u003cbr /\u003eSteelhead\u003c/a\u003e *\u003c/td\u003e\n\u003c/tr\u003e\u003c/table\u003e\n\n\u003cem\u003e\\* Sponsors the entire Graphile suite\u003c/em\u003e\n\n\u003c!-- SPONSORS_END --\u003e\n\n## Monorepo contents\n\n**[graphile-build][]**: The core of Graphile Engine: a plugin system that\nenables you to build a GraphQL schema out of plugins with advanced performance\ncapabilities enabled via GraphQL look-ahead functionality.\n\n**[graphile-build-pg][]**: A selection of graphile-build plugins related to\nPostgreSQL: schema introspection, generation of fields and types for all\ntables, computed columns, query procedures, etc - if there's certain features\nyou don't want, simply don't use that plugin!\n\n**[graphile-utils][]**: A collection of helper utilities to make writing\ngraphile-build plugins easier.\n\n**[postgraphile-core][]**: Contains the GraphQL schema functionality of\n[PostGraphile][], does not contain the web layer.\n\n**[graphql-parse-resolve-info][]**: Parses a `GraphQLResolveInfo` object into a\ntree of the fields that are being requested to enable optimisations to your\nGraphQL schema (e.g. we use it in `graphile-build-pg` to determine which fields\nare required from the SQL database).\n\n## Brief History\n\nProof of concept was built by [@Benjie](https://twitter.com/benjie) in 2017,\ngrowing out of a need for greater performance, easier extensibility and\ngreater customisation in [PostGraphQL][postgraphile]. Over the next year\nthanks to the input of the community and ongoing development and testing,\nGraphile Engine has matured into the production-ready system it is today.\n\n## Development\n\nBelow is a quick-start, for more detailed instructions, please [see the\nCONTRIBUTING.md documentation in PostGraphile](https://github.com/graphile/postgraphile/blob/master/CONTRIBUTING.md).\n\n```bash\nyarn\nyarn lerna bootstrap\nyarn watch\n```\n\n`yarn watch` will keep monitoring and compiling the babel files, so open\nanother terminal to run the tests (Note: your PostgreSQL server must be\n[configured for logical decoding](packages/lds/README.md#postgresql-configuration)):\n\n```bash\ncreatedb graphileengine_test\nexport TEST_DATABASE_URL=\"postgres:///graphileengine_test\"\nyarn lerna run test\n```\n\nIf the above succeeds, you're good to go! If not, please try again after\nrunning `yarn install --force` and always feel free to reach out via [our\ndiscord chat](http://discord.gg/graphile) on the #core-development channel.\n\n### Working with Docker\n\nIf you want to work in a Docker environment you can follow\n[the instructions on the wiki](https://github.com/graphile/graphile-engine/wiki/Development-with-docker-compose).\n\n[postgraphile]: https://github.com/graphile/postgraphile\n[lerna]: https://github.com/lerna/lerna\n[graphile-build]: packages/graphile-build/\n[graphile-build-pg]: packages/graphile-build-pg/\n[graphile-utils]: packages/graphile-utils/\n[postgraphile-core]: packages/postgraphile-core/\n[graphql-parse-resolve-info]: packages/graphql-parse-resolve-info/\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphile%2Fgraphile-engine","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgraphile%2Fgraphile-engine","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgraphile%2Fgraphile-engine/lists"}