Skip to content

refactor!: rename project from Grephql to typedGql#69

Merged
fahchen merged 1 commit into
mainfrom
codex/rename-typed-gql
May 23, 2026
Merged

refactor!: rename project from Grephql to typedGql#69
fahchen merged 1 commit into
mainfrom
codex/rename-typed-gql

Conversation

@fahchen

@fahchen fahchen commented May 23, 2026

Copy link
Copy Markdown
Owner

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

  • Naming tiers: typed_gql (snake_case) for the Hex package, OTP app, config key, file paths, and mix typed_gql.* task prefix; TypedGql (PascalCase) for the module namespace and public use TypedGql API; typedGql as the display/brand name (README H1, NOTICE, ExDoc name: in mix.exs).
  • Source tree: move lib/grephql/**lib/typed_gql/**, src/grephql_parser.yrlsrc/typed_gql_parser.yrl, lib/mix/tasks/grephql.download_schema.extyped_gql.download_schema.ex, and test/grephql/**test/typed_gql/**.
  • Docs & metadata: update README, guides, examples, specs (glossary + BDRs), .formatter.exs, and mix.exs (app, source_url, package, docs groups, plt path).
  • Repository: rename the GitHub repo to fahchen/typed_gql.

Technical Details

Breaking Changes:

  • Hex package renamed :grephql:typed_gql — consumers update their mix.exs dependency.
  • Public module/API renamed GrephqlTypedGql — consumers update use Grephqluse TypedGql.
  • Mix task renamed mix grephql.download_schemamix typed_gql.download_schema.

Dependencies:

  • None.

Review Focus

  • No residual grephql/Grephql in text, filenames, or git index — the only occurrence is the intentional "formerly Grephql" note in the README H1.
  • name: "typedGql" in mix.exs is the intended brand casing (lowercase t), deliberately distinct from the module TypedGql and package typed_gql.
  • Validation: mix compile --warnings-as-errors --force (zero warnings), mix credo --strict (no issues), mix test (654 tests, 0 failures).

@fahchen fahchen marked this pull request as ready for review May 23, 2026 02:39
@fahchen fahchen requested a review from Copilot May 23, 2026 02:39

Copilot AI left a comment

Copy link
Copy Markdown

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

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 to TypedGql, and updated the Mix task to mix typed_gql.download_schema.
  • Moved/renamed source and test paths from grephql to typed_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 fahchen changed the title [codex] rename project to typedGql Rename project to typedGql May 23, 2026
@fahchen fahchen changed the title Rename project to typedGql Rename project from Grephql to typedGql May 23, 2026
@fahchen fahchen changed the title Rename project from Grephql to typedGql refactor!: rename project from Grephql to typedGql May 23, 2026
@fahchen fahchen merged commit cab0519 into main May 23, 2026
9 checks passed
@fahchen fahchen deleted the codex/rename-typed-gql branch May 23, 2026 02:53
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>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants