{"_id":"next-urql","_rev":"138-5738d7df9c1577d5e2590012e4e8de33","name":"next-urql","dist-tags":{"canary":"0.0.0-canary-20230612225956","latest":"5.0.2"},"versions":{"0.1.0":{"name":"next-urql","version":"0.1.0","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.1.0","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"352ee277b68ac20cc0bfa0b56e1977dfc380fca2","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.1.0.tgz","fileCount":51,"integrity":"sha512-jz6vIymNEyVLdMg1H9MOL8VCexRmhXCSkT/Hd3EVyv2aa52TVTX3EZffoi8bcPaC+FVMQNB2o1ZWBonuUMTPHQ==","signatures":[{"sig":"MEYCIQDFNwbC6nmJBayOPRQc0vHvCIiAXafVNcAMdGxsukshJAIhAIHKOhF6yVhapCXocO267lvSMikiJ7UcV6ha4TLft7gV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":299261,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdvlvnCRA9TVsSAnZWagAAWyUP/3TM82QzUUA/tJ/rzfL2\nSbbTeTfPLsgSj3HDPFplK9KEhQ7fPxJjHLA7wOu4cB5D7wQFcgf4dmtvnxyY\nDcbgJd5xsKlo9e6c6PYhgG2Cak3Yh6AzIsX641fzShTUh6X7m9fpNsyaE8yJ\nnRET1fkcbawO3WV2IYrhClpaRa3Ga7BdIa0X8P/PEvc4oyiElZ2oCA28Q7+R\nz3gS7YAF8j/pfpVrybNi//PrK3YzLH+W3ofxLu5RfFWRvo6EKM1RnJt5S81J\nRiYG538t8TJGvxtexawKW1Kbk3zmXpalN1+DnQChyU8+8aovRfx3paD8vA9p\nYcHJt/RhclC4EypulISfunDh1OXATfFLVUTUF4W35D2ph15X4DSW2l+gu1o+\nyMU2ZhH5txOBaPX7mF5ivBFyA+DejU932m7PWo5+b2q/3R63+9Xt23G3itPm\nLORxwTXjjAcDzo206JMRDeE8I9Algetmu8QwqZP17QrXnSiqDYWTmS/IG33T\nWEbBBm0lc1kSycYHbzCN1R92KFOit0HMWg29A5tAwknztidCY0NW6q8nBJ50\nc2UDRMil6qSaBzSdQN3/X/0vP8GiFp/qtImn8vZz1N0Kj/iklGA8qUqSjZFS\nc4R/0OFwbgHGLj0id6Cgf5uVykhbdykdy/InLPQ8BJiut3VD9eYO//TrQxeE\nxTfd\r\n=GYZQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","format":"prettier --write **/*.{ts,tsx,d.ts,js}","check:types":"tsc"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"dependencies":{"react-ssr-prepass":"^1.0.7"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","eslint":"^6.5.1","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.1.0_1572756455268_0.9631125329925279","host":"s3://npm-registry-packages"}},"0.1.1":{"name":"next-urql","version":"0.1.1","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.1.1","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"d5fb58fa1f50b8458fe3a79589127338b974780f","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.1.1.tgz","fileCount":12,"integrity":"sha512-XXqQUaIJpd+zPohT6gCNfphJEaYa6h/i2PJuTdbDY0GDfk9Mn07Hw5mZ0SVIqbgl2RKX4fGx6/9/dR7eaaTStg==","signatures":[{"sig":"MEQCICgShHKtRoEwkH7MDnnIFiGFPLMkCdnzSTcfG9HAoLAeAiBcuogVr7rF7EausVCif6tTOY/5ipjZob+r/YkMGs3EfQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":17723,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJdyiLnCRA9TVsSAnZWagAA81gQAJZvkR2QgP5hnrL5TwKR\nMn2ieJLjMIT61P1yv5rMD8Qv0k3SvHRBfwPqdsHOtm+8J6uEpgvb2vYwleut\ny6nvvPWoXt90CpHIVMWF2H1wd5k1xqnquBKZtyRcKlWnKpw1BuUKI7uh1D2s\nIWzC3Fo3TznCCLXmUDlFA4EEtPpvD5vg7FCTEs5Ad0xKpom4uajsPK8iWqK1\nW+TePiz/hLZ8dqtS8V4t18yq0DEikniYfb1HyBdn0+QVKBoCCO0dPk4N0ypP\nEY3cYIpwXAKzi7Nke0zTGMkn/FK+d1dds3qOlCQLbD0cw+QsqmdbOvGN1tCO\nz4ivmbYkajCwOeH8ifXBcePffmHetKsFWjGf4oq7wkoQJOSYK2RnDkjRZyQM\nD/vuwLgldIgURyXHesxLbjqrOdzP2NmIDfQui2R8PvcpLJCkpniUwjioAck2\n/r1eKGBQtIb585i+I0HNmwXp6tkrCeZvZi7iT5JaIAMuRvSg5Cw0grLBsZbr\n4EDK8SGGaXI3y8daEH1tLf1copDGdT8OGOAGUwNtV7P+Qpz+MKso/6H36kuN\nVELH//I8u/gu2jGV+q91ku+phADMvrYvMdtx9WsFrgPQNwwQQP46wdH8VkS2\nZlVfhjVPIKRvbtZ/XIBP+rTaRTivYWPAjQARwFv+7FeD3JYeya1r4zyTR+5b\n0K32\r\n=7KN3\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write **/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"react-ssr-prepass":"^1.0.8"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.1.1_1573528294834_0.32818648190804267","host":"s3://npm-registry-packages"}},"0.2.0":{"name":"next-urql","version":"0.2.0","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.0","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"1139dced13d3fd46b6a7cbfc4f6dbdedf14d11d5","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.0.tgz","fileCount":12,"integrity":"sha512-sq4iNApVH91nrwhvyD61sbureLMooAqpo3IMg+fhoyPg+/RvDhV6F0dXuZ/mqa96mSG4FLhDLCCggsqrE0hXzw==","signatures":[{"sig":"MEUCIGpdEvFWSau6zuIdM0Q4IOEIzw3MZvm48t8cPiwTBotPAiEAq2AVuV2T4Oxzva0pOD8Fcuutdg7VwsqYQNzFkszbD08=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":20223,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd7Ue9CRA9TVsSAnZWagAAbkkP/j0o7GFFe/rlfPR6cv5K\nx/ZSvA4gBFhD7W7F1f8nWybMcGD+axl891QXpIknT20hRyRmdIm/qFgCRYLo\nehTfvfiub8qt7PJ2utEgRKo9CJItoLL0smSXS25Hqjjx8bUV9jiquWsmJHQN\nSfZFjkToxJxu8Qz/Wg+6k85UUs8K/uCZIHMj++swBZ1dE2zNXkiuaCbfLXHS\n+OX5n3dPUD8KTxb2vJApP8oyIBwKbF0H5cwLuHV0RFJJMLtANmIitwudION/\n4Lo5dtUGohODyBis0VYWkjla8f9IDtphqZ3KlgaqKH4uWPiui7qRm/xv2wtW\nzky9QKt5LqBG3dhRiC/RTWU+cT35QLWchj0lXbJT4/Rc0Dgs0w1AEpVMgz9p\nViJS5muxuLkvqGuYeKkr9ZwHV4hqou9W3mbFVgX0qAlF2DXOC+smH4ZAnmzx\nZdsg7WeSN0XoX1d67R/RfjMW00DXEveaNwlo+AiX4/YZhcqcgOH4VNdmgzmg\nb3IwfyLelD+bLTXUyvbNalTnDD/5rcKSMe1GzIAW7Q/zh5iTrqSIZX6rTTV1\nOljFCR5DoSd+TENAjv/9kCX1N5TXbCBBgTsa3JNUcmgd+Hl3FgKtfL/8chCc\ndg7ElPrBSvVDctmyYs4OCrEzaaOp+4VTskYGQ1MEJHI8Rhuj6gkel6ZNv5DY\nVtt9\r\n=umaf\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,example}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.0_1575831485055_0.808387871759868","host":"s3://npm-registry-packages"}},"0.2.1":{"name":"next-urql","version":"0.2.1","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.1","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"a4d529c0c36498e452645b9f1f86c3f9290adc77","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.1.tgz","fileCount":12,"integrity":"sha512-b0Z9OcDZ58Dx9lMkUDEr+swBmMktBoVQwLDidOqMM1f5jAqOkc/Pn1W/TDtoP3qdMqzdtD82SO9dAQaV0/sfkw==","signatures":[{"sig":"MEUCIE+iFzw9wAn2EMceH8OCjRtMakprgoFdo9tbo8GcwekIAiEAy5WDZvoV9lb6Do7UY+uEzd+ej+Ulb50jeux3kCaapzg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":21600,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+XRICRA9TVsSAnZWagAAPskP/0kzgRF2q4xHqK1ExMQx\nDiH2K3Rli7uYip50OpwZZ9fkHwUnG9ukB7mYKS+N7ZRKF+YDnVNOsvMuibNm\nPPr+9svTgH49fi01UylUsIAGn47QkoZBJUzZ74mmeiPf9Eys8Sp7JHRmoKSO\n7qAj3YOHEbjjm4Sx51tOUXz+SrSa9vl9Sxn1f5M7dhzzXBOreML85nuMrnHy\nkKPrTJC7CJr/4g8e7u/yIIe5EIfYTTz8m0dtfgFPOXafvjQEgVyIxqR8Zx/N\nJB+dPeF8w+DTEFvuNIvzgzKNTRkP76fSk7DtptL2bA/DaIN9lhIEFkUDuY2I\n4VkKRO57a1PO8k3VEQcmxwFRGQIeD2yzp93i9VnPK+jXHKJl16aKHnJrZiZs\nsWXrASckvKbVB3RBY07QAbvFWsZS+Pglx/7qSxcXK3QGeFEPFEXsNtrw8nkZ\nDN02ITlifuWoldsN5TbmqZ3+5WyHC1qZ7wJMA7hFlA0nJ9mQOI7qeiOF90wu\npzH35UCG1Nm1ZKz/BB/x3exA1fljFcVIlTy+4KTyOQZKhy6XHXcgi2DzDU07\nAjO/Zr699mRde4/UDfQ3IF1JlC26faNoHKFAWmVT0/WnnSojaKcx4HDcpgr4\nUk7peTjIW/YAO84a26XqvqhcVO/oXfpQaIaZbUOSBOeH+E1KahR3HjUSu5KS\nMYq6\r\n=rDN6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,example}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.1_1576629319719_0.9048809516593208","host":"s3://npm-registry-packages"}},"0.2.2":{"name":"next-urql","version":"0.2.2","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.2","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"0aa1cb64354cc938c4114e75eef0f2538ee45a01","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.2.tgz","fileCount":12,"integrity":"sha512-QFMCnV9LXPjdFO1YInSOFQhMwSHuAhUtbvwZppOgRz7Q7G5Qq5oczybwCQ4GP6uhD3ANRbV/68uJZzVZ2ad/jA==","signatures":[{"sig":"MEYCIQD6NQBpWzHahIyOfHf+z2otQjW1br+M2kpPNmQBXGIY2QIhALv1f6ks6yMKO2H0v37r8RHDotNUOUeK4UOY4znECOjP","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22048,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJd+crBCRA9TVsSAnZWagAAO5QQAJfOjpW6+MaDHxNm3VHN\nxmEQXMSMRRualdOg5BYpZouDiOW97uIC7gkXZcjMMNVAZUxpkGSzdeH2W0nx\n8kL+mEUPa6tRB9b59c4Uh40bbtM4+FE/O5jwmBjyARPydAk8dkWP6ezSqNd0\nSZ6ARgY7xm9QWHHUEpqBZTBi2GEaN2exPxB5Namy2lEV1uv5pzzHz5qIKxnv\nFKZrSmFwrSVg1+TImWC8XMkbv2qtUF8GS2qu15BdN1gBi9S+lHH+Zy84urzR\njyysnbNDAsDXmQO/LvyBfJQTQLBkBl/5tfyPQo5Fad4W2yQKf8z39inwpIbS\nvndaCAua1M2R091ZF49RrWu2l7bXiRQJZgGf7LE+wk1YIVFUMggLDSKN+Uqo\ngu0JfZ1FykmOED20z5MtniGSIXcWgEMgkxe740q6P5btogoMxGlHkrzDP0u+\nzQm4fSyHucC+YQjnlQITe/0nsqCBI1pNS1sm82urUE01PN6LE7+lHM64LIi1\nzqXd9lSHYvC7Q+Tm+exoweokYJ/oLa4Q8fNjqwv8RhyhyOXKDa2mZ9AwOrci\nwnTXD7ggWxAwP0JCUFpIOsh3FnFOL1p+MAXEBa+LZ5IsA7eYb9Z4emtvwZDm\nUFEJq0l6623FFXVI2z1mMds3TrMuqxUZTDDsq5OGafV3fzMST9qcLrcKf4aO\nqvdW\r\n=P5+N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,example}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.2_1576651457341_0.9319859010412843","host":"s3://npm-registry-packages"}},"0.2.3":{"name":"next-urql","version":"0.2.3","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.3","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"35653d71cf55ebace522ba7dec53f82a8524a34e","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.3.tgz","fileCount":12,"integrity":"sha512-LBquGjJ2vjKUVb3wQxO5JX5Q8OW/r7Bq11G0Vqw/sRqC7ppUrU+KrEL/gxSr3uQhaEneUjIri4JTdoQzMY1eng==","signatures":[{"sig":"MEYCIQD6As3cIwcMt6BXgH+yIdtWTqSRSyz+kRITGViFoEtougIhANLJSVLW1Jqubi75fFzC8xG3mhBw6AK9FNr6+aOlt5wE","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":22913,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeC+4xCRA9TVsSAnZWagAA+EUP/RgLP+P1WFgflfUYT0o8\n70KbRoyrXRKr8kubG0GnrE08Nrj0VLwL6YfNDpHm9lPLt7ulbrb73H2UAoxU\n0cS6x1F48RpmTkKmzyvguZWfYC3qt56XxLGdDhWkmJRgDv9XGIuvPJwsCpgm\niNfACB4Uz6+eCz616mHDdR39dyMMfG5iTlbiKtFcljF5DdL1K3DIcl5u5xEi\nOoziEqzv5SGZkoUDJi9rKPP8QvlVg/sUvPPcqx72F2aNHOF3WvAWz2H8jYhg\nnYbFxkHQkQNDSnP2fNH7V5PdyENk9RNuwmQnZ46gIGqSAvv2ydxeLPuqaabN\nJy2dHd4w9yZqdgyscu4L5Kc7F/Gx6gYy1cMDuKWol3MKFPksHUYG8y/vsx+x\nz0TCzYNKQxXXY5NPiD8ulwwQE1GFBq4RvuD7xzb15EIVQQShNQwkqO+oxRDv\nSOOtE1E/dGqR2jMN6QvrDKreGFC/45b0lahMf8y0puXYcq5QoUUIZkd34Yzl\n2Qc7c/xkSU1L8jGwKDwr6e1MTvGUUagKIdOwtjOW/Oi4ul+xkO3ZFnj0SVq7\nGV72zc143HSJUFymIvOQH3ytrA3YOfe0F7Qw9pe3+K6FL9/WNJrX5cXAmKgh\n0eBEajTIWzX+vkyOp5z+ahlORbex5rlyzAOx6roVFBERr3XwYgXF3bVKTxfV\njxkd\r\n=KBjO\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,example}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.3_1577840176797_0.7674440875974138","host":"s3://npm-registry-packages"}},"0.2.4":{"name":"next-urql","version":"0.2.4","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.4","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"f2a8aac81ae6e15a5b567772346d3353f38f05b5","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.4.tgz","fileCount":12,"integrity":"sha512-AyedUPxrnKj0ViWhTbKIzTVnUDQGoRBXPPY163maUCMVhCXT+UUq1o2TQh2fZSseNmXC34tXWnXugUVHPI5PxA==","signatures":[{"sig":"MEYCIQC7/u084M40i9q2RLQvtxcSAs8M4ZrCqhPqVIMzqegNCgIhALNJqQ1n8OI966Bi/EMVT7p6cInwue3X4fkAFOucyRxU","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":23461,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeF3K4CRA9TVsSAnZWagAA+eAP/R7CPWmYBRlpMiXRimih\nxJaZgrPOOvUdl/odpgDQFu7RZCHnRD3ER4x6gevSI+JokAZXA41LfwTXXP01\nLpMrD7v7+qmsLuQk9d4CVR3uGKT84KXz0qpespXPCfpt+IngcUpa65/E155B\nmPPyBPNCpVftMeT7HlcGLwFb/lV9nBfs13HgGibUp+N6uNZq0uYE9eeRa0+w\nPGwFWwMmYQ6mLwpflkcEZIEip8qKdIS4lbKWApxCHK6McMASzOWOGyuTrJoi\nehQS0G7LapVV3bVP1d9zTmftSy1ULu16WkJZTYfA6hUJG24HsIMUCnwHpNts\nzZj5cKtgHUHjL4RqlmGp833+Ua+enflhHI5FyMIls9u1Yj5w/09h/G9PLBrR\n1lldkjbWkrLMSEa62YX3ejV64ZCj/19eeBw7iHgNOBFjRuTaOF0ljNNKV39j\ntQTgmgQ8RfUBzHI+O5TRxCboWMnwlhFe//UY3xQWl+0FToc4G/BV8x/6KdB/\nJsWp21Hwh4qIy27npYrobdSRyeWRkqHGSuzklvBXOr7t43fv5tVv5toRQOxh\nAEIJdYmaC2yD7S4HcDKo8eKwtKa4pxCHLxLBUHU9ccLXynFnap3W7OvrbDYf\nAithS/CASfwlMTdhLgCaqWjjPSpeFUn3k8rkT/0qpUC0ShQ7Db0z01TRP4yq\neAIs\r\n=fTJA\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","scripts":{"lint":"eslint **/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,example}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","@types/next":"^8.0.6","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.4_1578595000324_0.5215721398292539","host":"s3://npm-registry-packages"}},"0.2.5":{"name":"next-urql","version":"0.2.5","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.2.5","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"homepage":"https://github.com/FormidableLabs/next-urql#readme","bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"b52ee748535fd9f306d369a814a7ab6e11f6d56f","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.2.5.tgz","fileCount":12,"integrity":"sha512-PUOtP0g/TQcDWBtvOA6F80VDFRh8HLTWGWhZGE0e4indl9ryTphFyKD8108Rou3fY/07Ogg0p7yllWRiSqC9cQ==","signatures":[{"sig":"MEUCIQDwsnkKjlrOrEmYUJZRw/E36WVfsZstpGH+7PLMQNh0kgIgD5FMmpU2I2nN4Emd7uogFUQogLLXUWXYM/oFashY3s0=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":36957,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeJpTrCRA9TVsSAnZWagAAQs0P/iC5dW4I+Vz4wnPVVrJZ\npVmKrP3hhgYUE+wfUl0MYZsXoq7ZWkitiHb/ZjT6zuUByQ75iQbref+zAo1P\nMWkz8vSn5RvCUUTgLJnvb4ftLXRW38GSIJ5wTwwprggFtk8dMCq6i1Jk7PmY\n+ymWgZadvh5LYaqkddA4/ugLkdSbHhj8rcysd55RnfvT7IrmtJLQQHZ/r5OR\nlH1Qq588HgzffCkHzm7dvCaRg2uA1PYMLIMWhkadeUS4dMg/bW74T76urs9z\n2YhfgxlWCXGnDSr9aE2fvj9dAgQLH0tIYWo8zi4bQZmRNzWU4OS94GWnae7Z\n6eip8o1KQ5Oy41NiuZ8GbFh9EF/7mp7NKvoRc2jW+mknITrEZZPpFWKwgxId\nrl5GjlOZvM8zKGwFdYmPzYenAYCOQXk9Pw1GxZ3KSVWPgRMKO7hWDG6IDQbQ\nSKI0CyCndWSdb4k4+QRFhl7f0Z5R8jtd/Pzs6+7IwU5ylCrSwFRlpcft3/pc\nDmjxM0fXYkOpy7Wcw5zkZISBLDYxYOkPhpPLtzFboRn2MptXRwtXpIFHKqkf\nzMkvSZQZKvs0cpUimViAbVl3dJAGNdFHr8l8FeYWKuVwgK9X0pTT2l7tBhRC\nZPKD/9mg08gIfCtl8R1EHOBTAh1fL0LVvPR/3/9OUFeKj4p1qfNrHG6JYvT4\nwOuc\r\n=G1yk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.min.js","types":"index.d.ts","module":"dist/next-urql.es.min.js","source":"src/index.ts","gitHead":"2fdd0e2fec820fbbc024b12cf2f784ed71b20e3d","scripts":{"lint":"eslint src/**/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","check":"run-s check:types test lint format","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,examples}/*.{ts,tsx,d.ts,js}","preversion":"run-s clean test build","check:types":"tsc --noEmit"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/next-urql.git","type":"git"},"_npmVersion":"6.4.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"_nodeVersion":"10.15.3","dependencies":{"@types/enzyme":"^3.10.3","react-ssr-prepass":"^1.0.8","@types/enzyme-adapter-react-16":"^1.0.5"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","next":"^9.1.7","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^24.1.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","@types/node-fetch":"^2.5.4","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","rollup-plugin-terser":"^5.1.2","rollup-plugin-replace":"^2.2.0","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","rollup-plugin-commonjs":"^10.1.0","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","rollup-plugin-node-resolve":"^5.2.0","@typescript-eslint/eslint-plugin":"^2.4.0","babel-plugin-transform-async-to-promises":"^0.8.14","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.2.5_1579586795112_0.79274969912595","host":"s3://npm-registry-packages"}},"0.3.0":{"name":"next-urql","version":"0.3.0","author":{"name":"Formidable"},"license":"MIT","_id":"next-urql@0.3.0","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"}],"bugs":{"url":"https://github.com/FormidableLabs/next-urql/issues"},"dist":{"shasum":"63c58a8dd4a859b8036e9b05074b7f10fb681ad2","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.0.tgz","fileCount":14,"integrity":"sha512-1pzIR4D8aLsQ9K9ItHNtfTiSJxlkjMLR47aw3b0kSSxMtec5lRDyzSkK6syfOKABAuiQG2catddUN482J67PFQ==","signatures":[{"sig":"MEUCIQDFI4T5usUrMK15UFoQANaDxSU14xAoW7kiHwWCLTCRQQIgWrJPdY2u/Kh7sPa9WlZmOeMdy3u96Q91+DuMq+kF7OM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":30579,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeTzMqCRA9TVsSAnZWagAAC3QP/37GLK2/eZ81Jv0LISGA\nHvIv5/SzmJqfHKBT9mRJWryEpOmoyLrQGfC/YTM3rv0kkaR6Whs7KO1VYn7q\nopFlwavpGzIyNdNuQyU1Y7ATzZNFpuSpM72ngCc1LU2tALLzS5blZsDJWWbi\nwQsa2EWtcxszlJsZvFLnQ177kqOlfzg1ctl1Pu8oIE05VzSYo766iEJglBU7\nhovqm7tXArO8V8dTdpFYCmLYOfMdnUMVFZ692caISoIeS0mcFy8M4rZLupfd\nzeHD0QZoh6fU+tLFrbALLvHZ7vT3bVd38I0gzVbRgys7w4F3A9A9JUh89P5z\n5T9Kl6E1ydzluimRQwStIe1r9miQp6VZs7YkVHnMCyrfgkPPevfC2Q4Lx0vc\n+WvgDU2FoiFRFZ+cZA/PVXZByhQtC4mHjmBPiUwCaZTXdzLRvAV2kBi1swfD\nUfbv2KIS/WUX2Hqsv9OI0h9XZZte07GjpVK1DDMceNLrwjDnTXdctkJ63eDQ\nxviM+TZLjaAlne2/06rr4ckvyBrhu2Bji+rYi6YdbzwlkDiuywuO45UaAK8r\n7LzsfOgJq/AOAe1hsHxqU6DdvTMVrfzC47jNTWrpGGg6V5r5kR8QrOa2pS+M\n3PWIAi03+olGKjJgCHD5b5I9IF5AQIBzGDdzaL7uA75cne0BnotB5CJ5QXkz\nwpTM\r\n=Lhqb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint src/**/*.{ts,tsx}","test":"jest","build":"rollup -c rollup.config.js","clean":"rimraf ./dist ./node_modules/.cache","format":"prettier --write {src,__tests__,examples}/*.{ts,tsx,d.ts,js}","check:ci":"run-s check:types lint format test","preversion":"run-s clean test build","check:types":"tsc --noEmit","check:format":"prettier --check {src,__tests__,examples}/*.{ts,tsx,d.ts,js}"},"_npmUser":{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},"repository":{"url":"https://www.github.com/FormidableLabs/next-urql","type":"git"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2019 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.","dependencies":{"react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"jest":"^24.9.0","next":"^9.2.1","urql":"^1.6.1","react":"^16.8.6","tslib":"^1.10.0","enzyme":"^3.10.0","eslint":"^6.5.1","rimraf":"^3.0.0","rollup":"^1.25.0","terser":"^4.3.9","graphql":"^14.5.8","ts-jest":"^25.2.0","prettier":"^1.18.2","react-is":"^16.10.2","react-dom":"^16.8.6","typescript":"^3.6.4","@babel/core":"^7.6.4","@types/jest":"^24.0.19","graphql-tag":"^2.10.1","npm-run-all":"^4.1.5","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@babel/preset-env":"^7.6.3","@types/node-fetch":"^2.5.4","styled-components":"^4.4.0","isomorphic-unfetch":"^3.0.0","eslint-plugin-react":"^7.16.0","rollup-plugin-babel":"^4.3.3","@rollup/plugin-buble":"^0.21.1","rollup-plugin-terser":"^5.1.2","@rollup/plugin-replace":"^2.3.1","eslint-config-prettier":"^6.4.0","eslint-plugin-prettier":"^3.1.1","@rollup/plugin-commonjs":"^11.0.2","enzyme-adapter-react-16":"^1.15.1","@babel/preset-typescript":"^7.6.0","@typescript-eslint/parser":"^2.4.0","eslint-plugin-react-hooks":"^2.3.0","rollup-plugin-typescript2":"^0.24.3","@rollup/plugin-node-resolve":"^7.1.0","@types/enzyme-adapter-react-16":"^1.0.5","@typescript-eslint/eslint-plugin":"^2.4.0","@babel/plugin-transform-object-assign":"^7.8.3","babel-plugin-transform-async-to-promises":"^0.8.15","@babel/plugin-proposal-object-rest-spread":"^7.6.2"},"peerDependencies":{"urql":"^1.1.0","react":"^16.8.6","react-is":"^16.8.6","react-dom":"^16.8.6","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.0_1582248746386_0.3784960991516835","host":"s3://npm-registry-packages"}},"0.3.1":{"name":"next-urql","version":"0.3.1","license":"MIT","_id":"next-urql@0.3.1","maintainers":[{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"5b8539d20aed96e21e7a54398e6d5109994cfc50","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.1.tgz","fileCount":22,"integrity":"sha512-Zb8nkxyS07/2MJC0vsYtm9Pe//yLl+CVmDC0aCuwR0trWGN6x294gYOVV+HI+AVdJ5pk8jZ7mJGijKD/MR7W5w==","signatures":[{"sig":"MEQCIF1vtDmTDjSJxV4rTjylcGr0R4zWiiZYc8xe6QuXIWifAiBhP6RVABSMtSGqF1/4k6Gp1UeXzyFzeQ05CXSrW/1Z8g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":58482,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeYpOTCRA9TVsSAnZWagAASecP/jiD/lhO5wE81FU5dZIt\nasBKeliochJUyESLr4wfwhIwG6ZRx9al/DocimenKLOvO3hP+MkrQyC/Rbg2\nePibl7dmq1A9Z0o05MT578DWnX835OzIG8PKB9YHDEq35Zd+D94Y3XRPBGNi\nf+RK6TmrZiYBfE1JCJ1hbjNyfUOamHNayH3/O/SX9gSnBRpGfmYBWmEC62Y4\nafBqmA0OqWj/aHtca7EavwIg4LXSGEQ9RqAl0I6JpSHW2fszNL2Qx/z98LJY\nOCsJ1zKFWvSJPGmb3SkWhj2A3tvy68vceH7zUyyycVA1X2c/2YabdnjbqcwJ\nxvY82n7Ztyhy7wNg7oZcA4BNHa9p6TmOWIGdfJdn80PwPYLyDEDWLtaPgNNI\n/BOo+uxgLtZalyzw9SBf54q1sKKq4epGkTQbWHnet4Eq3uqmwjDP/7NdMsso\ncufzexYz/tvrdlp894eYK7BGlJPGyUtZoS9rvW8Xg2tK+TzIIg7eOarQffaH\ndMbLXV2FxymTHLbrgBKdegvWW31C/gy0vv7vkutT1D7M7JmWcyCFmCkbHu2Y\nCTahYF4JLftXtKva7ZyaIhUp4M2Nvnl11j7GRGYS+o6oDC4xZ8XmfczjoaA1\nwZpE+1BRuSBnihoQqf8ooOeGWsADgci07KySqv0XIke/GxnP5a1tmaUNb6f5\nBL0t\r\n=pHTg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.cjs.js","types":"dist/types/index.d.ts","module":"dist/next-urql.esm.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean test build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"description":"Convenience wrappers for using urql with NextJS.","directories":{},"licenseText":"MIT License\n\nCopyright (c) 2018–2020 Formidable\n\nPermission is hereby granted, free of charge, to any person obtaining a copy\nof this software and associated documentation files (the \"Software\"), to deal\nin the Software without restriction, including without limitation the rights\nto use, copy, modify, merge, publish, distribute, sublicense, and/or sell\ncopies of the Software, and to permit persons to whom the Software is\nfurnished to do so, subject to the following conditions:\n\nThe above copyright notice and this permission notice shall be included in all\ncopies or substantial portions of the Software.\n\nTHE SOFTWARE IS PROVIDED \"AS IS\", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR\nIMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,\nFITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE\nAUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER\nLIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,\nOUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE\nSOFTWARE.\n","sideEffects":false,"dependencies":{"urql":">=1.9.0","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.12.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.12.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.1_1583518611249_0.6141102924706172","host":"s3://npm-registry-packages"}},"0.3.2":{"name":"next-urql","version":"0.3.2","license":"MIT","_id":"next-urql@0.3.2","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"b4af4fe71659bab49e737c75bace48536c9699ba","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.2.tgz","fileCount":18,"integrity":"sha512-rhQCB/4+s92JUQqq8Ntjgvxvy5smMcN6B4039xKbi8/gf9NDxl0CwdZVb5NkP/GMow+Ucv5xvhKZdG49Nh8a/A==","signatures":[{"sig":"MEYCIQCseQ/4QboWW2Q8c/VPQXCp50iP95AM7sI9B9De427w3wIhAICk0tw05R06iQk3vzfAkJh8O6v3bWOC+r0KiWJ3lGh0","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59706,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeaoLHCRA9TVsSAnZWagAA2xMP/Axu6Zy/aeidNLz4EUoS\n+Tt3Tz2QBxIUuvS9ICCeQvfiViQPgtupABhPqki0bl01EbQXY+Dm3GsBtz7h\nwwN0dr8/5qC3XFnOvJ4fSoBKl+buHiGGKUXHV1i6JspViYxcn0hY+gvQGU5G\n53bSCRnEIK0dXiaiRruvt1T8nS3raAYVDkMtlMrSmI1rrpuMHFe9uHn2u9iR\n1BZLEFg+7junSdE+IHsMabmHQFd0IRK99NpRXxuIcX40e3Obcl2qvkR+7Qxr\nWiSdj22e5LICZin5wX/w/zPlwyWektw9Pq1g8r9RXviOuUaThPKz4yIl3ZKE\nunrTkv7FwsdjJzL03jmiXqTUjyAeumrdvW6gPbW5UPqcsWtpywjCoKL2JrtN\n1kF+Z14eHCd8c+L9wLNrjYyFoZzY9+7YsjgAPmFI6pyeGvQC7TpM7OpaqPuw\ntsvFU6KejWml2Qec12OJu5AA7VVRGXgc8mro5zpUiy0lud+8CW3f/5WO3ipO\n1q6iRoi6st6WeJNklGtIq78P7xba/ZsDQ9CLyWXvN0n/7Q9V6/O6q4Z7hXpi\noNEBrPa7Jl874KmCbcHczTBcif2mDrLZaaDgbuPhYdy9oLepLtR3+TFN2QBj\n6Db1QEwC020Zthq43uf1wQnYbkVpaqfkTOrPqctJfA1gOvnec3KnjzvGXEr+\nCwDW\r\n=kQZs\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.cjs.js","types":"dist/types/index.d.ts","module":"dist/next-urql.esm.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean test build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.2","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"urql":">=1.9.0","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.12.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.12.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.2_1584038598942_0.39559842507113685","host":"s3://npm-registry-packages"}},"0.3.3":{"name":"next-urql","version":"0.3.3","license":"MIT","_id":"next-urql@0.3.3","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"a67ccf2cfc2b4be23c0bb7d64f02fd353000ec2b","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.3.tgz","fileCount":18,"integrity":"sha512-rOe5n+v+sW4P+WJdeu91Al6niUI+KEo5UG181ej+yAHMsr310wIGdfhd1DszpBba7NFBN+GoBxNUMgpDiJ29jw==","signatures":[{"sig":"MEQCIEs+VvTgsPLD9K2btWeN259tZMX7lL6iUyfD86LKWX7gAiAYYgur/fdD9n83Kac2VomCAT0Y+MohToGZbTh54bCF/w==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":59922,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeap0OCRA9TVsSAnZWagAAyFkP/RTUToosmbjCziqBlx99\njhLTSHJYhXih8tGTUi1t9hStyzm2V19f3ydIwkocyB/wFdb/CDm4fkGMVJa8\nb16Rb/vN8hQ0W/x1jyLtGTPwCzcVWo/NRRbIp4sMrg302vo0QEUK9C05cKv9\nHFA4TAU3Z0SctccnzvJLb9yKS4qbpsqQHnGVAEypplLGGccs50b8qTj8uEQp\nylQ/bBpKq/AiS0cgWQXfaevgVJ3v/2i91CHWtbwsrtBTjt99a7/WefUPc01y\ngnyUdzdfl0szi1dxDDmRvOZTzCguHzVVZsqScV6TS4uNSfvgyHuSINHTELfS\n1guquyFweRnJDAi0hGEcGNTl0ndeGYKl5PximqpynhmJSGzz3ROuxIBVOZtP\nK7MyITDGxaZ25mUosyyuTHUKioXp5Xk6pL2nAeAoKuPHVYpQlDup+nRUfzBs\noHZRCqT497rhNI0LgHwXKJ1u+ikrMuWOHH9YZPcazpKYgK669zZoe+xDDLso\n6dIexEaS0u1gmWl4gKUVswFmwwh/npERKOmJ+NUE7vSGNX7E18wgzChlMkyA\n8BLz2z89zIuGej0L30yQu+SV9DOv4Hq1sZ2VrRes5NwbT4UiqMbhQSfQ9h13\nQrdarmEyV0LN4h6fXrxBLVXblqCu/ecmBj3Xy5x/bmb6Ihpc9rMNvb1ckFM4\nYmeW\r\n=Q8/o\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.cjs.js","types":"dist/types/index.d.ts","module":"dist/next-urql.esm.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean test build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.2","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"urql":">=1.9.0","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.12.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.12.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.3_1584045326484_0.15369852335997014","host":"s3://npm-registry-packages"}},"0.3.4":{"name":"next-urql","version":"0.3.4","license":"MIT","_id":"next-urql@0.3.4","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"e49e7e7c648953130389d5e5dead260efe863c1c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.4.tgz","fileCount":18,"integrity":"sha512-M2F6nTNzqJ0dnAdhtxNKCFymA3QbSc1EYbp7Rs2GEDP+Y/zeVEXE/Sv00m251kf4vgn4k0iQVDV+tW9v/+i9QQ==","signatures":[{"sig":"MEUCIQCb5VyWId5Oa5ot54ZKwz+pUSSxDa+oxDGrNYWjfyAy9gIgdo1OD9yFcO2Rd6fRizZX5qXwMyIIp4E4j6aWNn/OoDQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60599,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecpjuCRA9TVsSAnZWagAACw0QAIgnR/lmzhWwaPrcZm83\nuIvyCiNwx7ljZkyA8Ce2ohDWxBPyHa5QRMyV/cQD/KViLmoDg751IsPSOJuZ\nJZDBY+DvMuYdxtfesqNzDnD7R7jLk878TyohueFTPKZwiPpbI6L6qncA0ROm\nkIj/T/45ZSwOpaExbF7+S3i1jh9eQfnYMd0OpDCupuI3kQootccq3E0ZtWQ9\ng8+gxOS+fofCWAJPq9As7DMQ1V/oaXCDgQJpDZ7gwD/L2iLBHg0xrv6mdTIX\njfsggDyO0fqCJzTDg2q6y/eitQDAwiZhuAEo1Tc8N7ljGae2nxStNEPRa5Mb\n1/IGi80VRSJ4PReQ4e3bXwEgw8OSIGroHKGnoL7StE7PeBNf32ipct1xWUZG\nUbVobiEbKuqReex5TeE4uYezCEPFvevElO/I94tnrPPUZDodZr2rGvP2V5mR\nmyC01jRtR8OWdF4AhZv70nXDLz+Ms3YNRm3IBgkr5FgdmpAhdh+m1/vl/lmT\nGTn4A6xjZqPr1Zol/MiLAfhB10iopjySDY7dYIAssFs1icj4GU+FRanb4b8N\nWYrnc6uNJfZ6uBxS9PsRGO29IPGLiGLejZl+RYLCT6Vbv2rP2QTE+6BtoLEi\nrrQmHvnxPoQ4o8npDnu1jnbCOvE78nI1phZIrif97gVM0smPbzrDwA2nNmwf\noiwL\r\n=bwds\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.cjs.js","types":"dist/types/index.d.ts","module":"dist/next-urql.esm.mjs","source":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/next-urql.esm.mjs","source":"./src/index.ts","require":"./dist/next-urql.cjs.js"}},"scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.13.7","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"13.11.0","dependencies":{"urql":">=1.9.2","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.4_1584568558395_0.01392296887516209","host":"s3://npm-registry-packages"}},"0.3.5":{"name":"next-urql","version":"0.3.5","license":"MIT","_id":"next-urql@0.3.5","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"1928a2f9d3a330e7d71d5d2bb4a4434a438a89a1","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.5.tgz","fileCount":18,"integrity":"sha512-qTEKAwxi3CU+z/X+Gw4hT1zRqQNs5HYoYpwMzTC7hwC4gpP6tUJBvqGX3a6e8UDbTDkdsrSEneGPdT+D0nFy0A==","signatures":[{"sig":"MEYCIQC5K7yGcEIjJfGTVpjwqxeTWDuek0hqLKdYdm7Ol+lD3AIhALmNKZHmfC+pfCBd5ElXC9/dE3/oBZMHNHcdmOAEDWgx","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60969,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecrdMCRA9TVsSAnZWagAAycQP/3MONlusEmNcdQNIzllt\nIc3O6RJCf1wRbvVsFZikYtOTWjdP/SAK4MPm1qrGy/IcgvV80rtotuNrGrkB\nttYOfJMUv7/+AXR2hh1X7GdSqpbuwm3lMi31hb9W6rb6rQeO+2GVPPwJ42Ko\n4vy6HWUbeAeePNdwrVnw60sivJjkKe+XKJg5250//ymnYxo9euaMOO2QDKoy\nkCzMV2s6nZ8C2m7gEFLltouWEATVZlyxLk7mHxbcfayYyHwyG1BXUCapgmAb\n8g3Symryh5j1brrsVNmD2znuG6XHsIjfS41GUxTMK5sZ5uiaVoaLZaQcUsyN\nRaK7pbT+g72VICUXTgfEp7S8/WeRJIFfcZC1hU+2p3pVRVgmHweq3Tx2ou2E\nYvCKd3ZeL/GD0U44iTiuBfLFBTgLLqinFo2lFbYq52C+wWxcawR4aORHemOP\nONGhCxZuMfKmNphwWcdyXebwb5xCzq9cQ/uG6CH+NdSfcmKP9iOHC2e2Ywjd\njvhp25JcGJtbRqgQFEIBL+v0uUU1pfa0wz9Iv2FVLgF+NoEWHgDGmI2IK+Xm\nPmrpZ+axsfszZM38hcG1puufyDax0bMuj/vqnNLfBqkW82LW3DGk/CTxjyut\n4qD7egV/6tUioQWJk1oRug1BhwMWAE7b+/EliJnERt3Yjb0/xGtAvdEa8oD4\nl3eY\r\n=rcQz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql","types":"dist/types/index.d.ts","module":"dist/next-urql.mjs","source":"src/index.ts","exports":{".":{"types":"./dist/types/index.d.ts","import":"./dist/next-urql.mjs","source":"./src/index.ts","require":"./dist/next-urql.js"}},"scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.13.4","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"urql":">=1.9.3","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.5_1584576332555_0.21044498324307992","host":"s3://npm-registry-packages"}},"0.3.6":{"name":"next-urql","version":"0.3.6","license":"MIT","_id":"next-urql@0.3.6","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"22b3efc8bb3a3d573aa81ec3d1a1946ed284493d","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.6.tgz","fileCount":18,"integrity":"sha512-yOLaZ7VBN7TXZ1E5XUmwupXDxQuRwv+5oe3meU7PJm11JANWmK3VixApgN+7g+RH6hGGm3flg3V5wBGqJQMomA==","signatures":[{"sig":"MEQCICylErtA6UVWBjnG+VEYlzsYOJEhSy4+gyQOXgRlQxFdAiAdwtfWVTAAb8YLZxkQ3H3hWZOqB6Qv2BPuS4OBcMYXMQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61116,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJecr08CRA9TVsSAnZWagAAV7sP/3bzsnpWYN1g1SWfJle8\nsReqZVkMdVMnNHHgUvi5vnGwfQir3MSib6fOaNAuTnz1XXdKGOwugPwTfkTy\nAV6jctEKJ827CqagWiQ67WJoWmZmo5Vfxmm2bHt/y3nQaOAIZseYaLYesDlR\nV3d8KUVdISJ+2djUfGJUFZzGPrlOLU2R22Qpq2cTQoB0eruo4+F4A03R5ee9\nHXb/rl9R+tKHhvTBxGwhzk20iSpwkBp8+kVph26JCPhUwTQ/f1KTk/Wo9vi8\nIWgU2ubc6Uk3lcMjLF6jfLkotMeww2ZIzFdA6p/fywlrC3GqP9NfMsIWu17T\nNDGMCP8+OrAxMwAX9AZPn5kwWzjUMSmJWl1+x21pv+SBJsNvVRrmnw/kz7I8\nVY4ER/io/D7sG9c2ytPy8/tTC6Ns5ayaMHH4VnzWFdSFlElqk7+IyP9kOX05\nQVA6okI2Uacie4CdwfSpvLEz41qcANJOzTfZjyDi/w+PVZRBX+SrVFQmI/7X\nwrkyECr0jRCfsv9wGlhGMFp69+so21nmu/CPRa+7mSjG1PnPLE1nyRvuX0pG\n+XnBPRu4of9obInlR24NxKC4Bp3ke7aoonx0jo/3O7qwMja82Dro4653CEh+\n/n4/hFYv/B0hFhZdHVo46fTms6gxb7D3bXlpWnqu+MH9zls23UHKcVUw8M+X\nnYSy\r\n=DTtk\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.13.4","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"urql":">=1.9.4","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^14.6.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.6_1584577851662_0.5557817667416038","host":"s3://npm-registry-packages"}},"0.3.7":{"name":"next-urql","version":"0.3.7","license":"MIT","_id":"next-urql@0.3.7","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"e9d4597b0a834319cef89f5daf830eea96254a23","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.7.tgz","fileCount":18,"integrity":"sha512-XfsUC4lNFY3G2NyhB14Q1uRlWBhjck4kwxhnlS2h2qu03R8edsYbUrekhNii5QWKTxcIQJjjrbxE8SCXpcgLjg==","signatures":[{"sig":"MEUCIQCcro9Tcx7mpVOkKyjuwrL9plHQU792UaVq/vP9Z0YQBgIgWC9F65LTxZr3CPjbo1S4jSlLs+B559MU7d8RK47HPzk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":63037,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJendyECRA9TVsSAnZWagAAwYEP/i3ZvqOCgWa4PBdvC/sN\n+91a2svgUEza+eQo5ZGOPmfEY1SYv/J1fY4kcapCYy3u0IluxyMCa8VsJzGS\nI9SvcstdmV692IIHBQ5z23NQlTylNps3q+qboBrXVXEH9+XOwr5OX2TUXaE6\nPB8h53wAInG6h/YshzrtBg8rZTW49SaqX6eZA4nNGtiogmsfwLUbyDEFbf3p\nUgmyNd2cKC1rIZ+kLJf7iLyc6cnEwTG7VThns0DqGpYQQUB+QBr8ETEszurA\nUUrftjcAdFXyOJ7HgBbNo5tH0hH+RpjOmz65PBBqkbXeJZ7XI2I5HR1qKhPK\nfReatvP/8KOMf11M2oKenanO5LgX7vIBeHguKhxQUXHZlQon/ccbDxtk1dJH\nKrr3mIIuYveEeW3MMGg12f+7dfF2F45DIvh50azbBLj9NKut4olKsCcS99e6\nLB7z6XZ17lNwxmHSXpaSX5L84xZSEKhSbQuAC4b5zWLzTFS7LUuthtDFb2V+\nqVeK/X/wSWUQFfsk+cFbhpyn59V++Vi2m+oBoiLEf5X0ttdv4oQUQuZ7yRp3\n7behxs8d/QBeXe0RjurfDNhsAL1ymZ5bt7uWv1d0dBiDyEC9Z2REVftnqRxX\nWs5dsUj06e69qRAFRSmfX+HvXet1RmAK3te0AnA2sU2Sm5fvJYeSOQMpQSm+\ngGcx\r\n=bwTX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.13.7","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.1","dependencies":{"urql":">=1.9.4","react-ssr-prepass":"^1.1.2"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.0.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.7_1587403907553_0.6962762539854612","host":"s3://npm-registry-packages"}},"0.3.8":{"name":"next-urql","version":"0.3.8","license":"MIT","_id":"next-urql@0.3.8","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"b9af59be9bcf037558fc78b26ddbb51e26bcea0b","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.3.8.tgz","fileCount":18,"integrity":"sha512-i0fOKI4tUmGh/4n8F+7r1UedyLDtDdaei+e6RC6eR0wPkcF04S4bX5N+JBLkvzVRONO5XRNcIBgo5UEmQS5YfQ==","signatures":[{"sig":"MEYCIQCljhEk2B8xOYrGWJYLqum7LM+sbEjnZdHCnQlwTPa0UgIhAM9Aj6kyYy6MvjSBGpXr930/MqVJJj7GfFwwfUBD9PvZ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61011,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJeuroqCRA9TVsSAnZWagAA9VkP/RyeIoP32TNSVQfLVHZc\nynDFrWnM1tueh9zHTze8/vzy8w/6nrWgf9vEwuC7O9DbnXWdh2FsAJSG7ReI\ngGo3nXpxroT/FJ+6Vs4PmdPFsnntHacjozJz4akwt3kyZgab2Q7xRwPMCBPJ\nSeYq1ftQtcFyMLKm4s8nGn1RPRMMUnbI+N8N5D9VMhEdxoA33FjXtX8y4Uot\nYX/ajmrz9TQYShsj6D5foK0xYZfcOQqsQS7CdBZ+7fBF1FPJQMXqPtaLDAQ6\nquwlJpuWzVev6Jg0fkoIQ9gBUmppmkL1kwKemVG9kGSPsIkgk09gwXEYnPce\nTqsLbsp/mIJi6DZwwgPK4ayGjWZaI9NTfPoCkP1GwZV+wfL5o8gRO7KWx5Fh\n3RxCIpXT89wYzlHRXfPegO9fRtCTIjRdTPf/3dLTooGPlpKzqCvcQ3x6PbK0\nfv9HbTDb0RztcIheXmU/nf0vYx+d9cZDrRJpGhbUDD4PZmFQIBTVtu7c6TX4\nr4FGIEkWZtORxoF1/uyliko8iWEL5D37qdgNPqXOGzLJgTTToYN3ztlct5zs\n1rDsUMEGWOvRxVIivEoaAZTOEvN0OJsb4MLEl0MS2BSRQotYJXzcaWGFHpWX\naaRMKZRnwjtqE/L3q8vayXATd8CHmp46vqFeJzFYt0NM3vW5pmJdsTPrs2fK\nXm4U\r\n=oe1E\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.4","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.16.3","dependencies":{"urql":">=1.9.4","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.0.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.3.8_1589295657857_0.040926683949389364","host":"s3://npm-registry-packages"}},"1.0.0":{"name":"next-urql","version":"1.0.0","license":"MIT","_id":"next-urql@1.0.0","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"d15df69ffa2297004e942d24c676296681eb149e","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-1.0.0.tgz","fileCount":18,"integrity":"sha512-ySKpJ22ZGwfQEllbQqx1rdYKe888qxwhgzzK2oY16nyINUB4ogtcLU0eZx1KkBipG2fOJl2RBDOMOcyWBPNE4A==","signatures":[{"sig":"MEUCIGwzMnJuOVr7MjRt8hRLiGo2HCmmu378QNnEHxHw8xHuAiEA1dpmqekj7Zv8g4YdNN6yzBbjCdtv08TGqsu3BixGcP4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":60480,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe4OrzCRA9TVsSAnZWagAAwMQP/j8FAuJlhF42f9errY5X\neCvdiC5RpWno4Q3QHLB+Sdbr/HrJOBzeiMbwobln++bnnYF4mDjUMOH1e79E\nGHWEJ/0D1AI1uA1ZRyVQlRBoLmYWmIB14stPe1nAiSSdjeFUW+0g/N1MLEsD\nuAN7e2JEBMDYeG3P1iP3svV443AgkxP632ZeOzgyQWSdZTPNU4elSL3ZT7IV\ncTNhgmm9W25FxBzKoICCBhKvcZt9c0IMp8bnDFFdAH568nTUcNzqlH6dbGnB\nFDdoaB+LLMGtqJOpVqELPIJULVfgHsvWcqrD+yBhKFPj06PlWRr6gYJt9Bzz\nT1PhqFwBLG+SdzE9sAxPMGGiOe3Az9A9FH8AjQp9hm3mGNZeUAEi768UCNs8\n8+KS/lU9I9X3OartVU4m+XWti4vIh+S4pDWKo4/1viRXKWPkq7BvGFpp3lY2\nt4RUa9JJ2j4KFWrk93Z/tH0sxaS/Ucd5NDBmfqsVw7S6sOQW2BT2HxYhIE8T\nyforQyZxfLE/VTDbzKX3Kf2vVeIakrwmdcdkl/3TcFkq/mSydTXGV2NfHNGr\n3i0z0f6J84T/54Sdvv0fPKUNCbPTvWafWiTVTBFiOM1rRcBIyZxsPkQAua5k\nboRekP/0Xo/8LkH2fEH/B+RwNL/ldvW6cLSraaoiiWNviYcU9JJ1uIkQfP3R\nrdFr\r\n=6d2W\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.5","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.3.0","dependencies":{"urql":">=1.9.8","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_1.0.0_1591798515102_0.6644815749624713","host":"s3://npm-registry-packages"}},"1.0.1":{"name":"next-urql","version":"1.0.1","license":"MIT","_id":"next-urql@1.0.1","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"dedc323191bc6f2d20182c2629357f24803348df","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-1.0.1.tgz","fileCount":18,"integrity":"sha512-NzAKU+uSyLmq32Jp5NBWtifP/Tmf1+3iiPIVc4nYxY2ow3VJTNoaFJ8w1u2oLQLlF1/Y/gF3Ykxz4OyWP2PJKA==","signatures":[{"sig":"MEUCIQCy9Fgpl27x9jGXY84HOt+D7/XlmmX8IHB9jaPw9hTz+AIgXysqw8q6hlMse71WoZ5YoWcpmXTo5fB/yOx0DwdqRMY=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":61247,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe6j6vCRA9TVsSAnZWagAAyykP+wXOa2bmywPGxhd6ISS4\n2WYkn0LUJmGWIN8GK4AKVU28j8G1M6HEacSobxrBV2YOq4d/TUli+fXnXZkt\nhMo+wa1bZXgbUWk0rcSYGwKwDWpIp3h+rhL79q+3U+HUkSW1/ixoh/IBpRLx\np45aoioE2Qjga4ktgqB+iBdwX7qfclQuLOSClD5H+WfaDZ0nfsY3Oqw2sjTd\nTxsTRWpKpWO8Y9FYqgZnjVvMoaeY97tVlRK/RJOGYKwhrWsyT6tzhHK8MaNg\n0Mw0UUjpau2VoLANYCwuENhUL4WNb+B8U6hsjjLXRDxx9xYulNLnBBPIeBsQ\nwcsH1IHNsgnm2YbS8frATScj6NSdELMH+wGjQpGfmoPPyUPe7G+845pdrTs/\n6vM33rMPZfTkwf7t22eEFt04SEzrSGJCLFb7J4yaw+qCrJbftP4fxubyCrpL\nNPH3U5A9dp6a15kHZyZSzFVYCUK72O7vnml6jCyovfiZfltVsg7RwYhY4GAC\nV2o98ZDkmZE4wg8brE4KlTIifKKwEmeNogGsngxfKjsHI+gHFMcz6YVQ4ggI\n7B0y2PxcfSFGyJWZMjYLvP4lhj+K3r3ea0MFMVeOpFBrVvmAgr8DdIFvmW+v\neO3XDzRBz6mWWGX3QCcJcmZ62mZBUQdjxt8jIW2hOgOfifWRXisNfAswUThQ\nBVfQ\r\n=d+UO\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.5","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.3.0","dependencies":{"urql":">=1.9.8","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_1.0.1_1592409774687_0.4251454398334329","host":"s3://npm-registry-packages"}},"1.0.2":{"name":"next-urql","version":"1.0.2","license":"MIT","_id":"next-urql@1.0.2","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"3adc0acafa47105dd268ad174fc32d5a01392fa2","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-1.0.2.tgz","fileCount":18,"integrity":"sha512-OS3gUkzFCaMwdhqggFbecySCFSTM0Y2VhrIOHMHIRep6ezKiNj8jDlgxNygwWseUyvRo+JgMIkaf70gZWgDJWA==","signatures":[{"sig":"MEUCIQCKCdeVRcs7rTwWRrpoXBWL9LGO00R7tjvGF3Kw8u2o2QIgPjng0fx4MB7YISPjjCNisXb71mjwwng7x3hFNcMGEOc=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":62634,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJe+zbUCRA9TVsSAnZWagAAJ64QAIQZCEaVdgM7wAvVovqf\nSkeudbUyvLuz8ZGcE3px4qTMBkZAF4bGt8VfrD8HgDkB2j8VmDGurrsytW3d\nCYtZglHi2iMYx30RRme8t/BT+1WoRlQNTaht/uczS8txGUZX/o+eAZjV8Tsg\nc50T7GfRL8diR/bBB6vr3NGbrZ/gc6agbakq667vQJExI3v3BWREefwlFsez\n1eaMRZgnb6lrNcwgnPefajKr4+OofgpmSHbbjTuFlJBTU9Ww8Obr2wNMQJ5y\nUjHvW4Dj7/H4NDVLWygWEs3ldZ6+KUHhw0pECcnJ2W///C73eqFSQd9mnNWv\nLDmeL2PW8tM13doiixZnLCJLmv/YD/KcEZUJFST0swgAoPEm7NCympE74rN+\n7k7XIEdeahniBJINItvQDQswv1v9/7ZLNq/NOkacDAkA78vY6PzLVAO8YvFj\nbgyB03Oti/ZIhYZwaHcnA+a/SWp1m9r7TYKaI+qlofCE7pfqC0nmWOBZb0yw\nZUWl9zjYpy9JHcg10oeWqb+pPOhn4No2YSx/2ixXP9+Gr2LhEZltsVIiVv3Q\nBss7XfIosBVmAkiXI9BkPnM3wfajoM/lawAC4vsJZ2hIu0vg7KnDNzDHCvUs\nzddyP0FrkCIjJFubNCgejqWZMRsCQAj2UOkZkfYwG9poCQSmS5oP3Lq7rx0s\n1SA8\r\n=TvcX\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.5","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.4.0","dependencies":{"urql":">=1.9.8","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_1.0.2_1593521875501_0.10395534963271968","host":"s3://npm-registry-packages"}},"1.1.0":{"name":"next-urql","version":"1.1.0","license":"MIT","_id":"next-urql@1.1.0","maintainers":[{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"imranolas","email":"imranolas@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"knitcodemonkey","email":"jen.luker@formidable.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"9cec0dbdc2005a0d4f12e764ff59e84a97791737","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-1.1.0.tgz","fileCount":18,"integrity":"sha512-7yrIBaggSvsRzDIDSObA2SWX8hP9fHkdPqqX2moTqDnXNDkBWnzkkGyi+GUcuLi/maX0nL69Aa3hC4oAZaSlUQ==","signatures":[{"sig":"MEQCIAUZg1IV71mRE2hvJLFZMVd4pbZGyrIPXrUWhbLgwmT5AiAB2J5sx2eWx31oL5/l4p4lIJUQZMOwJebV2xIw0qRgWQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":65784,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfIXx4CRA9TVsSAnZWagAAjzUP/1hhdxK0GPiozxqW1Igc\nq87By+AqC1LDq4iaf5Yida6cbKJV4CWOmRiCWq3tEVzHF9DcJNBd0kt0cHc/\ne2N60p2FSHes8r97MqtKQ/zhmMsefhD7XkUS1GzKlyCdEx6cXN7KfaBbqBcE\n56upo3KRKu9aIr2IC1Xi4Cfxn+tdDAm2S9IGK6nnTro/eBRimGKpLDcuMHwg\nCvYZJ+8CU4k7JmByFVNW6WQ/6SbJHm4e9A6Pdu2dM+SydG04qjgf5UPsCuTF\npGvvbq6GFzUGu2f1WkydG9zJRRFalE+P9dKH8YAY9VxZFX5z8P23ZBWNY+9A\nC4IZziPGo9a/VT6GxEh/v3ZSv7zSA5SbdMln7Lk+NZw2BRtEDC6jtZjz+kkt\nE1HrqmflI6DBn1Vsi8BvsO/VWYrtesXiH3P4SWXJHPEop6s1ZaDYKeLp8LDz\nGx4GUmjNxx90MMIw7bRQHk25sBfvtS0pOlqJ2MljWaVuwrLrGgj4YyzMfvcu\npeoBDC0AQIg1/1UAoGcmsOgIhyIlhWO7OjYO9TGLO1LEcI4jA+LtPXEFv6iU\n26mmJvFgtcSQ72fmyFSF2ZvFupo+scLWvvIYdl0Zvjf0GPEpqe8q+Bx9W+YS\ne9UZO3NdgbxFaS/ZFCe15wZshKpZteXfzLusJwYl4I179gJEd7ftISjrVvDD\nDhbw\r\n=FBA0\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.5","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.4.0","dependencies":{"urql":">=1.10.0","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_1.1.0_1596030071649_0.23575545089977967","host":"s3://npm-registry-packages"}},"1.2.0":{"name":"next-urql","version":"1.2.0","license":"MIT","_id":"next-urql@1.2.0","maintainers":[{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"a1cf9ad1911c271ffc5ddd09c1fe15ca68ad9e7c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-1.2.0.tgz","fileCount":18,"integrity":"sha512-DyVROVoQFuwIAUmRyV16Kr89iLfhCx7mVJ4MTAUPMHqshzY+845Cc06yk4zornQ4hE5eCI8OiRYVFPSfNWx6uA==","signatures":[{"sig":"MEQCIATWRy04Fyk1B4azv1SPMuteNmBW3MrDuEbGJA2iALX/AiBW22KNHo7J5RToFhgMjKuuZeMowRmx/x6SdR57ftcQSg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":69414,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfc4UTCRA9TVsSAnZWagAAioAP/Ahv0mdVxj5/MFrVrq/P\nYifqRb2wRS6rAPg+jmz41v6Z92gPu2RDzsoGgC4eMGwi4zqyJDkx7GLWpiwX\n9ts7vZ44P6HMLYFdPLsfEy/sEAd/ZG+ldd9gMs9bJ1C1iFYmfV9JAg15km0m\nm64CuYy6aqamd2gMRtHhVCqz3g1aIf6VkDgIgc06AZk512huAbQtb9zY4B+1\n3vzdHj/8brGLcEMYtVKVuu2UuQy1EyaiwcLhsFMyEf4B7AQ8L1pvFBao23UV\nGYiDpTVW14zAZM5MN71WUwlpTGDEBIhEJtuBfpKHaOf8FgaBBatG6z0hsUMr\nJRHqKXRnhMcZ/8TGdvK7eSIx40cDWDj5CY+/1A5RJUr1NGQb2U2m4szCEpt6\nJuGamiFwd0NOcFRp9DGi11+IPGuEYiHlduboSLns6jI9tJuSVPjlgEcUAJIw\nluSzSy1g1R4ogP3ob9o53tpIcshgoTY+7hj8XRKoWwH2V/BodBxJqpfwp7QU\nlp+Wcukm7PC3RDg1hIxUEqgvEFKM6ck5CtnYJS4gC49ATnVF82CuHcsxfAOo\nkXAraMaqz/PVcF6KyyMsohdAn0DVErUQbmz/bh/8HzsCams3+2GKGUEemeyh\nsvW7e2MVgCEjrjpeBlOH09+d8fKRnNXO7uVNoU7rcX5LAWGajWm4XPhobswI\n8ezF\r\n=nq13\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.8","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.9.0","dependencies":{"urql":">=1.10.0","react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","isomorphic-unfetch":"^3.0.0","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"react":">=16.8.0","isomorphic-unfetch":"^3.0.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_1.2.0_1601406226931_0.9844079793700637","host":"s3://npm-registry-packages"}},"2.0.0":{"name":"next-urql","version":"2.0.0","license":"MIT","_id":"next-urql@2.0.0","maintainers":[{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"kylecesmat","email":"kyle@kylecesmat.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"kale-stew","email":"kylieastewart@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"1466065689aad8d7a4789ce8e36ad87a28b1ef0d","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-2.0.0.tgz","fileCount":18,"integrity":"sha512-UewCR7JcyWlq+Ls/LiLWW6lm2FDmAaFfRLcfDw1OzV4LEED5lqliDxBB6u5HQKlQBLae9UeZsEogH/MmJcpe7g==","signatures":[{"sig":"MEUCIFEcJNhzwzLFiqva/N1cQqoqUNGp0XRJ5QwIFACsXkBaAiEA80qvG9qb7N+1t8XQ+MHdXmazjFWL9tJRWbOG61KPXNo=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70252,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfddAiCRA9TVsSAnZWagAAMGwQAI7JpC6NQgwtmK8NHUUE\nCiynNEjRqz9xn5arrDf6ASDOIiN4zfP4ROnkVWuhpet0Ffvpp2ts6N0S/BtZ\nfoDMO84kAfTHeloRhG3zrknwYNc5pnGE7yKrJgrRZOohOV/Latyj8hMz1MO3\nuQU3o4VRqSrgWXdFlKU3nECo5rqv9fHnyo8uGqb0ibiGxzaczc3CgdSeCET7\n2bcIbdHpIL6SmSA47tKpa5iwr8lEI1HQPv632oXhdz59RFNd5NN/yhlpizNU\n5d2tsq65GM74yDeYAVKF153q2asSR898ExEuFZ197siZvhPEhrvzfxfuIbFW\naR3TXmdpsco1zw+zrFL0orVaBChb48lLr3ogSDKfF7/mk8VhsnJgaxCqCe6V\nfv3u5b3f1ArKyk028aH1DY38koIAP7mmdFpoOkrctK+pkndZvlKq92XCUjXn\nlnY1+Q23hO3hlfFoWqGUZmIEI+6XuoHxOnHuc56FmYFFcPjp7hvT0rO7/6Gc\nNmBLpIJ9AFdqKPlssvJcA7hZm7PLleIaMR6jEwZ49MwyfecJ/lcN9us7FBR6\nKjFQsavfZl0dCd77blC42+CdFBdFHS+FLshW2cFMsf4vyZWKPWkWpbLE0jyV\ngomHuMXkeH4pOZ5LlTwjdwUos6mZt/i69NhDEyltujxZnVbgH2LO1mfLhhah\nMFCS\r\n=NR58\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.8","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.9.0","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"next":"^9.2.1","react":"^16.13.0","enzyme":"^3.11.0","graphql":"^15.1.0","react-is":"^16.12.0","react-dom":"^16.13.0","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^1.10.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_2.0.0_1601556514109_0.5308331432003262","host":"s3://npm-registry-packages"}},"2.1.0":{"name":"next-urql","version":"2.1.0","license":"MIT","_id":"next-urql@2.1.0","maintainers":[{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"851275b522aeee1a8e64d531d516b8f6d6f37095","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-2.1.0.tgz","fileCount":14,"integrity":"sha512-ogkzasQby4332AcUKTQmQTJchbcSpMc4IKrwjsgC35avTygnB9HpFIZaN12/DHfd2+fb4GdnH+hpJWGO+BTIJw==","signatures":[{"sig":"MEUCIEWkfxycxm5py28KeBBoYOsiHuc+XdEzYkRROETDiKV5AiEAiHfLgH8DR1tMXlkCp4iqDXxT/aTJb86hH776qprKuMw=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":50339,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmrlvCRA9TVsSAnZWagAA2sAP/jYddHpYTFhs/Le6xEhs\n+XCweiHsPzw0XshxAD4/e4HFevwJBxyZsq0G+4I7hzYzLZ+u105DgkSxE2wK\nXOjSZ58A4uuAMGBIqt4Vdm6b+S42qZ7HfA40GeuYMQWneSodEi5S1Y5/r0ta\nD1qrsjfRH7VgokNFkBSsmPQaUA+zcQklOj9V3EXoN0HOiRfFeb/MJuL22cGd\n99EoWbd6l7WDZjVJTPXgcH4BRx4zRis9v+PQbYx+dtq9YXPbDrrjmUrPoQWx\n2ys6gEEbBlAc0EcQh6+fIffRIeJghyHO1QvLy7Bs8b9t/IIG3sZI7bGmw7U7\nXpvDYj8WovSTasdGnWof7BS0WsC2oHZ82Ndz4UiyHWnrrtMhRJYbpij8F9dX\n/mhH/z8hlr1LcLMooBhmmHh5BPCRpYmfzABZ3y3MCo6SNFoUzrQaoMsPP/Xj\nOKwZ9dYpa2uTesLG5E8OuayPDhq7jq+UUFDoFeRLMhZJwRforYxmNBy26YSo\nOicowkSj1p2+VZ23xePHHTaJtuWE2V340NZjpX+pmipYiB6wOztJX2ZblXZ7\nf8xGUJ+wEvDCvv56eeQpnCv93WUKkjrVP3InOokJ/xiHX4cMtBGpgWWlvWR9\ntPZsApmDsOB6KCQpvKdNunsms/qaKOh/IDK0dJ1Pg/Rqtd13Tou5haSlgRG4\n5OIg\r\n=nejL\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"deprecated":"This version of next-urql contains a broken build. Please upgrade to 2.1.1 instead.","repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.8","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.9.0","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^1.10.2","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_2.1.0_1603975534730_0.37827469885995857","host":"s3://npm-registry-packages"}},"2.1.1":{"name":"next-urql","version":"2.1.1","license":"MIT","_id":"next-urql@2.1.1","maintainers":[{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"kiraarghy","email":"kara.stubbs@formidable.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"jason.wilson","email":"jrwilson@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"df266ce3b3442611d152e3eab3b1c7dac553e8f6","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-2.1.1.tgz","fileCount":18,"integrity":"sha512-+MFnU7XJG7CTuVPQ4u5aOgmkDT3rUEU4JnR15qhrRC2MZ772arbT5WlIYEJv7BXH/YI0BTGFBd8/jdGvjW6XEA==","signatures":[{"sig":"MEUCICHn2vS91XIBksCz0hGIp8AE+WzTVbAtoyaArgLPDNQOAiEAgj0A12BHouBktqRH3iRgcneYvRELukk9lWtqOEoL4kQ=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":70982,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfmtiRCRA9TVsSAnZWagAAKTsQAIZ0xRuKV6uGxP5egtOQ\nv0HaTlxUwUYmA8BvjHXu7K1m1t8JbSdDme5KE8EH2q9y6HYbtT/tmtIBHgIP\n74FaPvP22WZ4HvJq11OEChbKhTbVWNJNAiOBzKZv17bnB/yuxDWhHU8pAZ1a\nK3C72wPuQtMfZmK0ufi6kHYldNQXCXqyK75CyWRfFocXcNwCGnLfkW+ART2z\nONFxIHHpm0oTi4ZGdO8/2/BkiousPCE9OO5NFrIx0U9+Po2ni3JsYCh6cMBA\nk1hZvbRz2dWIs+eevsPJCgk1x9GMRbarUTmQjBLlQ4rEcqS3UKx6/P4RQDGT\nua94+HiI0Xn7MnLkon25dARnw48crHWpH21ccs8c4Jd+N4NiKbPClOnFs1/X\nKPAsimJkAvOUTIx7JnTVt269fFU6swTX9HVDlge2SYSuHOb/uDvGEjBTcJTv\nmyE9qG8sSmBtyHW70jXVRcuGa4Gr4pcB/QsXNHyjaxkdUNv+sHi8b5sFGjOk\nTamEgkYz7pUwS18lzpSxm1VCNlsMXuDmpdWrdzRubRp0sVARSX/yO1mk0nV9\ng6PBpRc5i2tZ7ET/pX21jUEMha7d7XVo6UMADsD8j+hNG0KONFTWtNo2+G+s\nryKYuylxfh21583Big/PxXNHxL0Lqjy0Z8UJniVIUl8NwefJfIyB733noB6l\noIcl\r\n=6kEB\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.8","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.9.0","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","graphql-tag":"^2.10.3","@types/react":"^16.9.6","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^1.10.3","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_2.1.1_1603983505193_0.7915913025261989","host":"s3://npm-registry-packages"}},"2.2.0":{"name":"next-urql","version":"2.2.0","license":"MIT","_id":"next-urql@2.2.0","maintainers":[{"name":"manosim","email":"hello@manos.im"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"6b042c692f067a982805de7c25db32c32b34912d","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-2.2.0.tgz","fileCount":18,"integrity":"sha512-HT5Ac14s7X2ihylfn6pXFGTlUSqqZUjeZVj1l8XL8S0c5H5ksWYUDfZhUUkuN5SHJ7tZjoi0KlTmLLDrAQhWKQ==","signatures":[{"sig":"MEUCIDgedwwJXZNrG7+NUqwNRWlIDSeiP9kfgG6zUMR09m2mAiEAkIr515p3WKxElMGAwN4ee8g9+GSQo0/DTN6tWGOij9k=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71614,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgAdBUCRA9TVsSAnZWagAAduQP/ialQrnC+WdoAnDjEF4R\nBB18WfU1fA3x/47xbk+OOBn9PQeC3uxKLxE12eYGmYHaz4eoio+i0R/sRaLG\nm6ahR37cJO6REz5IbBxh9NEIjZyMZLiB9q/SFH0w2ng0/iiKncRlKci/Bl5M\nUnqo8A0j5On6wWaYgSJArO45NfYXQu6Y+kGtoL6lbe+Gbe68mKXUIcvhy+AL\niydk4NzXCvvAodW2oC1Pzg9Y+/McAizK3TTVMA8fEMoSVnY1ksOUgvKcit1i\n0izyZcobIM6Bzxje4sSTXDlSQOXa/UA2cm8TGWj1f48+aNm2nEAeWTfgZJMT\nHPLpFL4cQSvkBxEaNGpct3vUMjDHKMtmERfaP/vT9NNkRHqnMog8lxgiuDIV\nPGWcTjIJ7GyvNvRnz3VRn/NrppQveWAd2OXYIudDVree9FuwIrdd6lnmtJwW\nq+c+683Y2FwumTrEqgNMYiARKgXyXIcyFxbJRog4YGJ4t3KldpfVMV/LtPq5\nM5VOthA6AjL4vuriEKgpL8y50af6/Y5yhx3pm4gcM33JCsBEauNJwOMZFHAg\nVGTS1xQwqs9J3JPnPMKGooXjkfcMU5iIx2Iq3WSLbRgheazblF/seVhIsHDv\n7B90VE2doqmMw92JPfk4k+Uyq4zgUI12Ej96XG034uZxqfvnXgCHNtflL5C3\n8gzj\r\n=T943\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.10","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^16.9.56","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^1.10.3","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_2.2.0_1610731603933_0.11677723159641595","host":"s3://npm-registry-packages"}},"3.0.0":{"name":"next-urql","version":"3.0.0","license":"MIT","_id":"next-urql@3.0.0","maintainers":[{"name":"manosim","email":"hello@manos.im"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"b3c2d1306c3f8826b342a9c39f282de4bf45ae74","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.0.0.tgz","fileCount":18,"integrity":"sha512-7sT5jLo7XqdVDRP43oo3KJf1c49cnytTcVXIiPuZInfUt5wL4Mri/33MbCF0dFFKNeYE3LluGrKV55uR7sNAWA==","signatures":[{"sig":"MEQCICbmgFCp7RlkS0y5x+xGw+h9hKqKZoh24TVWl15nu91LAiAV/T1YlYujuGfHknWDX31a4YIuAeOD7fKC9N39WMXAzA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":71867,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgJBx5CRA9TVsSAnZWagAAQq8QAIwIqzfjrxScrIZIwFPb\n0fKM/i1uS+K00bP14dhvcHUb8DXmzN346ZSW05OJl3fZKB4y7XS9RF1WhO6z\nyxfqthpOKui4uYMDIW/p3Z/zEB9LtKefqlLYd8uFeKyaVXyVoEKkgnmFRrsi\nh6IMznpMONCDuKjKi0X0At1JlwX3raLooKIeQ4zGmiXIPaNnSEKXnQSpGvbn\nt1pUex+6KXB/u3G1LsP+IPaSWehrBFZ/rnnMkHgDYNKk3TZ43EFuqUc5w34M\neNW7GwbgEWxSOYfdqB03epELkXpqTYwgdZJjeEC0/bqSewJgrPhYFaTxP3ql\nprsWAbmZaqlbKmzczR2BWvkqk9OZCXu6WqJUes6wfsxvtFQ4uPwO0JXpmnN1\nFeRWtciX72WEm3v4/LTJrZmR68twV6/smMS3SvrFjSJ+EBqfn4gfYBWE3EHT\nTMBgZMx8XPSHMYUJojsPSN50lqsenBHVHGDQoUN/Ujqipr7KwAbxGTT1Vg1v\nF8j2FmD/cQIDYzQq4DYXLGVJOYGpmkgwDviad5ATUIGfcYRXnoYW4aFdpc5X\n354Uid8NwnKx1TDtaoClu2vKvHV6AxlBnf/lcw06VQlJxflKSzA+u7zKlpis\nv0vgTfbhvwAuzsXO/FBX6vqAZbu/AU4MG9HZ4eOKbbkRCyw55qUHLy2Hiv7g\n7gn5\r\n=oyHz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.10","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.20.1","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^16.9.56","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.0.0_1612979320603_0.47909843791784246","host":"s3://npm-registry-packages"}},"3.0.1":{"name":"next-urql","version":"3.0.1","license":"MIT","_id":"next-urql@3.0.1","maintainers":[{"name":"gksander","email":"gksander93@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"coopy","email":"per@sproutlab.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"552f8e317abe13f70251db77c0005c8e0f969854","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.0.1.tgz","fileCount":18,"integrity":"sha512-Owu+Y+svp17vYmAR+qJlLITQswSF00kdmys125syKG5uH4R0l3rD1wThEX64gWdUpSj4+P8jhP1wZQrrRJa8KA==","signatures":[{"sig":"MEQCIAfqfRTw7tWozuzGcjFso85UHJ7NzUeHZTDoWHlDcJhXAiB6I6DRt0jVQajSHr+19WPubBTsvvCQNpPdlI5Kvjqf2g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74332,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJgZf8KCRA9TVsSAnZWagAAbPUP/0/3HI8pF19jVxXZmgPi\nP1b6KUsoGU/1V72W6n1q1kfb2jw/L2lTocwWh1urVYRyW+4oigXo7O5oP9+o\nVjRMC7yuQz5hm+ne58cI3H3guYnI14QyzlvCb0vrPC1wJ4uAFQnVX5p01vg+\nDW7Q4Fvaf/0lU+BilIdj5OS+t3tI+AZ99v4bzxjfiN4w2LH7z4RNCRB8E883\nSw7c5t4xRUzUt6IIGMlwXeGG35EUhC399cQ3a7AxLsfRRy2k7/Z6SXIMwtYN\nDY7FTV8eroEESj/lYVuZQnA3OGZjagWbJBAHg+EFzXyPoFZ/ICsJ0JI24d7p\nGjD0euFTfk55TzRQyuue08DZN2ErsjINP07FHtNyBMDgDzc3W6Kp+DVTwA0n\n2tqDrmdktZBXZkRJu3+i46TrW5tUH54WJd8dCRrTlMr7zza4nXiVZyFKWm24\njGnJ2VGWXUtycCFWcmZd9zxXZ0r5BuifF7dco2ma8DIx1z0zkk3i1YSsCmD1\nL4e8/Z5qIx4eg3JWUz+Z1kFv6ojf5fXZx77qseDBgr4X8DNSkHzhYM7W9917\n0b6fPXP19SskWgqIasczd+zME4EwJN+JK07Ab+m9SzvcHYhMJf8aGRJDu78z\nbqcJ08VCY4rRCDbrN8ILniYLLCgZp42re6li2ARtfK0GPzYzOIofiPgjsSwJ\nPWYw\r\n=VIRW\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.11","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"12.21.0","dependencies":{"react-ssr-prepass":"^1.2.1"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^16.9.56","@types/enzyme":"^3.10.3","@types/react-dom":"^16.9.2","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.0.1_1617297162330_0.8884143119869856","host":"s3://npm-registry-packages"}},"3.1.0":{"name":"next-urql","version":"3.1.0","license":"MIT","_id":"next-urql@3.1.0","maintainers":[{"name":"gksander","email":"gksander93@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"thekenwheeler","email":"ken_wheeler@me.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"chrisbolin","email":"bolin.chris@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"9c354cfd54cdf886988a2cb1ea0fd89f48ee7555","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.1.0.tgz","fileCount":18,"integrity":"sha512-darSfxLqtC6mIsWxtTGvD9HdY1ABZwfB28AORPUhPFn1QNE8zaVQUtWydPa9ekgE7HC5ydTSkl4pDniUS2G8uw==","signatures":[{"sig":"MEYCIQDSabDB/uRzx9JUNq8oQpmH7k7LhG9CfL8O6NH0Gh/VPQIhAIshkwpaSIguUskBM5NcvPRWMK179Dpu3tyllBVBZaP9","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72815,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJglXZNCRA9TVsSAnZWagAAX0sQAJEreD+obwCgV1Gd6bBO\ne9krkr3FLJ4QDUQzymDTuWnR23DeuU1YaomJD9GvP8KPiUhxZYmtkdw8/s88\nNdL1kleLXHAP627fjw8VMzmwdHRwjs4TYtbBFhDxr6coi8E7m0iM5XOYsPeV\nk2VsOwq7uOaKjjDOJCaoaomfNSeOEfCF8srL+S5JJ85dQPoq18gYXxdgltRZ\nXO16x/MQckSNiWBVlClSNhE5dPrv5OYyDyH5MYuO/FBmnBrhRCShsbw/z1QY\nnqHCHb7Fg6GjvEdsD8LwwqgBdGq9hoxO/aRiHYKhDTAUnKmfySjBdE2HoKpO\nQckltMWtFj1mRlnrIY4tQjBMQC41J2XAEvW+/MNR3sIq/Rxlrmsm0j549HwT\nLCLi7u9GBJs3ZxlMfiGkLt5o9kh716vAvTsgyFcKcz08gCHmYymLE9+0HTyq\nBNfxiDzv5w2lboY2MAdAIxBNeeETV1TYbWFwbvTg9Wv+94O+bq+EdUlNZgsH\ncApNf5bKwITyEL1ye4XoVBLySdRRJYDmGST+Wc/AWMBEmc08Y8G8oScU3feZ\nWUOhTMwU/OcKtmiecoCdpNCrMwivc5c3fgfhevY9XYJ7klNU3uS+1ulmzIgJ\nuQjKU7LLr5joWs3Sbi5xZbXaXP5w0ik3s5Uzr5/TmpzTcVD9WL85ZEGBlDzP\nXGUv\r\n=8yey\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.12","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.16.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.1.0_1620407885324_0.14003684792862625","host":"s3://npm-registry-packages"}},"3.1.1":{"name":"next-urql","version":"3.1.1","license":"MIT","_id":"next-urql@3.1.1","maintainers":[{"name":"gksander","email":"gksander93@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"mhink","email":"mhink1103@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"eed270b740d1e5dca2f55e52309f8a42591cb1cd","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.1.1.tgz","fileCount":18,"integrity":"sha512-IkspufSuCOoSkkfuElgyz6HNhxY/W4SsU4LhUH1xbcOWwiPZJN4ppTL0ebbqcOURwFDEc1oOmQMbQ2gyH0czeQ==","signatures":[{"sig":"MEQCIB+hrzrCddwupq8FKjhDijY5h8O8XkNKSZKC+ShhTDLgAiAknFFuXPsqFa9DFWGSCmO+m9YWDi3vrCSMz67l/19wIA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":72487,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJg5IVzCRA9TVsSAnZWagAAMEEQAJSfWIUxvH3dboDvOg/A\ntsk5WOPE6NxPW8V3LkodYyyPrncCuuWPRw7pi4xEuFtfaEwqUbsfKAttPIOE\n/EXUTq08pZshaMXR0mKJvD2quw2ozWP2Kz9kPyzsCXWzMDXLU5RxnxDuvhzt\nczaULDDkmElcPu+xVC2NpxBypH2pouqOumUYAPdowAHq5QZ9pU5MFyHc5IfO\nY6er9p8KxLTPnnKVvn8U8MJdi9lPzrelmECZlt/HJ+7HSOo0R3Ghk3Bsur7d\nut2paOnMTJCp/P81dMk2+FV3z9TSU0quEAcY1xK0Zcn06v/xQ2O8tvm88hCu\nrfE25ju27AjfOhrtg99400a3oMU+8Ql/lthqInEDzAaH1W3lkx88DOvoF89L\nbSX/u8BmAZ0gmU67oayNAIZd6IFXaQFM0llzJuPOw7QlwJ7jWVNi63N0KNN+\nB6gc1hFLNzER9BDttC/BlUOldm9xKtOFWRBmyeszUjMLP5U+djpzN6/5er/W\nKknsWB3DSQrUDFTwc/n+u9VvIa5D7v6AyzJ/AHPw1mPg+pBmIdpgQCW6/zM3\nW1DvAJ8jmzf9lglWLE6NsjlXevQTH6lgLXl6GcvSf5y948nggq9gJdYFbusR\n7UnHQKm/u5LXpcip6yrwUtRKSqadg5rMbTHFov6X46/4GmaRe2CYTFwA73rx\nrmiL\r\n=FOds\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.13","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.17.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.1.1_1625589106779_0.5823991135223776","host":"s3://npm-registry-packages"}},"3.2.0":{"name":"next-urql","version":"3.2.0","license":"MIT","_id":"next-urql@3.2.0","maintainers":[{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"9e6fb9eece5b6f2793ff503ce1659af64654fd3c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.2.0.tgz","fileCount":18,"integrity":"sha512-qFfaMagYu5fIrdSxF8+FUAukkP0pvfCWQbz+a1QV2vtqgB3OHccLqsD9iUpuKNfBkgKKLoMlnpSfKKYFklKO7Q==","signatures":[{"sig":"MEQCICe6zNOOthu/6D9SpBUoVmXTK9CV8BLd9w3VSm3tBKaHAiAC8PFFoIJg/z/zDjCGlsGmI3PunlIocasjurZjs+Vlgw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":73886,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhFN69CRA9TVsSAnZWagAAvxgP/2Ufq/gfkvg2ox6wq1IV\njQ3LgkoTVNgPozXrTiZgRS7aynGU3tXebnXHABf3nvylRuP6LpToESsOpqzr\ncffBwIjHNtGZKQnLVcDzlBeu0XkTJ3U58wfAygWKBiXugI4ItTWNA3ZzYQZK\nMNT7E8XOW55C7l4Mf1sqIqdzImXwiMcAF4Fo7Q5MsxzJPobZpYffdVCUluNe\nCplHcqXqa32e7+NcBVdfip/8ZEHTB7vaDrj5deCxtfYUYNdhmFhRbgFFInqc\n5NnJIBY4xjyqypK+3sGPWXGrEPxWMK+AWb6EbFay7R3bA9zbmhChSqFL7IoM\nEygJU/jGfFdw3Rzza6T27y5eZ6Xp2y62H4kDEr94EwdiWv1Y0JqrATIBUVB1\nryi9LR0D0U1yKNp3QprBVF85kWJIC7MLxWDlPz62fwVaasMNjOVAItR5js7H\nyCbSM6kfQYqtE+O3nrk5+bl92BbBJyl3n6AZ1t6Mv6DMi5Sj2NzGJuhG4pw9\nrTxtnlK9uppXYPj2bRcaPfmNvtZ2lT91f4U5hW+qM5sGsEf3CnrwKnQ2ov6E\nZa9vEraZU1Nnu2uTUTzmKdcSkKR/U/gWsUZCKILjyeFd1rDoJQ91nqOB6lcU\n/cKQDB3OdT6P2YO8QgByGTyqO7mUDsruICKfjkVhAj+Ef3OEaLmfK/skKP2a\n3kAx\r\n=9Dtz\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.14","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.17.4","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.2.0_1628757693661_0.767875548665079","host":"s3://npm-registry-packages"}},"3.2.1":{"name":"next-urql","version":"3.2.1","license":"MIT","_id":"next-urql@3.2.1","maintainers":[{"name":"beccanelson","email":"beccanelsonbailey@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"ad2857c6ef577c36d3f29004d14d19d6cb8be1dc","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.2.1.tgz","fileCount":18,"integrity":"sha512-b8KhQCSZGfxkBKdKMmDihi0m/sYa+i6r8CtgkjqeZrAUdksC7p/gQyCiknZOGJSVyNIc4FHUcnLsKoWqqHGrYQ==","signatures":[{"sig":"MEUCIQCrWmkWndUUoVEpWWQnCZzhrbyaBnDqNHBxTgyRBw8TEAIgLFR1vQWB2UU4+MrMe/W1ddmIGeTJAQlNjkTswklBWpU=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":74667,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhKQuKCRA9TVsSAnZWagAAP44P/RimRIbXmZEVTAm999mz\nesxXVf7HQqcI4z2fDwwj6StIbE7WxhpW5Fw/Cf0Pq0rGLkL5wrn4VaCGbWdb\n1QsJ808lw3vwj9L6U5FeLJ/nC6A7PiRs9OSC4W7qgLnUzIoCQrM7yIZ+IzBb\nUA0UEQAT6kiZ4L4UJrvslw8Yl1UaBrtVi8tLEO4uj51jfOP8CGqXkBJv90B+\ncSKMRNwjdOWUfEBOOwdtH3oS7ypUF4x3Xgv2LbAfpuh9mJsKLT+GLm7I70JQ\nZ8eNSQgpkwoDZ7mH/+gTw/kn6dLeViL6TTczG3mKjKmhkixt8ibW5AJj+sR+\nhTudDv09/AAs1PmdmXHDEzUNjg1Uq/aqKZ+s0B+R9EoR1i4JqkSDQLijvsTz\nbvrQ8NS4fqEsSuj9Zp4HfFifDLScZAjZD3ryDBAZwUJ6ohaXqUb8gTGpcgip\nBimNd5AqrsNl0aCAolLZh2xIYTLUMLbhiQb67LBioLQt98kmR6vF+9QXZ8mg\n51IQYfhiUFbDfVYYYFdv9K3Zp42jw4FfX2NBNfCz5USsrFcbSvx7kJlc/aHo\npEfh3VnGzxBSG/aSHjth8x+wsO0XBV4PWw5gSN4PB0QUkLFeTAMNMLSFfV+j\nRWgXurV3f5YeWQO1We9uCt4/hhAOGfIBcvXkACQnwttZyly5tu/RWik21l6H\namp5\r\n=XIxG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.14","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.17.5","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.2.1_1630079882356_0.3423345111395897","host":"s3://npm-registry-packages"}},"3.3.0":{"name":"next-urql","version":"3.3.0","license":"MIT","_id":"next-urql@3.3.0","maintainers":[{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"beccanelson","email":"beccanelsonbailey@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"47003d375f2ccf4d574d120d4031c2cd5fa11626","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.3.0.tgz","fileCount":18,"integrity":"sha512-JAy8t2bqDJ3oeJF97fZdjTdr6jy6mZ4yx4jGCovDqAKhTOvrJPkElI4QGU+s7CJmUUt5EjKEBxVGvgVDWTkx2Q==","signatures":[{"sig":"MEYCIQCPDqhwh8amgMc4Lxsm7OmkZ3XUZ6/100VSp3fV0fkCPAIhAPRsjxXQiwNpr5Bfbmsinmu31TDS3MvcgaJ3bsYwWfBi","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":76256},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.15","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.3.0_1636567958047_0.23112133119339817","host":"s3://npm-registry-packages"}},"3.3.1":{"name":"next-urql","version":"3.3.1","license":"MIT","_id":"next-urql@3.3.1","maintainers":[{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"bmathews","email":"spoonart@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"beccanelson","email":"beccanelsonbailey@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parker.ziegler@formidable.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"4ca109235c30bf6266e757a5fc3dcbe746294300","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.3.1.tgz","fileCount":18,"integrity":"sha512-3JvOF+cuWtoIdIKxaksecaOrYDZTtgHJxlPGNYmPn7WTkJa9+xY7vjQbM15PaEwZNp087RXn+Lv95LjgNGtNww==","signatures":[{"sig":"MEYCIQCJKvmqzozMrg3+Ht06TkXp/5X1iclPISL3ZN7SPC8IcQIhAOrbngjxv6NS/gEiOlW9mVoWEQ3rZbkX3IL/8g3xM5Jd","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":77904,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhoSIXCRA9TVsSAnZWagAATuYP/3fEHmX9A9hNbCymxVVD\n2fJOIzhdX/ZdVNHx9XbALUP9fX7U0lS04rrsQ00xdq4rYqFZvc8JIxZtu44V\n1qrDYmA2i/vJCdm0upr/3QVVx2gRhYZ3D54q2BkI46tboNUWAFVwkzU/Puhq\nYMU1NOzpysty/wtkQXRFR2oOAzdWxtovG1wetYDcVFXkAWLk01jk4lfuk86l\nlWb1o+LYghUNzmZfgXGaKBPwSJ022bNzpkiWP7REA7FbNCRNtiIZ5Lp9m2cy\nfKljKBlcZ6II+0Z114dbZcB1iIXaTPu3GDyxrOyhOu+LH12Ynjy5vpCtSUbQ\nGoR/n6wQ0rZqiVC2U7hzaAirTPeKpzAjzJbqz4VLlQCS+O4WTKPjnL2i53Gu\nFd9msdhb1p+bGms0nGRtCSuO8GWwWFybkUT4jjFJzyTY4B9SXId2WGHKbKC0\naX9so2MoSAMFhcAy3XmmHeKFnY3EKvYhBDl7Jv0vkL7M+eAK4Q8OxGQfnRRJ\nNyLusySsEW1/r6YWJCfWv04IiD2GOepuhCwQUxc0Vwx9mboDQ3TonxgHrNKo\nJHcCw1Vuw61gzrHH8QYMH8Q88vHKBHaPYlRzG1B1XHQLrbebHCNGVPQlzlMu\njSr1A0jApjgcJgS8NzJxl5/u3zxD7xuKNQUctH2SlZo84bWJn0KV9fLaTu8f\nOHvy\r\n=bTDG\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.15","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^15.4.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.3.1_1637949975367_0.34414624079225353","host":"s3://npm-registry-packages"}},"3.3.2":{"name":"next-urql","version":"3.3.2","license":"MIT","_id":"next-urql@3.3.2","maintainers":[{"name":"valgeorgiev","email":"valentin.al.georgiev@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"paulathevalley","email":"lavalle.paula@gmail.com"},{"name":"tptee","email":"tyler@tylerpaulthompson.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"ebrillhart","email":"emma.brillhart@gmail.com"},{"name":"stefvhuynh","email":"huynh.stefan@gmail.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"boygirl","email":"lauren.eastridge@formidable.com"},{"name":"beccanelson","email":"beccanelsonbailey@gmail.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"hartzis","email":"brianhartz@gmail.com"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"8be8e37f48726c55cb1c3eecb8c2003bdc319f2e","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.3.2.tgz","fileCount":18,"integrity":"sha512-oXQHCFU0R3pIwXWtDqZDYOjKcD7SlNP7aove9YuukgKuItdtIR9CRUgo3qMOD5dSQ3wBBGfQ8zR6XtzqV5WiGg==","signatures":[{"sig":"MEUCIQDzv2BxLcXcjPRieHFoV0g9ekk5WQyF6HWDLxRLUen5FwIgcMOS6AZGdH+ELIUZJiGQgXl2cgIV5bCIa/8T0+CspY4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":78305,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.13\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJhsnteCRA9TVsSAnZWagAAPxoP/3j3fWMDQgvxaJCCsepk\nds4ezW6j80olqOhsn+H9NKgwYKD92x70vlc6LLbjcuA7gwgyy4SRNTsYydwN\nFcplJCzurZh/6snsStLosfUWImjT/9S/vdIBD38K2tRxmJ/UQ3qnAdZdDE0E\nle5Rv13oMahq7K1FJrzXO99bQlZMzmGUH0tCGPWbPE9FYkhaluMZFe0lcv92\nLwita3SF419Wn/NWN83qp1R89T6zgWEx4LXoM1Map0whSRVTi3zlDAyYzxfo\nk6OP/+F8MJDvsy5LsLgHKfIYG3CSTE076vNLvzKxr1iJaOvrFb3E2NKDRoje\nexGNe/tIKCCy77MKgJVGUMlfcxdqM9JIDT3GeJbJGhCSxULl6EkVEasILznC\naEgFUkIVRNVHPbRfCaWg8PCJGG1gqBJDY7mVTSK+aioscE9onYzinkOCeXOh\nqDoO3gOzSP/Uv3QmwvkLCL2w0yvxbULrDyIgQcAVi8PMdXlt98Ptsomz5BQ/\nLMtEWXWhhx6vI8voRnd++/Pe4pqpdPZdG5sZHhETMwSSz8gfqZ3Lk+GqTSDc\niBYjDDw78vXNJqXUgL4p084vBv4Oa92yWFy+w0V5HOg5B4OG+FSJt0guRHO/\nOZst+sf2YVOTrEjF6RNUOTLkrXpR7aZByhsski9r4Hb2LlPPJ3SpcwHNyUUh\nxKoU\r\n=XqLw\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.15","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.18.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.3.2_1639086942561_0.7855786477053355","host":"s3://npm-registry-packages"}},"3.3.3":{"name":"next-urql","version":"3.3.3","license":"MIT","_id":"next-urql@3.3.3","maintainers":[{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"jpdriver","email":"jpsdriver@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"valgeorgiev","email":"valentin.al.georgiev@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryanisinallofus","email":"ryanrray@gmail.com"},{"name":"samwhale","email":"samuelestrella226@gmail.com"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"beccanelson","email":"becca.bailey@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"3eda3e57c0a51955deba7fd4fba250fc88846874","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-3.3.3.tgz","fileCount":18,"integrity":"sha512-mKdpbvxW7FifHjupRKNjE1YuZxhLF+GlN/y1sARcUSEdrCv10dRkFGQl03p4UpWtdggCyZ5lOVBBaQGW7UNfiQ==","signatures":[{"sig":"MEQCIFV1b/g35J3RgrQJQkHA6IPCC5NvxacL/eZedMgyTc7TAiAZdeZcAO43mT8yWXz/ya7HuAd+W1PNCtX5BNuy3n/hxQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":90021,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJiohUJACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoRXA/+I+XvATmcuRGW+yHQyv6hsQ/aTNBIdx3WGFDNnSSXy19raQSj\r\ncM00lc3jfozotne/L32HTNHJ9zHkpBp3klgc+ypWhVzznl7FmxDw4YdWm9Zn\r\n+ublmYPRjeRBVdAhxJ08eG+7qcSaVI/4ZdYea/SrRojKbhL2G2IY+8V0GvRh\r\nHTcK6in65BHjJSycbILTJsZFTQpnk9YjTbGa2zL8vKCZotulmoN+SX3FJ8iO\r\nqlHlLxbzSMpfRMVT+r2/oengJvTe+VQALWV+02XqhI0kpH9ubniBgGZM6PEd\r\nunrBqjWVqVOqmqb67Cb2IrPb/hXY1VpaToxcNZujgAPSjnUnPKstyms0kDry\r\nE5kWtqEXlGG+N9sWe5fU3Bisw/FooNUWyfzY6QKUAinxS6A8BcfXivZC/b99\r\n9HXCJbiDyBrwleXF5MA1CuOWfp9CuODU8YSgPeiyxh99GotuHsh8yjVbKDE2\r\nJdphgF/YnfSs1CMb/X3fkUzRzfQm1GLdBssCPVMPPH+IHx996Orcj2vhJ0OU\r\ntc429R0QroBNDT67LawIHaZHy9fzyR1vENIdyivLT6xhPzljoVxxhwuRkV8V\r\n08JaLdtg5Q8OE16bnc5vXqOMICIntthgrjIrVVc7wHbHvfJHmcLkT6Y2tzqx\r\njOeRaGclEEoU3knlehk4eXokTjYlru/8b74=\r\n=HLhP\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.17","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.19.3","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^2.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_3.3.3_1654789385068_0.8213023342702408","host":"s3://npm-registry-packages"}},"4.0.0":{"name":"next-urql","version":"4.0.0","license":"MIT","_id":"next-urql@4.0.0","maintainers":[{"name":"jeremygiberson","email":"jeremygiberson@gmail.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"jpdriver","email":"jpsdriver@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"valgeorgiev","email":"valentin.al.georgiev@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"beccanelson","email":"becca.bailey@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"mfulgham","email":"monet.fulgham@formidable.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/FormidableLabs/urql/issues"},"dist":{"shasum":"4057c452b00cf011a83227cb9944e44c207daf49","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-4.0.0.tgz","fileCount":18,"integrity":"sha512-c/dLhNg9bP+ku7GJDAYlsNnKEazrjcDnRx8/mBsGnjMj4c0yM+p2PBGbirWXkYL7Z2ogOHnSqHTt8swB9sJvQg==","signatures":[{"sig":"MEYCIQDdWwUrbgmDmNDcYxrt5pYabHFN/wdRxgpl90f3I6cRzQIhAOHWaIBwJGB0X9yv8TLnEu1YCHhY+1BtRbbG6vkgkvNc","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":82471,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJi/6BpACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrsRRAAk+N6CgQZlPuM45R7Pt/zeBHPR8dsrfoRV3RT6VI8RX1U7Tuq\r\nli0pYuMHyj39qCEEgYMjNhLQ4NhUz937w18AIiRKAcUJopZMehJPVBNw+g8R\r\nCsv3FP9wspvnaTTmerwc/uD3+b9O9J57gZ0B1s/KFA3YAaejyjqDzkUWfRdO\r\n+Ju3Fu/l820DOgJAn+DqH+cH+FpYnGtIkUAMHKlCwcjcuLDAIDMAuMhNrVFn\r\nyv/1a6dwefZXwC/3JsnBJAfOPaNoUMbfQomwzhel/DJpclXDxT5PdPDxe0aF\r\nt+/kVxHh2tiUHp9D1vRQ5QhmKTpmXXHfT14GPZDrlOq4t60avRWBsZhbpt86\r\n7d4LeAe+/2gNwtpcC5fKwCM3S6NowX+qtLff5qJa8sidLosWoW88JZXSGoDj\r\n4tPB+JFMQCRLYHPGzDbDr0zE2Ycc575Wuz2Dwc0g2TWLr6cq9cCqJ+JWDBUl\r\nggIsAq7OIa5zmnnD2/cjgA1V6UBAzo1KWRGKUt2UEpffuvT/9Y3pKs/4+YRT\r\n+ip/HzVbHVldGxXbPXDRdLmNYYQ3Wm6pOqLcJ24FKMT56WlcgGslVW4tfR5K\r\nSbdcUoFp15j3l4MvyO5UnTt5+C1OK8r9x9+JYzppQVPHe3lbLTDmTLta9mb9\r\nki9bCIujRJsrFiSVZCsn53mZkwgZfnWaRnI=\r\n=IXOg\r\n-----END PGP SIGNATURE-----\r\n"},"jest":{"preset":"../../scripts/jest/preset","testEnvironment":"node"},"main":"dist/next-urql.js","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"jest","build":"rollup -c ../../scripts/rollup/config.js","check":"tsc --noEmit","clean":"rimraf dist","prepare":"node ../../scripts/prepare/index.js","prepublishOnly":"run-s clean build"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"repository":{"url":"git+https://github.com/FormidableLabs/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"6.14.17","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"14.20.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_4.0.0_1660919913645_0.1251162486410038","host":"s3://npm-registry-packages"}},"4.0.1":{"name":"next-urql","version":"4.0.1","license":"MIT","_id":"next-urql@4.0.1","maintainers":[{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"valgeorgiev","email":"valentin.al.georgiev@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"beccanelson","email":"becca.bailey@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"413607bbaefa8ea3ba2de2b67ecd80988f456f5e","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-4.0.1.tgz","fileCount":57,"integrity":"sha512-9LXbmG+YXsSIQxA+fICUWG2a/nL2bol/qEa2wceDEIHzMGLe3UPOmYzfP5dEKMQhSzqQm+h4RsbsdIlxdtOqZA==","signatures":[{"sig":"MEYCIQCb42gNIO8A05jRkMTXXWc0zij4fNAzNAB8mWt3k31t9gIhAJ351weWG5JcxxZUPbwIRAYg0c8t/8OhnwvnU8BXXn4H","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":571483,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjkhogACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozEQ//Q2yop2eR4LVRAO8hqXFXmLRgYf1xi0hm+hnxVDmCqxOMizUG\r\nxf2CJEwnkfWF9vRRifOzzsjxeB24XflkDMprpH30xM+A1OosLR7lMaUTzI7e\r\nYOqxVXQ6TW+YyOnfAU74Kww61n9DK5mXn0aUmQqTb7n+Kt0pGWjq85P+h9wI\r\nJ4qqVIKgw2QjRpdIiGRddh4k3Say//lSz9tlRMoeuF3vfdAM9nggkeYu6pC6\r\nehI9DoJB7jiQCQIFd+GqE6gyK8UGd3bcgcdRBFkHRTp9vgVTpQYYjufpg7Hi\r\nLWwR8or0iXFG3xMp+7DfGXkRMxiHJAXT8W5h6t00gKQT6fh4LjTg3ELtDQCT\r\nYHinIakYojQ9ltyzQldoCDmBapYF5RnQS/X/ezeanccy2LBZAuJxsKwDkuqP\r\ngBnQ+LEvRu1f13ZS5nbhxC5vVuFVlQedI600Phfi9DA200XmEADl7LCJxcjp\r\nSPE2UBuWKBUAoumI8rkErh/VZgJNgcf87aIKeXcCESMNzD46BnSxCXgns1wb\r\nOzGVqsOAF1wEE5Iwpj8Eh7lX5nM9Eh+kNq6TvXITc80gH1mPFw02OpCx+6Xa\r\nzpkullluAek9i7/hHxNKESdquhDEroq9mOm2jnD4663iAnP1yHkLrJX7BOeQ\r\ntG0lp2C889uJqz72/sv+jD+LEeB1Mxxma1I=\r\n=iLR6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-4.0.1.tgz","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/1d63b3d1844f038dbe97c4553cfc5836/next-urql-4.0.1.tgz","_integrity":"sha512-9LXbmG+YXsSIQxA+fICUWG2a/nL2bol/qEa2wceDEIHzMGLe3UPOmYzfP5dEKMQhSzqQm+h4RsbsdIlxdtOqZA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"8.19.2","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_4.0.1_1670519328350_0.4693290356434545","host":"s3://npm-registry-packages"}},"4.0.2":{"name":"next-urql","version":"4.0.2","license":"MIT","_id":"next-urql@4.0.2","maintainers":[{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"valgeorgiev","email":"valentin.al.georgiev@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"beccanelson","email":"becca.bailey@formidable.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"manosim","email":"hello@manos.im"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"fdce44fc6c622b59d1813896d1c4e249275fd5c8","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-4.0.2.tgz","fileCount":16,"integrity":"sha512-kxVMyk/angixsNjXSib2dabU1fGlidRgk7B9B+WOz+0yIZw9XPcrq1xwwgehfQe2n1O0gboBSQE8reP5LPGk7w==","signatures":[{"sig":"MEUCIAeT/WY6C00QD8UDNLYuya0KrbvbvInrTj4AjQMxQdyGAiEA1ZSW6xo4QDoIm7FpcF0nRFXUCkQLFUWNVg9OcCpuu2A=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83161,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjk240ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpDRg//fp8NNonXOAmm03sOplXf8488q13mOk/sy6aWGguBBPkCqBZj\r\nesYxGE8aH8UgULQz96PKghKiTUwuDziMmkaU5w+N2ZZC63dhEw3VvMoeRyNW\r\n4RDUkBQ2lszKjAV/rvez2O/KQ3hCfG8Mwcb9lKgWU2u2EOmPsxrSHEGSh3Dg\r\nnKRJ/aM+8L2OXUzgc3vkYO7VgV6OS35fbO7OLt2u8PP7hF+nGFR1nJovEAEP\r\n33S/qdOJ6QAOfDYXW3+17oCnEgVJiQLbJM2jGgWLbh4vsd8thvHcXf8jRCku\r\nnRkWWSDfehFj4jD3hWYrsNGjlhxFNIQcLi1M3B886V5CSz2NC11eiI4bInhL\r\n7n1GDvLDBYplrGJIbYiZHYVWaJ3rkkzBAiejrJSvNTLBvhk0INSjZ+J0t5Ua\r\nGfbATViTUPnlAY/un2tqj6Z5zTKg0/WUP3k6sUa6LyWXbUemhNUNSPInrIj5\r\n43tPH8uFSJrWWg5fyN389w8ilrQqmuirBuRGNIRaONatfrQSsu1R1AmszLwG\r\nODZnLdLhp+i0WIL7/UPiIJnfKu0wj7QnyJhc4WSnfeCBu+d6IOOTKCvuLKrf\r\n0OaIzZlZZ4WexjvlkrSsudJusDtDM4JO2kxOj0de2ATmhr59mEW7GowyaIqo\r\npmQcuh/7gu/Zz+qMoXuGnz3GOLQQmn5f8WY=\r\n=zr1S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-4.0.2.tgz","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/cac44105f8f027897c7bf95621dd8c58/next-urql-4.0.2.tgz","_integrity":"sha512-kxVMyk/angixsNjXSib2dabU1fGlidRgk7B9B+WOz+0yIZw9XPcrq1xwwgehfQe2n1O0gboBSQE8reP5LPGk7w==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"8.19.2","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.12.1","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","urql":"3.0.3","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"3.1.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_4.0.2_1670606388751_0.6895658927281219","host":"s3://npm-registry-packages"}},"0.0.0-canary-2023114201555":{"name":"next-urql","version":"0.0.0-canary-2023114201555","license":"MIT","_id":"next-urql@0.0.0-canary-2023114201555","maintainers":[{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"c5433f793d9bd7f500cbd8cb5d8cb69e34f9dd22","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-2023114201555.tgz","fileCount":16,"integrity":"sha512-wM1tjL2/DUZDHFplZreMgo+EXyp4OqRlVbFxencJooXMOvvMwgeY7PfyYJz+eJ4pZFhPVTuiXSEZyyu469qW3g==","signatures":[{"sig":"MEUCIQD4hTamalCDWf1FxdSp47ntsaWn1zZWkFEhUTJklph7TQIgYpMch7Idq3uXRLPiEzhYeL9aa0+KPOmeM6sALipTsts=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6+wlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoWWQ//Z43n08gLY/cTaDYhJGP12fuJa3ss0afbgGINmdZW8eNTy4bu\r\nuhAGil63GDoYVMBWDVKciN1FeV7ndZOenR177lwTTIaSReui7xv9gdLr3vgL\r\nxgG/4IifYFzMIxDqrjpoCXLrQgTjyLliHePvchU0kvVPaY8i/e/gr83mu8OG\r\nBGQDOfngp/EOD2Mppnxc24ZvwNNbHL9nrMJ0YKvNYaIUujS4J+1TCJTYhoPX\r\nsIa71Mcr4TF0gDvyKnQUknKW0xajsIUtKJAVpwOpdaMfVBJsRnP9AFwudWSK\r\nmQV06DSAPBfxZ4hzJnmkfhuKj0m/+naoQljnaqb/mgjre0OEikfu2m5aIOjZ\r\n1dtTJZD9XCkpOQszpq0AheB+kCMBeQwO//LGh1C4UrQhRqrK69K6Muttv4sK\r\nF1ijQsEU7BgIXMBNaPWLnoyIXn2lgu08AUmrXRAQB98ebMaaDem3JSwKMe2l\r\njqD/NDmhvimhdMwCsAZlI99R/VjHLK1/H/Gx1NNM3aZyLUVPujqtKfFjSm+t\r\ncayxegC0d5kavLiWEmF6oJ7OdnORF2z1pOn9v4TrZaizIdQPTA563fOAjirX\r\noS3YsHnkaEQtnR3/0SS2RQXm524dgzhK1sXQVOe8PWSyAcMyfpSK9xe+2lcP\r\n9L1DUvruVLyVO7jOcbyH7IVoERJV8g2zglI=\r\n=/rsQ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-2023114201555.tgz","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/605392c7936e8e2babad92dce1e0adda/next-urql-0.0.0-canary-2023114201555.tgz","_integrity":"sha512-wM1tjL2/DUZDHFplZreMgo+EXyp4OqRlVbFxencJooXMOvvMwgeY7PfyYJz+eJ4pZFhPVTuiXSEZyyu469qW3g==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.3.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"3.0.3","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"3.1.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-2023114201555_1676405796845_0.8034516735349928","host":"s3://npm-registry-packages"}},"0.0.0-canary-2023114203623":{"name":"next-urql","version":"0.0.0-canary-2023114203623","license":"MIT","_id":"next-urql@0.0.0-canary-2023114203623","maintainers":[{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"0fbd08e9c54fa1c4d30733fc1e013739d07ba0d3","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-2023114203623.tgz","fileCount":16,"integrity":"sha512-rYWaikCyv1zER6EP5nlMrjWw1NldmgVO945PG2a+Mk6NpUX7OGv/vn5ZcPy6+zuf34U3/lbuWsfrSHr4jM54IA==","signatures":[{"sig":"MEQCIF4CUNDBFRaSrT5py/lAATgaXDZ7K6VY5WBiPUv/XxAOAiBZI8K28dxuf8Tlays+ALNjuS4n4e96FGMhj8dPEpMWGA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83681,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6/DuACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo58Q/9G77dEelWftN/b2Ma+/Yex8TO/FAZS+vT/0fRGyzrnkIrar52\r\ngjEoSORcmcEm8OPseLFlZ3bNQu5mReb5iZALG3GE9ZuQnkQoloBSFL2d7Xdn\r\nZc1451IOBxw8UEjhZSs4kKfo/tLY4fe05icKwm5TX8dcdY1uuN7PBS44HaUH\r\nT3eUzjpDw6pwCtlxxT4nrPswiPxx+6dWZrC1ezyK45tQw6QIbP4oddD48q6N\r\nvHZIqET4AU77a+Mt0fqh1wyULAFdZDAcsNXO9K5O+B+0RfulmY5VkA4IJ+C4\r\nwF0QlhkJKBcFSQvnA2N60Zpg7+DX1XOZ1pkJ2MvsxYwd/Z9vTfVNvGRGIaJY\r\n+D9Rc64bbdr//O2OUoFyBKYKr8xb/jsJAfvYEsTU/RXCO0wI39+NYHQ/x6Ji\r\nngLJdxKZPX/70zX0+CmTv5nyAz/hgm5bALwLHyR3qjtfatIrHV/JLCD8rLL+\r\nUbMz8cvQK9yn4HVl5gt12FRwE28bfZYwO+YBgy0VI0lC9magBmh8/sIaaoSs\r\nJJrY2dii315YYkwsWl3ALs+Hil/p1vZvrGjH6OMW7ZdNRW9bP6+oVf5E6pnS\r\nHIUwJj3FjLe9SsMcfISf7+SB74+pcUkKemlr8zMCD++DbHP+8Xh5RA5HeHlV\r\nR8ulKRgYWBszztohZDuomMmYomMAw74fj04=\r\n=X/Rx\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-2023114203623.tgz","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/970b4d1ab17ae4108503e8fe3d86a327/next-urql-0.0.0-canary-2023114203623.tgz","_integrity":"sha512-rYWaikCyv1zER6EP5nlMrjWw1NldmgVO945PG2a+Mk6NpUX7OGv/vn5ZcPy6+zuf34U3/lbuWsfrSHr4jM54IA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.3.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"3.0.3","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"3.1.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-2023114203623_1676407022024_0.15225459363153093","host":"s3://npm-registry-packages"}},"4.0.3":{"name":"next-urql","version":"4.0.3","license":"MIT","_id":"next-urql@4.0.3","maintainers":[{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"1edd426afd61c0b2a7e9205276f86d71911365b9","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-4.0.3.tgz","fileCount":16,"integrity":"sha512-pesvwu1ZuGzMla8tPMo0V0yiV3ObDF4dbZyZLB2rZoORy+ebdWtClU/pfz1XDrPEgzyfGC3tqvbR5gH7Kt59XA==","signatures":[{"sig":"MEQCIHCKxZGt9oTCvpBJdxN7D/Fq9hVW9vjNtOWFH/AtbsUSAiB4MpdYEsBShFCw0GT9syJf0BvI2VvzZUnPRCrfn61FJg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":83639,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJj6/OkACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrwaxAAiWV0ihbD0g0TcqqonOjg+r2APBfyNIZkt9Tdo7Xz79uCd3K4\r\n427YkQE0+YFSbq97XZmBAbwB0IjhSUgnb0frXikcN6INoluyivkwctRNr2sU\r\n+iN6Nv39ph2VaWd5USd4LT/RuJYQXkeeozcGXqgjUZIjh2gr1jaLghmhg8ts\r\n41fRlYNqEj+uuhZ8ngXKjBxeBm/V12nOhAdjyvUFUnN6S29/4GJDHY618Pcv\r\nJl3NoDwQCbXeZmn1ldj3NPMUvXs+0t5xAUhPETSjWE4nQHcgz5OrkcFlw71L\r\nc0tdCpLhJLe4tHL+IjFLt8+4wNmqF9YkCDtBINk6Gax+GPYjYfBisLCH06/l\r\na6nDaulAaRKb6m60NnF6JFr9gwHlhyZODauB3weBmNlSk/aIrwi6Mzsr2ega\r\nf6Ss318eksytrKhTgD7VZcSE1NrCVOUul26vZeq1aSvz0yNFoLSZz5Qil5DQ\r\n+0MpifW5G/tE0ZIv8/ipBcr/qkn90MQnlpIFyDYxXSkPFOkbIIPgiyxN7YbH\r\nLTMgOQbQ4gZCaRLm0SRh2O59kexcTRQkFyIy6Tnul2bCK5/AKpZPCod2ZPXK\r\nwXVF1zNJ/hUPLaaUxNH+/8sScztxNHyTVgSXjVlaEepDBPSw6HVdoOUW6mDh\r\nIPzCtUJjPxq1UoziZLlXtR6SaW+H5lQf8/w=\r\n=q4Uk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-4.0.3.tgz","types":"dist/types/index.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/60bb6b94d0ea1fbf487c6680546a5a8c/next-urql-4.0.3.tgz","_integrity":"sha512-pesvwu1ZuGzMla8tPMo0V0yiV3ObDF4dbZyZLB2rZoORy+ebdWtClU/pfz1XDrPEgzyfGC3tqvbR5gH7Kt59XA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.3.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.14.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","urql":"3.0.3","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"3.1.1","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^3.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_4.0.3_1676407716327_0.334863949639463","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230316141110":{"name":"next-urql","version":"0.0.0-canary-20230316141110","license":"MIT","_id":"next-urql@0.0.0-canary-20230316141110","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"b3ecda92407bae315f5c1193fe702ddcf8ca9a3e","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230316141110.tgz","fileCount":13,"integrity":"sha512-KJA02aJIJKgdWK7u290fHpLbONr9lKdApEMn1EgNz/ZCKj80lTzOgdRZcJxqwgDfwH1dsnMXO3joGxJxoMNTXQ==","signatures":[{"sig":"MEYCIQD1Yd9ZhzMsWp5AErog3xB+1JLy2gaz6avWxhiEe8S+0AIhAKeKcmW5sqvK03dI1NWyqkVZybBs1dhhfRdykrORMjdS","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEyO+ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmqm4g/+OVXOOgZAVFi76vOehsNt2bM9yrOzjzGX1h90Gk8MWjYdAxFa\r\nK2sJBZnJFigsktrvUPeZoGZQJQEp1VhiI6Coh+1NiPIO3nHZCu+K81cxKYLR\r\nwPDkT1htMA130TmN15CEPc3IzZXjDXlfOFSgB8YoZNcrOTmdgBaZNXvuLYsA\r\nabCLzrWc2oZ+BXkFTebyrSfDw+Ra8JqQwwQk0L1EDyfyzg+LFJPL04Ia+c7/\r\nRuFMU31SM83xnW7yYoo5whdCVURTPAP79sIHbEB/+F2cRUeCApqSyAnJKx7r\r\nFtTU93oKKMxiMpbXqUe1GI9SM7kF8l9H22Wpd1rtBO9VD4qvaFKHKBMB09DC\r\ndvCGRu0q6I3++ci+v0qNwvQDJ9D37E8c/3oJZBCuPxQzSOsx50hoflqLazRu\r\niD0VNIimzSviG84BM52UOGGg/Coyii6bb5hEcw3UwxSpbdT6ITbzUnEOha8E\r\nbb9kz4diF9sYYRLQwkUr/Av6Bi9nDru36zTHUjTQZkkJ7AoNBrPYT6PF+VBr\r\njzjanzMjF8Vl2TY69emO6b2SYBJTMyvkq4yIBYA3gLv1iu0P4s7jJ1OTyKLr\r\nnXm4+wieGcnn9RsD7xBa1jtIFiIAMc1NduGyIjVePrYoChJf+6kYwvy2Vdwr\r\nZ3XbboeW+XelMjPzCCsejdpxN1d8aiQC1QM=\r\n=ay2P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230316141110.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/3e96f6db702a56d73171e26963b4a202/next-urql-0.0.0-canary-20230316141110.tgz","_integrity":"sha512-KJA02aJIJKgdWK7u290fHpLbONr9lKdApEMn1EgNz/ZCKj80lTzOgdRZcJxqwgDfwH1dsnMXO3joGxJxoMNTXQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230316141110","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230316141110","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230316141110","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230316141110_1678975934486_0.19068510364807678","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230316141328":{"name":"next-urql","version":"0.0.0-canary-20230316141328","license":"MIT","_id":"next-urql@0.0.0-canary-20230316141328","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"68675efa8e62504d7c8d035f13bd863594470dad","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230316141328.tgz","fileCount":13,"integrity":"sha512-wlKBP/qYkS/T/+eEEvTy+eNOpDF6DttDGnGXiJUsnUN05BhRoyhgXUThJR75wcG49ELSVQHk2rdIRuJ4DEMcTw==","signatures":[{"sig":"MEUCIQDcQsn2Tn0DY5lBz3D2vfyvtM06OtXSm7Ys/XXq8kANegIgHGMet3qFKjwQ9rM5iz/IGYmujPu0K6P8rczmoGBijHk=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEyRIACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmoqew//fMMrF+rzab6EwaWNigHWWNb2+IltLjc8GkWrnAhyx2klsfwm\r\nLNnRiEnh9I9M3LGOhAEFTyUYHwDkZ0dqZtueGmFHRpX78gAXrRp045xhvhWd\r\njZbpIjMnSMbWbmDIhKn573JJfovB5Cdy/IU8C0/wuIfzCjYG994Jt5h2nG8F\r\neB3jImWtPzXLTKJVR2flDDzfL5k6kvePRovu7fl15HQOpqEP9hO6xHjLlM0M\r\nB2qJYM45QKC3mpGoYqxfqMVdojS6CBFn55ArIO3sz4sw4XiUbdLu6L4wkis5\r\n2r4PVBlukcY8bbW0hUOSwuWCRGmpTK2IyhpGziCGXGYzA0I1pz0TouFVW4cJ\r\nXTFFYm2DHUI21VsZU800CNldOOjLkQ3sFzp5p5jq8aKmhqfqlETBUKY7dP5S\r\nGNtcYx4X7lzzVo85FG5H3yt7dVPE2eDkz6T57xM6K7Q+3C78FKZSKSQ7Babu\r\nr0SKIEvJMWu4j1EFXOqgqVHLYO8lBLnZR5OeaYn6GRyisVRYQJu18retIqGz\r\nKQ7TYZj5QcQjPiT0ql04UYW6V3ECdBnSDuQ8dvUlM0hA8/V+4vX2mIFBWsrw\r\nX8CG9hhURiFwbvwLtU+r6Xt27uERIzEkXh/KBTCNx009jXZXrnD2zeRbKKhF\r\nPVDn8e32Jau7ZQ/OPfGSqVDJvIgrFPcSZeo=\r\n=YxjZ\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230316141328.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/cd5f3dc07d62287c58a28b4fd3a646da/next-urql-0.0.0-canary-20230316141328.tgz","_integrity":"sha512-wlKBP/qYkS/T/+eEEvTy+eNOpDF6DttDGnGXiJUsnUN05BhRoyhgXUThJR75wcG49ELSVQHk2rdIRuJ4DEMcTw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230316141328","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230316141328","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230316141328","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230316141328_1678976071984_0.2931550400338059","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230316141844":{"name":"next-urql","version":"0.0.0-canary-20230316141844","license":"MIT","_id":"next-urql@0.0.0-canary-20230316141844","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"3c513027d19520126cf15fe828763bce8410bf69","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230316141844.tgz","fileCount":13,"integrity":"sha512-SPiZpcFEd+FTIb4W9grFAR1qs/M50P/RD21Z1hKBVrxpqu4FPPkXDm5+8oWFB56JoH9c/ClJVV1qri8pmOnVEw==","signatures":[{"sig":"MEQCIB3NKeMgmTijJQqFIGgWzbWrLI2HLD7NYZbOI2EMCbZFAiAhlQTCCAFE9vXbBeM9YK3Tpp9pIRQwlZXIMJDRQjnbDA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkEyWhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrVIhAAm8PmSOgKHHt3izVPiovhgZYLQQN6g9mGyUJsO+Ho35X916Jr\r\nD+voMpoCeutqlg2jOJhazXJ2VKHq781Z/dA+gnVtjSSLclZLxlZH7e6QgED7\r\n5MvysKN0Tv2jXoyiyfaQKbQTwzxTghCuZJu5Ocv3BB2Hi60jTzLDC43pMqtm\r\n2IsYNWMBx/AlAyMe3zCg6RWxEokxsR4VOwbB5orvqIVuPUJHWDNl6mHifG8k\r\n9kGOuJR3oIrAKZs57tf3ztjRxZpr2h/fSTZXU0JKElK/roTvMrsPhjvKzI8H\r\nLxJulGmL4fjkr8RYgM5yjQV3IIZNN3zLD0YG3Ja/v0lSEpcaiyKSDs7BINVv\r\nbYXAVHmnzCVrB84dHEeN3z5BWlkO8O7L3yf2ucnuCmnripOETJt4Jd/3LI44\r\nRq/Xv6GM+vWIA4EjKQiP8nrihXMam9uIIUDNhw2ZIY7lFtmfwKR7jt0XtiK4\r\ngXywNSBKUnqlfsbDrBE1rcS1eOTJYC6eHnkKgiEY8/ssds5yn313DZ+h1Kwi\r\n3wgp7lNlqsKINLI5olSi/C2pcaFDuw3WdE7FLlazsKOwhjRJPNTtAK6jcG7Z\r\n2yzVseeiKDMUErp9PSNbac6c8DV7cH3FYOQ5MglHdOayEpnKaPhVoHD1fUFH\r\nj3AZszmuQhDE6CXSlEGnbNrQFcQoqo0QWmY=\r\n=UT0r\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230316141844.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/eddcda674ed629fb03216fe3f61c0170/next-urql-0.0.0-canary-20230316141844.tgz","_integrity":"sha512-SPiZpcFEd+FTIb4W9grFAR1qs/M50P/RD21Z1hKBVrxpqu4FPPkXDm5+8oWFB56JoH9c/ClJVV1qri8pmOnVEw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230316141844","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230316141844","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230316141844","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230316141844_1678976417623_0.20837341467787396","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230316165054":{"name":"next-urql","version":"0.0.0-canary-20230316165054","license":"MIT","_id":"next-urql@0.0.0-canary-20230316165054","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"904223082deb59a044d1a37033405de9931ca411","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230316165054.tgz","fileCount":13,"integrity":"sha512-n1ZKwge2U9eRfJeeDG4kE00oJM4jIXCQONjaFpPb+IIx+dBcBFpjF8h+5UlQU4YHR4rsWNTqlrpa0SZDGfbWWw==","signatures":[{"sig":"MEUCIQDqFPfWH0+l2QzYdRixKr5nhVigKk+TCO/f04Gv+52JhQIgIHZglzXlmk/eqPqZSleS4foIf++vcNat8cn+O5zlkn4=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE0kxACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmolWA/+I5c/pVHO9ahnzjST/gKoaJa3oBfr+rr4yr/npQKyHt0RlLSl\r\nWmuvWBCtcIcFPvmJQbr1Ri9OoHuBhaP3S5oLzs/PrujT7tk5a0dUrZtuRPiL\r\n8jYAveQ5SqW152gjWLimCDSEwxXUAd2ChMGQXQ1REg6FRakvGAY8x52fXFPy\r\nabiuq1Z1batrFB2rnbhmnLdgfDOPIlgJL556GOVfWSorab5J/Y0va6sKXEMs\r\ngoPH+EY7cEfYl+kTVw5XtTvz1b8JXf/t5gXRDA4l9pJWfDns1LzI/CmuGrOP\r\npWgm/xw42faGMipdfcbn1XV1fs4zNeUzRUgcpqIhJH69bDndqv8wHiRRnUCw\r\n8yJjqzRffG8GIDCT5w9DdiRzcddc4xrT/3gAjtUQjA7L8HX65asitCUY/qo/\r\nSkW6DY6oQYQt591d9zBhZrqApa5aqQUm/gkQVEfAH5qsTq8Q8iv4e3pPvTVX\r\nX5W1neaJ0jEJTGqArp7gGQx5hZGYthqngP4yUT1tmyYOIhcDtGkA0ajEQYbM\r\nyDOvgc3gNWKpUnUmLfi0JtLoyd0+YEt0eTmWRKy7ZuFDglHcKCy0C4+fpIT/\r\nBa7YfFGprNOhTEKJV7P/MBdsIuYarxmoTq9A+68uUEwj8hk+rJxJm7S9crmO\r\nqB9Tcihxspcw4r1yLKDhSE8DGW6jKlOxJdU=\r\n=9p/P\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230316165054.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/874a4ff434a88a009382c97597aa9ffa/next-urql-0.0.0-canary-20230316165054.tgz","_integrity":"sha512-n1ZKwge2U9eRfJeeDG4kE00oJM4jIXCQONjaFpPb+IIx+dBcBFpjF8h+5UlQU4YHR4rsWNTqlrpa0SZDGfbWWw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230316165054","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230316165054","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230316165054","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230316165054_1678985521290_0.04400589733981608","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230316173059":{"name":"next-urql","version":"0.0.0-canary-20230316173059","license":"MIT","_id":"next-urql@0.0.0-canary-20230316173059","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"b2b8e9d9343c8fb62dcc43f107f82baec21fa9de","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230316173059.tgz","fileCount":13,"integrity":"sha512-jmSqnGxc5Mjaj4FKRSh8YTDoazhCuB88FFb1llbx+PvGNzSSrsFh6xFCAJ+zhD0ti77zKaH7dkPyNzT2IxC5Wg==","signatures":[{"sig":"MEQCIHJs9fOXVmYsWKrrvgPEfyIx7apSxySEprNRmhCXrza6AiBzLjWAacHv+Ma6Ndk/+fFurgGSuMvRx6ZFBHJJeDY8Rg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE1KSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqEoA//WTXqUtJy3kGOsv9HgjmXWtYnXt1+je4g3w7IBIeuQKzTK2Xp\r\nYKQVVY9Mzw84ITyiEmgj3Z1qM/cILH/pSL5WYo0xXQjPU40gjqughBvN81Tl\r\nB9wptTfPJF64hMj+ROOFHhkdv3UjPvj2cJ1BKziNfc33FqfqZfn7S86BO6U9\r\nRjj1kn9aXiOUgT6Tio4iJgRRCMKGba5j9NYu+O61DwbiE1mbdR/h3ny8mguP\r\nV3K9uNxmrWb9QrUTQ7wjXB1+DPKm9edLR1UzBj6JodvbfdDgUoowOJs+iwRO\r\nk9QmSnQ/kuZTc0GnWbr2VZxcxq3yQFNGwLmv7U+R0rhnR2EKkGabsoZSMisc\r\nprIXwsEt+RjvkwsZ00DCZ4rLAC/KNMrHiY5qpmLszkUDx2iwfjtl3C0Re+0u\r\nwBB8z+takKFm8W7r5EynueauO7eA6yPnmUer9fujBeWnTsQzyVAkgSwZaYtT\r\nR9JuNGdZmTL/SqfgSHsTbhfUleSmOrYw6jXctm9KaZmLDFoelRvmSk31c3dl\r\nTJ/iVYtcuCN9EDx3+Lo3zUii1Ags5H6GGBIvIzpCNJ9Cdaq2CGPB/m53e8uR\r\nAB0u5c2+PklCYYVSN45J+sE7ZzuMEix/0WcGEattHhdf1XG2q+gqVlmAufGM\r\nwYyQTS4ovRVvZ81p+Wa8Q/3qktKmHhpFeHQ=\r\n=36qV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230316173059.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/e763f0adae050db34a814e4f4cd43316/next-urql-0.0.0-canary-20230316173059.tgz","_integrity":"sha512-jmSqnGxc5Mjaj4FKRSh8YTDoazhCuB88FFb1llbx+PvGNzSSrsFh6xFCAJ+zhD0ti77zKaH7dkPyNzT2IxC5Wg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230316173059","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230316173059","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230316173059","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230316173059_1678987922225_0.5963414741694615","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230317001715":{"name":"next-urql","version":"0.0.0-canary-20230317001715","license":"MIT","_id":"next-urql@0.0.0-canary-20230317001715","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"04040c3171b5014cd1b6f6a9b1b4756c380f285c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230317001715.tgz","fileCount":13,"integrity":"sha512-vQOjomTO+WhOVBoNIcJ6nkv45WgJZXblIvC4cacyfUmKIfdB1XX3q5rhGJy5yOIcDmIjA556R3CnVKRvEkuBNg==","signatures":[{"sig":"MEUCIQCUV25UA6NCQmqQSboDS6ul/IdyifAQSxWqNVZdzbJE5wIgZrhIEg4dzkTb8cdr9Y8aUyGjksEVQ2lhTQKdxLALylA=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkE7HaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqH7A//aIFznm7YRJwzyC2nuQZv6jUpLkquaskQ3eevFt03VzKBKgb4\r\nI03IzXqNaWbtGeJWvywY9N2Or6Ph6y4kogfzog1GMEqJsrd8IaojGUR6/mwq\r\nRVOWNJuQd+gUUAnoE/Y0cv9aa0F4ssMnfBbhU80/XC/mia3GvIERt3vjLKP7\r\naIeDcY1qQCVxOXEgdKhwEFLv+GlzqpgLzXpHnfjYzBmehSI4RDrpMlIJdcjr\r\nXa3gXt+CASHtxgNo88H5wZ+tQ6JQVFJ8qCuJO1xJ8iGgQ1zgeZ7CHiYk8G+d\r\nRRidK3xHv4wifUQf/pbsy919k8zIBybs6rlsnwafuBQQAUWaUx+el3vRqQRa\r\nGLuobVZXH4cEssJaH8Wopw3BcDs5lO0OCaT1BtPFc2muTlyY6B/rW06Sih1X\r\nk45P1+9I/jOYYrg2Zl/44futf4EmXAx3a6UBSOI6nsBhJ1eIw0J7EvORJEcU\r\nJ1wC5l7ZuDb1Vr87Zd006LHbsDBs8pQHDFJZO75NuoslBHfY4aKIb07XDU8n\r\nMrh6WIB9xlkf6q6NRopDWn1rUlHWArkO3njVbZsU9VlF0wwtc6RUtCXyZNHE\r\nzWjEPO8oiVeZ+z+zH1rQdI+07ZwPzAD0PAWxS7xMkqrTraTlemKB5s9pVSys\r\nl7Zvi3TY6GTD0k6KwN2OgE5JkCB/tWiPRI0=\r\n=tZC5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230317001715.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/4bed39e744092da4d21eb03fbeb68a04/next-urql-0.0.0-canary-20230317001715.tgz","_integrity":"sha512-vQOjomTO+WhOVBoNIcJ6nkv45WgJZXblIvC4cacyfUmKIfdB1XX3q5rhGJy5yOIcDmIjA556R3CnVKRvEkuBNg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230317001715","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230317001715","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230317001715","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230317001715_1679012314099_0.5448056920932689","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230317070130":{"name":"next-urql","version":"0.0.0-canary-20230317070130","license":"MIT","_id":"next-urql@0.0.0-canary-20230317070130","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"d14462369c3447b10a7d04ee77a66d6ab5a537ff","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230317070130.tgz","fileCount":13,"integrity":"sha512-0tDYLVGozoOsfRWKsis9Hf+stEqXras2T0H1OlQMvUi6qn6w5oHdW3jatGCrCvp5bN8gK9bEMoVYxpBEz0ftJw==","signatures":[{"sig":"MEQCIHGiFIh8bXor6VljvOIzZUyGXq+/tarwRpDwLvIvrOlUAiBiDA4g6+BaEQl1RDkgBcKFMKet9c8Y5/XS7M9Fn3Nifw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFBC5ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq+hA//R63sEXowAH1kUziJm5qo+xQJZnFa9UhrP7t75yuXa7pcwpkL\r\nKS/dfhjZEU4NoNJ2dbxPF62vCNf1hc9CFz8k+9KEzZbIbnqbn5yn6yeNouCb\r\n0TUJ2ZbLK9M7YBZTXjap0krCLWTXz/8cdryB5k0yvZY1U8BjVdQyMNQbshuN\r\nI1B8honViA4p/8SM9t4ewgNRR1mDHiHEazKb/gpOwZNOukH2EH6OZPLoq0+P\r\nDZrj6bAATnZYwMYmbLHH8da5T6f2geBGh3+1ne69FS4QBTfU7IJvsrEptEXD\r\noBiAqnDnMc1QNzL2LkpsuYt8pl3DxwgTFYPfBdVxc/mV20jTkIry0B6EdKd/\r\ntIgCdSCChbLIcj79aUcqeO6UrGGa+rCbnJVn74y2d4VmEAfZGBId75thnk1G\r\nbtOrt4Di/7XVhAV0XeOIa9lU/jiMV14XIXjaB8QZdpxpuCIZT5G+iMq2VVsG\r\nHky5btvv+OhyTQbJm0Bjm6EgqkcYdJYflOQcz4SlbVGgzXrZWXdNTvIY4fO8\r\n6oyoqOeyIZE2eK9lrT1gdQCmpo78qp3kr37jc+HzL25JxiIFtFyub9szw+6R\r\nHWfiqakajXOinGeXjd6xlpZkzdHSUeUgPXJOylO+ZF1RlU7m7j98hcJ+9w+W\r\n+oCdyHfFC6s/gsqT/j4AXzPIwq97P+pGa3M=\r\n=Aj7S\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230317070130.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/6de4fe98278ae73afc8216d0afcac2be/next-urql-0.0.0-canary-20230317070130.tgz","_integrity":"sha512-0tDYLVGozoOsfRWKsis9Hf+stEqXras2T0H1OlQMvUi6qn6w5oHdW3jatGCrCvp5bN8gK9bEMoVYxpBEz0ftJw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230317070130","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230317070130","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230317070130","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230317070130_1679036601763_0.3077030005077226","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230317175749":{"name":"next-urql","version":"0.0.0-canary-20230317175749","license":"MIT","_id":"next-urql@0.0.0-canary-20230317175749","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"d8039199356ff7088accfe605450927c75b50147","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230317175749.tgz","fileCount":13,"integrity":"sha512-e7oxeB+iiVXzifN6iaESf1opIhVMghgA+0W5DqPPLRZ5e/kfaC698oaSNhNb3WM1sSOZItuiuG6tg/BWHE0Q0w==","signatures":[{"sig":"MEQCIHc6OFoyMNUEfu5K5dijLs6eMiWdgjFLNBdVm/0lY94dAiB/F4nLUKtC6BKMt/S0JVN/F/pP4+fHw/CWBoanjE61vw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFKqaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJVw//fmUjkFkN31rxwJLm/ItU9RKN1PTVfy+Wh5vj1jaRb9tRw6RB\r\ntO9t7aET40A9V7PllIhv0+NNgJLa2/+b0+BfBwOcbD5SMwKjnyfiYNrzMPOe\r\n5emZ8MaL2yjDpVV/KGGS/8sLNcd41y1787Dj1OAtaMv2+DuHNd8+tqfKJq9y\r\nIk7rfjL6axMLraGuODoyuOkpCuH7Glxtec8xSoGgvDbhcj96uFKSQUtsExe4\r\nIYhxkKCJOMgfz10WnLFlKXXI1bvXR7C1Cp2dTro3/aGCGs0HFXNG78zRBc8T\r\n/MMWwcs9VTIsJgZEwm73CIg30f9Dyw12Hnu03VdTPsA6xFV/iRhqJ/TEJIIM\r\ngp1QB+JM6nKOzn8SDwiYU4vRTYm2UUP9DdK0lkPBN+cWKV2PQTxLHD2RQg6L\r\npzToOowHUqb2oXIdIV6wzTSdXLIL8eO103/JCYxZHTTr9L623e+wsAK6zfVu\r\n9uQb/l5l774qTemaJpCBQWYpS1dSCjFd6outsDde0fVZjl8dMGfmvDgZF43j\r\nhTTfpLT+k5jNuDseR8vlZgiSMEseOsmDeygDMNaVQ61Qndu+5fPJKupaGGd1\r\n2X3DZWeU97HDGea4p4bBPKnnvvbfXgvmF5kFOr4R01IDIEg9STSH7OrN6elf\r\na3Xq4DkgjTDLtEoneSuTl1/DPikBl9TPoXI=\r\n=Lk/c\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230317175749.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/3e5a0c16eee4545be0a9ffbc4581fbf4/next-urql-0.0.0-canary-20230317175749.tgz","_integrity":"sha512-e7oxeB+iiVXzifN6iaESf1opIhVMghgA+0W5DqPPLRZ5e/kfaC698oaSNhNb3WM1sSOZItuiuG6tg/BWHE0Q0w==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230317175749","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230317175749","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230317175749","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230317175749_1679075994663_0.6483444808709118","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230318161956":{"name":"next-urql","version":"0.0.0-canary-20230318161956","license":"MIT","_id":"next-urql@0.0.0-canary-20230318161956","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"70062ecfd149b348f568f2230286db2099821c7a","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230318161956.tgz","fileCount":13,"integrity":"sha512-9nzMp9lwLM07HaNZog6foo1Q2Y0r2l/BtRbSRXWwG7pKpqceIReSmNSzMnXKx1rhxuFeW1oL3jtyQ68K4gbXhA==","signatures":[{"sig":"MEUCIAgFP+cHtp31/243GjszEuwnfU2BEvOROViq1JrP0uJlAiEAhIQAZHLKpdFh1bEyptSVxLDxaC2eWPq3pkGyHgAky70=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":87748,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFeUKACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpmxhAAidZDof7ADoN8uRNuI3KHXYeYRTphljn8z0XjrzbdHgCRzbCK\r\nk0AW4cHwCy1I5FRu5NXmGeuYqzx4+ChSfW9fGcXJRHEeSoMP2tboKM9HwO7y\r\nXd0G8eSCebelzCZi967biHnrCdRFbcYY4TSJH6x+08CSLmlhvudEz8XJxsEM\r\nHoT01sXJbdykGr58l62cOYPuH91pHgQ4YLVa+2/kNAnmAYc2tUavcrtIvdLW\r\n3YRcjApso7CzEzIbvl8TszBofW9BODI/t7TRiraAWwIX5FiGChP/0CkWrGha\r\nNOt2yIy++GRDygUhiqGU/asCL+kbGZySalewIPkgVql2BU9gv3kKv+GZjOWY\r\n07QZminWncdd9zhysKd4L4pcYCI0xuQxcmPE7gXhExpYcD9xL7jo8bW/s5EZ\r\nr4lcImEQybbRWm5suJkufPHUBg9Jihb9Bz0wBxvMFujMZxsWFNlh35yDQPal\r\nB9h9KRMS3uGps+bolJrQDl58gwh5+qIqDr59nZ2uWrmArFK7gpBPIYaxWGaw\r\nSvyGm5EmgEcJGHcykS9mmR9ucTJJcJKEm2yLVSBLnGiqA8qQrCL/T8n5+qTw\r\noN2w5VAjlxSecY2CWZ73TnfqlSBZ1xP0dUOz9milYqPXwkgStVv6bv6gRaZF\r\nnV8EMA6CPoNvcCZ3i8K2YTmkg2o7Txlmtbk=\r\n=l+TI\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230318161956.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/6aea80dcee83152e4dad917a2cead8d6/next-urql-0.0.0-canary-20230318161956.tgz","_integrity":"sha512-9nzMp9lwLM07HaNZog6foo1Q2Y0r2l/BtRbSRXWwG7pKpqceIReSmNSzMnXKx1rhxuFeW1oL3jtyQ68K4gbXhA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230318161956","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230318161956","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230318161956","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230318161956_1679156490193_0.9712346860229808","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230318184942":{"name":"next-urql","version":"0.0.0-canary-20230318184942","license":"MIT","_id":"next-urql@0.0.0-canary-20230318184942","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"b935e6be5f4857a4334a8aaa7dc9eeb7d10d853c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230318184942.tgz","fileCount":13,"integrity":"sha512-O8/eYJBk/2ciG9nm4m2A+mKHbuXUbNi3Nv0xN9hLsyUC8hZI+X5vaMBvHjekhmO7kEX+6fFGz/SHXMsuadcyJg==","signatures":[{"sig":"MEQCIBhSWcoVl4SoNw2tUa4i+vITQ4xUhEDdsdvTJi3R4tUeAiAeTIv2kF9hJbIsgpQBxJnw+5PQm9h4wDJidASj2TCiwQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFggtACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqOQg//Q094Bcp7zTaNUEdVkeUjHuVaui3QmtSZqTmXKwRS9q07ys5w\r\nXQjIBRgG0+T1YkrGb13ve4hF6rKzCzmwwERCsEpaGI8bmidu+Hp3KbgomRVv\r\n9fLxRvlef5JXvZFI1B1VOCFyZqzmGo0nxE2z8Ox8YHM3iYYJakx14rcSRbV3\r\nmlVB1OafNvcRm9TCT8dsIN6OK5gfGDupK1JsEqshmuMTF7eY7Sg1VGNyeofv\r\nuhrILiaG8URW0g9YbLeWy5ho2RzwyaFCL704EZsWQMiqS4yhQcbs2ew+zRhe\r\nHqs8cZwquyaManDTuv6/JR8VIAY6A2eppZwLrU+VKXvuXi9ro+ZNtq3gAU0v\r\ni6BXkgRVLuYT/uofdCOFb7CW6Vl+UxzmQcZc4i15oqTgVitvNeeC1cXNlrlC\r\n/EhtI5+6k+gCfgYZWRBxq6dOy8Z67H8obsrwEQSLQCmTvTv99xIpzED3K16k\r\nfJ+lMVEh8QZJnz42vTDfDm+hd6zjtMJ74KVNvsJ9YZ8wmB8edhWpRiouIL2L\r\nqrPrl24ZhoEljZ6iG6TM48OAPpi8i5XnLzkDMNVMMsnRy04e7gIEMV3UP17k\r\nYB2RZsq/H7xcNKslBa+17lfzSxtMwIHSmJqNm0XFe1Id0OWBvcaMAM5yyNbu\r\nSPFKazbVZpkX3W85dYVXQHhqA3IE5F5ZvXM=\r\n=wknW\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230318184942.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/34f0972041c98abe344ac98bbea28b48/next-urql-0.0.0-canary-20230318184942.tgz","_integrity":"sha512-O8/eYJBk/2ciG9nm4m2A+mKHbuXUbNi3Nv0xN9hLsyUC8hZI+X5vaMBvHjekhmO7kEX+6fFGz/SHXMsuadcyJg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230318184942","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230318184942","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230318184942","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230318184942_1679165485833_0.5631025902745754","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230318231240":{"name":"next-urql","version":"0.0.0-canary-20230318231240","license":"MIT","_id":"next-urql@0.0.0-canary-20230318231240","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"e50fc6add86735afde9e3e6747c6e37e12c43f98","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230318231240.tgz","fileCount":13,"integrity":"sha512-Dj3fEWEST8uWmRcGp6ibwBck+/MQSChOqDlkViLeUwCQjC6rjbklrRSg3v3vrDiha9QbhZgZJ+bs6Hz1qpxdwQ==","signatures":[{"sig":"MEYCIQDfw6BrkG0O4XIZtI4wg0T7Q9/f1GplXIZfVVdJ6RuG/QIhAKundl7wf/P7/GyqwfyBGHjxEBMYmduPV3FOWkOVIN+m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkFkXXACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpn4hAAn6YohCQwLL93o8t1o71GzA4o9h+lNpQlnLHMJLJBdBcxmC41\r\n8j+WvPfjmnd7WO5tVUtqxYgufqmzlBtrUf4IRem46p5VbsJ2ypggN5alhcTq\r\nZ0IYn+cUSWCdRFZEIqEwN7J0vMyKfMafQZEwsJXj60PPdHceyXr/UmUYCcwr\r\nnFW/kmzy2R9e773MG6mMzeASmc/k9f3ngakoVIdoCPk7OTEGX6WSMlWNEUxu\r\nhNSp3iEOxLDDBOlWyir8jQGHHQAgRjEo6fgKapSPHJycdQqoMGth2fBf8Acm\r\nThu0/fFg6UgQdo5U7SsA/7eQMFDQ9/TBitquxbkHJKZszR7cNtaw4Wm9JQEK\r\nkKcyy98qR5FOz69C5PbG7ZTlGgAJEIAK1SoqKbCZtLCNqodqSiADHFeWvp0s\r\nxz6e/3YQ11Vyp0Qn7SlfxG4Kav6c4f8O0H9FfmERdLt61j9/wjZ3wlbnuePi\r\n8sKZlqwuP51te9zBCvT0fkrq2RjHLnarkNz6A4s8+xZ8Msnl09mvovkLbaUE\r\nfoEtHaGExkLYn2x+3nH+3aP0xNEiLQsiZdQ+YFljdNxOcJS8V6KDJOZSYWNU\r\nU7AEQSk/H75s4/duX65w7triclfas6g+7ZPRCAHMLriHsFy3XO60gQ6+D1m1\r\nfDaIrw/idqTWBkRqPR7tCRJh/qd/SUOAQ78=\r\n=XNi6\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230318231240.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/7dd6572191f5764157cd47b6eab35388/next-urql-0.0.0-canary-20230318231240.tgz","_integrity":"sha512-Dj3fEWEST8uWmRcGp6ibwBck+/MQSChOqDlkViLeUwCQjC6rjbklrRSg3v3vrDiha9QbhZgZJ+bs6Hz1qpxdwQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230318231240","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230318231240","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230318231240","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230318231240_1679181270891_0.09275509457049314","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230320071339":{"name":"next-urql","version":"0.0.0-canary-20230320071339","license":"MIT","_id":"next-urql@0.0.0-canary-20230320071339","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"93904761b1f2c82ece00cbf81fae02fb1ced9405","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230320071339.tgz","fileCount":13,"integrity":"sha512-n2ccGQ2BT+FvkdhWthZ/CHEOG6EtAygYD3LrQt3MFuwNiQ+WYvoYEGcU8+U0wRRKoL+FPrCksKaTn6F0vMpe5w==","signatures":[{"sig":"MEYCIQD/9ZbgeQu7+ITZWIfk0yUJfqLsWwKoHEYl6omVzzDiIAIhAPhvu+SEHAGuW9uvjjFVvbNt8QnNPX/WU1684piqIy2m","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGAgMACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoAkBAAmdeb2KwHjvOuoMDFl53iHYjyRea/nznJhlLCUPIsn1kmFSc3\r\nAdUYGFksl0IWVfvcBYUXoeq/nBDJPFVPkRDKHf/70ogGMiwpBtulD2jmY8Qk\r\nT+7jWIjrxp8yFb8u3q4z0V1dA7Do8UzYF0s1GerceFBKmO22rbLeVd5bDzWh\r\nEnJ+jmKNcI5jaalvk6uyNS5Pcku44SPqYn8Bxf7RyQAjRk7XfBM2XydM3nYy\r\n1zVhvxViggKjAfVc5DQqjT3otfDptQGooijG8/eQ36++zT2IvExgfk/0T8vA\r\nq0yAtGVTXTadnDB/yS5LCQZTEA5NCbwlWh23DAZLIHwzaCatz1wHbR+/QH/O\r\nwZDwcmhsVgdQfgr8rxJbhL7tIY+ApOufKQuOlvXC41vRbg8UvHkhzjTeZjjT\r\nc61UVysOVZ7NToXWSfMbu31KrvFnX+rBeSgX7ce74wNlw5hU7LOo8mwkGVB8\r\nScL/L4tWz2Ulyyo0LDg19ei288fb0oRacIQo7yDMxd56qcykYxwOqeVqXiv5\r\nd4/nvkHdjnGYQra6DS7ll7Xug6AfkhzZ/p2/vC7RLhJ1mtyr5djnei3wYzRz\r\nejXR6kyrwUZKMabT3CFSamwouJBHL2Zf0QOce16OTaQ8pSbRY5aOCg4twkuH\r\n+EEefecrG6m+4iTwz9zOQwOG3pXPb6L/3yY=\r\n=rSjU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230320071339.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/c2237869c8c1b47bfd0822ce0639d4d1/next-urql-0.0.0-canary-20230320071339.tgz","_integrity":"sha512-n2ccGQ2BT+FvkdhWthZ/CHEOG6EtAygYD3LrQt3MFuwNiQ+WYvoYEGcU8+U0wRRKoL+FPrCksKaTn6F0vMpe5w==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230320071339","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230320071339","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230320071339","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230320071339_1679296524265_0.7833715198080522","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230320071346":{"name":"next-urql","version":"0.0.0-canary-20230320071346","license":"MIT","_id":"next-urql@0.0.0-canary-20230320071346","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a6362e097384423fdb47dfd1c2265bdd1c3eca95","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230320071346.tgz","fileCount":13,"integrity":"sha512-2emk3PD0EgjHeTekanBZAujGR2oUQRPmo/Ues3axiL286PDTABKlxKytv5L5YZxXMu4889piRrlpiEkict+T7Q==","signatures":[{"sig":"MEYCIQCOrH6qdfPGSjj2v5aTe9UgtIKwYVTAO6ff7LEe8ypjbgIhAOij+wpxuhnhJcVvPFmFPKsI2+7cM6J3zXF6ItkAHlnJ","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGAgTACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmpT9w/+Pc/sc+6xTyiwVRnVD3o6F5gvhsPhIOGo+r7o+Uw0wWmTmIHd\r\nxXsL6w43LRWbeiPsxZrAIc+dVBywHKDGG3ld9gAc46fsopXYQtDeFOeFG8R2\r\nL4DwUquWihs58Xm+tv7fyHYvOX5X2xP6iN8YLKIHCuhG0m/VuKnZb8v3XNHQ\r\nP7sme3xUvOQB9b/IGLmv/jOjjq6M9QMy4IXHQGeaX7NEL27SSqFVEpXW8kLy\r\n8hU7itKxc5jyokHwonuTqanvAJanU4xyaJWMt46tEfV/gacZaSkTwt+70VSb\r\nE7vVnyDmw2NSs7vvKMWoWwZsOaZbnHLA2fXAp2dirf47kM1flkdCvWTCmhpJ\r\n5LPtm0zA7DTvW9rJB76+fHE38+HJ9sz9P5mogJdvTnyVWUlDlMRUwLrQe9+8\r\n9+j8kYq/roBEdNUWGbHt7TMc8yWqSmGgHTRgMH42EyrFyQaYv3+MfJoExSqJ\r\nXGXCWVmGDSjxPeZNlCvDw9BuFOEySlUOZ6r6v65FyPC833jAHZoOlWfpsDOQ\r\nf0dp4UnN5BoCN95F42M29b0sbKHIMBUpeD6b5l/IYuzYcAORg9Tl9qtnqsMN\r\nhiX2UDMW0bwZT7e89pv5848rnRTl0gCNRBsnYlqaQC3+CZ78hztPbxBjYcBb\r\nqItlqVE6CLuiW4pSMrBDsc8V1SrMNXvDKhw=\r\n=pp+q\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230320071346.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/fb7336948109148a039a00d3c592c513/next-urql-0.0.0-canary-20230320071346.tgz","_integrity":"sha512-2emk3PD0EgjHeTekanBZAujGR2oUQRPmo/Ues3axiL286PDTABKlxKytv5L5YZxXMu4889piRrlpiEkict+T7Q==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230320071346","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230320071346","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230320071346","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230320071346_1679296531201_0.22515491668070076","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230320071349":{"name":"next-urql","version":"0.0.0-canary-20230320071349","license":"MIT","_id":"next-urql@0.0.0-canary-20230320071349","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"02d727def7016cd98bc0822a90dd9d113cd5e1b2","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230320071349.tgz","fileCount":13,"integrity":"sha512-9FJdF/+c7tqRmkG9S6VJ/4q7rwcqaRBvEiaIeJ/PMPqzKQPn9cuacChRiCjsG1p6GpOMjkKpEHkJHNbDCDlvAA==","signatures":[{"sig":"MEQCHyjcmYEBv1te1PScsTa2KfEtJnV9osVBoFFobf7IXmYCIQC3+xoXkl1ojQVOAl6Epf322BBFL5TtNKXstUdI3yJLpg==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGAhFACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoEg/+Ll42Vv1DMlPjz0MiOkQQI4TaTzFjBemQx0YgFDBcDcwvoSWp\r\nzTTtVJUz1OWKAcujPoocZkDT3lQ9JSZ1Ii8CpWvCY+xC39nLCBs73c5Me1iK\r\nEDs0UgdzU30YWmfTTNK177HedbiBIeOqCiU3H21/rRa2/Z3VLFKouA3LZKLw\r\nYmt/hop5Q0GmZ40o2Rm04IujlJ+TvBxnEvFVDzHr3dcXV53a3OxO+OzfakbK\r\nJ2MsAuQBjktkbSTZs5EH/kM6GWSlpVqew5Dt+Qo3h3e4ThnCEPeboiK/l3rI\r\n4GwVRwIQ9RW5swTGHhijSctbL8GMX5zuyezUIaB9Yc1C9O4ymslFA3OlkRUI\r\nnuRtxEHoDHaIQnrjic+pXYiLUvbnrfcPf0WBWZS3gLMSeawQikT2jLUtEtNC\r\nkAqYSsw+avjGE1mwMTJ9JMeuc3QSG9+9zxQdYJJPoFKi4bcSI+vA7tOQXssT\r\n4uTda8rjBkvhnsYCIbKn0ViflppSxXTdx6s3FwCN/U5Yv2IM17nc+Nw9fOQe\r\nTD+2HV5HzSlXBEmKmxhoCnNbTpk1wSJ58I6rSyWuRhoXMLqMDkVChAoLaUAQ\r\nf29awD/2SZTno8TogSuBKMNqCoUhV1cRxHn+Oq+OE0HyNL/dmH3zVd5KmICB\r\nr+YmcJQd1uVfDTuXoB0ZVVq/nn7fPGiNo8s=\r\n=fpmh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230320071349.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/0c85d07600bbb142d5bee0155900d95c/next-urql-0.0.0-canary-20230320071349.tgz","_integrity":"sha512-9FJdF/+c7tqRmkG9S6VJ/4q7rwcqaRBvEiaIeJ/PMPqzKQPn9cuacChRiCjsG1p6GpOMjkKpEHkJHNbDCDlvAA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230320071349","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230320071349","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230320071349","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230320071349_1679296581237_0.14607010129095332","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230320071731":{"name":"next-urql","version":"0.0.0-canary-20230320071731","license":"MIT","_id":"next-urql@0.0.0-canary-20230320071731","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"025ad64edd031ad0befe64547d01621189587562","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230320071731.tgz","fileCount":13,"integrity":"sha512-47qIsQhW2YkcUf+0PBzlTGk8DvsCWasHrF3CJqzs8097qb2/zLoM0PZOFKXZ6X/IMZe4pEIaXAwM8xwEvmu4RQ==","signatures":[{"sig":"MEUCIHC7qViXxDtTdDVGhS7ZuN0gLUDmfd9PIYVT7SazGF2XAiEA98oXic4/ZfWiV3QDGbIVWGqz1NoZzlJjCBQXoxYJO1o=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGAj4ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9nA//YFws0umRGevkin4kdoDapNA9cqnMlHHKeKQa56N8eUH4264E\r\nRgTrX9pqoC5KPkovFvrYtQx5ijm1UinkjFOcSoHyFbTV+ZuhrbLgWCUbG714\r\nxmNGt5qoKRNYU7Wfk5kQOZUhAdEpGhz8WG+35hm/nccep5LIiUUupoISGn8o\r\n+tYt06HJgXBloSpEUhyfGqyv4QbDTfIu/SsVsVnlGGUNhPs2t4xMFw7hNvJB\r\nJdV8XIF/cNA52Dfn/axH1aIGKuh2vvmLJzmizA2FUTMZYAy/uaisPy4Y43et\r\npKmdnHFm/GUqlMQsU02Y6K3yeKqBTscDLlMl6ikHaCgvNazv6dLB2Gw8Q7n1\r\nt3qmivyS/cU+lrQ555l7Cx6s2URyI1eDjjMlbSdUpudxO6eGd3owm6YJBxgi\r\nGrAzE89XOUqgqYVmeFh9AXRlmkDb8hc81ppW6fXeDuSGuYN2+bS4WIfUK2ZG\r\nBF9JJbdBbLl5a4ZBvKgdak6rGxZyZkyuqxlQktKi5NqfvJLkmXgtM0ZIMAak\r\nCRWTxF4edgzekpfo+y1fMFbWU/uBao2f5nUxiAzcYY1Vb+NnLSCS7wXNxEPW\r\n5871cV6lDXX3L2mYNZ5T1cNuTDwlm2QDCnOEq447wp1qGeJNabH23gUV4CPP\r\nDJao5bWXt2nhBsn9nyRKnP62pn+4op27elk=\r\n=wHOb\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230320071731.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/c523991744af79fa09f66511e5e90ba5/next-urql-0.0.0-canary-20230320071731.tgz","_integrity":"sha512-47qIsQhW2YkcUf+0PBzlTGk8DvsCWasHrF3CJqzs8097qb2/zLoM0PZOFKXZ6X/IMZe4pEIaXAwM8xwEvmu4RQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230320071731","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230320071731","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230320071731","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230320071731_1679296760335_0.6116451915008649","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230320114830":{"name":"next-urql","version":"0.0.0-canary-20230320114830","license":"MIT","_id":"next-urql@0.0.0-canary-20230320114830","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"8a49cb87280ee86d00eaa9d3e599d2dbbfa258d2","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230320114830.tgz","fileCount":13,"integrity":"sha512-3J/YPK8K8LaZnXsZ26w2k0cQPi7m1MzMYAC1pcYwQvOpm9Cx3sAr4nGeyy1En+G4Gb2xZvc4pUPS1tL67+CkgQ==","signatures":[{"sig":"MEQCIHb9PayaDGlmLS63OUlXFvmsbbrBH46/iQBm7UvVT5ddAiBcF0o4ot8eppXuLdjHx7tcuIxoXr7q8I1heVygypN+Xw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkGEh9ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq33xAAgReAE/lM3RCgzm9cC1vO2GS+TJiDp9rpzmFEWEURzrnmMFw8\r\nGF9VO3L2DlSIjubCdzPNlGdKZUHlmORsaBrHgao25XlQ0lPDgzXWFPRo4JuG\r\n2uzTBp1+DCK0tY8o27DI2Grdix6JdDn6GNSrDYT7N4zs0QIdp3hg6QhxAPWG\r\nKZpThUsPn2tqRPDuetpSq4T6E/l6TFj92ylq+VkG9SFUfTnsWXx0nHiLFVii\r\nss12YVjtmc1l9+31hEANHPi/HJMOxncswxFIcgPn6dVuXLxYkjkswdqh5Qmy\r\numvQWLzYdX2JbW08aU4wIswLQ55pEYPyXr1WVH1QRk1B1/YozOLtT42Aa2Up\r\nltZQztipTzPThEyzY2BlNAfgk19CCnvZZ1tcdzQ8xkqDy8ilSnGvsxYcJRrN\r\n+kfnJ4TPWxc5dD7DpTIRl+6RXJqgI0QGSLefTtvXVlNBwiIIjKtu5ybZ/AHY\r\nqriJ/EtR4H6GT8UhPgQ7IErcxZsJ7BVuDp56cLtpWoKkFDja02qnfBl1rW7M\r\nZNzTPeWOyach2sPI6iZEs7CNC7RmnD2YieOQee54CPJgKMRJ/j5YdZuLCGS6\r\nCYHZLGhLBOIgOtG10QxDsXzReFcfveDop9Z/nLawVBQ7JI1V60XVHdBLKWg7\r\ngod5IVFWCxOZN/PcXQIoFEqWhtE8u/0JR4I=\r\n=g+Zv\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230320114830.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/fd2bfcf61f48eb1755d932b4f10c98dc/next-urql-0.0.0-canary-20230320114830.tgz","_integrity":"sha512-3J/YPK8K8LaZnXsZ26w2k0cQPi7m1MzMYAC1pcYwQvOpm9Cx3sAr4nGeyy1En+G4Gb2xZvc4pUPS1tL67+CkgQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230320114830","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230320114830","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230320114830","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230320114830_1679313021784_0.7404951050038961","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230324105149":{"name":"next-urql","version":"0.0.0-canary-20230324105149","license":"MIT","_id":"next-urql@0.0.0-canary-20230324105149","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"5eac2352f02d65d048ef88109321c95c8c2bb8a9","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230324105149.tgz","fileCount":13,"integrity":"sha512-0Bfx8ztMLwT6+bSyfzMMYv51mI7WZeEo1rMi7vaF44ZYgYvmhzU6XvzYSpiAhHEX0zf8LcIAyA0NRjrjqQ7Xvw==","signatures":[{"sig":"MEUCIBPXp6aTBqvhFMvNU2hYxRzNrgSXAAoEiFMe/h4GxUuSAiEAqjQpVZ/4Z5jnEKcXIvKwu6tr1CyyXVAscnVJ2YLsx9s=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103145,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHYEsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqoHhAAhbY2DSMwE8NYOmhFSQBDFBRUO46WIX1qDVQQbIp4x7VpV7zW\r\nEt7aDZ/Zw1nzLvLyIfJ4YlSx2qIOBDxaLF5R5We+b1YzOSESVDfnpYndRq6V\r\nfsnfcTRFRg9cSgG/fId1/Rj/DrwFYc0DxSvhMvs8wcRXcWjPbotrUOUteigr\r\nJn7uwWIWwl0S+2r5fHCUao+0UPZXkpuwkpBc4MEXvDrTlNjQnrihiSyRyHdj\r\n2R3aVOYmfPfuDor0HwtVdjh0BA4ISUWyOCax1DapxDzCJRy02jX6JrtiKqrn\r\nkZcXvHPDKehxMCd+oHcDQioB8ZCrj+rnvFsT6PbEeOFf7kHURRTmvaS49VNe\r\nOX71INmZ42F85UhzwCnKHtsAV9owPvmFUCzPFJ4/0SgNbjFqVWVnz5/zjYyF\r\nUIAkvafDdaqgkaJzub3gsiUXOLpHgteIcbCBgFPkn2UcaagP/tP9a6yr+J3N\r\nwOf32TujS8pv56YtMUn+3XH7S5szFMVQpS55LCraF4npW6EWrR9ZhFkTKPfD\r\nrx/t+1d4fRYLBK8qSVyxaDJeCizirsJyiZYH1z5hau46uBuiWf3pD3uV/z6x\r\neOUo0ce++16dnt95eGlj6k8fxVvtL/Sm5NMfY05iPvR6QNt9RaL93o6eaYx3\r\nuwPv1+ZM/pf5UdpqxG0ycQ0sMKygkRr2/24=\r\n=SevX\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230324105149.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/e3259095347d1cbd2f713b48ccfa0dcd/next-urql-0.0.0-canary-20230324105149.tgz","_integrity":"sha512-0Bfx8ztMLwT6+bSyfzMMYv51mI7WZeEo1rMi7vaF44ZYgYvmhzU6XvzYSpiAhHEX0zf8LcIAyA0NRjrjqQ7Xvw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230324105149","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230324105149","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230324105149","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230324105149_1679655212378_0.2859118201824986","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230324105225":{"name":"next-urql","version":"0.0.0-canary-20230324105225","license":"MIT","_id":"next-urql@0.0.0-canary-20230324105225","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"aff5350299be8594ed4bb22a6d04b7231e5a25ad","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230324105225.tgz","fileCount":13,"integrity":"sha512-XG7gQ8jMlhwuY38CJ3RgGqKzgt83LuxwNPncTmGgZuFHZJAPiceKq7W/YNvumscU/FczvIcqYZyx2c6T7V4Q2w==","signatures":[{"sig":"MEQCID+/CQ6YcLda4Jb8Tg50LhVL73fDbya6H9ScJIHmYUhaAiB+QK+wmxZ9j9dsJxeEH6vhbpqmqkXjECDRd7mCGRt3rA==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHYF3ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqVgBAAi9lSbQMF/8XJFXC3b/SFnBwJfAOmhm3Jez9wwYnxYedWNyxm\r\nXValJm9+HME6sd/mMzsPgjeIHmXJ2GPHeqimJLs4o3D3TQSAFWZhtVWetWph\r\nKz51lZmT9u4XxpqO5AqZkxZ1YeDohRD1PJ51PSIXSHvxQX2BwWB1NmHzaaSR\r\ns+JvGWELEouOPpNDs0NHZ3tZIiO5jWHukpjR9mAlYPLdbYmqmNDLE0qKKgv6\r\n1UhhyEpImQhUmIdWgUvZaR65ZrION7/Fe/32136JbErs3AeFXM3hpZYfy9hU\r\nytdNZDAKp/proU1jX6raL51BTnBDVo7i/FQkjryPUqr8CaP2oI6zes5VX3r7\r\nvTpbGUzF5TenYK1NibKffJuRJoYLcBEWtI05HkME2wskKZw76aKrB3uq1P83\r\n05B4BCZ2nGem9RLjNECs2ME6JHzkDtyzyFETwrp1r4SVUUH55c0dtoo/3wcK\r\np/X+JUzQpqzyKlph5/JlNfa6MjGY1yfKszEROGDvd8Ps7qIlLbk1BkT96aly\r\nuJUQ/se3CiPPXhl58wfK3qAf1Cm52UhQSmyRqpcVarT7novEiO/+Z+mhLDcM\r\nyfko9DiTv3yuCT4WtOzJxRqYaqJvyqxry3PHF98M2U8nZjy1gP31JZ9A/45Z\r\nBb5ZYZN4g0DB9lT3w+gPaQp4hG4ZHhYt3Uk=\r\n=Wyi5\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230324105225.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/dea169e8f595e9dacc73451810459d7e/next-urql-0.0.0-canary-20230324105225.tgz","_integrity":"sha512-XG7gQ8jMlhwuY38CJ3RgGqKzgt83LuxwNPncTmGgZuFHZJAPiceKq7W/YNvumscU/FczvIcqYZyx2c6T7V4Q2w==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230324105225","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230324105225","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230324105225","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230324105225_1679655286916_0.48580133932056313","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230324131627":{"name":"next-urql","version":"0.0.0-canary-20230324131627","license":"MIT","_id":"next-urql@0.0.0-canary-20230324131627","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a35fa4c90b6fa1f0905157142a882af9069842d9","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230324131627.tgz","fileCount":13,"integrity":"sha512-A54vNn3WZrn1pT12TE5g8wLbpSDth0f97CxsSiYr6Vs2Ip3sqKCOmbaVQpbwM/2Bd651QDL2vhCiV1yAr2skuw==","signatures":[{"sig":"MEUCIAYS4JXr77xBvfoVo/ew7ip0NTFCa8xC02zLUoW7HAPdAiEA7iSTj6eygYhsEJ5aZMIAfoXQmjjOn2+TkKxirzKHbMg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkHaMaACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo3UxAAl+PpsbG79yzjxTWZKBjxjGK1KNpZjLq5prbeLUBLMtlg+/Sy\r\n/pa47fXLsLK1LC1e1PYAxQom/3u401mjLj0SX2p6o1RTe+58NWCbQXukd0Ml\r\nc+XJns4JoaxoJgcE8S2cjZt86Bc9dlIQw1F//4VvuPP/Cdtn8b/SlU6FxDdO\r\nGDyqowANdmUFC30mH4kN76ywWfdgyXJwJKbLaqhRggYOZ+hfwz9LPXk4iykp\r\nEZcQ5aj12Ee+vrNioZ5LCf1gCLTlKccHoGv+KsU1JMB33B/O5fnNP/pCy284\r\nrbeCgXL+p00rvd7GWTbg92uPav4stHRPsfiMrue8P70zdtBZJVAv0qmYl3i+\r\n0K6LBfTrTpY4AY1ySrbg3pTKDTgsOMJhHTlFDMIGKIdW6TM6Nhwwng/Up/Wd\r\nioVeka1LUXRnfSynj+0vNmdNpbc5Te1pMzHBkoqZN4v2zAsxdD9vhwHHiyKh\r\n2t54P0hCXlW6g+NjAEV0piz7RZj+KWUxtSy/j1mjjZSRxXAJ7OFbvsoDdjnw\r\nE4kxeUxIlo1JgX6UgZRlDTBP4M5RQju2b1rfKFs41z2pxxp9sLpo74krnXsx\r\ny575SxU2+0ZVZwqwfCXlRODLTxCzYkKFltqKjyJdma9G7S1+PdE+6WxXcmdp\r\nM6DEuTei1HDH97S9jMRaT+V4U49lbnjAml0=\r\n=Ik9N\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230324131627.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/bbb80d01d7fb4d77abe3a068c33b40bb/next-urql-0.0.0-canary-20230324131627.tgz","_integrity":"sha512-A54vNn3WZrn1pT12TE5g8wLbpSDth0f97CxsSiYr6Vs2Ip3sqKCOmbaVQpbwM/2Bd651QDL2vhCiV1yAr2skuw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230324131627","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230324131627","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230324131627","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230324131627_1679663898302_0.7439247106903122","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230326124645":{"name":"next-urql","version":"0.0.0-canary-20230326124645","license":"MIT","_id":"next-urql@0.0.0-canary-20230326124645","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"563dcf1d09306114cad45371695ae456b4e91953","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230326124645.tgz","fileCount":13,"integrity":"sha512-81jzJGPW62LectF2+udUnYs3HAX/D7dzQnasw1VPPoBXGtYrbsebIJ/squivC7RGtXI444jUQKbptWNwgSCRhg==","signatures":[{"sig":"MEQCIGoNqMF9wqXE+5V6J7iuisvxMl9DEt7uQcbVBhmHEZTYAiAuRCyyT0/uNrQ6SAF1XYVI7QgPl5xsXpC8tJYANK1BBQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkID8iACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmpe+Q//ZPueu46I2RxaGJpx5L8ygp9zTDY+ulVY7DcFM1RmAUgGicqu\r\n+jInnluS99GntvuwdODjS2L09j4Qn9XDUM73B0LF8Utr09KLcJUv1p8AkQjg\r\ncUZALPV7K3GhoDKtJRQfSwsXnO3aYshmFhUxr52TxaJWBX0nzx11RDFAgJvI\r\ngpnuVMbmTqjGIYd2QRV9KpEu5VRfrwn45THYOr7VlX4uVfTOqNDf3PXx4wFW\r\n6b3qorpGWj6/joo9eS9fjFzRptGpI8gzNE1hyWRr4ZZyfCrCWN9cHVTAPUdO\r\nIBAbG1MZlc7DhkiFWyTg4GRkTcPaOBjPPyKjhUR7hkKMCN7nTQjk7fjQrELi\r\n9i6JHhJKN5VBLuajI3RJlDfePWQBsTf5eL8dtzfbCoKc36PRZLYlLAKLL6ut\r\n24fYvbgI5uNo0Co8rTUs1bE31MmcpB9RIcjI7PWP2W3vjQNr5P5acRfnDOgX\r\n2dmLaMdF1Kn9NbChIW+8Gd0MuKSGNr42C/8y4NJjMEgea1GCspUp/8EzV+do\r\nYuN9BYfGCUXS5M56/9CIt4TFM8RqHT8cUEIevZ6F4PkeDSKsJI5Y4od1NQW6\r\njfTr1Q7hQKexWQKNaXxJEig4a2sjGfXgUm0EL74OT9RLdJFYt816BJSmUum9\r\ntcwnqK0cstc2jthfo2dQBfR2jRU25glHS/c=\r\n=0X9B\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230326124645.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/665ed942f57c3780806a59117ae00f56/next-urql-0.0.0-canary-20230326124645.tgz","_integrity":"sha512-81jzJGPW62LectF2+udUnYs3HAX/D7dzQnasw1VPPoBXGtYrbsebIJ/squivC7RGtXI444jUQKbptWNwgSCRhg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230326124645","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230326124645","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230326124645","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230326124645_1679834913987_0.8987155513125198","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230327135135":{"name":"next-urql","version":"0.0.0-canary-20230327135135","license":"MIT","_id":"next-urql@0.0.0-canary-20230327135135","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"3d0021a48e83fc48c1231916a2cb6f04189d7a80","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230327135135.tgz","fileCount":13,"integrity":"sha512-fQ9xFNdKZEMEAs0eu2A7cWyBFtM5eaXOvOhW3MncPVz0dRbBCzYhxN11AmXmwcTBzxCuXk2g4PEgFpMt2a05GQ==","signatures":[{"sig":"MEQCIFAvp12NTcjZEyjKkQIhZKYEB5DfyghsAwG9zAOdHLl6AiBy6scwukAjU5jgMuGocmFsj/PEOuNdKQdNu2vGG7kYgQ==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIZ/nACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqCGw/+I5QKvZ22SYC9wIo4UxzY9VvhdfCH8NLRBN1x2tFllA2nZTu0\r\nx/f+s1jOg+BWw1lahPkrXjuH0rQ65UnDhat9df0OEL6ILcn8S3g5GegwPnAr\r\ngRjIHflLEz3kBlQnjgHVEGlfvmybw/d2lWZdQ+WhyvoDHOa4uZKuuJlfd4E5\r\nDIYBdrUESpDmHwHqJeHTB6HPQ/m00rAB9lEfbdip+bRR+vsFV4bsXroMmZWW\r\nevrAfLaoUDouco731d3jC9wSJTBupg9r0NDeDOiVktu228mRAJ2G9UTWbZ/8\r\n86zC2hF1wNNDINN068Nbk3Jvxx268qxbGyoiczQp6VNOcytSI5JIOVeHQrZ+\r\nRHGiDDgN19Ae0kRjmKFNGZc1Nf5Cefo4mjMc7H2Gc1GBAj83v+6DTidj6pjt\r\nHb6CJ7j9yNP4h4Klt4jO2zChhoeojbqMgyr/ckst8QDvd2fV3SwLT5Sk2Q8d\r\nEgX5NXxW3LMyg+csfaGVkruHcpJsNmsC69F7ph1BxOTaZ5cXhBqpUIwIsNWq\r\nxEVEa35gx/DO4QCpr1ErRqU7TRHwiXBgxE+GJju7DWtsh4W680IcBEcvPf61\r\n2odNropKR2KX7m9DvDK1Cp9EnbztGAfKqpFlwumZu5DL0zVNdmiIWByOCpXE\r\nxA11Dl9LzG+sKObmx1CC9Sj9dXzjDVyThK0=\r\n=Igw8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230327135135.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/92e31af6cee70060377e20c4f4b484dc/next-urql-0.0.0-canary-20230327135135.tgz","_integrity":"sha512-fQ9xFNdKZEMEAs0eu2A7cWyBFtM5eaXOvOhW3MncPVz0dRbBCzYhxN11AmXmwcTBzxCuXk2g4PEgFpMt2a05GQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230327135135","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230327135135","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230327135135","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230327135135_1679925223593_0.7935843772435986","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230327155609":{"name":"next-urql","version":"0.0.0-canary-20230327155609","license":"MIT","_id":"next-urql@0.0.0-canary-20230327155609","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"620028db8a6e8d365ddc42a731bfcbfac2eb7da3","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230327155609.tgz","fileCount":13,"integrity":"sha512-fK6DMQV0Dfn5XZNv2TEfCBgvIPzILiQiQovzTBL/jfCKsEutBfaRbgs2eocNZtykN5kFt/JJpo+NQ5qqVu5PuQ==","signatures":[{"sig":"MEQCIECxhW8a4TfYGG1IY1lLt+gJm+Oh3WMhJpW6z5kwHTKVAiASgVoaGBHcA+TxyO/ih7dQNkNN+IivqZ7F4wPMxCFBHw==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103202,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIb0IACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrpdxAAkEShOQF0kfFt3T9PEDOyO/oRComH0ETL2PJ91vBfBoqejrGU\r\nOLA28tZqnCa6a+rBCZ/ZfInh9L/nUE8ooeFG1KZhivERGseQySjtOv4N39o2\r\n62jNUOtZ7FF6wTpG3ig8PcjrEuWEbqyAoHh/WA+NQz5elYG9qNJtz/fLms+D\r\nHB2da2MtY6MlFKXC8ZJR9z4Ph1wLYmb5TCvn64TrLl+RlLb1daw+FJJAeFwa\r\nP0xWM3DSD8eFlI1VMMiDtefdyi9U7bYokvtoOWhx1DsJHIjT/z29oOU0dCDb\r\nvoAbi6a81uug77FjNmbhKxk6kuqiISqML5Xn5iPFlAoviN+3QOI1n4Ck/Smq\r\n2Mfxb/gSFnPiNRWCoCuTylM1TUyrxgyDH4bEg0IFs6nZ0BGvy6KtnDdQZEWC\r\nKjJdRnzDoZ4cwZDxUfOGMvnGwin4kGI5galYtmLtwnozJKZ9cvZh3g1146Ma\r\ngBSz4CksFerohlerth5WGpRtovoaMUW9fn0n6SUwc1fgoZdvCQz3Q12obEwk\r\nQuEVLL+mJJfcSn5GDxEIzDr624IerIKpg4TnlnRTdHkOVue6uAuf3OU2DZCc\r\nNtRi78WtrMZ7tkfFUljByn3f2xFCUCCHa5GUydKUGK/PJAOtqUwreuKmUuyH\r\nXRdbXfxIXzh4YYjiO7Vbw2Uxi1KQLlHhP0Q=\r\n=vSFU\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230327155609.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/4c1054939383f593544ca844431af390/next-urql-0.0.0-canary-20230327155609.tgz","_integrity":"sha512-fK6DMQV0Dfn5XZNv2TEfCBgvIPzILiQiQovzTBL/jfCKsEutBfaRbgs2eocNZtykN5kFt/JJpo+NQ5qqVu5PuQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230327155609","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230327155609","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230327155609","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230327155609_1679932680582_0.2311587418310883","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230327160816":{"name":"next-urql","version":"0.0.0-canary-20230327160816","license":"MIT","_id":"next-urql@0.0.0-canary-20230327160816","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a2d4e52a3ec3e523fd16881ca0d46d534b9f7d52","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230327160816.tgz","fileCount":13,"integrity":"sha512-saYJwPDpX/d4YEcRq98Yr3XgJbT/zyL+EDgJ7Tjl/dXJeG+21YkgAQwJ+HDddZKIvrUXsI7Glt8HFlcz2ADSoQ==","signatures":[{"sig":"MEUCIGURrkTfyrua7XJR12mGpablyGaXmzKIkbGA3M36M+jxAiEA+/O/x6p4+Zp4YPu7Utep9dkxrSZ/2axJN0ZMNXqJHys=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIb/fACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqJVxAAkvJQv0/kpqtkSmO3FhiOjJHpvcswDK4PGjHzRkgIgLhqNEHF\r\ne9WvM+wTopXBMmgkxrfj3T48vfhkM09maszOE+kDHCYOrlwAoWQ50fl9b9XL\r\nR1OJz61aIAuktTgZIpXCyOS3sNlOd0Auo2iD5xPC4kGXcihb36FAJI5LOWv4\r\nA1Hp1UB9cNK7Bjoqair6AhmO8sY5wm8ngHBTR6x5ZdzHl6XBM9omKZpoAmxo\r\nIdQAWzPbFjUidF+4zNsTQZQ0K/H2kmCtWeajyrbWYBE75cIGvG3T4+pMtiKC\r\nWDp0AeMJxM+wlKYLcnvh4jjRoNgQknLejkgK4Rno+If89bH7kDnX1hHX1Drv\r\n5SBC2ak/jhCsjcJje1XXK81pHVK7qjTYxMYpF4TIkdOTCJ/nU3vYkpHrbfZk\r\n4atbP1R1b/MCV40EdpAcZHUgclTd6BbyE/bFW0vkwGYuigmtb1S6ssjneDoV\r\nN0DBFW/x+aZgC43+AhoLup0R2G1krk4KBs+RYQKHosKxuUpKnD/DQ5j3wIce\r\nXHuXAI+UiKibGeidrh27l1cprIjYIuA4E3gEGL2UbWH031W08CHiODXVgGjo\r\n6ABQmcOB0AKsTkRip+oA6bJ/KZEii5XY8yrYk4tG+b9dduphnTm5HEDiGzCs\r\nUb+1Jq2OQaLEotEWgrbVfscFmLpQib/MQNA=\r\n=Wc/R\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230327160816.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/a5e96a1e343dc6b24587db17fff63941/next-urql-0.0.0-canary-20230327160816.tgz","_integrity":"sha512-saYJwPDpX/d4YEcRq98Yr3XgJbT/zyL+EDgJ7Tjl/dXJeG+21YkgAQwJ+HDddZKIvrUXsI7Glt8HFlcz2ADSoQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230327160816","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230327160816","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230327160816","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230327160816_1679933407101_0.5056510504542286","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230327171852":{"name":"next-urql","version":"0.0.0-canary-20230327171852","license":"MIT","_id":"next-urql@0.0.0-canary-20230327171852","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"fc796e6104ef376f771d069dbaee6d223add9971","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230327171852.tgz","fileCount":13,"integrity":"sha512-3tRO36ZzyirFJHN+qjI8aQrcAjXas+0oHs2OnbhQKGNdNhGWNUoSg6LKWkQdFelq8QwxdUrM8/SRqEtUVMpwjw==","signatures":[{"sig":"MEUCIG1ALTcu7mhF72ciJIQV6Rj5S2h56WTvds/rXRbx/N1XAiEAgf3vLbVU3YSwduQKyWtlBDfOzdab6sLa6kGhHjk60qs=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIdBsACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp9uQ/9GftipPxdlrCmMPJfAUAEuFRHuYdV0p+QCb4pTOlXPAqFXdlH\r\nZ9Ve43fQBYMiaLm8slrE9IaVwf30ElhF0wbCdWeT6hRlo4HlfVWHsw2vpnYN\r\nkQBglfsIvorG73Yviya7B8PpJiGksB45PxT81sPMSfSbX+7f1EZyWUBZ1GHW\r\ng51xdVsnRmmWmX6qwU8H3AY+K5FYxRlkq2R2tuo05txqsIE3ZKVNCwNXwSx8\r\nN8DOA/18WLYSN107BVK6C+0s39wddNxuetHTuAKI1MZI3HdKvlJkJrRa06A6\r\niq2g1+Ul/mHI4WDTqiP/obJEoS3zWlNVECmojo/5WxasYxGQDMNC0QHYFblC\r\nfNAAbEdzK2Ncde4D7p/V0X49N8MZk5J31dgrJFSM941wVdGzDmB/wQWDT1Fi\r\n56+ZX0s6eb3PzWW+4kp5T/Z3qJSnx74RzLAnlqhChTVx0HK4SwdbwWgnrWTu\r\ny7YKv9D9Czdh8PEHFwXap/G9Py+a/w7st6ufF0PMEC8trfhTFTEDNgez9fpv\r\nFb6V+1KZymNFFNm1ftE8MKVJrZfZMZPW02XFbDCaIW/AYahJW/osm0X+5906\r\nWtpha59tPZJzNrKINZjefyL3boeHEjTVnzrKTiTZk3hW8TNLj8yJedzWDG+u\r\nhHnAtKa49YY1RMEXsBKE2Qd8JbElL/b2XHM=\r\n=1OGk\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230327171852.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/ecac7368d6bbdcc6868be6efe0781836/next-urql-0.0.0-canary-20230327171852.tgz","_integrity":"sha512-3tRO36ZzyirFJHN+qjI8aQrcAjXas+0oHs2OnbhQKGNdNhGWNUoSg6LKWkQdFelq8QwxdUrM8/SRqEtUVMpwjw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230327171852","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230327171852","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230327171852","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230327171852_1679937644079_0.579981685608508","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230327172613":{"name":"next-urql","version":"0.0.0-canary-20230327172613","license":"MIT","_id":"next-urql@0.0.0-canary-20230327172613","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"3a8544a5f51ce78084fc83310f40bd14eedd3269","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230327172613.tgz","fileCount":13,"integrity":"sha512-RIY7d2wEmuArKTFOp0GPa+5anSDfcud/nAE2AxvC2iQdGcBgFss5RwqTltVSxd1DouqAtSzFAkYa1enAFgGbHA==","signatures":[{"sig":"MEYCIQC722RwhaV9CQ+QeZY4wfdQtFmHSOvbDtSNSKqy2k5yIAIhAJEi7XuAnONT/U20OiGVQVy+YGLGEUjpLxGrTS7LT+Vq","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIdIhACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmr2PBAAkY14V6diy3aO4dJhfnUWPtWcOAOQXo0uMvEH9U5wQWEmAfMF\r\nRfuS6SXYgfwKpxdaQxY1Y2zj6mjxBKBETOdfq0uU8BLB1krU9lZQNn8J9IZM\r\nTgO2TTVZvs3RdupMaguL+zMEfJk+04aoB+CK/xx0ia/wn9h+CHdvkpEXq5Pl\r\nDpgYfMy4t5CiswUxo/W1PEp9L2MnF/kH/zpfYtXSRGFWuflHSLHMOqG5wzXe\r\nuehsmJThFa7cWsb8gZCwIGLvf3npd9Ov9ie+Ewv/OsYNkEhlAz2l43w8EkTK\r\niY99NxFY8Oj0DEhVNQ8DF8+1J1JyNAHN2FImLsSI0tFtFOfW3MOtCp+KakpR\r\nnhSGdqxPUugYNGVKpPXDi1y6RAqiYR72MC0uIDsiPuWOFYBakr+/TdfkzUwG\r\nitxAVz7qxi+/ziJNyAqzFwhMPEKqqbBRS57oPzuwhMD7wHU37IhiEBIDQo/x\r\nm4L+cu3yWezI3xNYFX9KRIT1fxvW+rHHJ3E9n67WTb6GlA5tfIFQ2iR7foja\r\neoItHXPAgTKcWCWFpQzQWQq86fEG2FsRL41kaWy3mrwLabVZZlFhHUfZF0Wh\r\nFEPDr1DxZatxOmqe9nOqSHVCMk3UX4vM67ZIe61FaTVTKoQICNKfwEoupo4y\r\nUtSlyW9oN8rGAm/cW+15jwX4dnh09aOA3Qg=\r\n=grql\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230327172613.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/4103c858c58157d40af5838986d86f20/next-urql-0.0.0-canary-20230327172613.tgz","_integrity":"sha512-RIY7d2wEmuArKTFOp0GPa+5anSDfcud/nAE2AxvC2iQdGcBgFss5RwqTltVSxd1DouqAtSzFAkYa1enAFgGbHA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230327172613","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230327172613","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230327172613","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230327172613_1679938081219_0.14763907287830502","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230328165745":{"name":"next-urql","version":"0.0.0-canary-20230328165745","license":"MIT","_id":"next-urql@0.0.0-canary-20230328165745","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"4c24be90d078df85bda213a740aa9c388a2be06a","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230328165745.tgz","fileCount":13,"integrity":"sha512-nOsrP0Eds2KtFswQiVcBpOmIArQyYxxB0xr6BcHAWA+RxA994qFHoOlIzPASDRV+bb4RYmzeDUO0YmDq5yY/Vg==","signatures":[{"sig":"MEQCIHCVTTgrRL5MHdvBFq8iw2UViN+v2BTuVVOSoALiNq7hAiBin1lmXXsrHsCnFvF+cIGqhcD7rCtDxDg3T9lr6u8x+g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkIxz0ACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmppAA//XLI+a/xAsW2j5q1nVNGg8PCMAE0aNlpTvj4CXncGnD/z8tLo\r\ncLAftSQYXazdpfw3Pg7b43GY6TCq/8aRh9nIG3y8riEFE907kPFT8pablqRq\r\n5ZX2BvJVzYLwe8iVV0/u3DPBKg7OzPfBhyiVyNWaXS/6D8lyB2HZbGY2Ye6l\r\ndvlA29ZX9dWHpF73wftcWLVtjuO7rf0r3XmmC6wL9TkbYfCb9yz3cNPW+va3\r\nKIgkdPWcikHzcl3IjxNXsHkFaCdmvZUAgykURyg8+zXKITmvGqCt7MBG6Pk7\r\nFy90udYHnEDOaMBUJF6uERnAWycr1GC4j0WaW4L1KXkb23GTF/4Lq4zaU4qb\r\nEngGMxHUREzoPJp8ijvzSqB2TNAclj93BZSTNq7uUZB+6zKQkhHhPoK0fVDQ\r\nATvCEOfSWaUPjjQOcZp432Grt24hGDrpX9W7QtIzb2AIMiSFw+SaIinRw8qy\r\n6218KBeh69EK0KRTsnIfOFV3jDOk6nVWj46HCT3lwN4ZoKYjQzpQlaaCdcpF\r\n77GeuZPOW+v5KKr/awlKOzaQYzsBRsvcgZ35yW7I/B6ITwSpBvyTG7r58n4z\r\nEKOrN+dbMWPEpnMD4vbkngj2gh+zrXnLcmWciS2uoV31PO4WDQNad1PzCEdQ\r\nAWRw3RVjZOIkU8D+ho4y9tBxkH6IZ+t6lF4=\r\n=5qyh\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230328165745.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/d5ef0687fd7dc660717e33466c7272da/next-urql-0.0.0-canary-20230328165745.tgz","_integrity":"sha512-nOsrP0Eds2KtFswQiVcBpOmIArQyYxxB0xr6BcHAWA+RxA994qFHoOlIzPASDRV+bb4RYmzeDUO0YmDq5yY/Vg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230328165745","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230328165745","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230328165745","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230328165745_1680022772352_0.40818515353629214","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230331142235":{"name":"next-urql","version":"0.0.0-canary-20230331142235","license":"MIT","_id":"next-urql@0.0.0-canary-20230331142235","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a47c6d296810d5a4772896789e75b56b058abe04","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230331142235.tgz","fileCount":13,"integrity":"sha512-wfMoheVcQRkDAasnr94cc7hInpk1DVlrCRuhmbYOYltskvojiipgxlZo5bIUPM/whxCy0EI1fQsaV4LwRy6xHg==","signatures":[{"sig":"MEUCIAva+G6Dy5lvRxUN1KeyHo6bXSjsFIADbXP10ihaERpVAiEA0UMFYhzomoMEyoMNknzz9oC91HMupu+z0tVXZ1NLIX8=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJu0WACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmq9VBAAhGZbcvnmBfwW7hni+ikJTe8hKlRhLQNh6cmbT6IC9eldS7cy\r\nI0UbNzsIOez9ef7guDDiKJWMx2QHx+HzghIZa0/84jWKwHZpfZBD+ilXMGFH\r\nCwxn/x68JYljsLuJiMqLOjWZSrUHg4Qv2jQ+UoMdH8hxNVvkPoj0NAtdgNJW\r\n1osDddRR9u3v7re7haKk3Uib4/WTp/++x/LMT8FgcuhjNWxxP3K/Fihsii0u\r\nY3q9nx5yGzU/zXN//c0orm6KZ0R4YL5PZzTIrvFUYEAsxwWdanxwl+BceVqV\r\nyBTr27xEz2VILI5KwmR+T+Cr/7Wwqsv3F4dto3wqTPe29NNv0JdtOfc1SmMH\r\napeN4HRtKT1acsSrvJJxGg7mGBCZxJkgtSd+TxlxrmfNiWWepP0AQtQWNufd\r\ndvU8YlwsWP98QCgRQcuaOY2wZJkopTPoYY8YQfeGyXNygnXU7vIzy3QZWT01\r\nv7HuXibgjdy18P5Gokdppr/MN+K8++X0Thf7xNFybfjvJzYOEUg7AkHgJO66\r\nYDaipZ9SsdIqbmYpotg9kqyfxwhoSW0o0p9DGRNDyBd3drKtnJsUZJmwxOli\r\n5qfzHpwtZcjKOXgC0KgePO8f41Z18lDxUtEnjYaFcUI4kJJ1fjRU2D7tkvv1\r\n9/Q0RVZ3Hbf/wvnbcKPCjO/+Otl5IpHVBG0=\r\n=034Y\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230331142235.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/bbedcba25aeba3eab867db486abcefe2/next-urql-0.0.0-canary-20230331142235.tgz","_integrity":"sha512-wfMoheVcQRkDAasnr94cc7hInpk1DVlrCRuhmbYOYltskvojiipgxlZo5bIUPM/whxCy0EI1fQsaV4LwRy6xHg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230331142235","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230331142235","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230331142235","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230331142235_1680272661852_0.08719995014912141","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230331142238":{"name":"next-urql","version":"0.0.0-canary-20230331142238","license":"MIT","_id":"next-urql@0.0.0-canary-20230331142238","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"ad3874ea97dbf599176ef6097a71c1540640ebca","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230331142238.tgz","fileCount":13,"integrity":"sha512-eYA2KpkmY++7PRaiEjEUnSKULvI/C5+HzXXRtGsOzFxXSvKWlFvzRJgYdRdq0fsUm+5eug72pxmpl/eyqcX6cQ==","signatures":[{"sig":"MEYCIQDeJRm9uVZbq7E5e2Bn7d6Sw48keyEHKPby5nBsHZ6AFwIhANdCm+6Ucko76s58wSE2UJt2LfVQ3SdPI8lPQ/MLg9MO","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJu0bACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmoYAA//RRei7FsL6Ua28u6RXxx7mFmOBunS5vz0G/hnDxTaCqWAstKA\r\n/Lnyzij45vj/mrn0yQN3D3uoF3shTHUeWbytl7cD7h/Cn5/hMAqoW+KIqbGz\r\nVTgNl9lPKKbFThbJmfdyIdtdVNZ9/tAbf72phLcnTZx1ph+Khy80QpzVdPM3\r\n/RI+v1pxfuQRB711Q6GCi2yQuT3nO9vaHNUh+tNq7rX4EGphA13yG+X68O2F\r\nbyBnK/t8QVymoNienp+Hb1F1qTuCE0kE8N/ctfjSN6eQ4d4/6OFSw5rgmo5t\r\nQwrKk589udK4G2sczG2nFUCOWCFX6Xh+GFTwxjSmH+fmsTbW3gt0/DHb0ULL\r\nlTyTg3mW+TOq4NNEU44H8J3JGrJIk1ZHXKC0ALODXK+Af1vKKa0VZvZssGDP\r\nma9304d/gRLWsA/sjsx6RB5QoJwavtSEitAstcN1TpH2GRezLDihBVJ2QA1g\r\nGOdguqpwNfy+oKVpPk4TKT2XIdeLWSuv4VdRYQSifXQ7byF+FjbyHK2JSic0\r\nDp6ZaglYXbuhcctgcHxO1OL4xC8uhlXoYQrakvBuypEErQn1YaKB6rSh1q2P\r\nEq0sZAy3BLQO32uEweM2EOmCiTSXg349LuzDulNTurFZvM+DDzFZZxc+TQMm\r\n3SG9Gxh53EMpJ9L+Btgy6QQhgQIve6J5eAM=\r\n=d3Y+\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230331142238.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/72b6395d6c753df60445132a5bf7b104/next-urql-0.0.0-canary-20230331142238.tgz","_integrity":"sha512-eYA2KpkmY++7PRaiEjEUnSKULvI/C5+HzXXRtGsOzFxXSvKWlFvzRJgYdRdq0fsUm+5eug72pxmpl/eyqcX6cQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230331142238","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230331142238","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230331142238","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230331142238_1680272667034_0.5187757792475964","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230331142637":{"name":"next-urql","version":"0.0.0-canary-20230331142637","license":"MIT","_id":"next-urql@0.0.0-canary-20230331142637","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a4b34d2bf64873ce07224ae1bc149a269320c49f","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230331142637.tgz","fileCount":13,"integrity":"sha512-q8OxwYkhxX1Z2z8Ideb+2oSv33NI6O1+FeOeAsasfAX8xPMvvwFemrnD6w5Wl1HGYEBsH4bg2KdFeM/SVUYtCg==","signatures":[{"sig":"MEUCIQDN+9Df8FkNYXxWsKvMaUH8JHMQvWjdWInJlsK+D6R7iAIgVK4+OnSXAZCIMOcPYrXxeEzOLWV+hZ7kajASbL991NI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJu4KACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmozWg//WaLlalEDy+dqsRfP9GMTtTwUrulv2wRQPTjqdA/TTeEWFYbX\r\nMQNwkeB9S68MTyzpvMx5I7olzEQuYBQ21t3+Zh9BaCceVu54VBHcm9xzmMAA\r\n4M6qVWfjJcaeLQrNo5AOA++0OjHf1HgZAtl7hTTUPARxjpnvMK3sF6mtqNBJ\r\nkVEzDgw/bhVT5ubLF/C5M+Ar2gFItxiqWmYDL00BDENyLXftLK7UL0QXDUUK\r\n7d/pUckakd6Uqdl/UJwXUKdu4nZMIOM0IeE55L5wAytRd4DExAmLkrQUpzf5\r\nQBGQ0fKNU8KS+z1wGYo8/p11wb1rLr2+6gBRSWpk8id0RHicGiK98lznQxKB\r\naNy/MeSfZjwoZFNjV+uYAkU2Fdm+ltL6z75WWJpi8QM8jMEnBuUN7L/YblU5\r\n0r2Q4d5GRGZCj2VHDKBZryV7KHSZ8JwM5q8LGLOG4HyrZEomHc8PKK26ui20\r\nLW44hC48CSedkTPnVXU5maqvaRXUNJ0PIIAmU1Tw2WyV1kQl4iYxJ6bV2nBf\r\nhr0A4X+n/QojgOYD9qucjj2XXxwf018mMtanoi315qd2ktqgsEmJZ45vJ8I3\r\n01gGHOtlAnrUzPN64/IQqm/EQHfSdPmnZvXza5f4ab7lNoJDI9We7yxbRuts\r\nBV0aVua/JYf++yysJ7Uu4VSpiSbFv3hDrbA=\r\n=VdgH\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230331142637.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/81c100269574263598db84325ec2c50d/next-urql-0.0.0-canary-20230331142637.tgz","_integrity":"sha512-q8OxwYkhxX1Z2z8Ideb+2oSv33NI6O1+FeOeAsasfAX8xPMvvwFemrnD6w5Wl1HGYEBsH4bg2KdFeM/SVUYtCg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230331142637","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230331142637","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230331142637","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230331142637_1680272906675_0.7439470697925918","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230331144040":{"name":"next-urql","version":"0.0.0-canary-20230331144040","license":"MIT","_id":"next-urql@0.0.0-canary-20230331144040","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"6dca16b2cabbdd1486ac6f903e1afc243be5de85","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230331144040.tgz","fileCount":13,"integrity":"sha512-1Q2TOq1QEyw2wiNdGw4sH7qaEwPVUkmggHAGnY8S59DuPYyExYwihadS005YDiQcmNWAxjRPgy1DUAtsW9soAA==","signatures":[{"sig":"MEUCIQCVnBEfv/thHzM0gaaqFnTKGFgiWtvwHO/RJHnsu7fPUAIgRyJPgREUowaynzFB7kEnFjkm1pLoxYap6HPzH+30cBE=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103316,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJvFSACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrY6BAAlsf8nMQ08Y9dQhVl4MaDlnLCAsJKbD2AJXS5Zym5xcySQ6Px\r\nXQLED6b+Qsf/ZddoTHmn58jE0fs3WevFWAgQtilZ9u0SxMZhpU0ke78oAktS\r\nIfB17OdJ60/+J0AcFJgdqRgz1sBjIEN16jHY85jrSdcPI05Vd2pwlHEe4K3X\r\nILmwIf5fDQLrmOU1XUoba67E4JDUkV91NNUpfWMcS54T1jBS1vCs2j98bNK6\r\n4ny4ga5RPumfJQKlkU609JcZxyQcrDT9Vqh3wG0knl6OCbTQ0gNjYb2cE2qY\r\nxYDZ2l4bit9HuPepJiWDVCMkfJGgZ1xiSYnG02avQQd4E96RP4MwO8LxN5ZZ\r\nNl8eBkDYxvmEhLmfznmShFiVS4P6CWiDcmN/f3pRA4iuzwI53+CEHOQ72P99\r\nVheh9D23GP0AupGj0IoYt856PVd1zZIopgin6rQQ7a9nsV5/Biwv2f49dZR6\r\n3USVvGSWSZyiXH0Phql6MCe/SPHLdCf+BerK853j4UKD+jrQgBDmz5ihY56g\r\nTJeLrwu2PSzMwg2bO7QW6UFkukau4RTSh9aKT8siJbYJXemOXOLjhg4vs2BI\r\nC6VbQjt7whYcus73ftLVpzWzrUVOZvGbC3o4ozseuG3oCpLzfyd5yKxZm/sP\r\n2V7d3ZyO/A/A6ewbMrlKcmzoRXiGe49zAks=\r\n=XEsV\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230331144040.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"<div align=\"center\">\n  <img src=\"../../docs/assets/next-logo.png\" alt=\"Next.js\" height=\"200\" width=\"200\">\n  <img src=\"../../packages/site/src/assets/sidebar-badge.svg\" alt=\"urql\" height=\"200\" width=\"200\">\n  <br />\n  <a href=\"https://npmjs.com/package/next-urql\">\n    <img alt=\"NPM Version\" src=\"https://img.shields.io/npm/v/next-urql.svg\" />\n  </a>\n</div>\n\n## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\n### Motivation\n\nUsing GraphQL with server-side rendering in React is a challenging problem. Currently, React has no support for `Suspense` for data fetching on the server. To get around this, a prepass step can be used to walk the tree (or a subsection of the tree) of your React application and suspend when it encounters thrown `Promise`s. For more information, check out [`react-ssr-prepass`](https://github.com/FormidableLabs/react-ssr-prepass).\n\n`next-urql` handles integrating this prepass step for you, such that your Next.js application using `urql` will prefetch your GraphQL queries on the server before sending down markup to the Client.\n\n### Installation\n\nInstall `next-urql` along with its `peerDependencies`.\n\n```sh\nyarn add next-urql react-is urql graphql\n# or\nnpm install --save next-urql react-is urql graphql\n```\n\n`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).\n\nNote that if you are using Next before v9.4 you'll need to polyfill fetch, this can be\ndone through [`isomorphic-unfetch`](https://www.npmjs.com/package/isomorphic-unfetch).\n\n### Usage\n\nTo use `next-urql`, first `import` the `withUrqlClient` higher order component.\n\n```javascript\nimport { withUrqlClient } from 'next-urql';\n```\n\nThen, for any page in your `pages` directory for which you want to prefetch GraphQL queries, wrap the page in `withUrqlClient`. For example, let's say you have an `index.js` page that renders two components that make GraphQL requests using `urql`, `PokemonList` and `PokemonTypes`. To run their queries initially on the server-side you'd do something like the following:\n\n```javascript\nimport React from 'react';\nimport Head from 'next/head';\nimport { withUrqlClient } from 'next-urql';\n\nimport PokemonList from '../components/pokemon_list';\nimport PokemonTypes from '../components/pokemon_types';\n\nconst Root = () => (\n  <div>\n    <Head>\n      <title>Root</title>\n      <link rel=\"icon\" href=\"/static/favicon.ico\" />\n    </Head>\n\n    <PokemonList />\n    <PokemonTypes />\n  </div>\n);\n\nexport default withUrqlClient(() => ({ url: 'https://graphql-pokemon.now.sh' }))(Root);\n```\n\nRead more below in the [API](#API) section to learn more about the arguments that can be passed to `withUrqlClient`.\n\n#### Integration with `_app.js`\n\nNext allows you to override the root of your application using a special page called [`_app.js`](https://nextjs.org/docs#custom-app). If you want to have all GraphQL requests in your application fetched on the server-side, you _could_ wrap the component exported by `_app.js` in `withUrqlClient`. However, be aware that this will opt you out of [automatic static optimization](https://nextjs.org/docs#automatic-static-optimization) for your entire application. In general, it's recommended practice to only use `withUrqlClient` on the pages that have GraphQL operations in their component tree. Read more in the [Caveats](#Caveats) section. Check out our example for using `next-urql` with `_app.js` [here](./examples/2-with-_app.js/README.md).\n\n### API\n\n`next-urql` exposes a single higher order component, `withUrqlClient`. This HoC accepts two arguments:\n\n#### `clientOptions` (Required)\n\nThe `clientOptions` argument is required. It represents all of the options you want to enable on your `urql` Client instance. It has the following union type:\n\n```typescript\ntype NextUrqlClientConfig = (ssrExchange: SSRExchange, ctx?: PartialNextContext) => ClientOptions;\n```\n\nThe `ClientOptions` `interface` comes from `urql` itself and has the following type:\n\n```typescript\ninterface ClientOptions {\n  /** The GraphQL endpoint your application is using. */\n  url: string;\n  /** Any additional options to pass to fetch. */\n  fetchOptions?: RequestInit | (() => RequestInit);\n  /** An alternative fetch implementation. */\n  fetch?: typeof fetch;\n  /** The exchanges used by the Client. */\n  exchanges?: Exchange[];\n  /** A flag to enable suspense on the server. next-urql handles this for you. */\n  suspense?: boolean;\n  /** The default request policy for requests. */\n  requestPolicy?: RequestPolicy;\n  /** Use HTTP GET for queries. */\n  preferGetMethod?: boolean;\n  /** Mask __typename from results. */\n  maskTypename?: boolean;\n}\n```\n\nYou can create a client by passing a function which receives the `ssrExchange` and Next's context object, `ctx`, as arguments and returns `urql`'s Client options. This is helpful if you need to access some part of Next's context to instantiate your Client options. **Note: `ctx` is _only_ available on the initial server-side render and _not_ on client-side navigation**. This is necessary to allow for different Client configurations between server and client.\n\n```typescript\nwithUrqlClient((_ssrExchange, ctx) => ({\n  url: 'http://localhost:3000',\n  fetchOptions: {\n    headers: {\n      Authorization: ctx\n        ? `Bearer ${ctx?.req?.headers?.Authorization ?? ''}`\n        : localStorage.getItem('token') ?? '',\n    },\n  },\n}));\n```\n\nIn client-side SPAs using `urql`, you typically configure the Client yourself and pass it as the `value` prop to `urql`'s context `Provider`. `withUrqlClient` handles setting all of this up for you under the hood. By default, you'll be opted into server-side `Suspense` and have the necessary `exchanges` set up for you, including the [`ssrExchange`](https://formidable.com/open-source/urql/docs/api/#ssrexchange-exchange-factory).\n\n### Resetting the client instance\n\nIn rare scenario's you possibly will have to reset the client instance (reset all cache, ...), this is an uncommon scenario\nand we consider it \"unsafe\" so evaluate this carefully for yourself.\n\nWhen this does seem like the appropriate solution any component wrapped with `withUrqlClient` will receive the `resetUrqlClient`\nproperty, when invoked this will create a new top-level client and reset all prior operations.\n\n#### `exchanges`\n\nWhen you're using `withUrqlClient` and you don't return an `exchanges` property we'll assume you wanted the default exchanges, these contain: `dedupExchange`, `cacheExchange`, `ssrExchange` (the one you received as a first argument) and the `fetchExchange`.\n\nWhen you yourself want to pass exchanges don't forget to include the `ssrExchange` you received as the first argument.\n\n#### `withUrqlClientOptions`\n\nThe second argument for `withUrqlClient` is an options object, this contains one `boolean` property named `ssr`, you can use this to tell\n`withUrqlClient` that the wrapped component does not use `getInitialProps` but the children of this wrapped component do. This opts you into\n`ssr` for these children.\n\n### Different Client configurations on the client and the server\n\nThere are use cases where you may need different configurations for your `urql` Client on the client-side and the server-side; for example, you may want to interact with one GraphQL endpoint on the server-side and another on the client-side. `next-urql` supports this as of v0.3.0. We recommend using `typeof window === 'undefined'` or a `process.browser` check.\n\n```typescript\nwithUrqlClient({\n  url:\n    typeof window === 'undefined'\n      ? 'https://my-server-graphql-api.com/graphql'\n      : 'https://my-client-graphql-api.com/graphql',\n});\n```\n\nIf you want more customization of your Client instance to modify requests on specific routes, for instance, consider using a custom exchange. You can find an example of that [here](/examples/3-with-custom-exchange/README.md).\n\n### Accessing the `urql` Client inside a Page component's `getInitialProps` method\n\nThere are use cases where you may want to access the `urql` Client instance inside your Page component's `getInitialProps` method. To support this, we actually attach the `urql` Client instance to the `ctx` object passed to your Page's `getInitialProps` method. You can access it like so:\n\n```typescript\nimport { NextUrqlPageContext } from 'next-urql';\n\nconst Page = () => {\n  return <main />;\n};\n\nPage.getInitialProps = async (ctx: NextUrqlPageContext) => {\n  // Do something with the urql Client instance!\n  let client = ctx.urqlClient;\n\n  return {\n    ...props,\n  };\n};\n```\n\n### Usage with ReasonML\n\nWhile there are no official bindings for using `next-urql` with ReasonML, porting `next-urql` to Reason is not too difficult. Moreover, having your own bindings means you can select only the pieces you need from the library. Here's an example of how you could bind `next-urql` if you only needed access to the non-functional `clientOptions` API, and only wanted to pass a `url` and `fetchOptions`. This assumes BuckleScript 7 to take advantage of records compiling into plain JS objects and assumes usage of [`bs-fetch`](https://github.com/reasonml-community/bs-fetch).\n\n```reason\ntype clientOptions = {\n  url: string,\n  fetchOptions: Fetch.requestInit\n};\n\n[@bs.module \"next-urql\"]\nexternal withUrqlClient:\n  (. clientOptions) =>\n  (. React.component('props)) => React.component('props) =\n  \"withUrqlClient\";\n```\n\nWhich can then be used like so:\n\n```reason\nlet headers = Fetch.HeadersInit.make({ \"Content-Type\": \"application/json\" });\nlet client = {\n  url: \"https://mygraphqlapi.com/graphql\",\n  fetchOptions: Fetch.RequestInit.make(~headers, ~method_=POST, ())\n};\n\n[@react.component]\nlet make = () => {\n  <h1>\"Heck yeah, next-urql with Reason!\"->React.string</h1>\n};\n\nlet default = (withUrqlClient(. clientOptions))(. make);\n```\n\nThe great part about writing thin bindings like this is that they are zero cost – in fact, the above bindings get totally compiled away by BuckleScript, so you get the full benefits of type safety with absolutely zero runtime cost!\n\n### Restricting Data Fetching to the Server\n\nIf you want to use a `Client` in Next.js' newer methods like `getServerSideProps` you may use the `initUrqlClient` function to create a client on the fly. This will need to be done per request.\n\n```javascript\nimport { initUrqlClient } from 'next-urql';\n\nexport const getServerSideProps = async ctx => {\n  const client = initUrqlClient(\n    {\n      url: '/graphql',\n    },\n    false /* set to false to disable suspense */\n  );\n\n  const result = await client.query(QUERY, {}).toPromise();\n\n  return {\n    props: { data: result.data },\n  };\n};\n```\n\nThe first argument passed to the `initUrqlClient` function is the same object that we'd normally pass to `createClient`.\nThe second argument is a `boolean` flag indicating whether or not to enable `suspense`; typically, we'd disable it for manual usage.\n\n### Examples\n\nYou can see simple example projects using `next-urql` in the `examples` directory or on [CodeSandbox](https://codesandbox.io/s/next-urql-pokedex-oqj3x).\n\n### Caveats\n\nUsing `withUrqlClient` on a page that has `getInitialProps` will opt that component and it's children into a prepass that does a first pass of all queries, when that\ncomponent has children using `getInitialProps` but that component itself is not and you want to opt in to this behavior you'll have to set the second argument of\n`withUrqlClient`, this means `withUrqlClient(() => clientOptions, { ssr:true })`.\nThis measure is available so we can support `getStaticProps`, ...\n\nWhen you are using `getStaticProps`, `getServerSideProps`, or `getStaticPaths`, you should opt-out of `Suspense` by setting the `neverSuspend` option to `true` in your `withUrqlClient` configuration.\nyour `withUrqlClient`.\nDuring the prepass of your component tree `next-urql` can't know how these functions will alter the props passed to your page component. This injection\ncould change the `variables` used in your `useQuery`. This will lead to error being thrown during the subsequent `toString` pass, which isn't supported in React 16.\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/08a3ce232e008c95eada88b2c589cfba/next-urql-0.0.0-canary-20230331144040.tgz","_integrity":"sha512-1Q2TOq1QEyw2wiNdGw4sH7qaEwPVUkmggHAGnY8S59DuPYyExYwihadS005YDiQcmNWAxjRPgy1DUAtsW9soAA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230331144040","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230331144040","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230331144040","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230331144040_1680273746156_0.44537507588974523","host":"s3://npm-registry-packages"}},"5.0.0":{"name":"next-urql","version":"5.0.0","license":"MIT","_id":"next-urql@5.0.0","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"c70cc4219e25425f94a511379b4e4744892e373f","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-5.0.0.tgz","fileCount":13,"integrity":"sha512-sgsfGWlQezyDEV5XYV5WZwOY0V+IESpIh4E4Nhk1jqL0owSYnWiJeTUS/iFCR7tCTIGXxxFrBJIj8MB6iMBOrA==","signatures":[{"sig":"MEUCIQDHWO58Hy0pxZmXg9QqgwXID7FvEBN7bBE2q/Bp6K/+uQIgUBzu1x92b5I0VmVLMG4gEnQxhQNcDUmCqcQwjs+xNrM=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"unpackedSize":103185,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkJvTlACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmp+4RAAni2I9CVH/NtGV6xTZBL21J4o3zpV6DaSNIilfwgsjXfjUhKA\r\nCf8IDPov9aZOseyVCAL8Jh131YzKyH2kO8m/rY9Kk56ZH0f3Cg2UUpI02T9g\r\nJgXnYT9N1tS8E/o7y+N5IoQQ2sAd5hPRbqyH7A6QEwJIqi8X+zWXin2YVXCs\r\nc0T2EOuWJlY6WIbm/oQ9SQ/Ij9aZllIRECwK4/RqXQ+P3qmR9MNeg/vHASnd\r\nsNBE//LGHztiSjJciNxN2wJm8awXXKEcvJdOCNz3OSpdmNsRtQEX+L5KUHH7\r\ns99X/5s3R9kCoXYFuOXhd/Yumel6L2nmXnn53k+A7R484kr49A6luI4PxP2a\r\ngy2dhdCOY1Pw6hetuNfHB8ZVfYt5BPNv2IqHGwU4WxqezLRTvz/xTLlCkQDf\r\nWncGlVKlhC5PNUkxBDfNaAvZPSv4pUwVwNaWRYi+AynexYhfCNJ1JBUBlbpm\r\nbZw1qXW/a2BkrhVU+W1g92zANiwqKyZSrhHj+n8Zrxx7oT9BicPkycz7E7zA\r\nl0bYn0Z8e1ieazQETcrZexESN32cQ2xClV/LyozhC2hiYL+NIQbXIA2f1JNa\r\nywG9pDIaoUeR71kmsFShG0+vFgceX3SeUPCVXMGGDKb1zG4SfBIij/pq02PG\r\nqZGyhw09klzw8QOnRu/Fro8Ciq5uXSZ7zL8=\r\n=bgwD\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-5.0.0.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"npm-urql","email":"npm-urql@formidable.com"},"_resolved":"/tmp/f1138ab1311a8cbf1e5c65a3fdeb4172/next-urql-5.0.0.tgz","_integrity":"sha512-sgsfGWlQezyDEV5XYV5WZwOY0V+IESpIh4E4Nhk1jqL0owSYnWiJeTUS/iFCR7tCTIGXxxFrBJIj8MB6iMBOrA==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.0","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.15.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","urql":"4.0.0","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.0","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^4.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_5.0.0_1680274661792_0.8472028362081536","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230425131626":{"name":"next-urql","version":"0.0.0-canary-20230425131626","license":"MIT","_id":"next-urql@0.0.0-canary-20230425131626","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"42eaf3d28accf9497671591993888d9a91180eaf","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230425131626.tgz","fileCount":13,"integrity":"sha512-aue8GT7atZNKlhUvxva+YndPi49m3jyWQevL4YzFyGTMFEHC3y7T2a6R/v0eIeCNK5nnGJJqLjUsvGVA9vLRDg==","signatures":[{"sig":"MEYCIQDyE1ctKIOhS2O7QLKDiGbwxjsf+lVR97W6hgv6Kvl2DgIhAK9Gx39qpfbd+vhtkcjvYBoa+v8vp3yvIb09rPa10qXX","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230425131626","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":91746,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR9MUACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmo9Rw//fYtH/xdr0LXpQDcT5KMsE2iefjHcLQ6nFHlCdIkWREMRrycH\r\n6vqdTpBDGqPZ6m+0lkBPe6ZjTGt7gSiTR5I5M9uDxWP5W3/NVMu518WX13/b\r\nIZDCmJlWWlve4p/dRYGGDUaSwvb3xsJTdsSPInfX4tUUYqkq8i0FTs5W+juM\r\nVezQizjvROTChIqu5A3hXCAAuRM9CZC8aM3smdGemHrdOpcxyAN/zKMCsUAB\r\nmWZljwsLvYke3DlF+wXy8L4wQ/Zqzg039VPDCl0GST3GK7QND+Ezfi4T+tWv\r\nz+czoANybfNt24PABz9alC2KcupAS8Os5ua2rw3pqnJ9XwSlvtQwkGzW4pBY\r\nZXn/JHgcr87iIhEV8EsGaMLcopXlnylljceLmjIIaj1GkXVblPZ0dY19Ceak\r\npJsDHTa3xOS/U9KDrIJEgfo/g6LpOygTbugn0ZcVP6+vzb3UL/qtLkOD/wF0\r\nXl2rPWpWkV/siZszoispBqFqfUHxdyNZLEFMkFYElj6IbyniiCE4lLheuxBZ\r\n5VXWqhW7kzQ8FkFnt/w8AaL3Qzf7hdKhRJ0TNMY8LC8Qe7OjyGWM0owqCSzp\r\nxEfqO5bOMcXDXhgdYnh1G/LawDhk1HgcTe84DGwiKlbTyPI7HrwcSSZGDtG0\r\nzFc6ss97fQ4MfM8cBoa8wRx5TisNgjpwE3E=\r\n=vbu8\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230425131626.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"jdecroock","email":"decroockjovi@gmail.com"},"_resolved":"/tmp/5f1f4bae71f1f48768f58bff248a5a0d/next-urql-0.0.0-canary-20230425131626.tgz","_integrity":"sha512-aue8GT7atZNKlhUvxva+YndPi49m3jyWQevL4YzFyGTMFEHC3y7T2a6R/v0eIeCNK5nnGJJqLjUsvGVA9vLRDg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230425131626","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"0.0.0-canary-20230425131626","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230425131626","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230425131626_1682428692222_0.09850104760087341","host":"s3://npm-registry-packages"}},"5.0.1":{"name":"next-urql","version":"5.0.1","license":"MIT","_id":"next-urql@5.0.1","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"673269d3957a2c8ec5580617f33ee039b382d12d","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-5.0.1.tgz","fileCount":13,"integrity":"sha512-JMQmG8S6rbpMUfSVJqCNYhFWAPvb24cR/17D9RkrD7lUgFyokrAd5p1dJcwr7oSQEsqm9QVy/RZB9e4c9ayvGg==","signatures":[{"sig":"MEYCIQCA2ZVe8VWNRpIYFo5pchJSsK0lYqu6WB3Hd+4REJ7DmwIhAMLi9guorYQObUrMcWLTqUdb07B2zOEgFKpaGTM2Z5dV","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@5.0.1","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":91515,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJkR9QfACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2Vmps7w/+M3j58sy/o1b1K57TsCJ6bh+5yxVRhyYqc6CGihvQooYBpUNz\r\nq02fRfEkwKpht63G8F0K9YazAXIJPrNw1ZKgGnTAGIBHrKQhLIU7ODLwNk92\r\nQlbmc9SpHQ0663E/rh4V4JUnQvWAInCH2v1zLUKMi6AGipTnYIyZ5rGMlptQ\r\nzVSeWIXleShDkpAafmTZcku4hRRBmfHSWUHSVjMux2DqKOpJLQ4v5VQ4dEYj\r\ndS3L1FvZx/Q4k3fKFqTQHDmy4on95WahjHDBLBaCsQfmo8dePxrpeTHOA1nB\r\nIGaL1g/cEje2qlRSm+wYdqQfwO606gZkVKngqfB7nVAiMHJErnIZBS64Ci9v\r\nMecIUT7cSCBqjd1M0OTfDBToqeoyfTNc+zJoqewWcyR+0afVy/n6JeCORru2\r\nL3VySEro0mw5avwhxXPiCfaAIuKvvQl5v51dnuy02LmC7OQUQokcbhE72o/8\r\nMyfIYlb9daAxkg1DF72/sBuZmKp+BXx9VYHewrX4hPoNOUSOCglrUnwl8iIc\r\nca8TbVZFWJaOcg8IiTAD7TYn7Cfd2C9xYcKLFe5Cb9S5/xSw+UN2GPPANQLN\r\nlUGp6G+sI0f+9GvHIDB+kOVzAL4gw0p9KgdlQkwt00v/mWVySLdBAFrrkwXA\r\n6WTv2Vmxl9q0olcV3ARt0UREAf7om5tsB34=\r\n=4Z1e\r\n-----END PGP SIGNATURE-----\r\n"},"main":"dist/next-urql.js","_from":"file:next-urql-5.0.1.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"jdecroock","email":"decroockjovi@gmail.com"},"_resolved":"/tmp/bac322ed73564abd0183a0cae8490325/next-urql-5.0.1.tgz","_integrity":"sha512-JMQmG8S6rbpMUfSVJqCNYhFWAPvb24cR/17D9RkrD7lUgFyokrAd5p1dJcwr7oSQEsqm9QVy/RZB9e4c9ayvGg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","urql":"4.0.1","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.7","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^4.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_5.0.1_1682428959049_0.009526284213659197","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230606164854":{"name":"next-urql","version":"0.0.0-canary-20230606164854","license":"MIT","_id":"next-urql@0.0.0-canary-20230606164854","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"31735be8cc78de13044c334d594a872cd547a08c","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230606164854.tgz","fileCount":13,"integrity":"sha512-cpE5N83Y26HfObNGAl0Or+rgngnQpzuo4j+YoX5x2BZzdyqaBKsWrFg2bRp6nAFB+gO+DE7MP/Uj/Lb2CwHwxQ==","signatures":[{"sig":"MEYCIQClwUx/zxp17n8aGLQDiCnkcJ9NkETkwgyunYuaRxHL1gIhALsN/GYPmis4ejOZj9wsWO2FyCD5fpIQDbXO/YLf4/CF","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230606164854","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93571},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230606164854.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/ace0e31e5ffa144fcf5dae52d68a40a2/next-urql-0.0.0-canary-20230606164854.tgz","_integrity":"sha512-cpE5N83Y26HfObNGAl0Or+rgngnQpzuo4j+YoX5x2BZzdyqaBKsWrFg2bRp6nAFB+gO+DE7MP/Uj/Lb2CwHwxQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230606164854","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230606164854","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230606164854_1686070163991_0.2532015563439911","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230607144157":{"name":"next-urql","version":"0.0.0-canary-20230607144157","license":"MIT","_id":"next-urql@0.0.0-canary-20230607144157","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"18788b760256e79be909709a1fd630013068d274","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230607144157.tgz","fileCount":13,"integrity":"sha512-acxHd3BrieKRX2Bt+Fj8Jo127/kzJtdWbexSBawZbOQIgpjcapTPR4jscfob+39gg0f8RECWMMUPzCcAVPHrMw==","signatures":[{"sig":"MEUCIQC55De2SRfph1Oz2J97ZM2QxpdbcJzSB17O7eV4Whd/aQIgdAeeI0tRDfmsMOa+lZnRyox0SwMy0i3Yey+K/FcyKsI=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230607144157","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230607144157.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/7516fdc144fefb2b63e9b11221e5eb3b/next-urql-0.0.0-canary-20230607144157.tgz","_integrity":"sha512-acxHd3BrieKRX2Bt+Fj8Jo127/kzJtdWbexSBawZbOQIgpjcapTPR4jscfob+39gg0f8RECWMMUPzCcAVPHrMw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230607144157","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230607144157","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230607144157_1686148947169_0.9303495318350647","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230608002842":{"name":"next-urql","version":"0.0.0-canary-20230608002842","license":"MIT","_id":"next-urql@0.0.0-canary-20230608002842","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"7a639a355e417d443571cdcc120814f3c8e36653","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230608002842.tgz","fileCount":13,"integrity":"sha512-8SWCbAhnsS1wiA7hYppVrIMkyS3CGjoqVfRyH8rudzdAcdBoQkJyYscY7Kg6rjfzvkqVdI+3XB2jaKE4TaiizQ==","signatures":[{"sig":"MEQCIGJ1tVcwY/i9h7N1YftYwLo3Ba9N/kr3N5yKx61BIp96AiAJJztfY8qYsxANwVEwr6mX5fAVuAptn2c1LRAKP6/p9g==","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230608002842","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230608002842.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/35399a13185b9003d1aa82a8b0c841a2/next-urql-0.0.0-canary-20230608002842.tgz","_integrity":"sha512-8SWCbAhnsS1wiA7hYppVrIMkyS3CGjoqVfRyH8rudzdAcdBoQkJyYscY7Kg6rjfzvkqVdI+3XB2jaKE4TaiizQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230608002842","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230608002842","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230608002842_1686184151195_0.49737632304010027","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230610111020":{"name":"next-urql","version":"0.0.0-canary-20230610111020","license":"MIT","_id":"next-urql@0.0.0-canary-20230610111020","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"beaadc24fa552070c57213c3b933a040bb7c0880","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230610111020.tgz","fileCount":13,"integrity":"sha512-Gl07VQjv9Cr+1zLh6XPWRTBV0KUskk8/tHbFMKOnrIwmC0kr9jZOAnDOqW/yD5pSXmScFDYdzxjB2wBWok3NEg==","signatures":[{"sig":"MEUCIElxapLTyz0UmGh6Lua/nW2+zmrl61dwb0AYkXMpsXh5AiEA6UNRy4aRDUGURYWG5KL+JXfu2DPuFuI7NlufmkA6Mqg=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230610111020","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230610111020.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/c205646e9f0385d3a801457ebfc512d6/next-urql-0.0.0-canary-20230610111020.tgz","_integrity":"sha512-Gl07VQjv9Cr+1zLh6XPWRTBV0KUskk8/tHbFMKOnrIwmC0kr9jZOAnDOqW/yD5pSXmScFDYdzxjB2wBWok3NEg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230610111020","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230610111020","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230610111020_1686395455669_0.008728382037153093","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230612225203":{"name":"next-urql","version":"0.0.0-canary-20230612225203","license":"MIT","_id":"next-urql@0.0.0-canary-20230612225203","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"cf61d29b6302b1c52a620a1446a5531beed1ac43","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230612225203.tgz","fileCount":13,"integrity":"sha512-kvKh61ncJzXJD/CsUPfjfaq65u4RYzgCMyarmnpRh4dv9PCGL2cRpiqh2gHWVGZ8bYVlYZSa+dT/FlEucUgK9w==","signatures":[{"sig":"MEYCIQD+7lpCXKBIIRg0d9pi9yh7GxsvSvMDOVWb2FDr/miqvAIhALN5jPhod4J+PmzfrwTxvqVQLQZEXa9NiL9vHU1Jw+KN","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230612225203","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230612225203.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/ad3de188796b0f7aaf6f931e60abcd31/next-urql-0.0.0-canary-20230612225203.tgz","_integrity":"sha512-kvKh61ncJzXJD/CsUPfjfaq65u4RYzgCMyarmnpRh4dv9PCGL2cRpiqh2gHWVGZ8bYVlYZSa+dT/FlEucUgK9w==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230612225203","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230612225203","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230612225203_1686610361346_0.14084528349684255","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230612225244":{"name":"next-urql","version":"0.0.0-canary-20230612225244","license":"MIT","_id":"next-urql@0.0.0-canary-20230612225244","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"41dc3c8f0d1a21d5fcd6715de148bd3a050ce033","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230612225244.tgz","fileCount":13,"integrity":"sha512-79ywXwVAyexNbV2z8B8+Jf1GVUHEGawf/QusYyfZxPESC3bSjo3IUPTVaUFwFpIohbSM6HFluhlf1r1afwnwtw==","signatures":[{"sig":"MEUCIG+OXifVtnFicZXmMgkMESyXYrUGAqnSdTgZdYq8uJ5CAiEAlgA8rrXVpKKXGVOegEY+Cl+IYHos3xGDR5f8ris5Yes=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230612225244","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230612225244.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/4befa3b862b01a74e3016298d426484a/next-urql-0.0.0-canary-20230612225244.tgz","_integrity":"sha512-79ywXwVAyexNbV2z8B8+Jf1GVUHEGawf/QusYyfZxPESC3bSjo3IUPTVaUFwFpIohbSM6HFluhlf1r1afwnwtw==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230612225244","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230612225244","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230612225244_1686610396029_0.48386128678983686","host":"s3://npm-registry-packages"}},"0.0.0-canary-20230612225956":{"name":"next-urql","version":"0.0.0-canary-20230612225956","license":"MIT","_id":"next-urql@0.0.0-canary-20230612225956","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"a9e12641359599b8d61a70023fac35b4a1b2d8c8","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-0.0.0-canary-20230612225956.tgz","fileCount":13,"integrity":"sha512-Yj87UUOEdDHzZCSlKZqixWhoGAyXYcOhK9B4FsVoB7AH687t36cn1fU89AksAljkgrluSsdA/p0HNkfXM1b1Yg==","signatures":[{"sig":"MEYCIQDWYv0I5qRjKb18+/xyvn9k/FEXL+L1IzgD/HenZQf1YgIhAKATiFbkgKYy9FVi8hcXSfsCObB7Sj4o2WDAAUalhwqv","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@0.0.0-canary-20230612225956","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93279},"main":"dist/next-urql.js","_from":"file:next-urql-0.0.0-canary-20230612225956.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/87786343b017fd891b76cfb79d0eec78/next-urql-0.0.0-canary-20230612225956.tgz","_integrity":"sha512-Yj87UUOEdDHzZCSlKZqixWhoGAyXYcOhK9B4FsVoB7AH687t36cn1fU89AksAljkgrluSsdA/p0HNkfXM1b1Yg==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"readmeFilename":"README.md","devDependencies":{"next":"^11.0.1","urql":"0.0.0-canary-20230612225956","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"0.0.0-canary-20230612225956","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_0.0.0-canary-20230612225956_1686610844897_0.7643482182597134","host":"s3://npm-registry-packages"}},"5.0.2":{"name":"next-urql","version":"5.0.2","license":"MIT","_id":"next-urql@5.0.2","maintainers":[{"name":"scottianstewart","email":"scott@scottstewart.co"},{"name":"keithluchtel","email":"keith.luchtel@formidable.com"},{"name":"ceceppa","email":"senesealessandro@gmail.com"},{"name":"robwalkerco","email":"hi@robwalker.co"},{"name":"gksander","email":"gksander93@gmail.com"},{"name":"sarahformidable","email":"sarah.wright@formidable.com"},{"name":"scott-rippey","email":"scott.william.rippey@gmail.com"},{"name":"yankovalera","email":"yankovalera@gmail.com"},{"name":"michaelmerrill","email":"michael@michaelmerrill.me"},{"name":"sarmeyer","email":"sarahmichellemeyer@gmail.com"},{"name":"mariano-formidable","email":"mariano.martinez@formidable.com"},{"name":"carlospaelinck","email":"me@carlos.dev"},{"name":"ryan.roemer","email":"ryan@loose-bits.com"},{"name":"formidable-owner","email":"admin@formidablelabs.com"},{"name":"eastridge","email":"ryan@eastridge.me"},{"name":"exogen","email":"exogen@gmail.com"},{"name":"jmcbee1","email":"jmcbee1@gmail.com"},{"name":"formidablelabs","email":"npm@formidablelabs.com"},{"name":"carbonrobot","email":"carbonrobot@gmail.com"},{"name":"masiddee","email":"mansoor@msiddeeq.com"},{"name":"philpl","email":"phil@kitten.sh"},{"name":"andyrichardson","email":"andy.john.richardson@gmail.com"},{"name":"jdecroock","email":"decroockjovi@gmail.com"},{"name":"parkerziegler","email":"parkerellisziegler@gmail.com"},{"name":"npm-urql","email":"npm-urql@formidable.com"}],"homepage":"https://formidable.com/open-source/urql/docs/","bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"dist":{"shasum":"37a895b1844f3ab7c091526e0894caddd3abcf82","tarball":"https://registry.npmjs.org/next-urql/-/next-urql-5.0.2.tgz","fileCount":13,"integrity":"sha512-/ntMdlDNhduT1xmnZ0ZgH9Vtbaz/Gnx5VdTyExHjRqKpKnqZU49vHiik/qctscwFnPBVTRNxQ1BjhrOtfsm8oQ==","signatures":[{"sig":"MEUCIQDKPAem0HbNKMpB2J9OGFH1m566kFCelOgGXow6MMi0fgIgOieMEkrfw57c59j8d7kwF65RHKXXWJyaQKod8KUT33E=","keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA"}],"attestations":{"url":"https://registry.npmjs.org/-/npm/v1/attestations/next-urql@5.0.2","provenance":{"predicateType":"https://slsa.dev/provenance/v0.2"}},"unpackedSize":93070},"main":"dist/next-urql.js","_from":"file:next-urql-5.0.2.tgz","types":"dist/next-urql.d.ts","module":"dist/next-urql.es.js","source":"src/index.ts","scripts":{"lint":"eslint --ext=js,jsx,ts,tsx .","test":"vitest --config ../../vitest.config.ts","build":"rollup -c ../../scripts/rollup/config.mjs","check":"tsc --noEmit","clean":"rimraf dist"},"_npmUser":{"name":"philpl","email":"phil@kitten.sh"},"_resolved":"/tmp/76c5902b112d0f95e2795d2bbe04dc13/next-urql-5.0.2.tgz","_integrity":"sha512-/ntMdlDNhduT1xmnZ0ZgH9Vtbaz/Gnx5VdTyExHjRqKpKnqZU49vHiik/qctscwFnPBVTRNxQ1BjhrOtfsm8oQ==","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"_npmVersion":"9.5.1","description":"Convenience wrappers for using urql with NextJS.","directories":{},"sideEffects":false,"_nodeVersion":"18.16.0","dependencies":{"react-ssr-prepass":"^1.4.0"},"publishConfig":{"provenance":true},"_hasShrinkwrap":false,"devDependencies":{"next":"^11.0.1","urql":"4.0.4","react":"^17.0.1","enzyme":"^3.11.0","graphql":"^16.0.0","react-is":"^17.0.1","react-dom":"^17.0.1","@urql/core":"4.0.10","@types/react":"^17.0.4","@types/enzyme":"^3.10.3","@types/react-dom":"^17.0.3","@types/node-fetch":"^2.5.4","enzyme-adapter-react-16":"^1.15.2","@types/enzyme-adapter-react-16":"^1.0.5"},"peerDependencies":{"urql":"^4.0.0","react":">=16.8.0"},"_npmOperationalInternal":{"tmp":"tmp/next-urql_5.0.2_1686611149749_0.7752585341036815","host":"s3://npm-registry-packages"}}},"time":{"created":"2019-11-03T04:47:35.267Z","modified":"2026-07-23T13:37:37.923Z","0.1.0":"2019-11-03T04:47:35.450Z","0.1.1":"2019-11-12T03:11:35.035Z","0.2.0":"2019-12-08T18:58:05.185Z","0.2.1":"2019-12-18T00:35:19.851Z","0.2.2":"2019-12-18T06:44:17.477Z","0.2.3":"2020-01-01T00:56:16.940Z","0.2.4":"2020-01-09T18:36:40.507Z","0.2.5":"2020-01-21T06:06:35.308Z","0.3.0":"2020-02-21T01:32:26.560Z","0.3.1":"2020-03-06T18:16:51.342Z","0.3.2":"2020-03-12T18:43:19.073Z","0.3.3":"2020-03-12T20:35:26.575Z","0.3.4":"2020-03-18T21:55:58.493Z","0.3.5":"2020-03-19T00:05:32.670Z","0.3.6":"2020-03-19T00:30:51.789Z","0.3.7":"2020-04-20T17:31:47.671Z","0.3.8":"2020-05-12T15:00:57.972Z","1.0.0":"2020-06-10T14:15:15.259Z","1.0.1":"2020-06-17T16:02:54.881Z","1.0.2":"2020-06-30T12:57:55.648Z","1.1.0":"2020-07-29T13:41:11.801Z","1.2.0":"2020-09-29T19:03:47.064Z","2.0.0":"2020-10-01T12:48:34.317Z","2.1.0":"2020-10-29T12:45:34.946Z","2.1.1":"2020-10-29T14:58:25.400Z","2.2.0":"2021-01-15T17:26:44.064Z","3.0.0":"2021-02-10T17:48:40.743Z","3.0.1":"2021-04-01T17:12:42.495Z","3.1.0":"2021-05-07T17:18:05.509Z","3.1.1":"2021-07-06T16:31:46.923Z","3.2.0":"2021-08-12T08:41:33.797Z","3.2.1":"2021-08-27T15:58:02.510Z","3.3.0":"2021-11-10T18:12:38.192Z","3.3.1":"2021-11-26T18:06:15.512Z","3.3.2":"2021-12-09T21:55:42.727Z","3.3.3":"2022-06-09T15:43:05.264Z","4.0.0":"2022-08-19T14:38:33.965Z","4.0.1":"2022-12-08T17:08:48.582Z","4.0.2":"2022-12-09T17:19:48.918Z","0.0.0-canary-2023114201555":"2023-02-14T20:16:36.989Z","0.0.0-canary-2023114203623":"2023-02-14T20:37:02.206Z","4.0.3":"2023-02-14T20:48:36.493Z","0.0.0-canary-20230316141110":"2023-03-16T14:12:14.639Z","0.0.0-canary-20230316141328":"2023-03-16T14:14:32.159Z","0.0.0-canary-20230316141844":"2023-03-16T14:20:17.804Z","0.0.0-canary-20230316165054":"2023-03-16T16:52:01.538Z","0.0.0-canary-20230316173059":"2023-03-16T17:32:02.396Z","0.0.0-canary-20230317001715":"2023-03-17T00:18:34.259Z","0.0.0-canary-20230317070130":"2023-03-17T07:03:21.925Z","0.0.0-canary-20230317175749":"2023-03-17T17:59:54.919Z","0.0.0-canary-20230318161956":"2023-03-18T16:21:30.339Z","0.0.0-canary-20230318184942":"2023-03-18T18:51:25.962Z","0.0.0-canary-20230318231240":"2023-03-18T23:14:31.085Z","0.0.0-canary-20230320071339":"2023-03-20T07:15:24.535Z","0.0.0-canary-20230320071346":"2023-03-20T07:15:31.382Z","0.0.0-canary-20230320071349":"2023-03-20T07:16:21.401Z","0.0.0-canary-20230320071731":"2023-03-20T07:19:20.520Z","0.0.0-canary-20230320114830":"2023-03-20T11:50:21.953Z","0.0.0-canary-20230324105149":"2023-03-24T10:53:32.553Z","0.0.0-canary-20230324105225":"2023-03-24T10:54:47.076Z","0.0.0-canary-20230324131627":"2023-03-24T13:18:18.509Z","0.0.0-canary-20230326124645":"2023-03-26T12:48:34.162Z","0.0.0-canary-20230327135135":"2023-03-27T13:53:43.739Z","0.0.0-canary-20230327155609":"2023-03-27T15:58:00.735Z","0.0.0-canary-20230327160816":"2023-03-27T16:10:07.245Z","0.0.0-canary-20230327171852":"2023-03-27T17:20:44.205Z","0.0.0-canary-20230327172613":"2023-03-27T17:28:01.374Z","0.0.0-canary-20230328165745":"2023-03-28T16:59:32.511Z","0.0.0-canary-20230331142235":"2023-03-31T14:24:22.036Z","0.0.0-canary-20230331142238":"2023-03-31T14:24:27.206Z","0.0.0-canary-20230331142637":"2023-03-31T14:28:26.921Z","0.0.0-canary-20230331144040":"2023-03-31T14:42:26.349Z","5.0.0":"2023-03-31T14:57:41.935Z","0.0.0-canary-20230425131626":"2023-04-25T13:18:12.423Z","5.0.1":"2023-04-25T13:22:39.212Z","0.0.0-canary-20230606164854":"2023-06-06T16:49:24.180Z","0.0.0-canary-20230607144157":"2023-06-07T14:42:27.346Z","0.0.0-canary-20230608002842":"2023-06-08T00:29:11.345Z","0.0.0-canary-20230610111020":"2023-06-10T11:10:55.884Z","0.0.0-canary-20230612225203":"2023-06-12T22:52:41.525Z","0.0.0-canary-20230612225244":"2023-06-12T22:53:16.260Z","0.0.0-canary-20230612225956":"2023-06-12T23:00:45.084Z","5.0.2":"2023-06-12T23:05:49.924Z"},"bugs":{"url":"https://github.com/urql-graphql/urql/issues"},"license":"MIT","homepage":"https://formidable.com/open-source/urql/docs/","repository":{"url":"git+https://github.com/urql-graphql/urql.git","type":"git","directory":"packages/next-urql"},"description":"Convenience wrappers for using urql with NextJS.","maintainers":[{"email":"sarahmichelleegan@gmail.com","name":"sarmeyer"},{"email":"mariano.martinez@formidable.com","name":"mariano-formidable"},{"email":"ryan@loose-bits.com","name":"ryan.roemer"},{"email":"admin@formidablelabs.com","name":"formidable-owner"},{"email":"npm@formidablelabs.com","name":"formidablelabs"},{"email":"sarah.wright@formidable.com","name":"sarahformidable"},{"email":"senesealessandro@gmail.com","name":"ceceppa"},{"email":"phil@kitten.sh","name":"philpl"},{"email":"decroockjovi@gmail.com","name":"jdecroock"},{"email":"parkerellisziegler@gmail.com","name":"parkerziegler"}],"readme":"## `next-urql`\n\nA set of convenience utilities for using `urql` with Next.js.\n\nMore documentation is available at https://urql.dev/goto/docs/advanced/server-side-rendering/#nextjs\nExamples can be found at https://github.com/urql-graphql/urql/tree/main/examples/with-next\n","readmeFilename":"README.md"}