···4040 label: Validations
4141 description: Before submitting the issue, please make sure you do the following
4242 options:
4343- - label: I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which [GitHub Discussions](https://github.com/FormidableLabs/urql/discussions) should be used
4343+ - label: I can confirm that this is a bug report, and not a feature request, RFC, question, or discussion, for which [GitHub Discussions](https://github.com/urql-graphql/urql/discussions) should be used
4444 required: true
4545 - label: Read the [docs](https://formidable.com/open-source/urql/docs/).
4646 required: true
4747- - label: Follow our [Code of Conduct](https://github.com/FormidableLabs/urql/blob/main/CODE_OF_CONDUCT.md)
4747+ - label: Follow our [Code of Conduct](https://github.com/urql-graphql/urql/blob/main/CODE_OF_CONDUCT.md)
4848 required: true
+1-1
.github/ISSUE_TEMPLATE/config.yml
···11blank_issues_enabled: true
22contact_links:
33 - name: Ask a question
44- url: https://github.com/FormidableLabs/urql/discussions
44+ url: https://github.com/urql-graphql/urql/discussions
55 about: Ask questions and discuss with other community members
66
+3-3
CODE_OF_CONDUCT.md
···5757Instances of abusive, harassing, or otherwise unacceptable behavior may be
5858reported by contacting the project team:
59596060-- lauren.eastridge@formidable.com
6161-- phil.pluckthun@formidable.com
6262-- Twitter DMs: @_philpl
6060+- phil@0no.co
6161+- grant.sander@formidable.com
6262+- jovi@preact.dev
63636464All complaints will be reviewed and investigated and will result in a response that
6565is deemed necessary and appropriate to the circumstances. The project team is
+6-7
CONTRIBUTING.md
···1717first. We're also happy to discuss and help you open a PR and get your changes
1818in!
19192020-- If you have a question, try [creating a GitHub Discussions thread.](https://github.com/FormidableLabs/urql/discussions/new)
2121-- If you think you've found a bug, [open a new issue.](https://github.com/FormidableLabs/urql/issues/new/choose)
2222-- or, if you found a bug you'd like to fix, [open a PR.](https://github.com/FormidableLabs/urql/compare)
2323-- If you'd like to propose a change [open an RFC issue.](https://github.com/FormidableLabs/urql/issues/new?labels=future+%F0%9F%94%AE&template=RFC.md&title=RFC%3A+Your+Proposal) You can read more about the RFC process [below](#how-do-i-propose-changes).
2020+- If you have a question, try [creating a GitHub Discussions thread.](https://github.com/urql-graphql/urql/discussions/new)
2121+- If you think you've found a bug, [open a new issue.](https://github.com/urql-graphql/urql/issues/new/choose)
2222+- or, if you found a bug you'd like to fix, [open a PR.](https://github.com/urql-graphql/urql/compare)
2323+- If you'd like to propose a change [open an RFC issue.](https://github.com/urql-graphql/urql/issues/new?labels=future+%F0%9F%94%AE&template=RFC.md&title=RFC%3A+Your+Proposal) You can read more about the RFC process [below](#how-do-i-propose-changes).
24242525### What are the issue conventions?
2626···3535We follow an **RFC proposal process**. This allows anyone to propose a new feature or a change, and
3636allows us to communicate our current planned features or changes, so any technical discussion,
3737progress, or upcoming changes are always **documented transparently.** You can [find the RFC
3838-template](https://github.com/FormidableLabs/urql/issues/new/choose) in our issue creator.
3838+template](https://github.com/urql-graphql/urql/issues/new/choose) in our issue creator.
39394040-All RFCs are added to the [RFC Lifecycle board.](https://github.com/FormidableLabs/urql/projects/3)
4040+All RFCs are added to the [RFC Lifecycle board.](https://github.com/urql-graphql/urql/projects/3)
4141This board tracks where an RFC stands and who's working on it until it's completed. Bugs and PRs may
4242end up on there too if no corresponding RFC exists or was necessary. RFCs are typically first added
4343to "In Discussion" until we believe they're ready to be worked on. This step may either be short,
···248248249249```sh
250250npm access grant read-write urql:developers [package]
251251-npm access grant read-write formidable:formidable [package]
252251```
+2-1
LICENSE
···11MIT License
2233-Copyright (c) 2018–2020 Formidable
33+Copyright (c) 2018–2020 Formidable,
44+Copyright (c) urql GraphQL Team and other contributors
4556Permission is hereby granted, free of charge, to any person obtaining a copy
67of this software and associated documentation files (the "Software"), to deal
+13-12
README.md
···10101111 <br />
1212 <br />
1313- <a href="https://circleci.com/gh/FormidableLabs/urql">
1414- <img alt="CI Status" src="https://github.com/FormidableLabs/urql/actions/workflows/ci.yml/badge.svg?branch=main" />
1515- </a>
1616- <a href="https://github.com/FormidableLabs/urql#maintenance-status">
1717- <img alt="Maintenance Status" src="https://badgen.net/badge/maintenance/active/green" />
1313+ <a href="https://github.com/urql-graphql/urql/actions/workflows/ci.yml">
1414+ <img alt="CI Status" src="https://github.com/urql-graphql/urql/actions/workflows/ci.yml/badge.svg?branch=main" />
1815 </a>
1916 <a href="https://www.npmjs.com/package/urql">
2017 <img alt="Weekly downloads" src="https://badgen.net/npm/dw/urql?color=blue" />
···2219 <a href="https://formidable.com/open-source/urql/docs/">
2320 <img alt="Visit docs" src="https://badgen.net/badge/docs/visit site/orange" />
2421 </a>
2525- <a href="https://github.com/FormidableLabs/urql/discussions">
2222+ <a href="https://github.com/urql-graphql/urql/discussions">
2623 <img alt="GitHub Discussions: Chat With Us" src="https://badgen.net/badge/discussions/chat%20with%20us/purple" />
2724 </a>
2825 <br />
···3734- 🌱 Normalized caching via [`@urql/exchange-graphcache`](https://formidable.com/open-source/urql/docs/graphcache)
3835- 🔬 Easy debugging with the [`urql` devtools browser extensions](https://formidable.com/open-source/urql/docs/advanced/debugging/)
39364040-`urql` is a GraphQL client that exposes a set of helpers for several frameworks. It's built to be highly customisable and versatile so you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients.
3737+`urql` is a GraphQL client that exposes a set of helpers for several frameworks. It's built to be highly customisable and versatile so
3838+you can take it from getting started with your first GraphQL project all the way to building complex apps and experimenting with GraphQL clients.
41394242-While GraphQL is an elegant protocol and schema language, client libraries today typically come with large API footprints. We aim to create something more lightweight instead.
4040+**📃 For more information, [check out the docs](https://formidable.com/open-source/urql/docs/).**
43414442## Installation
4543···4947npm install --save urql graphql
5048```
51495050+## 🙌 Contributing
5151+5252+**The urql project was founded by [Formidable](https://formidable.com/) and is actively developed
5353+by the urql GraphQL team.**
5454+5555+If you'd like to get involved, [check out our Contributor's guide.](https://github.com/urql-graphql/urql/blob/main/CONTRIBUTING.md)
5656+5257## 📃 [Documentation](https://formidable.com/open-source/urql/docs/)
53585459The documentation contains everything you need to know about `urql`, and contains several sections in order of importance
···6166- **[API](https://formidable.com/open-source/urql/docs/api/)** — the API documentation for each individual package.
62676368_You can find the raw markdown files inside this repository's `docs` folder._
6464-6565-## Maintenance Status
6666-6767-**Active:** Formidable is actively working on this project, and we expect to continue work on this project for the foreseeable future. Bug reports, feature requests and pull requests are welcome.
68696970<img width="100%" src="docs/assets/urql-spoiler.png" />
+1-1
docs/advanced/README.md
···1515 Persisted Queries and File Uploads using the two respective packages.
1616- [**Server-side Rendering**](./server-side-rendering.md) guides us through how to set up server-side rendering and rehydration.
1717- [**Debugging**](./debugging.md) shows us the [`urql`
1818- devtools](https://github.com/FormidableLabs/urql-devtools/) and how to add our own debug events
1818+ devtools](https://github.com/urql-graphql/urql-devtools/) and how to add our own debug events
1919 for its event view.
2020- [**Retrying operations**](./retry-operations.md) shows the `retryExchange` which allows you to retry operations when they've failed.
2121- [**Authentication**](./authentication.md) describes how to implement authentication using the `authExchange`
+2-2
docs/advanced/debugging.md
···10101111## Devtools
12121313-It's easiest to debug `urql` with the [`urql` devtools.](https://github.com/FormidableLabs/urql-devtools/)
1313+It's easiest to debug `urql` with the [`urql` devtools.](https://github.com/urql-graphql/urql-devtools/)
14141515It offers tools to inspect internal ["Debug Events"](#debug-events) as they happen, to explore data
1616as your app is seeing it, and to quickly trigger GraphQL queries.
17171818[For instructions on how to set up the devtools, check out `@urql/devtools`'s readme in its
1919-repository.](https://github.com/FormidableLabs/urql-devtools)
1919+repository.](https://github.com/urql-graphql/urql-devtools)
20202121
2222
+1-1
docs/api/auth-exchange.md
···101101}
102102```
103103104104-[Read more examples in the documentation given here.](https://github.com/FormidableLabs/urql/tree/main/exchanges/auth#quick-start-guide)
104104+[Read more examples in the documentation given here.](https://github.com/urql-graphql/urql/tree/main/exchanges/auth#quick-start-guide)
+1-1
docs/architecture.md
···150150- [`requestPolicyExchange`](./api/request-policy-exchange.md): Automatically upgrades `cache-only` and `cache-first` operations to `cache-and-network` after a given amount of time.
151151- [`refocusExchange`](./api/refocus-exchange.md): Tracks open queries and refetches them
152152 when the window regains focus.
153153-- `devtoolsExchange`: Provides the ability to use the [urql-devtools](https://github.com/FormidableLabs/urql-devtools)
153153+- `devtoolsExchange`: Provides the ability to use the [urql-devtools](https://github.com/urql-graphql/urql-devtools)
154154155155We can even swap out our [document cache](./basics/document-caching.md), which is implemented by
156156`@urql/core`'s `cacheExchange`, with `urql`'s [normalized cache,
+5-5
docs/basics/ui-patterns.md
···5566# UI Patterns
7788-> This page is incomplete. You can help us expanding it by suggesting more patterns or asking us about common problems you're facing on [GitHub Discussions](https://github.com/FormidableLabs/urql/discussions).
88+> This page is incomplete. You can help us expanding it by suggesting more patterns or asking us about common problems you're facing on [GitHub Discussions](https://github.com/urql-graphql/urql/discussions).
991010Generally, `urql`'s API surface is small and compact. Some common problems that we're facing when building apps may look like they're not a built-in feature, however, there are several patterns that even a lean UI can support.
1111This page is a collection of common UI patterns and problems we may face with GraphQL and how we can tackle them in
···87878888Here we keep an array of all `variables` we've encountered and use them to render their
8989respective `result` page. This only rerenders the additional page rather than having a long
9090-list that constantly changes. [You can find a full code example of this pattern in our example folder on the topic of Graphcache pagination.](https://github.com/FormidableLabs/urql/tree/main/examples/with-graphcache-pagination)
9090+list that constantly changes. [You can find a full code example of this pattern in our example folder on the topic of Graphcache pagination.](https://github.com/urql-graphql/urql/tree/main/examples/with-graphcache-pagination)
91919292-We also do not need to use our normalized cache to achieve this. As long as we're able to split individual lists up into chunks across components, we can also solve this problem entirely in UI code. [Read our example code on how to achieve this.](https://github.com/FormidableLabs/urql/tree/main/examples/with-pagination)
9292+We also do not need to use our normalized cache to achieve this. As long as we're able to split individual lists up into chunks across components, we can also solve this problem entirely in UI code. [Read our example code on how to achieve this.](https://github.com/urql-graphql/urql/tree/main/examples/with-pagination)
93939494## Prefetching data
9595···161161In urql we leverage our extensibility pattern named "Exchanges" to manipulate the way
162162data comes in and goes out of our client.
163163164164-- [Stale time](https://github.com/FormidableLabs/urql/tree/main/exchanges/request-policy)
165165-- [Focus](https://github.com/FormidableLabs/urql/tree/main/exchanges/refocus)
164164+- [Stale time](https://github.com/urql-graphql/urql/tree/main/exchanges/request-policy)
165165+- [Focus](https://github.com/urql-graphql/urql/tree/main/exchanges/refocus)
166166167167When we want to introduce one of these patterns we add the package and add it to the `exchanges`
168168property of our `Client`. In the case of these two we'll have to add it before the cache
+23-34
docs/comparison.md
···35353636### Core Features
37373838-| | urql | Apollo | Relay |
3939-| ------------------------------------------ | ----------------------------------- | --------------------------------------------- | ------------------------------ |
4040-| Extensible on a network level | ✅ Exchanges | ✅ Links | ✅ Network Layers |
4141-| Extensible on a cache / control flow level | ✅ Exchanges | 🛑 | 🛑 |
4242-| Base Bundle Size | **5.9kB** (7.1kB with bindings) | 32.9kB | 27.7kB (34.1kB with bindings) |
4343-| Devtools | ✅ | ✅ | ✅ |
4444-| Subscriptions | ✅ | ✅ | ✅ |
4545-| Client-side Rehydration | ✅ | ✅ | ✅ |
4646-| Polled Queries | 🔶 | ✅ | ✅ |
4747-| Lazy Queries | ✅ | ✅ | ✅ |
4848-| Stale while Revalidate / Cache and Network | ✅ | ✅ | ✅ |
4949-| Focus Refetching | ✅ `@urql/exchange-refocus` | 🛑 | 🛑 |
5050-| Stale Time Configuration | ✅ `@urql/exchange-request-policy` | ✅ | 🛑 |
5151-| Persisted Queries | ✅ `@urql/exchange-persisted-fetch` | ✅ `apollo-link-persisted-queries` | ✅ |
5252-| Batched Queries | 🛑 | ✅ `apollo-link-batch-http` | 🟡 `react-relay-network-layer` |
5353-| Live Queries | 🛑 | 🛑 | ✅ |
5454-| Defer & Stream Directives | ✅ | ✅ / 🛑 (`@defer` is supported in >=3.7.0, `@stream` is not yet supported) | 🟡 (unreleased) |
5555-| Switching to `GET` method | ✅ | ✅ | 🟡 `react-relay-network-layer` |
5656-| File Uploads | ✅ `@urql/exchange-multipart-fetch` | 🟡 `apollo-upload-client` | 🛑 |
5757-| Retrying Failed Queries | ✅ `@urql/exchange-retry` | ✅ `apollo-link-retry` | ✅ `DefaultNetworkLayer` |
5858-| Easy Authentication Flows | ✅ `@urql/exchange-auth` | 🛑 (no docs for refresh-based authentication) | 🟡 `react-relay-network-layer` |
5959-| Automatic Refetch after Mutation | ✅ (with document cache) | 🛑 | ✅ |
3838+| | urql | Apollo | Relay |
3939+| ------------------------------------------ | ----------------------------------- | -------------------------------------------------------------------------- | ------------------------------ |
4040+| Extensible on a network level | ✅ Exchanges | ✅ Links | ✅ Network Layers |
4141+| Extensible on a cache / control flow level | ✅ Exchanges | 🛑 | 🛑 |
4242+| Base Bundle Size | **5.9kB** (7.1kB with bindings) | 32.9kB | 27.7kB (34.1kB with bindings) |
4343+| Devtools | ✅ | ✅ | ✅ |
4444+| Subscriptions | ✅ | ✅ | ✅ |
4545+| Client-side Rehydration | ✅ | ✅ | ✅ |
4646+| Polled Queries | 🔶 | ✅ | ✅ |
4747+| Lazy Queries | ✅ | ✅ | ✅ |
4848+| Stale while Revalidate / Cache and Network | ✅ | ✅ | ✅ |
4949+| Focus Refetching | ✅ `@urql/exchange-refocus` | 🛑 | 🛑 |
5050+| Stale Time Configuration | ✅ `@urql/exchange-request-policy` | ✅ | 🛑 |
5151+| Persisted Queries | ✅ `@urql/exchange-persisted-fetch` | ✅ `apollo-link-persisted-queries` | ✅ |
5252+| Batched Queries | 🛑 | ✅ `apollo-link-batch-http` | 🟡 `react-relay-network-layer` |
5353+| Live Queries | 🛑 | 🛑 | ✅ |
5454+| Defer & Stream Directives | ✅ | ✅ / 🛑 (`@defer` is supported in >=3.7.0, `@stream` is not yet supported) | 🟡 (unreleased) |
5555+| Switching to `GET` method | ✅ | ✅ | 🟡 `react-relay-network-layer` |
5656+| File Uploads | ✅ `@urql/exchange-multipart-fetch` | 🟡 `apollo-upload-client` | 🛑 |
5757+| Retrying Failed Queries | ✅ `@urql/exchange-retry` | ✅ `apollo-link-retry` | ✅ `DefaultNetworkLayer` |
5858+| Easy Authentication Flows | ✅ `@urql/exchange-auth` | 🛑 (no docs for refresh-based authentication) | 🟡 `react-relay-network-layer` |
5959+| Automatic Refetch after Mutation | ✅ (with document cache) | 🛑 | ✅ |
60606161Typically these are all additional addon features that you may expect from a GraphQL client, no
6262matter which framework you use it with. It's worth mentioning that all three clients support some
···73737474One thing of note is our lack of support for batched queries in `urql`. We explicitly decided not to
7575support this in our [first-party
7676-packages](https://github.com/FormidableLabs/urql/issues/800#issuecomment-626342821) as the benefits
7676+packages](https://github.com/urql-graphql/urql/issues/800#issuecomment-626342821) as the benefits
7777are not present anymore in most cases with HTTP/2 and established patterns by Relay that recommend
7878hoisting all necessary data requirements to a page-wide query.
7979···9191| Vue Bindings | ✅ | 🟡 `vue-apollo` | 🟡 `vue-relay` |
9292| Angular Bindings | 🛑 | 🟡 `apollo-angular` | 🟡 `relay-angular` |
9393| Initial Data on mount | ✅ | ✅ | ✅ |
9494-9595-Interestingly all three libraries heavily support React as they were all started from the React
9696-community outwards, but Apollo and Vue benefit from community bindings for different frameworks a
9797-lot. `urql`'s community is still growing and while that means it won't see large projects as
9898-Apollo's `vue-apollo` in the short term, we're aiming for first-party support for these bindings.
9999-100100-This is a common criticism that we hear about `urql`, and it's true that our community isn't as
101101-extensive, but we attempt to lean on good and well funded maintenance at Formidable, active
102102-investment, and good documentation. So you may have to evaluate whether you can get any questions
103103-answered quickly enough on [GitHub Discussions](https://github.com/FormidableLabs/urql/discussions)
104104-for instance.
1059410695### Caching and State
10796
+1-1
docs/graphcache/errors.md
···370370warning. This may happen because you've used the default reserved names `Mutation` or `Subscription`
371371for entities rather than as special Operation Root Types, and haven't specified this in the schema.
372372Hence this issue can often be fixed by either enabling
373373-[Schema Awareness](https://formidable.com/open-source/urql/docs/graphcache/schema-awareness/) or by
373373+[Schema Awareness](./schema-awareness.md) or by
374374adding a `schema` definition to your GraphQL Schema like so:
375375376376```graphql
+3-3
docs/graphcache/offline.md
···91919292For React Native, we can use the async storage package `@urql/storage-rn`.
93939494-Before installing the [library](https://github.com/FormidableLabs/urql/tree/main/packages/storage-rn), ensure you have installed the necessary peer dependencies:
9494+Before installing the [library](https://github.com/urql-graphql/urql/tree/main/packages/storage-rn), ensure you have installed the necessary peer dependencies:
9595+9596- NetInfo ([RN](https://github.com/react-native-netinfo/react-native-netinfo) | [Expo](https://docs.expo.dev/versions/latest/sdk/netinfo/)) and
9697- AsyncStorage ([RN](https://react-native-async-storage.github.io/async-storage/docs/install) | [Expo](https://docs.expo.dev/versions/v42.0.0/sdk/async-storage/)).
9798···103104104105You can then create the custom storage and use it in the offline exchange:
105106106106-107107```js
108108import { makeAsyncStorage } from '@urql/storage-rn';
109109110110const storage = makeAsyncStorage({
111111 dataKey: 'graphcache-data', // The AsyncStorage key used for the data (defaults to graphcache-data)
112112 metadataKey: 'graphcache-metadata', // The AsyncStorage key used for the metadata (defaults to graphcache-metadata)
113113- maxAge: 7 // How long to persist the data in storage (defaults to 7 days)
113113+ maxAge: 7, // How long to persist the data in storage (defaults to 7 days)
114114});
115115```
116116
+12-21
exchanges/auth/README.md
···2233<p align="center"><strong>An exchange for managing authentication in <code>urql</code></strong></p>
4455-`@urql/exchange-auth` is an exchange for the [`urql`](https://github.com/FormidableLabs/urql) GraphQL client which helps handle auth headers and token refresh
55+`@urql/exchange-auth` is an exchange for the [`urql`](https://github.com/urql-graphql/urql) GraphQL client which helps handle auth headers and token refresh
6677## Quick Start Guide
88···2727 dedupExchange,
2828 cacheExchange,
2929 authExchange({
3030- addAuthToOperation: ({
3131- authState,
3232- operation,
3333- }) => {
3030+ addAuthToOperation: ({ authState, operation }) => {
3431 // the token isn't in the auth state, return the operation without changes
3532 if (!authState || !authState.token) {
3633 return operation;
···4239 ? operation.context.fetchOptions()
4340 : operation.context.fetchOptions || {};
44414545- return makeOperation(
4646- operation.kind,
4747- operation,
4848- {
4949- ...operation.context,
5050- fetchOptions: {
5151- ...fetchOptions,
5252- headers: {
5353- ...fetchOptions.headers,
5454- "Authorization": authState.token,
5555- },
4242+ return makeOperation(operation.kind, operation, {
4343+ ...operation.context,
4444+ fetchOptions: {
4545+ ...fetchOptions,
4646+ headers: {
4747+ ...fetchOptions.headers,
4848+ Authorization: authState.token,
5649 },
5750 },
5858- );
5151+ });
5952 },
6053 willAuthError: ({ authState }) => {
6154 if (!authState) return true;
···6457 },
6558 didAuthError: ({ error }) => {
6659 // check if the error was an auth error (this can be implemented in various ways, e.g. 401 or a special error code)
6767- return error.graphQLErrors.some(
6868- e => e.extensions?.code === 'FORBIDDEN',
6969- );
6060+ return error.graphQLErrors.some(e => e.extensions?.code === 'FORBIDDEN');
7061 },
7162 getAuth: async ({ authState, mutate }) => {
7263 // for initial launch, fetch the auth state from storage (local storage, async storage etc)
···112103 return null;
113104 },
114105 }),
115115- fetchExchange
106106+ fetchExchange,
116107 ],
117108});
118109```
···2233<p align="center"><strong>An exchange for setting operation context in <code>urql</code></strong></p>
4455-`@urql/exchange-context` is an exchange for the [`urql`](https://github.com/FormidableLabs/urql) GraphQL client which can set the operation context both synchronously as well as asynchronously
55+`@urql/exchange-context` is an exchange for the [`urql`](https://github.com/urql-graphql/urql) GraphQL client which can set the operation context both synchronously as well as asynchronously
6677## Quick Start Guide
88···2626 dedupExchange,
2727 cacheExchange,
2828 contextExchange({
2929- getContext: async (operation) => {
2929+ getContext: async operation => {
3030 const token = await getToken();
3131- return { ...operation.context, headers: { authorization: token } }
3131+ return { ...operation.context, headers: { authorization: token } };
3232 },
3333 }),
3434 fetchExchange,
···2233<p align="center"><strong>An exchange for executing queries against a local schema in <code>urql</code></strong></p>
4455-`@urql/exchange-execute` is an exchange for the [`urql`](https://github.com/FormidableLabs/urql) GraphQL client which executes queries against a local schema.
55+`@urql/exchange-execute` is an exchange for the [`urql`](https://github.com/urql-graphql/urql) GraphQL client which executes queries against a local schema.
66This is a replacement for the default _fetchExchange_ which sends queries over HTTP/S to be executed remotely.
7788## Quick Start Guide
···55 <a href="https://npmjs.com/package/next-urql">
66 <img alt="NPM Version" src="https://img.shields.io/npm/v/next-urql.svg" />
77 </a>
88- <a href="https://travis-ci.com/FormidableLabs/next-urql">
99- <img alt="Test Status" src="https://api.travis-ci.com/FormidableLabs/next-urql.svg?branch=master" />
1010- </a>
118</div>
1291310## `next-urql`
···3027npm install --save next-urql react-is urql
3128```
32293333-`react-is` helps to support server-side `Suspense` with `react-ssr-prepass`. This assumes you have followed the basic installation steps for `urql` [here](https://github.com/FormidableLabs/urql#installation).
3030+`react-is` helps to support server-side `Suspense` with `react-ssr-prepass`. This assumes you have followed the basic installation steps for `urql` [here](https://github.com/urql-graphql/urql#installation).
34313532Note that if you are using Next before v9.4 you'll need to polyfill fetch, this can be
3633done through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).
···225222```javascript
226223import { initUrqlClient } from 'next-urql';
227224228228-export const getServerSideProps = async (ctx) => {
229229- const client = initUrqlClient({
230230- url: '/graphql',
231231- }, false /* set to false to disable suspense */);
225225+export const getServerSideProps = async ctx => {
226226+ const client = initUrqlClient(
227227+ {
228228+ url: '/graphql',
229229+ },
230230+ false /* set to false to disable suspense */
231231+ );
232232233233 const result = await client.query(QUERY, {}).toPromise();
234234235235 return {
236236- props: { data: result.data }
236236+ props: { data: result.data },
237237 };
238238};
239239```
···11# urql-docs
2233## 1.0.0
44+45### Major Changes
5666-- **Goodbye IE11!** 👋 This major release removes support for IE11. All code that is shipped will be transpiled much less and will _not_ be ES5-compatible anymore, by [@kitten](https://github.com/kitten) (See [#2504](https://github.com/FormidableLabs/urql/pull/2504))
77+- **Goodbye IE11!** 👋 This major release removes support for IE11. All code that is shipped will be transpiled much less and will _not_ be ES5-compatible anymore, by [@kitten](https://github.com/kitten) (See [#2504](https://github.com/urql-graphql/urql/pull/2504))