refactor!: rename project from Grephql to typedGql#69
Merged
Conversation
There was a problem hiding this comment.
Pull request overview
This PR completes a project rename from Grephql to typedGql / TypedGql across the codebase, aligning the OTP app name, Elixir namespaces, Mix task naming, and documentation/specs with the new project identity.
Changes:
- Renamed the OTP app to
:typed_gql, Elixir namespace toTypedGql, and updated the Mix task tomix typed_gql.download_schema. - Moved/renamed source and test paths from
grephqltotyped_gql, updating module references throughout. - Updated user-facing docs/specs/guides/examples and tooling config (
.formatter.exs, package metadata, NOTICE).
Reviewed changes
Copilot reviewed 131 out of 132 changed files in this pull request and generated no comments.
Show a summary per file
| File | Description |
|---|---|
| test/typed_structor/plugins/access_test.exs | Update test aliases to TypedGql.* modules |
| test/typed_gql/validator/rules/variables_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/values_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/operations_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/input_objects_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/fragments_test.exs | Rename validator rule tests/modules/structs to TypedGql.* |
| test/typed_gql/validator/rules/fields_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/directives_test.exs | Rename validator rule tests/modules/structs to TypedGql.* |
| test/typed_gql/validator/rules/deprecation_test.exs | Rename validator rule tests/modules to TypedGql.* |
| test/typed_gql/validator/rules/arguments_test.exs | Rename validator rule tests/modules/structs to TypedGql.* |
| test/typed_gql/validator/helpers_test.exs | Update validator helper tests to use TypedGql.* |
| test/typed_gql/validator/error_test.exs | Update validator error tests to TypedGql.* |
| test/typed_gql/validator_test.exs | Update validator integration tests to TypedGql.* |
| test/typed_gql/types/union_test.exs | Rename type tests to TypedGql.* |
| test/typed_gql/types/typename_test.exs | Rename type tests to TypedGql.* |
| test/typed_gql/types/path_segment_test.exs | Rename type tests to TypedGql.* |
| test/typed_gql/types/enum_test.exs | Rename type tests to TypedGql.* |
| test/typed_gql/types/date_time_test.exs | Rename type tests to TypedGql.* |
| test/typed_gql/type_mapper_test.exs | Update type-mapper tests/types to TypedGql.* |
| test/typed_gql/type_generator_test.exs | Update type generation tests and plugin references to TypedGql.* |
| test/typed_gql/sigil_test.exs | Update use and otp_app usage to TypedGql / :typed_gql |
| test/typed_gql/schema/parser_test.exs | Update schema parser tests to TypedGql.* |
| test/typed_gql/schema/loader_test.exs | Update schema loader tests and temp filename prefix |
| test/typed_gql/schema_test.exs | Update schema tests to TypedGql.* |
| test/typed_gql/result_test.exs | Update Result assigns key from :grephql to :typed_gql |
| test/typed_gql/response_decoder_test.exs | Update decoder tests to TypedGql.* |
| test/typed_gql/query_test.exs | Update query struct tests to TypedGql.* |
| test/typed_gql/printer_test.exs | Update printer tests to parse via TypedGql.Parser |
| test/typed_gql/parser_test.exs | Update parser tests to TypedGql.* |
| test/typed_gql/macros_test.exs | Update macros tests to TypedGql.* |
| test/typed_gql/lexer_test.exs | Update lexer tests to TypedGql.* |
| test/typed_gql/language_test.exs | Update language tests to TypedGql.* |
| test/typed_gql/input_type_generator_test.exs | Update input-type generation tests to TypedGql.* |
| test/typed_gql/generator_helpers_test.exs | Update generator helpers tests to TypedGql.* |
| test/typed_gql/generation/typespec_test.exs | Update typespec fixture module reference to TypedGql.* |
| test/typed_gql/generation/skip_include_test.exs | Update generation plugin tests to TypedGql.* |
| test/typed_gql/generation/schema_test.exs | Update generation schema tests to TypedGql.* |
| test/typed_gql/generation/plugin_test.exs | Update generation plugin tests to TypedGql.* |
| test/typed_gql/formatter_test.exs | Update formatter tests to TypedGql.* |
| test/typed_gql/error_test.exs | Update error struct tests to TypedGql.* |
| test/typed_gql/deprecation_warning_test.exs | Update compile-time deprecation warning tests to TypedGql.* |
| test/typed_gql/defgql_test.exs | Update defgql tests and stored query attribute to @typed_gql_query |
| test/typed_gql/deffragment_test.exs | Update deffragment tests and stored query attribute to @typed_gql_query |
| test/typed_gql/client_module_test.exs | Update client-module config API to __typed_gql_config__/0 and plugin references |
| test/typed_gql_test.exs | Update top-level execution tests to TypedGql / :typed_gql |
| test/support/union/schemas.ex | Rename union support schemas to TypedGql.* |
| test/support/typespec_fixture.ex | Rename typespec fixture client module to TypedGql.* |
| test/support/test_helpers.ex | Rename test helpers module to TypedGql.* |
| test/support/schema_helper.ex | Rename schema helper module and struct references to TypedGql.* |
| test/support/response/schemas.ex | Rename response support schemas to TypedGql.* |
| test/mix/tasks/typed_gql.download_schema_test.exs | Rename Mix task test module/alias to TypedGql task |
| test/integration_test.exs | Rename integration test module/imports to TypedGql.* |
| src/typed_gql_parser.yrl | Update parser AST struct module prefix to Elixir.TypedGql.Language.* |
| spec/glossary.md | Update glossary references (formatter, task name, error struct) to TypedGql |
| spec/client/features/type_generation.feature | Update feature text from Grephql to TypedGql (built-in scalar type) |
| spec/client/features/query_definition.feature | Update formatter plugin, execute rule, and result/error struct names |
| spec/client/features/mix_tasks.feature | Update feature text for mix typed_gql.download_schema |
| spec/client/features/compile_time_validation.feature | Update feature text for built-in Ecto Type mention |
| spec/client/features/client_module.feature | Update feature text from use Grephql to use TypedGql |
| spec/client/decisions/BDR-0006-ecto-type-for-scalars.md | Update decision doc references to TypedGql.* |
| spec/client/decisions/BDR-0005-fork-absinthe-parser.md | Update decision doc references to TypedGql |
| spec/client/decisions/BDR-0003-single-client-module.md | Update decision doc references/config examples to :typed_gql / use TypedGql |
| README.md | Rename project branding, installation/config/formatter/mix-task docs to typed_gql/TypedGql |
| NOTICE | Update project name and adapted file paths under new namespace/layout |
| mix.exs | Rename MixProject module/app/name/links and update docs/dialyzer/test coverage settings |
| lib/typed_gql/validator/traversal.ex | Rename validator traversal module and typespec references to TypedGql.* |
| lib/typed_gql/validator/rules/variables.ex | Rename module and update internal struct/module references to TypedGql.* |
| lib/typed_gql/validator/rules/values.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/operations.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/input_objects.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/fragments.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/fields.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/directives.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/deprecation.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/rules/arguments.ex | Rename module and update internal references to TypedGql.* |
| lib/typed_gql/validator/helpers.ex | Rename module and update internal references/typespecs to TypedGql.* |
| lib/typed_gql/validator/error.ex | Rename validator error module to TypedGql.* |
| lib/typed_gql/validator/context.ex | Rename validator context module and aliases to TypedGql.* |
| lib/typed_gql/validator.ex | Rename validator entrypoint module and aliases to TypedGql.* |
| lib/typed_gql/types/union.ex | Rename union Ecto type module to TypedGql.* |
| lib/typed_gql/types/typename.ex | Rename typename Ecto type module and docs to TypedGql.* |
| lib/typed_gql/types/path_segment.ex | Rename path segment Ecto type module to TypedGql.* |
| lib/typed_gql/types/enum.ex | Rename enum Ecto type module and docs to TypedGql.* |
| lib/typed_gql/types/date_time.ex | Rename DateTime Ecto type module to TypedGql.* |
| lib/typed_gql/type_mapper.ex | Rename type mapper module and built-in type references to TypedGql.* |
| lib/typed_gql/type_generator.ex | Rename type generator module and plugin/type references to TypedGql.* |
| lib/typed_gql/schema/type.ex | Rename schema type module and aliases to TypedGql.* |
| lib/typed_gql/schema/type_ref.ex | Rename schema type ref module to TypedGql.* |
| lib/typed_gql/schema/parser.ex | Rename schema parser module and JSON decode call to TypedGql.JSON |
| lib/typed_gql/schema/loader.ex | Rename schema loader module to TypedGql.* |
| lib/typed_gql/schema/input_value.ex | Rename schema input value module to TypedGql.* |
| lib/typed_gql/schema/field.ex | Rename schema field module to TypedGql.* |
| lib/typed_gql/schema/enum_value.ex | Rename schema enum value module to TypedGql.* |
| lib/typed_gql/schema/directive.ex | Rename schema directive module to TypedGql.* |
| lib/typed_gql/schema.ex | Rename schema module and typespec references to TypedGql.* |
| lib/typed_gql/result.ex | Rename Result module and private assigns key to :typed_gql |
| lib/typed_gql/response_decoder.ex | Rename response decoder module/docs to TypedGql.* |
| lib/typed_gql/query.ex | Rename Query module to TypedGql.* |
| lib/typed_gql/printer.ex | Rename printer module and typespecs to TypedGql.* |
| lib/typed_gql/parser.ex | Rename parser module and update lexer/parser module calls to typed_gql |
| lib/typed_gql/macros.ex | Rename macros module and update compile-time attributes to @typed_gql_* |
| lib/typed_gql/lexer.ex | Rename lexer module to TypedGql.* |
| lib/typed_gql/language/values.ex | Rename language value AST modules to TypedGql.* |
| lib/typed_gql/language/type_references.ex | Rename language type reference AST modules to TypedGql.* |
| lib/typed_gql/language/type_definitions.ex | Add/rename GraphQL type-definition AST modules under TypedGql.Language.* |
| lib/typed_gql/language/schema_definitions.ex | Add/rename schema-definition AST modules under TypedGql.Language.* |
| lib/typed_gql/language/operations.ex | Add/rename operation/selection AST modules under TypedGql.Language.* |
| lib/typed_gql/language.ex | Add TypedGql.Language type unions and Document/Source structs |
| lib/typed_gql/json.ex | Rename JSON behaviour module and config key to :typed_gql |
| lib/typed_gql/input_type_generator.ex | Rename input type generator module and references to TypedGql.* |
| lib/typed_gql/generator_helpers.ex | Rename generator helpers module and typespec references to TypedGql.* |
| lib/typed_gql/generation/schema.ex | Rename generation schema module and docs to TypedGql.* |
| lib/typed_gql/generation/plugins/skip_include.ex | Rename built-in generation plugin module to TypedGql.* |
| lib/typed_gql/generation/plugin.ex | Rename generation plugin behaviour module to TypedGql.* |
| lib/typed_gql/generation/field.ex | Rename generation field module and aliases to TypedGql.* |
| lib/typed_gql/generation/context.ex | Rename generation context module and docs to TypedGql.* |
| lib/typed_gql/formatter.ex | Rename formatter plugin module and internal parser/printer calls to TypedGql.* |
| lib/typed_gql/error.ex | Rename GraphQL error struct module and path type reference to TypedGql.* |
| lib/typed_gql/embedded_schema.ex | Rename embedded schema base module and import to TypedGql.* |
| lib/typed_gql/compiler.ex | Rename compiler module and update validation error formatting references |
| lib/typed_gql.ex | Rename top-level API module to TypedGql, config fn, and error messages |
| lib/mix/tasks/typed_gql.download_schema.ex | Rename Mix task module/docs and update JSON/schema parser calls |
| guides/extending-requests-with-prepare-req.md | Update guide references to TypedGql.* and assigns helper |
| examples/shopify_client.exs | Update example client to TypedGql / :typed_gql |
| examples/github_client.exs | Update example client to TypedGql / :typed_gql |
| CLAUDE.md | Update repo guidance references from Grephql to TypedGql |
| .gitignore | Update ignored hex tarball prefix to typed_gql-*.tar |
| .formatter.exs | Rename locals var and formatter plugin reference to TypedGql.Formatter |
💡 Add Copilot custom instructions for smarter, more guided reviews. Learn how to get started.
fahchen
added a commit
that referenced
this pull request
May 23, 2026
## Summary Bump the version from 0.10.1 to 0.11.0 — a minor bump under the pre-1.0 convention for the breaking `Grephql` → `typedGql` rename shipped in #69. ## Changes - **`mix.exs`**: `@version` `0.10.1` → `0.11.0`. - **`README.md`**: install snippet `{:typed_gql, "~> 0.10.1"}` → `"~> 0.11.0"`. ## Technical Details **Breaking Changes:** - None in this PR. The breaking rename it tags landed in #69; this only stamps the release. **Dependencies:** - None. ## Review Focus - `@version` drives `mix.exs` `version:` and docs `source_ref: "v#{@Version}"`; no other hardcoded package-version refs exist in guides, examples, or CI. - `mix precommit` passes: compile (warnings-as-errors), credo `--strict` (no issues), dialyzer (0 errors), `654 tests, 0 failures`. Co-authored-by: Claude Opus 4.7 <noreply@anthropic.com>
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Summary
Rename the project from Grephql to typedGql for a name that reflects its purpose — a typed, compile-time GraphQL client. The change spans the Hex package, module namespace, file paths, docs, and the GitHub repository.
Changes
typed_gql(snake_case) for the Hex package, OTP app, config key, file paths, andmix typed_gql.*task prefix;TypedGql(PascalCase) for the module namespace and publicuse TypedGqlAPI;typedGqlas the display/brand name (README H1,NOTICE, ExDocname:inmix.exs).lib/grephql/**→lib/typed_gql/**,src/grephql_parser.yrl→src/typed_gql_parser.yrl,lib/mix/tasks/grephql.download_schema.ex→typed_gql.download_schema.ex, andtest/grephql/**→test/typed_gql/**..formatter.exs, andmix.exs(app,source_url, package, docs groups, plt path).fahchen/typed_gql.Technical Details
Breaking Changes:
:grephql→:typed_gql— consumers update theirmix.exsdependency.Grephql→TypedGql— consumers updateuse Grephql→use TypedGql.mix grephql.download_schema→mix typed_gql.download_schema.Dependencies:
Review Focus
grephql/Grephqlin text, filenames, or git index — the only occurrence is the intentional "formerly Grephql" note in the README H1.name: "typedGql"inmix.exsis the intended brand casing (lowercaset), deliberately distinct from the moduleTypedGqland packagetyped_gql.mix compile --warnings-as-errors --force(zero warnings),mix credo --strict(no issues),mix test(654 tests, 0 failures).