-
Notifications
You must be signed in to change notification settings - Fork 1
ADR‐004: Integrating gql.tada for GraphQL Queries
Vlas edited this page Feb 9, 2024
·
1 revision
- Status: Approve
- Deciders: @kravalg, @TuranC, @vlas-pravsha
- Date: 2024-02-09
Technical Story: This decision focuses on enhancing developer experience and code maintainability by integrating gql.tada for managing GraphQL queries within our projects.
We're currently exploring options to improve our GraphQL development workflow. gql.tada emerges as a potential solution, offering type-safe GraphQL queries and fragments within the TypeScript environment. This ADR will evaluate its integration feasibility and potential impact on our project.
- Experience: Ease of writing and managing GraphQL queries.
- Code maintainability: Reusability and clarity of query logic.
- Type safety: Minimizing runtime errors and ensuring data integrity.
- Continue with current approach of manual string manipulation.
- Integrate a GraphQL client library without specific typing features.
- Integrate gql.tada for typed and component-agnostic queries.
Chosen option: "Integrate gql.tada," due to its ability to significantly improve developer experience, code maintainability, and type safety.
- Enhanced Developer Experience: Encourages writing type-safe queries, offers syntax highlighting and autocompletion, and promotes code reusability.
- Improved Code Maintainability: Separates query logic from components, leading to cleaner and more organized codebase.
- Reduced Runtime Errors: Enforces type safety, mitigating potential data access issues and improving application stability.
- Potential Migration Effort: Adapting existing queries to the new approach might require some initial effort.
- Good: Enforces type safety, reducing errors and improving data integrity.
- Good: Promotes code reusability and maintainability through component-agnostic queries.
- Good: Offers extensive developer tooling for improved productivity and clarity.
- Bad: Potential migration effort for adapting existing queries.
- gql.data: https://gql-tada.0no.co/
- GraphQL: https://graphql.org/
- Wiki page: https://github.com/VilnaCRM-Org/website/wiki