Comparing version 0.2.0 to 0.2.1
@@ -8,4 +8,17 @@ # Changelog | ||
## [0.2.0] - 2019-12-08 | ||
## [0.2.1] - 2019-12-17 | ||
This release fixes a regression introduced in 0.2.0 involving circular structures created bt `withUrqlClient`'s `getInitialProps` method. | ||
### Fixed | ||
- Amend circular structure in `withUrqlClient` caused by returning `ctx` in `getInitialProps`. PR by @parkerziegler [here](https://github.com/FormidableLabs/next-urql/pull/7). | ||
- Fix dependency resolution issues in the `example` project. Update `example` documentation. PR by @parkerziegler [here](https://github.com/FormidableLabs/next-urql/pull/7). | ||
### Diff | ||
https://github.com/FormidableLabs/next-urql/compare/v0.2.0...v0.2.1 | ||
## [0.2.0] - 2019-12-08 [Deprecated] | ||
This release adds support for accessing Next's context object, `ctx`, to instantiate your `urql` Client instance. | ||
@@ -12,0 +25,0 @@ |
@@ -1,1 +0,1 @@ | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=e(require("react-ssr-prepass")),n=require("urql");function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(r,!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var u,c=e[Symbol.iterator]();!(n=(u=c.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw o}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}require("isomorphic-unfetch");var a=null,l=null;function f(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return[n.dedupExchange,n.cacheExchange,e,n.fetchExchange]},r="undefined"==typeof window;return!r&&a||(l=n.ssrExchange({initialState:arguments.length>2?arguments[2]:void 0}),a=n.createClient(u({},e,{suspense:r,exchanges:t(l)}))),[a,l]}exports.withUrqlClient=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return[n.dedupExchange,n.cacheExchange,e,n.fetchExchange]};return function(o){var a=function(r){var u="function"==typeof e?e(r.ctx):e,c=t.useMemo((function(){return r.urqlClient||f(u,i,r.urqlState)[0]}),[]);return t.createElement(n.Provider,{value:c},t.createElement(o,Object.assign({},r,{urqlClient:c})))};return a.getInitialProps=function(n){try{var i=function(){if("undefined"!=typeof window)return l;var i=c(f("function"==typeof e?e(n):e),2),o=i[1];return Promise.resolve(r(t.createElement(a,{pageProps:u({},l,{urqlClient:i[0]})}))).then((function(){var e=o&&o.extractData();return u({},l,{urqlState:e,ctx:n})}))},a=n.AppTree,l={},s=function(){if(o.getInitialProps)return Promise.resolve(o.getInitialProps(n)).then((function(e){l=e}))}();return Promise.resolve(s&&s.then?s.then(i):i())}catch(e){return Promise.reject(e)}},a}}; | ||
"use strict";function e(e){return e&&"object"==typeof e&&"default"in e?e.default:e}Object.defineProperty(exports,"__esModule",{value:!0});var t=e(require("react")),r=e(require("react-ssr-prepass")),n=require("urql");function i(e,t,r){return t in e?Object.defineProperty(e,t,{value:r,enumerable:!0,configurable:!0,writable:!0}):e[t]=r,e}function o(e,t){var r=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),r.push.apply(r,n)}return r}function u(e){for(var t=1;t<arguments.length;t++){var r=null!=arguments[t]?arguments[t]:{};t%2?o(r,!0).forEach((function(t){i(e,t,r[t])})):Object.getOwnPropertyDescriptors?Object.defineProperties(e,Object.getOwnPropertyDescriptors(r)):o(r).forEach((function(t){Object.defineProperty(e,t,Object.getOwnPropertyDescriptor(r,t))}))}return e}function c(e,t){if(null==e)return{};var r,n,i=function(e,t){if(null==e)return{};var r,n,i={},o=Object.keys(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||(i[r]=e[r]);return i}(e,t);if(Object.getOwnPropertySymbols){var o=Object.getOwnPropertySymbols(e);for(n=0;n<o.length;n++)t.indexOf(r=o[n])>=0||Object.prototype.propertyIsEnumerable.call(e,r)&&(i[r]=e[r])}return i}function l(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if(Symbol.iterator in Object(e)||"[object Arguments]"===Object.prototype.toString.call(e)){var r=[],n=!0,i=!1,o=void 0;try{for(var u,c=e[Symbol.iterator]();!(n=(u=c.next()).done)&&(r.push(u.value),!t||r.length!==t);n=!0);}catch(e){i=!0,o=e}finally{try{n||null==c.return||c.return()}finally{if(i)throw o}}return r}}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance")}()}require("isomorphic-unfetch");var a=null,f=null;function s(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return[n.dedupExchange,n.cacheExchange,e,n.fetchExchange]},r="undefined"==typeof window;return!r&&a||(f=n.ssrExchange({initialState:arguments.length>2?arguments[2]:void 0}),a=n.createClient(u({},e,{suspense:r,exchanges:t(f)}))),[a,f]}exports.withUrqlClient=function(e){var i=arguments.length>1&&void 0!==arguments[1]?arguments[1]:function(e){return[n.dedupExchange,n.cacheExchange,e,n.fetchExchange]};return function(o){var a=function(e){var r=e.urqlClient,u=e.urqlState,l=e.clientOptions,a=c(e,["urqlClient","urqlState","clientOptions"]),f=t.useMemo((function(){return r||s(l,i,u)[0]}),[r,l,u]);return t.createElement(n.Provider,{value:f},t.createElement(o,Object.assign({urqlClient:f},a)))};return a.getInitialProps=function(n){try{var i=function(){if("undefined"!=typeof window)return a;var i="function"==typeof e?e(n):e,o=l(s(i),2),f=o[1];return Promise.resolve(r(t.createElement(c,{pageProps:u({},a,{urqlClient:o[0]})}))).then((function(){var e=f&&f.extractData();return u({},a,{urqlState:e,clientOptions:i})}))},c=n.AppTree,a={},f=function(){if(o.getInitialProps)return Promise.resolve(o.getInitialProps(n)).then((function(e){a=e}))}();return Promise.resolve(f&&f.then?f.then(i):i())}catch(e){return Promise.reject(e)}},a}}; |
@@ -6,2 +6,4 @@ import React from 'react'; | ||
type NextUrqlClientOptions = Omit<ClientOptions, 'exchanges' | 'suspense'>; | ||
interface WithUrqlClient { | ||
@@ -11,17 +13,16 @@ urqlClient: Client; | ||
interface WithUrqlState { | ||
interface WithUrqlInitialProps { | ||
urqlState: SSRData; | ||
clientOptions: NextUrqlClientOptions; | ||
} | ||
interface NextContextWithAppTree extends NextContext { | ||
export interface NextContextWithAppTree extends NextContext { | ||
AppTree: React.ComponentType<any>; | ||
} | ||
type NextUrqlClientOptions = | ||
| Omit<ClientOptions, 'exchanges' | 'suspense'> | ||
| (( | ||
ctx: NextContext<any, any>, | ||
) => Omit<ClientOptions, 'exchanges' | 'suspense'>); | ||
type NextUrqlClientConfig = | ||
| NextUrqlClientOptions | ||
| ((ctx: NextContext<any, any>) => NextUrqlClientOptions); | ||
declare const withUrqlClient: <T>( | ||
declare const withUrqlClient: <T = any, IP = any>( | ||
clientOptions: NextUrqlClientOptions, | ||
@@ -31,16 +32,8 @@ mergeExchanges?: (ssrEx: SSRExchange) => Exchange[], | ||
App: | ||
| NextComponentClass< | ||
T & WithUrqlClient, | ||
T & WithUrqlClient, | ||
NextContext<Record<string, string | string[] | undefined>, {}> | ||
> | ||
| NextFC< | ||
T & WithUrqlClient, | ||
T & WithUrqlClient, | ||
NextContext<Record<string, string | string[] | undefined>, {}> | ||
>, | ||
| NextComponentClass<T & IP & WithUrqlClient, T & IP & WithUrqlClient> | ||
| NextFC<T & IP & WithUrqlClient, T & IP & WithUrqlClient>, | ||
) => NextFC< | ||
T & WithUrqlClient & WithUrqlState, | ||
T & WithUrqlState, | ||
T & IP & WithUrqlClient & WithUrqlInitialProps, | ||
IP | (IP & WithUrqlInitialProps), | ||
NextContextWithAppTree | ||
>; |
{ | ||
"name": "next-urql", | ||
"version": "0.2.0", | ||
"version": "0.2.1", | ||
"description": "Convenience wrappers for using urql with NextJS.", | ||
@@ -43,2 +43,3 @@ "repository": "https://www.github.com/FormidableLabs/next-urql", | ||
"eslint-plugin-react": "^7.16.0", | ||
"eslint-plugin-react-hooks": "^2.3.0", | ||
"graphql": "^14.5.8", | ||
@@ -45,0 +46,0 @@ "graphql-tag": "^2.10.1", |
Sorry, the diff of this file is not supported yet
21600
41
190