{"id":21834276,"url":"https://github.com/delfes/hodur-graphql-gen","last_synced_at":"2026-04-15T07:40:18.093Z","repository":{"id":62432351,"uuid":"160300293","full_name":"delfes/hodur-graphql-gen","owner":"delfes","description":"hodur-graphql-gen is a tool for generating full queries for testing purposes.","archived":false,"fork":false,"pushed_at":"2020-02-13T15:52:52.000Z","size":15,"stargazers_count":1,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2026-02-21T02:26:30.380Z","etag":null,"topics":["clojure","graphql","test"],"latest_commit_sha":null,"homepage":"","language":"Clojure","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/delfes.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}},"created_at":"2018-12-04T05:05:51.000Z","updated_at":"2020-02-13T15:52:54.000Z","dependencies_parsed_at":"2022-11-01T20:45:41.326Z","dependency_job_id":null,"html_url":"https://github.com/delfes/hodur-graphql-gen","commit_stats":null,"previous_names":[],"tags_count":9,"template":false,"template_full_name":null,"purl":"pkg:github/delfes/hodur-graphql-gen","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delfes%2Fhodur-graphql-gen","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delfes%2Fhodur-graphql-gen/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delfes%2Fhodur-graphql-gen/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delfes%2Fhodur-graphql-gen/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/delfes","download_url":"https://codeload.github.com/delfes/hodur-graphql-gen/tar.gz/refs/heads/master","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/delfes%2Fhodur-graphql-gen/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":31831849,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-04-15T07:17:56.427Z","status":"ssl_error","status_checked_at":"2026-04-15T07:17:30.007Z","response_time":63,"last_error":"SSL_read: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"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":["clojure","graphql","test"],"created_at":"2024-11-27T20:09:44.380Z","updated_at":"2026-04-15T07:40:18.050Z","avatar_url":"https://github.com/delfes.png","language":"Clojure","funding_links":[],"categories":[],"sub_categories":[],"readme":"# hodur-graphql-gen\nhodur-graphql-gen is a tool for generating full queries for testing purposes.\nIt uses model generated from [Hodur](https://github.com/hodur-org/hodur-engine),\nmaking it integrated into project model domain.\n\n### Getting started\n\nAdd `hodur-engine` and `hodur-graphql-gen` dependencies in your `deps.edn` file:\n```\n  {:deps\n   {hodur/engine             {:mvn/version \"0.1.6\"}\n    delfes/hodur-graphql-gen {:mvn/version \"0.5.0\"}}}\n```\n\nRequire them:\n```clojure\n(require '[hodur-engine.core :as hodur]\n         '[hodur-graphql-gen.core :as generator])\n```\n\nUsing Hodur to generate our GraphQL model, for instance:\n```clojure\n(def meta-db (hodur/init-schema\n              '[^:lacinia/tag\n                default\n\n                ^:lacinia/query\n                QueryRoot\n                [^UserQueries users]\n\n                UserQueries\n                [^User\n                 findUser [^String namePattern]]\n                 \n                User\n                [^ID id\n                 ^String firstName\n                 ^String lastName]]))\n```\n\nNow we get a full query with:\n```clojure\n(generator/generate-full-query meta-db)\n```\nWhich generates:\n```graphql\nfragment fragUser on User {\n  id\n  firstName\n  lastName\n}\n\nfragment fragUserQueries on UserQueries {\n  findUser(namePattern: $findUser_namePattern) {\n    ...fragUser\n  }\n}\n\nquery ($findUser_namePattern: String!) {\n  users {\n    ...fragUserQueries\n  }\n}\n```\n\nFor selecting a specific node, we may pass a sequence of fields, for instance:\n```clojure\n(generator/generate-full-query meta-db [\"users\" \"findUser\"])\n```\n\nMutations require a different method:\n```clojure\n(generator/generate-full-mutation meta-db \"setUserInformation\")\n```\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelfes%2Fhodur-graphql-gen","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdelfes%2Fhodur-graphql-gen","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdelfes%2Fhodur-graphql-gen/lists"}