From dece73556d120ac1508343bd204ff5184489d77c Mon Sep 17 00:00:00 2001 From: Lee <43488305+poiu694@users.noreply.github.com> Date: Wed, 15 May 2024 18:12:58 +0900 Subject: [PATCH] refactor: not using useState in creating queryClient when use ReactQueryStreamedHydration in suspense-example --- docs/framework/react/guides/suspense.md | 34 ++- .../src/app/providers.tsx | 33 ++- pnpm-lock.yaml | 272 ++++++++++++++---- 3 files changed, 279 insertions(+), 60 deletions(-) diff --git a/docs/framework/react/guides/suspense.md b/docs/framework/react/guides/suspense.md index 368a331ac1..78c3de8a46 100644 --- a/docs/framework/react/guides/suspense.md +++ b/docs/framework/react/guides/suspense.md @@ -122,8 +122,40 @@ import { QueryClient, QueryClientProvider } from '@tanstack/react-query' import * as React from 'react' import { ReactQueryStreamedHydration } from '@tanstack/react-query-next-experimental' +function makeQueryClient() { + return new QueryClient({ + defaultOptions: { + queries: { + // With SSR, we usually want to set some default staleTime + // above 0 to avoid refetching immediately on the client + staleTime: 60 * 1000, + }, + }, + }) +} + +let browserQueryClient: QueryClient | undefined = undefined + +function getQueryClient() { + if (typeof window === 'undefined') { + // Server: always make a new query client + return makeQueryClient() + } else { + // Browser: make a new query client if we don't already have one + // This is very important so we don't re-make a new client if React + // supsends during the initial render. This may not be needed if we + // have a suspense boundary BELOW the creation of the query client + if (!browserQueryClient) browserQueryClient = makeQueryClient() + return browserQueryClient + } +} + export function Providers(props: { children: React.ReactNode }) { - const [queryClient] = React.useState(() => new QueryClient()) + // NOTE: Avoid useState when initializing the query client if you don't + // have a suspense boundary between this and the code that may + // suspend because React will throw away the client on the initial + // render if it suspends and there is no boundary + const queryClient = getQueryClient() return ( diff --git a/examples/react/nextjs-suspense-streaming/src/app/providers.tsx b/examples/react/nextjs-suspense-streaming/src/app/providers.tsx index 840ccde40d..fb0f5a24e9 100644 --- a/examples/react/nextjs-suspense-streaming/src/app/providers.tsx +++ b/examples/react/nextjs-suspense-streaming/src/app/providers.tsx @@ -1,4 +1,3 @@ -// app/providers.jsx 'use client' import { QueryClient, QueryClientProvider } from '@tanstack/react-query' @@ -6,17 +5,29 @@ import { ReactQueryDevtools } from '@tanstack/react-query-devtools' import * as React from 'react' import { ReactQueryStreamedHydration } from '@tanstack/react-query-next-experimental' +function makeQueryClient() { + return new QueryClient({ + defaultOptions: { + queries: { + staleTime: 60 * 1000, + }, + }, + }) +} + +let browserQueryClient: QueryClient | undefined = undefined + +function getQueryClient() { + if (typeof window === 'undefined') { + return makeQueryClient() + } else { + if (!browserQueryClient) browserQueryClient = makeQueryClient() + return browserQueryClient + } +} + export function Providers(props: { children: React.ReactNode }) { - const [queryClient] = React.useState( - () => - new QueryClient({ - defaultOptions: { - queries: { - staleTime: 5 * 1000, - }, - }, - }), - ) + const queryClient = getQueryClient() return ( diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 36d1703a86..477fc9748a 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1,4 +1,4 @@ -lockfileVersion: '6.0' +lockfileVersion: '6.1' settings: autoInstallPeers: true @@ -169,7 +169,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^17.3.3 - version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(ng-packagr@17.3.0)(typescript@5.2.2) + version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2) '@angular/cli': specifier: ^17.3.3 version: 17.3.3 @@ -224,7 +224,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^17.3.3 - version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(ng-packagr@17.3.0)(typescript@5.2.2) + version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2) '@angular/cli': specifier: ^17.3.3 version: 17.3.3 @@ -279,7 +279,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^17.3.3 - version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(ng-packagr@17.3.0)(typescript@5.2.2) + version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2) '@angular/cli': specifier: ^17.3.3 version: 17.3.3 @@ -334,7 +334,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^17.3.3 - version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(ng-packagr@17.3.0)(typescript@5.2.2) + version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2) '@angular/cli': specifier: ^17.3.3 version: 17.3.3 @@ -1673,7 +1673,7 @@ importers: devDependencies: '@angular-devkit/build-angular': specifier: ^17.3.3 - version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(ng-packagr@17.3.0)(typescript@5.2.2) + version: 17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2) '@angular/cli': specifier: ^17.3.3 version: 17.3.3 @@ -2527,6 +2527,134 @@ packages: undici: 6.7.1 vite: 5.1.5(@types/node@18.19.3)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) watchpack: 2.4.0 + webpack: 5.90.3(esbuild@0.20.1) + webpack-dev-middleware: 6.1.2(webpack@5.90.3) + webpack-dev-server: 4.15.1(webpack@5.90.3) + webpack-merge: 5.10.0 + webpack-subresource-integrity: 5.1.0(webpack@5.90.3) + optionalDependencies: + esbuild: 0.20.1 + transitivePeerDependencies: + - '@rspack/core' + - '@swc/core' + - '@types/express' + - '@types/node' + - bufferutil + - chokidar + - debug + - html-webpack-plugin + - lightningcss + - node-sass + - sass-embedded + - stylus + - sugarss + - supports-color + - uglify-js + - utf-8-validate + - webpack-cli + dev: true + + /@angular-devkit/build-angular@17.3.3(@angular/compiler-cli@17.3.3)(@types/node@18.19.3)(typescript@5.2.2): + resolution: {integrity: sha512-E/6Z1MIMhEB1I2sN+Pw4/zinwAFj4vLDh6dEuj856WWEPndgPiUB6fGX4EbCTsyIUzboXI5ysdNyt2Eq56bllA==} + engines: {node: ^18.13.0 || >=20.9.0, npm: ^6.11.0 || ^7.5.6 || >=8.0.0, yarn: '>= 1.13.0'} + peerDependencies: + '@angular/compiler-cli': ^17.0.0 + '@angular/localize': ^17.0.0 + '@angular/platform-server': ^17.0.0 + '@angular/service-worker': ^17.0.0 + '@web/test-runner': ^0.18.0 + browser-sync: ^3.0.2 + jest: ^29.5.0 + jest-environment-jsdom: ^29.5.0 + karma: ^6.3.0 + ng-packagr: ^17.0.0 + protractor: ^7.0.0 + tailwindcss: ^2.0.0 || ^3.0.0 + typescript: '>=5.2 <5.5' + peerDependenciesMeta: + '@angular/localize': + optional: true + '@angular/platform-server': + optional: true + '@angular/service-worker': + optional: true + '@web/test-runner': + optional: true + browser-sync: + optional: true + jest: + optional: true + jest-environment-jsdom: + optional: true + karma: + optional: true + ng-packagr: + optional: true + protractor: + optional: true + tailwindcss: + optional: true + dependencies: + '@ampproject/remapping': 2.3.0 + '@angular-devkit/architect': 0.1703.3 + '@angular-devkit/build-webpack': 0.1703.3(webpack-dev-server@4.15.1)(webpack@5.90.3) + '@angular-devkit/core': 17.3.3 + '@angular/compiler-cli': 17.3.3(@angular/compiler@17.3.3)(typescript@5.2.2) + '@babel/core': 7.24.0 + '@babel/generator': 7.23.6 + '@babel/helper-annotate-as-pure': 7.22.5 + '@babel/helper-split-export-declaration': 7.22.6 + '@babel/plugin-transform-async-generator-functions': 7.23.9(@babel/core@7.24.0) + '@babel/plugin-transform-async-to-generator': 7.23.3(@babel/core@7.24.0) + '@babel/plugin-transform-runtime': 7.24.0(@babel/core@7.24.0) + '@babel/preset-env': 7.24.0(@babel/core@7.24.0) + '@babel/runtime': 7.24.0 + '@discoveryjs/json-ext': 0.5.7 + '@ngtools/webpack': 17.3.3(@angular/compiler-cli@17.3.3)(typescript@5.2.2)(webpack@5.90.3) + '@vitejs/plugin-basic-ssl': 1.1.0(vite@5.1.5) + ansi-colors: 4.1.3 + autoprefixer: 10.4.18(postcss@8.4.35) + babel-loader: 9.1.3(@babel/core@7.24.0)(webpack@5.90.3) + babel-plugin-istanbul: 6.1.1 + browserslist: 4.23.0 + copy-webpack-plugin: 11.0.0(webpack@5.90.3) + critters: 0.0.22 + css-loader: 6.10.0(webpack@5.90.3) + esbuild-wasm: 0.20.1 + fast-glob: 3.3.2 + http-proxy-middleware: 2.0.6(@types/express@4.17.20) + https-proxy-agent: 7.0.4 + inquirer: 9.2.15 + jsonc-parser: 3.2.1 + karma-source-map-support: 1.4.0 + less: 4.2.0 + less-loader: 11.1.0(less@4.2.0)(webpack@5.90.3) + license-webpack-plugin: 4.0.2(webpack@5.90.3) + loader-utils: 3.2.1 + magic-string: 0.30.8 + mini-css-extract-plugin: 2.8.1(webpack@5.90.3) + mrmime: 2.0.0 + open: 8.4.2 + ora: 5.4.1 + parse5-html-rewriting-stream: 7.0.0 + picomatch: 4.0.1 + piscina: 4.4.0 + postcss: 8.4.35 + postcss-loader: 8.1.1(postcss@8.4.35)(typescript@5.2.2)(webpack@5.90.3) + resolve-url-loader: 5.0.0 + rxjs: 7.8.1 + sass: 1.71.1 + sass-loader: 14.1.1(sass@1.71.1)(webpack@5.90.3) + semver: 7.6.0 + source-map-loader: 5.0.0(webpack@5.90.3) + source-map-support: 0.5.21 + terser: 5.29.1 + tree-kill: 1.2.2 + tslib: 2.6.2 + typescript: 5.2.2 + undici: 6.7.1 + vite: 5.1.5(@types/node@18.19.3)(less@4.2.0)(sass@1.71.1)(terser@5.29.1) + watchpack: 2.4.0 webpack: 5.90.3(esbuild@0.20.2) webpack-dev-middleware: 6.1.2(webpack@5.90.3) webpack-dev-server: 4.15.1(webpack@5.90.3) @@ -3078,7 +3206,7 @@ packages: engines: {node: ^10.13.0 || ^12.13.0 || >=14.0.0} peerDependencies: '@babel/core': ^7.11.0 - eslint: ^8.56.0 + eslint: ^7.5.0 || ^8.0.0 dependencies: '@babel/core': 7.24.4 '@nicolo-ribaudo/eslint-scope-5-internals': 5.1.1-v1 @@ -7147,7 +7275,7 @@ packages: resolution: {integrity: sha512-1/sA4dwrzBAyeUoQ6oxahHKmrZvsnLCg4RfxW3ZFGGmQkSNQPFNLV9CUEFQP1x9EYXHTo5p6xdhZM1Ne9p/AfA==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^6.0.0 || ^7.0.0 || >=8.0.0 dependencies: eslint: 8.56.0 eslint-visitor-keys: 3.4.3 @@ -9031,6 +9159,7 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 + napi-wasm: 1.1.0 dev: false bundledDependencies: - napi-wasm @@ -9041,6 +9170,7 @@ packages: dependencies: is-glob: 4.0.3 micromatch: 4.0.5 + napi-wasm: 1.1.0 dev: false bundledDependencies: - napi-wasm @@ -11285,8 +11415,8 @@ packages: resolution: {integrity: sha512-fTwGQUnjhoYHeSF6m5pWNkzmDDdsKELYrOBxhjMrofPqCkoC2k3B2wvGHFxa1CTIqkEn88nlW1HVMztjo2K8Hg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - '@typescript-eslint/parser': ^6.20.0 - eslint: ^8.56.0 + '@typescript-eslint/parser': ^6.0.0 || ^6.0.0-alpha + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -11313,7 +11443,7 @@ packages: resolution: {integrity: sha512-DewqIgscDzmAfd5nOGe4zm6Bl7PKtMG2Ad0KG8CUZAHlXfAKTF9Ol5PXhiMh39yRL2ChRH1cuuUGOcVyyrhQIw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: '*' dependencies: '@types/json-schema': 7.0.14 '@typescript-eslint/types': 3.10.1 @@ -11330,7 +11460,7 @@ packages: resolution: {integrity: sha512-zeQjOoES5JFjTnAhI5QY7ZviczMzDptls15GFsI6jyUOq0kOf9+WonkhtlIhh0RgHRnqj5gdNxW5j1EvAyYg6Q==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: '*' dependencies: '@types/json-schema': 7.0.14 '@typescript-eslint/scope-manager': 4.33.0 @@ -11348,7 +11478,7 @@ packages: resolution: {integrity: sha512-RTXpeB3eMkpoclG3ZHft6vG/Z30azNHuqY6wKPBHlVMZFuEvrtlEDe8gMqDb+SO+9hjC/pLekeSCryf9vMZlCw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 @@ -11361,7 +11491,7 @@ packages: resolution: {integrity: sha512-bYerPDF/H5v6V76MdMYhjwmwgMA+jlPVqjSDq2cRqMi8bP5sR3Z+RLOiOMad3nsnmDVmn2gAFCyNgh/dIrfP/w==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -11382,7 +11512,7 @@ packages: engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: '@eslint/eslintrc': '>=2' - eslint: ^8.56.0 + eslint: '>=8' dependencies: '@eslint/eslintrc': 2.1.4 '@typescript-eslint/typescript-estree': 6.20.0(typescript@5.2.2) @@ -11423,7 +11553,7 @@ packages: resolution: {integrity: sha512-qnSobiJQb1F5JjN0YDRPHruQTrX7ICsmltXhkV536mp4idGAYrIyr47zF/JmkJtEcAVnIz4gUYJ7gOZa6SmN4g==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -11546,7 +11676,7 @@ packages: resolution: {integrity: sha512-n8oxjeb5aIbPFEtmQxQYOLI0i9n5ySBEY/ZEHHZqKQSFnxio1rv6dthascc9dLuwrL0RC5mPCxB7vnAVGAYWAQ==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 @@ -11566,7 +11696,7 @@ packages: resolution: {integrity: sha512-/EKuw+kRu2vAqCoDwDCBtDRU6CTKbUmwwI7SH7AashZ+W+7o8eiyy6V2cdOqN49KsTcASWsC5QeghYuRDTyOOg==} engines: {node: ^16.0.0 || >=18.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 dependencies: '@eslint-community/eslint-utils': 4.4.0(eslint@8.56.0) '@types/json-schema': 7.0.14 @@ -13190,7 +13320,7 @@ packages: engines: {node: '>=6'} deprecated: babel-eslint is now @babel/eslint-parser. This package will no longer receive updates. peerDependencies: - eslint: ^8.56.0 + eslint: '>= 4.12.1' dependencies: '@babel/code-frame': 7.24.2 '@babel/parser': 7.24.4 @@ -17082,7 +17212,7 @@ packages: resolution: {integrity: sha512-dc6Y8tzEcSYZMHa+CMPLi/hyo1FzNeonbhJL7Ol0ccuKQkwopJcJBA9YL/xmMTLU1eKigXo9vj9nALElWYSowg==} engines: {node: '>=12'} peerDependencies: - eslint: ^8.56.0 + eslint: '>=6.0.0' dependencies: eslint: 8.56.0 semver: 7.6.0 @@ -17092,7 +17222,7 @@ packages: resolution: {integrity: sha512-NSWl5BFQWEPi1j4TjVNItzYV7dZXZ+wP6I6ZhrBGpChQhZRUaElihE9uRRkcbRnNb76UMKDF3r+WTmNcGPKsqw==} hasBin: true peerDependencies: - eslint: ^8.56.0 + eslint: '>=7.0.0' dependencies: eslint: 8.56.0 dev: true @@ -17101,10 +17231,10 @@ packages: resolution: {integrity: sha512-bpoAAC+YRfzq0dsTk+6v9aHm/uqnDwayNAXleMypGl6CpxI9oXXscVHo4fk3eJPIn+rsbtNetB4r/ZIidFIE8A==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.20.0 - '@typescript-eslint/parser': ^6.20.0 + '@typescript-eslint/eslint-plugin': ^4.0.0 + '@typescript-eslint/parser': ^4.0.0 babel-eslint: ^10.0.0 - eslint: ^8.56.0 + eslint: ^7.5.0 eslint-plugin-flowtype: ^5.2.0 eslint-plugin-import: ^2.22.0 eslint-plugin-jest: ^24.0.0 @@ -17140,7 +17270,7 @@ packages: resolution: {integrity: sha512-K6rNzvkIeHaTd8m/QEh1Zko0KI7BACWkkneSs6s9cKZC/J27X3eZR6Upt1jkmZ/4FK+XUOPPxMEN7+lbUXfSlA==} engines: {node: '>=14.0.0'} peerDependencies: - eslint: ^8.56.0 + eslint: ^8.0.0 typescript: '*' peerDependenciesMeta: typescript: @@ -17184,7 +17314,7 @@ packages: resolution: {integrity: sha512-xgdptdoi5W3niYeuQxKmzVDTATvLYqhpwmykwsh7f6HIOStGWEIL9iqZgQDF9u9OEzrRwR8no5q2VT+bjAujTg==} engines: {node: ^14.18.0 || >=16.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: '*' eslint-plugin-import: '*' dependencies: debug: 4.3.4(supports-color@6.1.0) @@ -17235,7 +17365,7 @@ packages: resolution: {integrity: sha512-vcz32f+7TP+kvTUyMXZmCnNujBQZDNmcqPImw8b9PZ+16w1Qdm6ryRuYZYVaG9xRqqmAPr2Cs9FAX5gN+x/bjw==} engines: {node: ^10.12.0 || >=12.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.1.0 dependencies: eslint: 8.56.0 lodash: 4.17.21 @@ -17248,7 +17378,7 @@ packages: peerDependencies: '@babel/plugin-syntax-flow': ^7.14.5 '@babel/plugin-transform-react-jsx': ^7.14.9 - eslint: ^8.56.0 + eslint: ^8.1.0 dependencies: '@babel/plugin-syntax-flow': 7.22.5(@babel/core@7.24.4) '@babel/plugin-transform-react-jsx': 7.22.15(@babel/core@7.24.4) @@ -17262,7 +17392,7 @@ packages: engines: {node: '>=4'} peerDependencies: '@typescript-eslint/parser': '*' - eslint: ^8.56.0 + eslint: ^2 || ^3 || ^4 || ^5 || ^6 || ^7.2.0 || ^8 peerDependenciesMeta: '@typescript-eslint/parser': optional: true @@ -17295,8 +17425,8 @@ packages: resolution: {integrity: sha512-wUxdF2bAZiYSKBclsUMrYHH6WxiBreNjyDxbRv345TIvPeoCEgPNEn3Sa+ZrSqsf1Dl9SqqSREXMHExlMMu1DA==} engines: {node: '>=10'} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.20.0 - eslint: ^8.56.0 + '@typescript-eslint/eslint-plugin': '>= 4' + eslint: '>=5' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': optional: true @@ -17313,8 +17443,8 @@ packages: resolution: {integrity: sha512-PWLUEXeeF7C9QGKqvdSbzLOiLTx+bno7/HC9eefePfEb257QFHg7ye3dh80AZVkaa/RQsBB1Q/ORQvg2X7F0NQ==} engines: {node: ^12.13.0 || ^14.15.0 || >=16.0.0} peerDependencies: - '@typescript-eslint/eslint-plugin': ^6.20.0 - eslint: ^8.56.0 + '@typescript-eslint/eslint-plugin': ^4.0.0 || ^5.0.0 + eslint: ^6.0.0 || ^7.0.0 || ^8.0.0 jest: '*' peerDependenciesMeta: '@typescript-eslint/eslint-plugin': @@ -17335,7 +17465,7 @@ packages: resolution: {integrity: sha512-r9DMAmFs66VNvNqRLLjHejdnJtILrt3xGi+Qx0op0oRfFGVpOR1Hb3BC++MacseHx93d8SKYPhyrC9BS7Os2QA==} engines: {node: '>=18'} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 || ^9.0.0 dependencies: '@es-joy/jsdoccomment': 0.42.0 are-docs-informative: 0.0.2 @@ -17355,7 +17485,7 @@ packages: resolution: {integrity: sha512-63Bog4iIethyo8smBklORknVjB0T2dwB8Mr/hIC+fBS0uyHdYYpzM/Ed+YC8VxTjlXHEWFOdmgwcDn1U2L9VCA==} engines: {node: '>=4.0'} peerDependencies: - eslint: ^8.56.0 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: '@babel/runtime': 7.24.0 aria-query: 5.3.0 @@ -17380,14 +17510,14 @@ packages: resolution: {integrity: sha512-oFc7Itz9Qxh2x4gNHStv3BqJq54ExXmfC+a1NjAta66IAN87Wu0R/QArgIS9qKzX3dXKPI9H5crl9QchNMY9+g==} engines: {node: '>=10'} peerDependencies: - eslint: ^8.56.0 + eslint: ^3.0.0 || ^4.0.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0-0 dependencies: eslint: 8.56.0 /eslint-plugin-react-refresh@0.4.5(eslint@8.56.0): resolution: {integrity: sha512-D53FYKJa+fDmZMtriODxvhwrO+IOqrxoEo21gMA0sjHdU6dPVH4OhyFip9ypl8HOF5RV5KdTo+rBQLvnY2cO8w==} peerDependencies: - eslint: ^8.56.0 + eslint: '>=7' dependencies: eslint: 8.56.0 dev: true @@ -17396,7 +17526,7 @@ packages: resolution: {integrity: sha512-73QQMKALArI8/7xGLNI/3LylrEYrlKZSb5C9+q3OtOewTnMQi5cT+aE9E41sLCmli3I9PGGmD1yiZydyo4FEPw==} engines: {node: '>=4'} peerDependencies: - eslint: ^8.56.0 + eslint: ^3 || ^4 || ^5 || ^6 || ^7 || ^8 dependencies: array-includes: 3.1.7 array.prototype.flatmap: 1.3.2 @@ -17420,7 +17550,7 @@ packages: resolution: {integrity: sha512-FXktBLXsrxbA+6ZvJK2z/sQOrUKyzSg3fNWK5h0reSCjr2fjAsc9ai/s/JvSl4Hgvz3nYVtTIMwarZH5RcB7BA==} engines: {node: ^14.17.0 || >=16.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0-0 || ^9.0.0-0 svelte: ^3.37.0 || ^4.0.0 || ^5.0.0-next.112 peerDependenciesMeta: svelte: @@ -17449,7 +17579,7 @@ packages: resolution: {integrity: sha512-WAmOCt7EbF1XM8XfbCKAEzAPnShkNSwcIsAD2jHdsMUT9mZJPjLCG7pMzbcC8kK366NOuGip8HKLDC+Xk4yIdA==} engines: {node: ^10.12.0 || >=12.0.0, npm: '>=6'} peerDependencies: - eslint: ^8.56.0 + eslint: ^5 || ^6 || ^7 dependencies: '@typescript-eslint/experimental-utils': 3.10.1(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 @@ -17462,7 +17592,7 @@ packages: resolution: {integrity: sha512-5eX9e1Kc2PqVRed3taaLnAAqPZGEX75C+M/rXzUAI3wIg/ZxzUm1OVAwfe/O+vE+6YXOLetSe9g5GKD2ecXipw==} engines: {node: ^12.22.0 || ^14.17.0 || >=16.0.0, npm: '>=6'} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.5.0 || ^8.0.0 dependencies: '@typescript-eslint/utils': 5.62.0(eslint@8.56.0)(typescript@5.2.2) eslint: 8.56.0 @@ -17504,7 +17634,7 @@ packages: resolution: {integrity: sha512-uuQC43IGctw68pJA1RgbQS8/NP7rch6Cwd4j3ZBtgo4/8Flj4eGE7ZYSZRN3iq5pVUv6GPdW5Z1RFleo84uLDA==} engines: {node: ^10.0.0 || ^12.0.0 || >= 14.0.0} peerDependencies: - eslint: ^8.56.0 + eslint: '>=5' dependencies: eslint: 8.56.0 eslint-visitor-keys: 2.1.0 @@ -17528,7 +17658,7 @@ packages: resolution: {integrity: sha512-bNaVVUvU4srexGhVcayn/F4pJAz19CWBkKoMx7aSQ4wtTbZQCnG5O9LHCE42mM+JSKOUp7n6vd5CIwzj7lOVGA==} engines: {node: '>= 10.13.0'} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 webpack: ^4.0.0 || ^5.0.0 dependencies: '@types/eslint': 7.29.0 @@ -17545,7 +17675,7 @@ packages: resolution: {integrity: sha512-avrKcGncpPbPSUHX6B3stNGzkKFto3eL+DKM4+VyMrVnhPc3vRczVlCq3uhuFOdRvDHTVXuzwk1ZKUrqDQHQ9w==} engines: {node: '>= 12.13.0'} peerDependencies: - eslint: ^8.56.0 + eslint: ^7.0.0 || ^8.0.0 webpack: ^5.0.0 dependencies: '@types/eslint': 8.56.2 @@ -18458,7 +18588,7 @@ packages: resolution: {integrity: sha512-DUxuQaKoqfNne8iikd14SAkh5uw4+8vNifp6gmA73yYNS6ywLIWSLD/n/mBzHQRpW3J7rbATEakmiA8JvkTyZw==} engines: {node: '>=6.11.5', yarn: '>=1.0.0'} peerDependencies: - eslint: ^8.56.0 + eslint: '>= 6' typescript: '>= 2.7' vue-template-compiler: '*' webpack: '>= 4' @@ -18486,7 +18616,7 @@ packages: resolution: {integrity: sha512-SbH/l9ikmMWycd5puHJKTkZJKddF4iRLyW3DeZ08HTI7NGyLS38MXd/KGgeWumQO7YNQbW2u/NtPT2YowbPaGQ==} engines: {node: '>=10', yarn: '>=1.0.0'} peerDependencies: - eslint: ^8.56.0 + eslint: '>= 6' typescript: '>= 2.7' vue-template-compiler: '*' webpack: '>= 4' @@ -22516,6 +22646,8 @@ packages: peerDependenciesMeta: webpack: optional: true + webpack-sources: + optional: true dependencies: webpack: 5.90.3(esbuild@0.20.2) webpack-sources: 3.2.3 @@ -24285,6 +24417,10 @@ packages: dev: false optional: true + /napi-wasm@1.1.0: + resolution: {integrity: sha512-lHwIAJbmLSjF9VDRm9GoVOy9AGp3aIvkjv+Kvz9h16QR3uSVYH78PNQUnT2U4X53mhlnV2M7wrhibQ3GHicDmg==} + dev: false + /native-url@0.2.6: resolution: {integrity: sha512-k4bDC87WtgrdD362gZz6zoiXQrl40kYlBmpfmSjwRO1VU0V5ccwJTlxuE72F6m3V0vc1xOf6n3UCP9QyerRqmA==} dependencies: @@ -28242,7 +28378,7 @@ packages: engines: {node: ^10.12.0 || >=12.0.0} hasBin: true peerDependencies: - eslint: ^8.56.0 + eslint: '*' react: '>= 16' typescript: ^3.2.1 || ^4 peerDependenciesMeta: @@ -28338,7 +28474,7 @@ packages: engines: {node: '>=14.0.0'} hasBin: true peerDependencies: - eslint: ^8.56.0 + eslint: '*' react: '>= 16' typescript: ^3.2.1 || ^4 peerDependenciesMeta: @@ -33621,6 +33757,46 @@ packages: - supports-color dev: false + /webpack@5.90.3(esbuild@0.20.1): + resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} + engines: {node: '>=10.13.0'} + hasBin: true + peerDependencies: + webpack-cli: '*' + peerDependenciesMeta: + webpack-cli: + optional: true + dependencies: + '@types/eslint-scope': 3.7.6 + '@types/estree': 1.0.5 + '@webassemblyjs/ast': 1.11.6 + '@webassemblyjs/wasm-edit': 1.11.6 + '@webassemblyjs/wasm-parser': 1.11.6 + acorn: 8.11.3 + acorn-import-assertions: 1.9.0(acorn@8.11.3) + browserslist: 4.23.0 + chrome-trace-event: 1.0.3 + enhanced-resolve: 5.15.0 + es-module-lexer: 1.5.0 + eslint-scope: 5.1.1 + events: 3.3.0 + glob-to-regexp: 0.4.1 + graceful-fs: 4.2.11 + json-parse-even-better-errors: 2.3.1 + loader-runner: 4.3.0 + mime-types: 2.1.35 + neo-async: 2.6.2 + schema-utils: 3.3.0 + tapable: 2.2.1 + terser-webpack-plugin: 5.3.10(esbuild@0.20.2)(webpack@5.90.3) + watchpack: 2.4.0 + webpack-sources: 3.2.3 + transitivePeerDependencies: + - '@swc/core' + - esbuild + - uglify-js + dev: true + /webpack@5.90.3(esbuild@0.20.2): resolution: {integrity: sha512-h6uDYlWCctQRuXBs1oYpVe6sFcWedl0dpcVaTf/YF67J9bKvwJajFulMVSYKHrksMB3I/pIagRzDxwxkebuzKA==} engines: {node: '>=10.13.0'}