urql-graphql/urql

The highly customizable and versatile GraphQL client with which you add on features like normalized caching as you grow.

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 29 minutes ago
Added to GitGenius on November 3rd, 2023
Created on January 24th, 2018
Open Issues & Pull Requests: 30 (+0)
Number of forks: 478
Total Stargazers: 8,966 (+0)
Total Subscribers: 83 (+0)

Repository Insights (GitGenius)

Median issue/PR response: 3.8 days
Mean response time: 224.3 days
90th percentile: 1142.4 days
Tracked items: 91

How this project is maintained

Around half of the issues opened in the past year never receive a reply. Only 14% of issues opened in the past year have been closed. Three people close 85% of everything that gets resolved.

Charts & Analytics

Fetching additional details & charts...

Issue Activity (beta)

Open issues: 12
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 989 days
Stale 30+ days: 12
Stale 90+ days: 12

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • bug 🐛 (166)
  • future 🔮 (121)
  • needs more info ✋ (68)
  • documentation 📖 (30)
  • duplicate ♊ (14)
  • won't fix 🛑 (11)
  • good first issue 🤩 (9)
  • help wanted ⛏️ (8)

Most active issues this week

No issue events were indexed in the last 7 days.

Detailed Description

urql is a highly customizable GraphQL client written in TypeScript that provides framework-agnostic helpers for building GraphQL-powered applications. The project is designed to scale from simple getting-started scenarios to complex applications, with a philosophy of starting with sensible defaults while allowing developers to customize behavior as their needs grow. The client supports multiple modern UI frameworks including React, Preact, Vue, Solid, and Svelte through a single package distribution.

The core architecture of urql centers on an "exchanges" system that enables full customization of client behavior. This exchange-based approach allows developers to compose and extend functionality modularly rather than being locked into a fixed feature set. The client ships with logical but simple default behavior including document caching out of the box. For applications requiring more sophisticated data management, urql offers normalized caching through the separate @urql/exchange-graphcache package, which enables handling of complex application state and cache management patterns.

The repository maintains connections with major open-source projects including Microsoft's VSCode and TypeScript repositories as well as the Rust language project through overlapping contributor networks.

The feature set includes built-in devtools browser extensions for debugging GraphQL operations, making development and troubleshooting more accessible. The project is actively maintained by the urql GraphQL team, originally founded by Formidable, and receives sponsorship from companies including BigCommerce, WunderGraph, The Guild, and BeatGig. The repository uses a changesets-based release process that allows for independent versioning of multiple packages within the monorepo structure. Documentation is comprehensive and organized into sections covering basics, architecture, advanced use cases, normalized caching specifics, and detailed API references, with all APIs additionally documented through TypeScript JSDoc comments for inline editor support.