{"id":13726519,"url":"https://github.com/hendrikniemann/purescript-graphql","last_synced_at":"2025-03-15T23:22:00.793Z","repository":{"id":58235103,"uuid":"143654589","full_name":"hendrikniemann/purescript-graphql","owner":"hendrikniemann","description":"End to End typesafe GraphQL with PureScript","archived":false,"fork":false,"pushed_at":"2024-04-14T12:26:24.000Z","size":293,"stargazers_count":95,"open_issues_count":12,"forks_count":10,"subscribers_count":8,"default_branch":"master","last_synced_at":"2024-04-14T14:04:06.876Z","etag":null,"topics":["api","graphql","purescript","typesafe"],"latest_commit_sha":null,"homepage":"https://hendrikniemann.github.io/purescript-graphql","language":"PureScript","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/hendrikniemann.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","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}},"created_at":"2018-08-05T23:21:07.000Z","updated_at":"2024-05-10T23:37:01.154Z","dependencies_parsed_at":"2024-05-10T23:46:59.906Z","dependency_job_id":null,"html_url":"https://github.com/hendrikniemann/purescript-graphql","commit_stats":{"total_commits":107,"total_committers":4,"mean_commits":26.75,"dds":"0.12149532710280375","last_synced_commit":"1be1dabb629a90056c0ca064550bee27d5836036"},"previous_names":[],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrikniemann%2Fpurescript-graphql","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrikniemann%2Fpurescript-graphql/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrikniemann%2Fpurescript-graphql/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/hendrikniemann%2Fpurescript-graphql/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/hendrikniemann","download_url":"https://codeload.github.com/hendrikniemann/purescript-graphql/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":243802944,"owners_count":20350316,"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":["api","graphql","purescript","typesafe"],"created_at":"2024-08-03T01:03:10.039Z","updated_at":"2025-03-15T23:22:00.769Z","avatar_url":"https://github.com/hendrikniemann.png","language":"PureScript","funding_links":[],"categories":["PureScript"],"sub_categories":[],"readme":"# Purescript GraphQL\n\n[![License](https://img.shields.io/github/license/hendrikniemann/purescript-graphql.svg)](https://github.com/hendrikniemann/purescript-graphql/blob/master/LICENSE)\n\nPureScript GraphQL is a [GraphQL](https://graphql.org) implementation written in PureScript. It features a powerful DSL that makes building GraphQL servers as typesafe as possible.\n\n\u003e ### 🚧 Full rewrite happening 🚧\n\u003e\n\u003e This is a complete rewrite of PureScript GraphQL. If you are looking for version 1 of PureScript GraphQL make sure to check out the [1.0.2 tag](https://github.com/hendrikniemann/purescript-graphql/tree/v1.0.2).\n\nTo follow the roadmap to version 2 check out the [milestone](https://github.com/hendrikniemann/purescript-graphql/milestone/1)\n\n## Getting started\n\nIf you are new to PureScript GraphQL I highly recommend to follow the [tutorial](https://hendrikniemann.github.io/purescript-graphql/). ~~If you know what you are doing you can simply install `purescript-graphql` with spago.~~ (Not in the package set yet, will be done as soon as beta is out)\n\n```\nspago install graphql\n```\n\n## Basic example\n\nThis code creates a simple schema with one query field.\nThe field takes one argument `name` and returns a string.\n\n```purescript\nmodule Main where\n\nimport Prelude\n\nimport Data.Argonaut (stringify)\nimport Data.Map as Map\nimport Effect (Effect)\nimport Effect.Console as Console\nimport GraphQL ((!\u003e), (.\u003e), (:\u003e), (?\u003e), graphql)\nimport GraphQL as GraphQL\n\nmain :: Effect Unit\nmain = do\n  result \u003c- graphql schema \"\"\"{ hello(name: \"world\") }\"\"\" Map.empty Nothing unit\n  Console.log $ stringify result -- {\"data\":{\"hello\":\"world\"}}\n\nschema :: GraphQL.Schema Effect Unit\nschema = GraphQL.Schema { query: queryType, mutation: Nothing }\n\nqueryType :: GraphQL.ObjectType (ReaderT String Effect) Unit\nqueryType =\n  GraphQL.objectType \"Query\"\n    :\u003e \"The root query type.\"\n    .\u003e GraphQL.field \"hello\" GraphQL.string\n      ?\u003e GraphQL.arg @\"name\" GraphQL.string\n      :\u003e \"A simple field that returns a greeting.\"\n      !\u003e (\\{ name } _ -\u003e pure $ \"Hello, \" \u003c\u003e name \u003c\u003e \"!\")\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendrikniemann%2Fpurescript-graphql","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fhendrikniemann%2Fpurescript-graphql","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fhendrikniemann%2Fpurescript-graphql/lists"}