close
The Wayback Machine - https://web.archive.org/web/20220304105155/https://github.com/tannerlinsley/react-query/commit/ac342e237ae9fab6759f2d7be616662da6c16225
Skip to content
Permalink
Browse files
v3 (#1360)
* feat: initial v3 changes (#1079)

* force website deploy

* docs: v3 updates

* docs: More documentation improvements

* docs: update query filters page

* docs: update query keys

* docs: more updates

* docs: updates

* feat: support multiple subscribers in observers

* docs: useMutation updates

* fix: mutate argument types and state update order

* fix: remove cache argument in cache callback

* fix: move optimistic fetching state into query observer

* fix: make sure default options can be overridden

* fix: type improvements

* feat: memoize select function result

* fix: only suspend when mounting

* docs: refactor to top level pages and multiple api reference pages per export

* test: add remove query test

* feat: add filters client isFetching and useIsFetching hook

* docs: temp move docs back to docs directory

* docs: solve conflicts

* docs: fix queryClient reference

* docs: reorg directory structure

* docs: fix queryClient reference

* docs: fix links

* docs: better phrasing

* docs: force docs build

* docs: update examples

* fix: use updatedAt to check for existing data

* feat: add structural sharing to select result

* refactor: update hashing terminology

* test: add ability to wrap react query updates with React act

* refactor: replace console with logger implementation

* docs: add migration page to navigation

* docs: update installation docs

* refactor: reduce file size

* docs: update examples

* fix: always compare query keys as arrays

* refactor: mark observers as private

* test: update timings in hydration cache time test

* docs: Update queries.md (#1134)

* feat: split mutate into mutate and mutateAsync (#1130)

* feat: split mutate into mutate and mutateAsync

* docs: Update docs/src/pages/guides/mutations.md

Co-authored-by: Tanner Linsley <[email protected]>

* feat: add bi-directional infinite query support (#1135)

* refactor: reduce file size

* feat: revert to previous state on cancellation

* fix: wait for all queries to cancel

* docs: update cancellation docs

* build: force

* build: add beta build

* build: add beta build

* docs: update comparison

* fix: support infinite cache time when hydrating

* refactor: explicitly mark package side effects

* docs: update comparison

* docs: update comparison

* fix: remove excess exports

* feat: add support for default options when hydrating

* docs: fix links

* feat: add options to setQueryData

* fix: align notify terminology

* feat: Major semver bump

BREAKING CHANGE: Increment Major Version

* fix: always try to fetch if enabled

* feat: bump version

* fix: refetch should create new query when removed

* chore: do not publish beta until we figure this out

* make beta prerelease

* dry run releases

* fix: test dry run semantic release

* release beta releases for realzies

* test: add eslint rule

* docs(useQuery): change manual to enabled (#1167)

* feat: move mutations into the core (#1162)

* feat: tree shake infinite query and support manual updates

* docs: update comparison

* refactor: remove observer factory

* refactor: add subscribable

* refactor: move hasListeners

* refactor: optimize bundle

* fix: add status bools to use mutation result

* feat: api update

* fix: add defaults to UseMutationOptions type

* docs: add pages

* fix: cleanup

* refactor: use queryCache property directly

* docs: Add placeholder data guide

* docs: fix typo

* fix: keep previous query status when fetching

* fix: stop retry when observers unmount

* feat: add additional notify flags

* fix: only keep notify on stale option

* refactor: only batch react callbacks

* test: update timings

* refactor: also batch in suspense

* feat: add hydration support for mutations

* fix: remove query immediately if cacheTime is 0

* fix: prevent infinite fetch loop

* refactor: move refetch logic into observer

* fix: match query key correctly when setting defaults

* test: add query defaults test

* fix: re-add useMutation callback composition

* feat: use set defaults also for observers

* test: add enabled assertion

* feat: add ability to manually control the online and focus state

* docs: update onlineManager documentation

* feat: add discriminated unions for query results (#1247)

* fix: only set state in listeners when provided

* docs: add testing page

* feat: add query function context (#1261)

* feat: add errorUpdatedAt property

* fix: only trigger suspense when loading for the first time

* fix: make sure suspense is always triggered when loading a query

* fix: add ability to type the query key in the query function context

* refactor: make isDataEqual type more specific

* docs: update react native focus code

* fix: make sure to remove the correct query from cache

* test: remove only

* feat: add granular component re-render control

* fix: make sure component re-render when they should

* feat: throw error when QueryClientProvider has not been used to set a query client (#1309)

Also updated docs

* test: add invalidateQueries test

* fix: prevent state update after mutation unmounted

* fix: add defaults to setQueryData

* fix: cancellations for useInfiniteQuery (#1359)

* chore: update TypeScript version (#1314)

* Merge branch 'master' into beta

* fix(hydration): set fetchMeta to null by default to make it serializable (#1371)

* fix(hasPageParam): look for (undefined | null | false) values

* chore: fix linting

* fix: cross-bundle/version query client context

* docs: Update Examples

* docs: update example deps

* docs: keepPreviousData not set in paginated queries docs (#1376)

* docs: typo infinite instead of ininite (#1379)

* feat: devtools are now native to the core repo/npm-package

* feat(persist-localstorage-experimental): temporarily persist cache to disk

* tests: fix linting

* chore: attempt codesandbox import fix

* chore: revert codesandbox fix

* fix(persist-localstorage): add ssr-safety

* docs: fix typos in migration and queries guide (#1387)

Fix typos in guides/migrating-to-react-query-3 and guides/queries.

Fixes #1378

* docs(typos): fix typos in mutations guide (#1392)

* docs: update migration guide

* docs: update comparison

* chore: remove vercel.json

* docs: update comparison

* Update logo.sketch

* feat: reset query utils (#1375)

* feat: reset query utils

* Update queryClient.ts

* Reset query docs and tests (#1393)

* docs: Add resetQueries

* test: Add resetQueries tests

* remove unnecessary queryCache.reset methods

Co-authored-by: Aaron Jensen <[email protected]>

* types: fix mutation context type

* fix: isFetched and isFetchedAfterMount should include failed fetches

* docs: Persist localstorage plugin

* feat: resetQueries refetches active queries (#1397)

Co-authored-by: Niek Bosch <[email protected]>
Co-authored-by: Abhijeet Singh <[email protected]>
Co-authored-by: JP Angelle <[email protected]>
Co-authored-by: Jake Ginnivan <[email protected]>
Co-authored-by: Tom Klaver <[email protected]>
Co-authored-by: Dmitry Ivanov <[email protected]>
Co-authored-by: Corentin Leruth <[email protected]>
Co-authored-by: ConneXNL <[email protected]>
Co-authored-by: Rubén Moya <[email protected]>
Co-authored-by: Pascal Wegner <[email protected]>
Co-authored-by: Amen SOUISSI <[email protected]>
Co-authored-by: Aaron Jensen <[email protected]>
  • Loading branch information
13 people committed Dec 14, 2020
1 parent 8aeb209 commit ac342e237ae9fab6759f2d7be616662da6c16225
Showing with 15,846 additions and 10,858 deletions.
  1. +7 −2 .eslintrc
  2. +2 −2 .github/workflows/test-and-publish.yml
  3. +2 −2 .gitignore
  4. +2 −2 README.md
  5. +6 −0 core/package.json
  6. +6 −0 devtools/package.json
  7. +10 −17 docs/next.config.js
  8. +23 −23 docs/package.json
  9. +16 −11 docs/src/components/DocsPageFooter.js
  10. +3 −3 docs/src/components/Footer.js
  11. +3 −4 docs/src/components/LayoutDocs.js
  12. +2 −2 docs/src/components/Nav.js
  13. +12 −10 docs/src/components/Toc.js
  14. +18 −20 docs/src/components/blog/Image.js
  15. +1 −1 docs/src/components/markdown.module.css
  16. +48 −41 docs/src/components/useTocHighlight.js
  17. +8 −8 docs/src/lib/docs/md-loader.js
  18. +0 −21 docs/src/lib/docs/utils.js
  19. +413 −253 docs/src/manifests/manifest.json
  20. +11 −0 docs/src/pages/404.js
  21. +99 −0 docs/src/pages/comparison.md
  22. +79 −0 docs/src/pages/devtools.md
  23. +0 −1,004 docs/src/pages/docs/api.md
  24. +0 −69 docs/src/pages/docs/comparison.md
  25. +0 −39 docs/src/pages/docs/devtools.md
  26. +0 −18 docs/src/pages/docs/examples.md
  27. +0 −126 docs/src/pages/docs/guides/infinite-queries.md
  28. +0 −90 docs/src/pages/docs/guides/initial-query-data.md
  29. +0 −98 docs/src/pages/docs/guides/invalidations-from-mutations.md
  30. +0 −137 docs/src/pages/docs/guides/mutations.md
  31. +0 −69 docs/src/pages/docs/guides/paginated-queries.md
  32. +0 −25 docs/src/pages/docs/guides/prefetching.md
  33. +0 −259 docs/src/pages/docs/guides/queries.md
  34. +0 −192 docs/src/pages/docs/guides/ssr.md
  35. +0 −22 docs/src/pages/docs/react-native.md
  36. +0 −28 docs/src/pages/docs/typescript.md
  37. 0 docs/src/pages/{docs → }/examples/auto-refetching.mdx
  38. 0 docs/src/pages/{docs → }/examples/basic-graphql-request.mdx
  39. 0 docs/src/pages/{docs → }/examples/basic.mdx
  40. 0 docs/src/pages/{docs → }/examples/custom-hooks.mdx
  41. 0 docs/src/pages/{docs → }/examples/default-query-function.mdx
  42. 0 docs/src/pages/{docs → }/examples/focus-refetching.mdx
  43. 0 docs/src/pages/{docs → }/examples/load-more-infinite-scroll.mdx
  44. 0 docs/src/pages/{docs → }/examples/nextjs.mdx
  45. 0 docs/src/pages/{docs → }/examples/optimistic-updates.mdx
  46. 0 docs/src/pages/{docs → }/examples/pagination.mdx
  47. 0 docs/src/pages/{docs → }/examples/playground.mdx
  48. 0 docs/src/pages/{docs → }/examples/prefetching.mdx
  49. 0 docs/src/pages/{docs → }/examples/rick-morty.mdx
  50. 0 docs/src/pages/{docs → }/examples/simple.mdx
  51. 0 docs/src/pages/{docs → }/examples/star-wars.mdx
  52. 0 docs/src/pages/{docs → }/examples/suspense.mdx
  53. +2 −0 docs/src/pages/{docs → }/graphql.md
  54. +47 −0 docs/src/pages/guides/background-fetching-indicators.md
  55. +9 −11 docs/src/pages/{docs → }/guides/caching.md
  56. +6 −6 docs/src/pages/{docs → }/guides/default-query-function.md
  57. +26 −0 docs/src/pages/guides/dependent-queries.md
  58. +5 −3 docs/src/pages/{docs → }/guides/disabling-queries.md
  59. 0 docs/src/pages/{docs → }/guides/does-this-replace-client-state.md
  60. +10 −4 docs/src/pages/{docs → }/guides/important-defaults.md
  61. +154 −0 docs/src/pages/guides/infinite-queries.md
  62. +93 −0 docs/src/pages/guides/initial-query-data.md
  63. +30 −0 docs/src/pages/guides/invalidations-from-mutations.md
  64. +563 −0 docs/src/pages/guides/migrating-to-react-query-3.md
  65. +256 −0 docs/src/pages/guides/mutations.md
  66. +29 −20 docs/src/pages/{docs → }/guides/optimistic-updates.md
  67. +80 −0 docs/src/pages/guides/paginated-queries.md
  68. +41 −0 docs/src/pages/guides/parallel-queries.md
  69. +58 −0 docs/src/pages/guides/placeholder-query-data.md
  70. +25 −0 docs/src/pages/guides/prefetching.md
  71. +94 −0 docs/src/pages/guides/queries.md
  72. +1 −1 docs/src/pages/{docs → }/guides/query-cancellation.md
  73. +41 −0 docs/src/pages/guides/query-filters.md
  74. +75 −0 docs/src/pages/guides/query-functions.md
  75. +24 −16 docs/src/pages/{docs → }/guides/query-invalidation.md
  76. +72 −0 docs/src/pages/guides/query-keys.md
  77. +6 −10 docs/src/pages/{docs → }/guides/query-retries.md
  78. 0 docs/src/pages/{docs → }/guides/scroll-restoration.md
  79. +194 −0 docs/src/pages/guides/ssr.md
  80. +14 −14 docs/src/pages/{docs → }/guides/suspense.md
  81. 0 docs/src/pages/{docs → }/guides/testing.md
  82. +9 −5 docs/src/pages/{docs → }/guides/updates-from-mutation-responses.md
  83. +37 −18 docs/src/pages/{docs → }/guides/window-focus-refetching.md
  84. +2 −2 docs/src/pages/index.js
  85. +2 −2 docs/src/pages/{docs → }/installation.md
  86. +5 −5 docs/src/pages/{docs → }/overview.md
  87. +83 −0 docs/src/pages/plugins/persist-localstorage.md
  88. +25 −17 docs/src/pages/{docs → }/quick-start.md
  89. +6 −0 docs/src/pages/react-native.md
  90. +26 −0 docs/src/pages/reference/InfiniteQueryObserver.md
  91. +65 −0 docs/src/pages/reference/MutationCache.md
  92. +24 −0 docs/src/pages/reference/QueriesObserver.md
  93. +93 −0 docs/src/pages/reference/QueryCache.md
  94. +418 −0 docs/src/pages/reference/QueryClient.md
  95. +16 −0 docs/src/pages/reference/QueryClientProvider.md
  96. +29 −0 docs/src/pages/reference/QueryErrorResetBoundary.md
  97. +21 −0 docs/src/pages/reference/QueryObserver.md
  98. +65 −0 docs/src/pages/reference/focusManager.md
  99. +23 −0 docs/src/pages/reference/hydration/HydrateComp.md
  100. +45 −0 docs/src/pages/reference/hydration/dehydrate.md
  101. +27 −0 docs/src/pages/reference/hydration/hydrate.md
  102. +22 −0 docs/src/pages/reference/hydration/useHydrate.md
  103. +58 −0 docs/src/pages/reference/onlineManager.md
  104. +43 −0 docs/src/pages/reference/setLogger.md
  105. +63 −0 docs/src/pages/reference/useInfiniteQuery.md
  106. +24 −0 docs/src/pages/reference/useIsFetching.md
  107. +95 −0 docs/src/pages/reference/useMutation.md
  108. +21 −0 docs/src/pages/reference/useQueries.md
  109. +201 −0 docs/src/pages/reference/useQuery.md
  110. +12 −0 docs/src/pages/reference/useQueryClient.md
  111. +28 −0 docs/src/pages/reference/useQueryErrorResetBoundary.md
  112. +23 −0 docs/src/pages/typescript.md
  113. 0 docs/src/pages/{docs → }/videos.mdx
  114. +0 −3 docs/vercel.json
  115. +911 −1,445 docs/yarn.lock
  116. +1 −2 examples/auto-refetching/package.json
  117. +29 −25 examples/auto-refetching/pages/index.js
  118. +2 −3 examples/basic-graphql-request/package.json
  119. +11 −11 examples/basic-graphql-request/src/index.js
  120. +24 −16 examples/basic/.rescriptsrc.js
  121. +2 −3 examples/basic/package.json
  122. +13 −13 examples/basic/src/index.js
  123. +24 −16 examples/custom-hooks/.rescriptsrc.js
  124. +2 −3 examples/custom-hooks/package.json
  125. +2 −2 examples/custom-hooks/src/hooks/usePost.js
  126. +7 −11 examples/custom-hooks/src/index.js
  127. +2 −3 examples/default-query-function/package.json
  128. +14 −14 examples/default-query-function/src/index.js
  129. +48 −0 examples/focus-refetching/next.config.js
  130. +1 −2 examples/focus-refetching/package.json
  131. +16 −16 examples/focus-refetching/pages/index.js
  132. +0 −23 examples/gql-blog/.gitignore
  133. +0 −68 examples/gql-blog/README.md
  134. +0 −46 examples/gql-blog/package.json
  135. BIN examples/gql-blog/public/android-chrome-192x192.png
  136. BIN examples/gql-blog/public/android-chrome-512x512.png
  137. BIN examples/gql-blog/public/apple-touch-icon.png
  138. BIN examples/gql-blog/public/favicon-16x16.png
  139. BIN examples/gql-blog/public/favicon-32x32.png
  140. BIN examples/gql-blog/public/favicon.ico
  141. +0 −38 examples/gql-blog/public/index.html
  142. +0 −3 examples/gql-blog/public/robots.txt
  143. +0 −16 examples/gql-blog/public/site.webmanifest
  144. +0 −32 examples/gql-blog/src/App.js
  145. +0 −15 examples/gql-blog/src/components/Layout/NavLinks/NavLink.js
  146. +0 −17 examples/gql-blog/src/components/Layout/NavLinks/index.js
  147. +0 −76 examples/gql-blog/src/components/Layout/index.js
  148. +0 −14 examples/gql-blog/src/index.js
  149. +0 −16 examples/gql-blog/src/pages/About.js
  150. +0 −62 examples/gql-blog/src/pages/Blog.js
  151. +0 −86 examples/gql-blog/src/pages/Home.js
  152. +0 −15 examples/gql-blog/src/styles.css
  153. +0 −156 examples/gql-blog/src/syntaxTheme.js
  154. +0 −10 examples/gql-blog/src/utils/index.js
  155. +1 −2 examples/load-more-infinite-scroll/package.json
  156. +4 −2 examples/load-more-infinite-scroll/pages/api/projects.js
  157. +41 −26 examples/load-more-infinite-scroll/pages/index.js
  158. +3 −2 examples/nextjs/components/PostList/index.js
  159. +3 −5 examples/nextjs/hooks/usePosts/index.js
  160. +48 −0 examples/nextjs/next.config.js
  161. +2 −4 examples/nextjs/package.json
  162. +8 −6 examples/nextjs/pages/_app.js
  163. +5 −4 examples/nextjs/pages/index.js
  164. +0 −7 examples/nextjs/yarn.lock
  165. +1 −2 examples/optimistic-updates/package.json
  166. +21 −20 examples/optimistic-updates/pages/index.js
  167. +1 −2 examples/pagination/package.json
  168. +31 −33 examples/pagination/pages/index.js
  169. +24 −16 examples/playground/.rescriptsrc.js
  170. +2 −3 examples/playground/package.json
  171. +105 −109 examples/playground/src/index.js
  172. +1 −2 examples/prefetching/package.json
  173. +1 −1 examples/prefetching/pages/[user]/[repo].js
  174. +66 −58 examples/prefetching/pages/index.js
  175. +24 −16 examples/rick-morty/.rescriptsrc.js
  176. +3 −4 examples/rick-morty/package.json
  177. +5 −5 examples/rick-morty/src/App.js
  178. +24 −16 examples/simple/.rescriptsrc.js
  179. +2 −3 examples/simple/package.json
  180. +7 −6 examples/simple/src/index.js
  181. +24 −16 examples/star-wars/.rescriptsrc.js
  182. +2 −3 examples/star-wars/package.json
  183. +5 −5 examples/star-wars/src/App.js
  184. +14 −6 examples/suspense/.rescriptsrc.js
  185. +2 −3 examples/suspense/package.json
  186. +2 −3 examples/suspense/src/components/Project.js
  187. +4 −5 examples/suspense/src/components/Projects.js
  188. +37 −32 examples/suspense/src/index.js
  189. +1 −1 examples/suspense/src/queries.js
  190. +0 −1 hydration.d.ts
  191. +0 −5 hydration.js
  192. +6 −0 hydration/package.json
  193. +0 −5 index.js
  194. +2 −1 jest.config.js
  195. +8 −0 jest.setup.js
  196. BIN media/logo.sketch
  197. +28 −15 package.json
  198. +6 −0 persist-localstorage-experimental/package.json
  199. +6 −0 react/package.json
  200. +61 −153 rollup.config.js
  201. +0 −147 src/core/config.ts
  202. +75 −0 src/core/focusManager.ts
  203. +15 −17 src/core/index.ts
  204. +164 −0 src/core/infiniteQueryBehavior.ts
  205. +119 −0 src/core/infiniteQueryObserver.ts
  206. +27 −0 src/core/logger.ts
  207. +312 −0 src/core/mutation.ts
  208. +93 −0 src/core/mutationCache.ts
  209. +179 −0 src/core/mutationObserver.ts
  210. +49 −9 src/core/notifyManager.ts
  211. +66 −0 src/core/onlineManager.ts
  212. +128 −0 src/core/queriesObserver.ts
  213. +355 −529 src/core/query.ts
  214. +84 −461 src/core/queryCache.ts
  215. +410 −0 src/core/queryClient.ts
  216. +369 −230 src/core/queryObserver.ts
  217. +194 −0 src/core/retryer.ts
  218. +0 −22 src/core/setFocusHandler.ts
  219. +0 −20 src/core/setOnlineHandler.ts
  220. +34 −0 src/core/subscribable.ts
  221. +28 −0 src/core/tests/infiniteQueryObserver.test.tsx
  222. +278 −0 src/core/tests/mutations.test.tsx
  223. +972 −271 src/core/tests/queryCache.test.tsx
  224. +20 −11 src/core/tests/utils.test.tsx
  225. +381 −166 src/core/types.ts
  226. +217 −133 src/core/utils.ts
  227. +208 −0 src/devtools/Explorer.tsx
  228. +43 −0 src/devtools/Logo.tsx
  229. +665 −0 src/devtools/devtools.tsx
  230. +1 −0 src/devtools/index.ts
  231. +122 −0 src/devtools/styledComponents.ts
  232. +5 −0 src/devtools/tests/index.js
  233. +13 −0 src/devtools/theme.tsx
  234. +41 −0 src/devtools/useLocalStorage.ts
  235. +33 −0 src/devtools/useMediaQuery.ts
  236. +116 −0 src/devtools/utils.ts
  237. +127 −49 src/hydration/hydration.ts
  238. +3 −4 src/hydration/index.ts
  239. +17 −10 src/hydration/react.tsx
  240. +217 −101 src/hydration/tests/hydration.test.tsx
  241. +47 −54 src/hydration/tests/react.test.tsx
  242. +100 −139 src/hydration/tests/ssr.test.tsx
  243. +2 −6 src/index.ts
  244. +82 −0 src/persist-localstorage-experimental/index.ts
  245. +51 −0 src/react/QueryClientProvider.tsx
  246. +52 −0 src/react/QueryErrorResetBoundary.tsx
  247. +0 −47 src/react/ReactQueryCacheProvider.tsx
  248. +0 −35 src/react/ReactQueryConfigProvider.tsx
  249. +0 −51 src/react/ReactQueryErrorResetBoundary.tsx
  250. +12 −15 src/react/index.ts
  251. +7 −0 src/react/logger.native.ts
  252. +3 −0 src/react/logger.ts
  253. +1 −0 src/react/reactBatchedUpdates.native.ts
  254. +4 −0 src/react/setBatchUpdatesFn.ts
  255. +6 −0 src/react/setLogger.ts
  256. +130 −0 src/react/tests/QueryClientProvider.test.tsx
  257. +21 −11 src/react/tests/{ReactQueryResetErrorBoundary.test.tsx → QueryResetErrorBoundary.test.tsx}
  258. +0 −235 src/react/tests/ReactQueryCacheProvider.test.tsx
  259. +0 −247 src/react/tests/ReactQueryConfigProvider.test.tsx
  260. +76 −219 src/react/tests/ssr.test.tsx
  261. +164 −40 src/react/tests/suspense.test.tsx
  262. +629 −545 src/react/tests/useInfiniteQuery.test.tsx
  263. +72 −9 src/react/tests/useIsFetching.test.tsx
  264. +314 −32 src/react/tests/useMutation.test.tsx
  265. +0 −300 src/react/tests/usePaginatedQuery.test.tsx
  266. +33 −0 src/react/tests/useQueries.test.tsx
  267. +1,101 −527 src/react/tests/useQuery.test.tsx
  268. +31 −23 src/react/tests/utils.tsx
  269. +121 −0 src/react/types.ts
  270. +59 −51 src/react/useBaseQuery.ts
  271. +37 −49 src/react/useInfiniteQuery.ts
  272. +32 −12 src/react/useIsFetching.ts
  273. +101 −186 src/react/useMutation.ts
  274. +0 −71 src/react/usePaginatedQuery.ts
  275. +33 −0 src/react/useQueries.ts
  276. +35 −48 src/react/useQuery.ts
  277. +0 −29 src/react/utils.ts
  278. +1 −5 tsconfig.json
  279. +6 −1 tsconfig.types.json
  280. +216 −70 yarn.lock
@@ -1,9 +1,10 @@
{
"parser": "@typescript-eslint/parser",
"plugins": ["@typescript-eslint"],
"plugins": ["@typescript-eslint", "import"],
"extends": [
"plugin:@typescript-eslint/eslint-recommended",
"plugin:@typescript-eslint/recommended",
"plugin:import/typescript",
"react-app",
"prettier"
],
@@ -26,6 +27,10 @@
"ignoreParameters": true
}
],
"no-shadow": "error"
"no-shadow": "error",
"import/no-cycle": "error",
"import/no-unresolved": "error",
"import/no-unused-modules": ["off", { "unusedExports": true }],
"no-redeclare": "off"
}
}
@@ -4,7 +4,7 @@ on:
push:
branches:
- 'master'
- 'next'
- 'beta'
- '1.x'
pull_request:

@@ -38,7 +38,7 @@ jobs:
registry-url: https://registry.npmjs.org/
- name: Install dependencies
uses: bahmutov/npm-install@v1
- run: yarn build && yarn build:types
- run: yarn build
- run: npx semantic-release@17
env:
NODE_AUTH_TOKEN: ${{secrets.npm_token}}
@@ -5,13 +5,15 @@
node_modules

# builds
types
build
dist
lib
es
artifacts
.rpt2_cache
coverage
*.tgz

# misc
.DS_Store
@@ -31,5 +33,3 @@ stats-hydration.json
stats-react.json
stats.html
.vscode/settings.json

types
@@ -39,7 +39,7 @@ Enjoy this library? Try the entire [TanStack](https://tanstack.com)! [React Tabl
- Load-More + Infinite Scroll Queries w/ Scroll Recovery
- Request Cancellation
- [React Suspense](https://reactjs.org/docs/concurrent-mode-suspense.html) + Fetch-As-You-Render Query Prefetching
- [Dedicated Devtools (React Query Devtools)](https://github.com/tannerlinsley/react-query-devtools)
- [Dedicated Devtools
- <a href="https://bundlephobia.com/result?p=react-query@latest" target="\_parent">
<img alt="" src="https://badgen.net/bundlephobia/minzip/react-query@latest" />
</a> (depending on features imported)
@@ -80,4 +80,4 @@ Thanks goes to these wonderful people ([emoji key](https://allcontributors.org/d

This project follows the [all-contributors](https://github.com/all-contributors/all-contributors) specification. Contributions of any kind welcome!

<!-- Force 1 -->
<!-- Force 2 -->
@@ -0,0 +1,6 @@
{
"internal": true,
"main": "../lib/core/index.js",
"module": "../es/core/index.js",
"types": "../types/core/index.d.ts"
}
@@ -0,0 +1,6 @@
{
"internal": true,
"main": "../lib/devtools/index.js",
"module": "../es/devtools/index.js",
"types": "../types/devtools/index.d.ts"
}
@@ -37,28 +37,21 @@ const remarkPlugins = [
module.exports = optimizedImages({
pageExtensions: ['jsx', 'js', 'mdx', 'md'],
env: {
GA_TRACKING_ID: process.env.GA_TRACKING_ID || '',
NEXT_PUBLIC_GA_TRACKING_ID: process.env.GA_TRACKING_ID || '',
SENTRY_RELEASE: process.env.VERCEL_GITHUB_COMMIT_SHA || '',
},
async redirects() {
return [
{
source: '/docs/:any*',
destination: '/:any*', // Matched parameters can be used in the destination
permanent: true,
},
]
},
experimental: {
plugins: true,
modern: true,
rewrites() {
return [
{
source: '/feed.xml',
destination: '/_next/static/feed.xml',
},
{
source: '/docs{/}?',
destination: '/docs/overview',
},
{
source: '/docs/tag/:tag{/}?',
destination: '/docs/tag/:tag/overview',
},
]
},
},
webpack: (config, { dev, isServer, ...options }) => {
config.module.rules.push({
@@ -13,39 +13,39 @@
"dependencies": {
"@babel/preset-typescript": "^7.10.4",
"@docsearch/react": "1.0.0-alpha.14",
"@mdx-js/loader": "^1.5.1",
"@mdx-js/mdx": "^1.5.1",
"@mdx-js/react": "^1.5.1",
"@mdx-js/loader": "^1.6.18",
"@mdx-js/mdx": "^1.6.18",
"@mdx-js/react": "^1.6.18",
"@mdx-js/tag": "^0.20.3",
"@next/mdx": "^9.4.0",
"@next/plugin-google-analytics": "^9.4.4",
"@next/mdx": "^9.5.3",
"@next/plugin-google-analytics": "^9.5.3",
"@reactions/component": "^2.0.2",
"@zeit/fetch": "^6.0.0",
"@zeit/react-jsx-parser": "^2.0.0",
"async-sema": "^3.1.0",
"body-scroll-lock": "^3.0.1",
"body-scroll-lock": "^3.1.5",
"classnames": "^2.2.6",
"copy-to-clipboard": "^3.3.1",
"date-fns": "^2.12.0",
"date-fns": "^2.16.1",
"docsearch.js": "^2.6.3",
"framer-motion": "^1.11.1",
"gray-matter": "^4.0.2",
"imagemin-mozjpeg": "^9.0.0",
"imagemin-optipng": "^8.0.0",
"intersection-observer": "^0.10.0",
"isomorphic-unfetch": "^3.0.0",
"next": "^9.4.4",
"next-images": "^1.4.0",
"next-optimized-images": "^2.6.1",
"node-fetch": "^2.6.0",
"prismjs": "^1.20.0",
"next": "^9.5.3",
"next-images": "^1.5.0",
"next-optimized-images": "^2.6.2",
"node-fetch": "^2.6.1",
"prismjs": "^1.21.0",
"react": "^16.13.1",
"react-dom": "^16.13.1",
"react-icons": "^3.9.0",
"react-icons": "^3.11.0",
"react-live": "^2.2.2",
"rehype-format": "^3.0.1",
"rehype-stringify": "^7.0.0",
"remark": "^12.0.0",
"remark": "^12.0.1",
"remark-autolink-headings": "^6.0.0",
"remark-emoji": "^2.1.0",
"remark-footnotes": "^1.0.0",
@@ -54,26 +54,26 @@
"remark-slug": "^6.0.0",
"remark-toc": "^7.0.0",
"remark-unwrap-images": "^2.0.0",
"scroll-into-view-if-needed": "^2.2.24",
"scroll-into-view-if-needed": "^2.2.26",
"semver-regex": "^3.1.1",
"unist-util-visit": "^2.0.2"
"unist-util-visit": "^2.0.3"
},
"devDependencies": {
"@babel/cli": "^7.10.4",
"@babel/core": "^7.10.4",
"@babel/plugin-transform-typescript": "^7.10.4",
"@babel/cli": "^7.11.6",
"@babel/core": "^7.11.6",
"@babel/plugin-transform-typescript": "^7.11.0",
"@babel/preset-react": "^7.10.4",
"@tailwindcss/ui": "^0.3.0",
"algoliasearch": "3.35.1",
"babel-preset-react-app": "^9.1.2",
"dotenv-load": "^2.0.0",
"github-slugger": "^1.3.0",
"md5": "^2.2.1",
"md5": "^2.3.0",
"mdast-util-to-string": "^1.1.0",
"postcss-preset-env": "^6.7.0",
"remark-parse": "^8.0.2",
"tailwindcss": "^1.4.6",
"unified": "^9.0.0",
"remark-parse": "^8.0.3",
"tailwindcss": "^1.8.10",
"unified": "^9.2.0",
"webp-loader": "^0.6.0"
},
"engines": {
@@ -10,7 +10,10 @@ function areEqual(prevProps, props) {
}

export const DocsPageFooter = React.memo(({ route, prevRoute, nextRoute }) => {
const editUrl = `${siteConfig.editUrl}${route?.editUrl || route?.path}`
const editUrl =
route?.editUrl || route?.path
? `${siteConfig.editUrl}${route?.editUrl || route?.path}`
: null

return (
<>
@@ -45,16 +48,18 @@ export const DocsPageFooter = React.memo(({ route, prevRoute, nextRoute }) => {
</div>
</div>

<div className="mb-8">
<a
href={editUrl}
target="_blank"
rel="noopener noreferrer"
className="text-gray-600 underline"
>
Edit this page on GitHub
</a>
</div>
{editUrl ? (
<div className="mb-8">
<a
href={editUrl}
target="_blank"
rel="noopener noreferrer"
className="text-gray-600 underline"
>
Edit this page on GitHub
</a>
</div>
) : null}

<div className="py-8 md:flex md:items-center md:py-8 border-t border-b">
<div className="font-semibold text-xl mr-4 text-center mb-4 md:mb-0 md:text-left">
@@ -13,21 +13,21 @@ export const Footer = props => {
</h4>
<ul className="mt-4">
<li>
<Link href="/docs/overview">
<Link href="/overview">
<a className="text-base leading-6 text-gray-500 hover:text-gray-900">
Docs
</a>
</Link>
</li>
<li className="mt-4">
<Link href="/docs/examples/simple">
<Link href="/examples/simple">
<a className="text-base leading-6 text-gray-500 hover:text-gray-900">
Examples
</a>
</Link>
</li>
<li className="mt-4">
<Link href="/docs/api">
<Link href="/api/useQuery">
<a className="text-base leading-6 text-gray-500 hover:text-gray-900">
API Reference
</a>
@@ -79,7 +79,6 @@ export const LayoutDocs = props => {
/>
<div className="block">
<>

<div className="container mx-auto pb-12 pt-6 content">
<div className="flex relative">
{!isMobile && (
@@ -89,7 +88,7 @@ export const LayoutDocs = props => {
)}

<div className={s['markdown'] + ' w-full docs'}>
<h1>{props.meta.title}</h1>
<h1 id="_top">{props.meta.title}</h1>
<MDXProvider components={MDXComponents}>
{props.children}
</MDXProvider>
@@ -107,11 +106,11 @@ export const LayoutDocs = props => {
width: 200,
}}
>
<div className="sticky top-24 ">
<div className="sticky top-24 overflow-y-auto">
<h4 className="font-semibold uppercase text-sm mb-2 mt-2 text-gray-500">
On this page
</h4>
<Toc />
<Toc title={props.meta.title} />
</div>
</div>
)}
@@ -24,12 +24,12 @@ export const Nav = () => (
<div className="flex flex-grow items-center justify-between w-3/4 md:w-auto md:justify-end space-x-4 md:space-x-8 h-16">
<div className="flex space-x-4 md:space-x-8 text-sm md:text-base">
<div>
<Link href="/docs/overview">
<Link href="/overview">
<a className="leading-6 font-medium">Docs</a>
</Link>
</div>
<div>
<Link href="/docs/examples/simple">
<Link href="/examples/simple">
<a className="leading-6 font-medium">Examples</a>
</Link>
</div>
@@ -5,15 +5,12 @@ import styles from './Toc.module.css'
const TOP_OFFSET = 100

function getHeaderAnchors() {
return Array.prototype.filter.call(
document.getElementsByClassName('anchor'),
function (testElement) {
return (
testElement.parentNode.nodeName === 'H2' ||
testElement.parentNode.nodeName === 'H3'
)
}
)
return [
...document.getElementsByTagName('H1'),
...[...document.getElementsByClassName('anchor')].filter(
el => el.parentNode.nodeName === 'H2' || el.parentNode.nodeName === 'H3'
),
].filter(Boolean)
}

function getHeaderDataFromAnchors(el) {
@@ -24,7 +21,7 @@ function getHeaderDataFromAnchors(el) {
}
}

export const Toc = () => {
export const Toc = ({ title }) => {
const headings = useTocHighlight(
styles.contents__link,
styles['contents__link--active'],
@@ -36,6 +33,11 @@ export const Toc = () => {

return (
<ul className="space-y-3">
<li className="text-sm">
<a className={styles.contents__link} href="#_top">
{title}
</a>
</li>
{headings &&
headings.length > 0 &&
headings.map((h, i) =>

1 comment on commit ac342e2

@vercel

This comment has been minimized.

Please sign in to comment.