diff --git a/.codesandbox/ci.json b/.codesandbox/ci.json deleted file mode 100644 index 8b0066e0b..000000000 --- a/.codesandbox/ci.json +++ /dev/null @@ -1,5 +0,0 @@ -{ - "packages": ["packages/**"], - "sandboxes": ["websites/visualization"], - "node": "18" -} diff --git a/.github/workflows/ci.yml b/.github/workflows/ci.yml index 101d710be..8544cde9b 100644 --- a/.github/workflows/ci.yml +++ b/.github/workflows/ci.yml @@ -9,6 +9,7 @@ on: env: TURBO_TOKEN: ${{ secrets.TURBO_TOKEN }} TURBO_TEAM: ${{ vars.TURBO_TEAM }} + NEXT_PUBLIC_STREAMING_HTML_URL: ${{ vars.NEXT_PUBLIC_STREAMING_HTML_URL }} concurrency: group: ${{ github.workflow }}-${{ github.ref }} cancel-in-progress: true diff --git a/docs/suspensive.org/package.json b/docs/suspensive.org/package.json index 6efc13375..e9e65f744 100644 --- a/docs/suspensive.org/package.json +++ b/docs/suspensive.org/package.json @@ -26,7 +26,7 @@ "start": "next start" }, "dependencies": { - "next": "^14.0.3", + "next": "^14.1.0", "nextra": "^2.13.2", "nextra-theme-docs": "^2.13.2", "react": "^18.2.0", diff --git a/examples/next-streaming-react-query/.eslintrc.cjs b/examples/next-streaming-react-query/.eslintrc.cjs new file mode 100644 index 000000000..5d8278259 --- /dev/null +++ b/examples/next-streaming-react-query/.eslintrc.cjs @@ -0,0 +1,9 @@ +/** @type {import('eslint').Linter.Config} */ +module.exports = { + root: true, + extends: ['@suspensive/eslint-config/react-ts', 'plugin:@next/next/recommended'], + parserOptions: { + tsconfigRootDir: __dirname, + project: 'tsconfig.json', + }, +} diff --git a/examples/next-streaming-react-query/.gitignore b/examples/next-streaming-react-query/.gitignore new file mode 100644 index 000000000..8f322f0d8 --- /dev/null +++ b/examples/next-streaming-react-query/.gitignore @@ -0,0 +1,35 @@ +# See https://help.github.com/articles/ignoring-files/ for more about ignoring files. + +# dependencies +/node_modules +/.pnp +.pnp.js + +# testing +/coverage + +# next.js +/.next/ +/out/ + +# production +/build + +# misc +.DS_Store +*.pem + +# debug +npm-debug.log* +yarn-debug.log* +yarn-error.log* + +# local env files +.env*.local + +# vercel +.vercel + +# typescript +*.tsbuildinfo +next-env.d.ts diff --git a/examples/next-streaming-react-query/next.config.js b/examples/next-streaming-react-query/next.config.js new file mode 100644 index 000000000..4c5d4b260 --- /dev/null +++ b/examples/next-streaming-react-query/next.config.js @@ -0,0 +1,8 @@ +/** @type {import('next').NextConfig} */ +const nextConfig = { + experimental: { + typedRoutes: true, + }, +} + +module.exports = nextConfig diff --git a/examples/next-streaming-react-query/package.json b/examples/next-streaming-react-query/package.json new file mode 100644 index 000000000..eeb72fa6f --- /dev/null +++ b/examples/next-streaming-react-query/package.json @@ -0,0 +1,30 @@ +{ + "name": "@suspensive/next-streaming-react-query", + "version": "0.1.0", + "private": true, + "scripts": { + "build": "next build", + "dev": "next dev -p 4100", + "lint": "next lint", + "start": "next start" + }, + "dependencies": { + "@suspensive/react": "workspace:*", + "@tanstack/query-core": "^5.17.19", + "@tanstack/react-query": "^5.17.19", + "@tanstack/react-query-devtools": "^5.17.19", + "@tanstack/react-query-next-experimental": "^5.17.19", + "axios": "^1.6.5", + "next": "^14.1.0", + "react": "^18.2.0", + "react-dom": "^18.2.0", + "tailwindcss": "^3.4.1" + }, + "devDependencies": { + "@next/eslint-plugin-next": "^14.1.0", + "@types/react": "^18.2.48", + "@types/react-dom": "^18.2.18", + "autoprefixer": "^10.4.17", + "postcss": "^8.4.33" + } +} diff --git a/examples/next-streaming-react-query/postcss.config.js b/examples/next-streaming-react-query/postcss.config.js new file mode 100644 index 000000000..33ad091d2 --- /dev/null +++ b/examples/next-streaming-react-query/postcss.config.js @@ -0,0 +1,6 @@ +module.exports = { + plugins: { + tailwindcss: {}, + autoprefixer: {}, + }, +} diff --git a/examples/next-streaming-react-query/public/next.svg b/examples/next-streaming-react-query/public/next.svg new file mode 100644 index 000000000..5174b28c5 --- /dev/null +++ b/examples/next-streaming-react-query/public/next.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/next-streaming-react-query/public/vercel.svg b/examples/next-streaming-react-query/public/vercel.svg new file mode 100644 index 000000000..d2f842227 --- /dev/null +++ b/examples/next-streaming-react-query/public/vercel.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/examples/next-streaming-react-query/src/app/PageClientComponent.tsx b/examples/next-streaming-react-query/src/app/PageClientComponent.tsx new file mode 100644 index 000000000..b320aaabe --- /dev/null +++ b/examples/next-streaming-react-query/src/app/PageClientComponent.tsx @@ -0,0 +1,98 @@ +'use client' + +import { useQueryClient } from '@tanstack/react-query' +import React, { Suspense } from 'react' +import { Text } from './components/Text' +import { Text2 } from './components/Text2' +import { query } from '~/query' +import { SuspenseQuery } from '~/react-query' + +export const PageClientComponent = () => { + const queryClient = useQueryClient() + + return ( + <> + waiting 100....}> + + + waiting 200....}> + + + waiting 300....}> + + + waiting 400....}> + + + waiting 500....}> + + + waiting 600....}> + + + waiting 700....}> + + + + + + + + + +
+ + combined Suspense-container + + +
waiting 800....
+
waiting 900....
+
waiting 1000....
+ + } + > + + + +
+
+ +
{`Proposal:  Component`}
+ {/* Need to proposal */} + + + ) +} diff --git a/examples/next-streaming-react-query/src/app/api/text/route.ts b/examples/next-streaming-react-query/src/app/api/text/route.ts new file mode 100644 index 000000000..0c78e8bb5 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/api/text/route.ts @@ -0,0 +1,9 @@ +import { NextResponse } from 'next/server' + +const sleep = (ms: number) => new Promise((resolve) => setTimeout(resolve, ms)) + +export async function GET(request: Request) { + const ms = Number(new URL(request.url).searchParams.get('wait')) + await sleep(ms) + return NextResponse.json(`${new Date().toISOString()} success to get text waited after ${ms}ms`) +} diff --git a/examples/next-streaming-react-query/src/app/components/Text.tsx b/examples/next-streaming-react-query/src/app/components/Text.tsx new file mode 100644 index 000000000..a4cfc3f87 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/components/Text.tsx @@ -0,0 +1,9 @@ +'use client' + +import { useSuspenseQuery } from '@tanstack/react-query' +import { query } from '~/query' + +export const Text = (props: { ms: number }) => { + const { data: text } = useSuspenseQuery(query.text(props.ms)) + return

result: {text}

+} diff --git a/examples/next-streaming-react-query/src/app/components/Text2.tsx b/examples/next-streaming-react-query/src/app/components/Text2.tsx new file mode 100644 index 000000000..72f1e1082 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/components/Text2.tsx @@ -0,0 +1,6 @@ +import { type ComponentProps, forwardRef } from 'react' + +export const Text2 = forwardRef>((props, ref) => ( +

result: {props.children}

+)) +Text2.displayName = 'Text2' diff --git a/examples/next-streaming-react-query/src/app/favicon.ico b/examples/next-streaming-react-query/src/app/favicon.ico new file mode 100644 index 000000000..4570eb8d9 Binary files /dev/null and b/examples/next-streaming-react-query/src/app/favicon.ico differ diff --git a/examples/next-streaming-react-query/src/app/globals.css b/examples/next-streaming-react-query/src/app/globals.css new file mode 100644 index 000000000..fd81e8858 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/globals.css @@ -0,0 +1,27 @@ +@tailwind base; +@tailwind components; +@tailwind utilities; + +:root { + --foreground-rgb: 0, 0, 0; + --background-start-rgb: 214, 219, 220; + --background-end-rgb: 255, 255, 255; +} + +@media (prefers-color-scheme: dark) { + :root { + --foreground-rgb: 255, 255, 255; + --background-start-rgb: 0, 0, 0; + --background-end-rgb: 0, 0, 0; + } +} + +body { + color: rgb(var(--foreground-rgb)); + background: linear-gradient( + to bottom, + transparent, + rgb(var(--background-end-rgb)) + ) + rgb(var(--background-start-rgb)); +} diff --git a/examples/next-streaming-react-query/src/app/layout.tsx b/examples/next-streaming-react-query/src/app/layout.tsx new file mode 100644 index 000000000..fda688bf4 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/layout.tsx @@ -0,0 +1,16 @@ +import type { Metadata } from 'next' +import { Providers } from './providers' + +export const metadata: Metadata = { + title: 'Next HTML Streaming with Suspense', +} + +export default function RootLayout({ children }: { children: React.ReactNode }) { + return ( + + + {children} + + + ) +} diff --git a/examples/next-streaming-react-query/src/app/page.tsx b/examples/next-streaming-react-query/src/app/page.tsx new file mode 100644 index 000000000..db4645ae5 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/page.tsx @@ -0,0 +1,23 @@ +import { HydrationBoundary, dehydrate } from '@tanstack/react-query' +import { PageClientComponent } from './PageClientComponent' +import { query } from '~/query' +import { getQueryClient } from '~/react-query' + +export default async function MyPage() { + const queryClient = getQueryClient() + await Promise.all([ + queryClient.prefetchQuery(query.text(100)), + queryClient.prefetchQuery(query.text(200)), + queryClient.prefetchQuery(query.text(300)), + queryClient.prefetchQuery(query.text(400)), + ]) + + const data = queryClient.getQueryData(query.text(100).queryKey) + console.log(data) + + return ( + + + + ) +} diff --git a/examples/next-streaming-react-query/src/app/providers.tsx b/examples/next-streaming-react-query/src/app/providers.tsx new file mode 100644 index 000000000..5d6ac04b4 --- /dev/null +++ b/examples/next-streaming-react-query/src/app/providers.tsx @@ -0,0 +1,26 @@ +'use client' + +import { QueryClient, QueryClientProvider } from '@tanstack/react-query' +import { ReactQueryDevtools } from '@tanstack/react-query-devtools' +import { ReactQueryStreamedHydration } from '@tanstack/react-query-next-experimental' +import { type ReactNode, useState } from 'react' + +export function Providers(props: { children: ReactNode }) { + const [queryClient] = useState( + () => + new QueryClient({ + defaultOptions: { + queries: { + staleTime: 5 * 1000, + }, + }, + }) + ) + + return ( + + {props.children} + + + ) +} diff --git a/examples/next-streaming-react-query/src/query/index.ts b/examples/next-streaming-react-query/src/query/index.ts new file mode 100644 index 000000000..05263404e --- /dev/null +++ b/examples/next-streaming-react-query/src/query/index.ts @@ -0,0 +1,21 @@ +import { queryOptions } from '@tanstack/react-query' + +const baseURL = (() => { + if (typeof window !== 'undefined') return '' + if (process.env.NEXT_PUBLIC_STREAMING_HTML_URL) return `https://${process.env.NEXT_PUBLIC_STREAMING_HTML_URL}` + return 'http://localhost:4100' +})() + +export const query = { + text: (ms: TMs) => + queryOptions({ + queryKey: ['query.text', ms], + queryFn: () => + fetch(`${baseURL}/api/text?wait=${ms}`, { + cache: 'no-store', + }).then( + (res) => + res.json() as unknown as `${ReturnType} success to get text waited after ${TMs}ms` + ), + }), +} diff --git a/examples/next-streaming-react-query/src/react-query/SuspenseQuery.tsx b/examples/next-streaming-react-query/src/react-query/SuspenseQuery.tsx new file mode 100644 index 000000000..e3d7f6ad0 --- /dev/null +++ b/examples/next-streaming-react-query/src/react-query/SuspenseQuery.tsx @@ -0,0 +1,21 @@ +'use client' + +import { + type QueryKey, + type UseSuspenseQueryOptions, + type UseSuspenseQueryResult, + useSuspenseQuery, +} from '@tanstack/react-query' +import type { ReactNode } from 'react' + +export const SuspenseQuery = < + TQueryFnData = unknown, + TError = Error, + TData = TQueryFnData, + TQueryKey extends QueryKey = QueryKey, +>({ + children, + ...options +}: UseSuspenseQueryOptions & { + children: (result: UseSuspenseQueryResult) => ReactNode +}) => children(useSuspenseQuery(options)) diff --git a/examples/next-streaming-react-query/src/react-query/index.ts b/examples/next-streaming-react-query/src/react-query/index.ts new file mode 100644 index 000000000..078c5b8f0 --- /dev/null +++ b/examples/next-streaming-react-query/src/react-query/index.ts @@ -0,0 +1,6 @@ +import { QueryClient } from '@tanstack/react-query' +import { cache } from 'react' + +export const getQueryClient = cache(() => new QueryClient()) + +export { SuspenseQuery } from './SuspenseQuery' diff --git a/examples/next-streaming-react-query/tailwind.config.js b/examples/next-streaming-react-query/tailwind.config.js new file mode 100644 index 000000000..d53b2eaa0 --- /dev/null +++ b/examples/next-streaming-react-query/tailwind.config.js @@ -0,0 +1,18 @@ +/** @type {import('tailwindcss').Config} */ +module.exports = { + content: [ + './src/pages/**/*.{js,ts,jsx,tsx,mdx}', + './src/components/**/*.{js,ts,jsx,tsx,mdx}', + './src/app/**/*.{js,ts,jsx,tsx,mdx}', + ], + theme: { + extend: { + backgroundImage: { + 'gradient-radial': 'radial-gradient(var(--tw-gradient-stops))', + 'gradient-conic': + 'conic-gradient(from 180deg at 50% 50%, var(--tw-gradient-stops))', + }, + }, + }, + plugins: [], +} diff --git a/examples/next-streaming-react-query/tsconfig.json b/examples/next-streaming-react-query/tsconfig.json new file mode 100644 index 000000000..6b92c853d --- /dev/null +++ b/examples/next-streaming-react-query/tsconfig.json @@ -0,0 +1,37 @@ +{ + "compilerOptions": { + "target": "es5", + "lib": ["dom", "dom.iterable", "esnext"], + "allowJs": true, + "skipLibCheck": true, + "strict": true, + "forceConsistentCasingInFileNames": true, + "noEmit": true, + "esModuleInterop": true, + "module": "esnext", + "moduleResolution": "node", + "resolveJsonModule": true, + "isolatedModules": true, + "jsx": "preserve", + "incremental": true, + "plugins": [ + { + "name": "next", + }, + ], + "paths": { + "~/*": ["./src/*"], + }, + }, + "include": [ + "next-env.d.ts", + "**/*.ts", + "**/*.tsx", + ".next/types/**/*.ts", + "./.eslintrc.cjs", + "next.config.js", + "postcss.config.js", + "tailwind.config.js", + ], + "exclude": ["node_modules"], +} diff --git a/package.json b/package.json index 84f857af0..0e0a10091 100644 --- a/package.json +++ b/package.json @@ -15,12 +15,6 @@ "license": "MIT", "packageManager": "pnpm@8.13.1", "type": "module", - "workspaces": [ - "configs/*", - "docs/*", - "packages/*", - "websites/*" - ], "scripts": { "build": "turbo run build", "build:watch": "turbo run build:watch --parallel", @@ -36,16 +30,16 @@ "graph": "rimraf ./graph && mkdir graph && turbo run build --graph=graph/index.html", "lint": "turbo run lint", "lint:attw": "turbo run lint:attw", - "lint:monorepo": "sherif", + "lint:monorepo": "sherif --ignore-package \"./examples/*\"", "lint:pack": "packlint sort -R", "lint:pub": "turbo run lint:pub", "preinstall": "corepack enable", "prepack": "turbo run prepack", "prepare": "husky install", "test": "turbo run test", - "test:watch": "turbo run test:watch --parallel", "test:production": "turbo run test:production", "test:production:watch": "turbo run test:production:watch --parallel", + "test:watch": "turbo run test:watch --parallel", "type:check": "turbo run type:check" }, "devDependencies": { diff --git a/packages/react/package.json b/packages/react/package.json index 0f6e97bc7..d0a6cdf77 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -53,9 +53,9 @@ "lint:pub": "publint --strict", "prepack": "pnpm build", "test": "vitest run --coverage --typecheck", - "test:watch": "vitest --ui --coverage --typecheck", "test:production": "vitest run --config ./vitest-production.config.ts", "test:production:watch": "vitest --config ./vitest-production.config.ts --ui", + "test:watch": "vitest --ui --coverage --typecheck", "type:check": "tsc --noEmit" }, "dependencies": { diff --git a/packlint.config.mjs b/packlint.config.mjs index 117fac7d3..5411687a1 100644 --- a/packlint.config.mjs +++ b/packlint.config.mjs @@ -2,6 +2,7 @@ export default { files: [ './configs/*/package.json', './docs/*/package.json', + './examples/*/package.json', './packages/*/package.json', './websites/*/package.json', './package.json', diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index e6ec494c3..9870a6d8d 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -202,14 +202,14 @@ importers: docs/suspensive.org: dependencies: next: - specifier: ^14.0.3 - version: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.1.0 + version: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) nextra: specifier: ^2.13.2 - version: 2.13.2(next@14.0.3)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.2(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) nextra-theme-docs: specifier: ^2.13.2 - version: 2.13.2(next@14.0.3)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0) + version: 2.13.2(next@14.1.0)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -236,6 +236,55 @@ importers: specifier: ^3.4.1 version: 3.4.1 + examples/next-streaming-react-query: + dependencies: + '@suspensive/react': + specifier: workspace:* + version: link:../../packages/react + '@tanstack/query-core': + specifier: ^5.17.19 + version: 5.17.19 + '@tanstack/react-query': + specifier: ^5.17.19 + version: 5.17.19(react@18.2.0) + '@tanstack/react-query-devtools': + specifier: ^5.17.19 + version: 5.17.21(@tanstack/react-query@5.17.19)(react@18.2.0) + '@tanstack/react-query-next-experimental': + specifier: ^5.17.19 + version: 5.17.19(@tanstack/react-query@5.17.19)(next@14.1.0)(react@18.2.0) + axios: + specifier: ^1.6.5 + version: 1.6.7 + next: + specifier: ^14.1.0 + version: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + react: + specifier: ^18.2.0 + version: 18.2.0 + react-dom: + specifier: ^18.2.0 + version: 18.2.0(react@18.2.0) + tailwindcss: + specifier: ^3.4.1 + version: 3.4.1 + devDependencies: + '@next/eslint-plugin-next': + specifier: ^14.1.0 + version: 14.1.0 + '@types/react': + specifier: ^18.2.48 + version: 18.2.48 + '@types/react-dom': + specifier: ^18.2.18 + version: 18.2.18 + autoprefixer: + specifier: ^10.4.17 + version: 10.4.17(postcss@8.4.33) + postcss: + specifier: ^8.4.33 + version: 8.4.33 + packages/react: dependencies: use-sync-external-store: @@ -389,8 +438,8 @@ importers: specifier: ^2.1.0 version: 2.1.0 next: - specifier: ^14.0.3 - version: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + specifier: ^14.1.0 + version: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) react: specifier: ^18.2.0 version: 18.2.0 @@ -430,7 +479,6 @@ packages: /@alloc/quick-lru@5.2.0: resolution: {integrity: sha512-UrcABB+4bUrFABwbluTIBErXwvbsU/V7TZWfmbgJfbkwiBuziS9gxdODUyuiecfdGQ85jglMW6juS3+z5TsKLw==} engines: {node: '>=10'} - dev: true /@ampproject/remapping@2.2.1: resolution: {integrity: sha512-lFMjJTrFL3j7L9yBxwYfCq2k6qqwHyzuUl/XBnif78PWTJYyL/dfowQHWE3sp6U6ZzqWiiIZnpTMO96zhkjwtg==} @@ -1787,8 +1835,8 @@ packages: '@napi-rs/simple-git-win32-x64-msvc': 0.1.9 dev: false - /@next/env@14.0.3: - resolution: {integrity: sha512-7xRqh9nMvP5xrW4/+L0jgRRX+HoNRGnfJpD+5Wq6/13j3dsdzxO3BCXn7D3hMqsDb+vjZnJq+vI7+EtgrYZTeA==} + /@next/env@14.1.0: + resolution: {integrity: sha512-Py8zIo+02ht82brwwhTg36iogzFqGLPXlRGKQw5s+qP/kMNc4MAyDeEwBKDijk6zTIbegEgu8Qy7C1LboslQAw==} dev: false /@next/eslint-plugin-next@14.1.0: @@ -1797,8 +1845,8 @@ packages: glob: 10.3.10 dev: true - /@next/swc-darwin-arm64@14.0.3: - resolution: {integrity: sha512-64JbSvi3nbbcEtyitNn2LEDS/hcleAFpHdykpcnrstITFlzFgB/bW0ER5/SJJwUPj+ZPY+z3e+1jAfcczRLVGw==} + /@next/swc-darwin-arm64@14.1.0: + resolution: {integrity: sha512-nUDn7TOGcIeyQni6lZHfzNoo9S0euXnu0jhsbMOmMJUBfgsnESdjN97kM7cBqQxZa8L/bM9om/S5/1dzCrW6wQ==} engines: {node: '>= 10'} cpu: [arm64] os: [darwin] @@ -1806,8 +1854,8 @@ packages: dev: false optional: true - /@next/swc-darwin-x64@14.0.3: - resolution: {integrity: sha512-RkTf+KbAD0SgYdVn1XzqE/+sIxYGB7NLMZRn9I4Z24afrhUpVJx6L8hsRnIwxz3ERE2NFURNliPjJ2QNfnWicQ==} + /@next/swc-darwin-x64@14.1.0: + resolution: {integrity: sha512-1jgudN5haWxiAl3O1ljUS2GfupPmcftu2RYJqZiMJmmbBT5M1XDffjUtRUzP4W3cBHsrvkfOFdQ71hAreNQP6g==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] @@ -1815,8 +1863,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-gnu@14.0.3: - resolution: {integrity: sha512-3tBWGgz7M9RKLO6sPWC6c4pAw4geujSwQ7q7Si4d6bo0l6cLs4tmO+lnSwFp1Tm3lxwfMk0SgkJT7EdwYSJvcg==} + /@next/swc-linux-arm64-gnu@14.1.0: + resolution: {integrity: sha512-RHo7Tcj+jllXUbK7xk2NyIDod3YcCPDZxj1WLIYxd709BQ7WuRYl3OWUNG+WUfqeQBds6kvZYlc42NJJTNi4tQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1824,8 +1872,8 @@ packages: dev: false optional: true - /@next/swc-linux-arm64-musl@14.0.3: - resolution: {integrity: sha512-v0v8Kb8j8T23jvVUWZeA2D8+izWspeyeDGNaT2/mTHWp7+37fiNfL8bmBWiOmeumXkacM/AB0XOUQvEbncSnHA==} + /@next/swc-linux-arm64-musl@14.1.0: + resolution: {integrity: sha512-v6kP8sHYxjO8RwHmWMJSq7VZP2nYCkRVQ0qolh2l6xroe9QjbgV8siTbduED4u0hlk0+tjS6/Tuy4n5XCp+l6g==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] @@ -1833,8 +1881,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-gnu@14.0.3: - resolution: {integrity: sha512-VM1aE1tJKLBwMGtyBR21yy+STfl0MapMQnNrXkxeyLs0GFv/kZqXS5Jw/TQ3TSUnbv0QPDf/X8sDXuMtSgG6eg==} + /@next/swc-linux-x64-gnu@14.1.0: + resolution: {integrity: sha512-zJ2pnoFYB1F4vmEVlb/eSe+VH679zT1VdXlZKX+pE66grOgjmKJHKacf82g/sWE4MQ4Rk2FMBCRnX+l6/TVYzQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1842,8 +1890,8 @@ packages: dev: false optional: true - /@next/swc-linux-x64-musl@14.0.3: - resolution: {integrity: sha512-64EnmKy18MYFL5CzLaSuUn561hbO1Gk16jM/KHznYP3iCIfF9e3yULtHaMy0D8zbHfxset9LTOv6cuYKJgcOxg==} + /@next/swc-linux-x64-musl@14.1.0: + resolution: {integrity: sha512-rbaIYFt2X9YZBSbH/CwGAjbBG2/MrACCVu2X0+kSykHzHnYH5FjHxwXLkcoJ10cX0aWCEynpu+rP76x0914atg==} engines: {node: '>= 10'} cpu: [x64] os: [linux] @@ -1851,8 +1899,8 @@ packages: dev: false optional: true - /@next/swc-win32-arm64-msvc@14.0.3: - resolution: {integrity: sha512-WRDp8QrmsL1bbGtsh5GqQ/KWulmrnMBgbnb+59qNTW1kVi1nG/2ndZLkcbs2GX7NpFLlToLRMWSQXmPzQm4tog==} + /@next/swc-win32-arm64-msvc@14.1.0: + resolution: {integrity: sha512-o1N5TsYc8f/HpGt39OUQpQ9AKIGApd3QLueu7hXk//2xq5Z9OxmV6sQfNp8C7qYmiOlHYODOGqNNa0e9jvchGQ==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] @@ -1860,8 +1908,8 @@ packages: dev: false optional: true - /@next/swc-win32-ia32-msvc@14.0.3: - resolution: {integrity: sha512-EKffQeqCrj+t6qFFhIFTRoqb2QwX1mU7iTOvMyLbYw3QtqTw9sMwjykyiMlZlrfm2a4fA84+/aeW+PMg1MjuTg==} + /@next/swc-win32-ia32-msvc@14.1.0: + resolution: {integrity: sha512-XXIuB1DBRCFwNO6EEzCTMHT5pauwaSj4SWs7CYnME57eaReAKBXCnkUE80p/pAZcewm7hs+vGvNqDPacEXHVkw==} engines: {node: '>= 10'} cpu: [ia32] os: [win32] @@ -1869,8 +1917,8 @@ packages: dev: false optional: true - /@next/swc-win32-x64-msvc@14.0.3: - resolution: {integrity: sha512-ERhKPSJ1vQrPiwrs15Pjz/rvDHZmkmvbf/BjPN/UCOI++ODftT0GtasDPi0j+y6PPJi5HsXw+dpRaXUaw4vjuQ==} + /@next/swc-win32-x64-msvc@14.1.0: + resolution: {integrity: sha512-9WEbVRRAqJ3YFVqEZIxUqkiO8l1nool1LmNxygr5HWF8AcSYsEpneUDhmjUVJEzO2A04+oPtZdombzzPPkTtgg==} engines: {node: '>= 10'} cpu: [x64] os: [win32] @@ -2058,6 +2106,14 @@ packages: /@tanstack/query-core@4.36.1: resolution: {integrity: sha512-DJSilV5+ytBP1FbFcEJovv4rnnm/CokuVvrBEtW/Va9DvuJ3HksbXUJEpI0aV1KtuL4ZoO9AVE6PyNLzF7tLeA==} + /@tanstack/query-core@5.17.19: + resolution: {integrity: sha512-Lzw8FUtnLCc9Jwz0sw9xOjZB+/mCCmJev38v2wHMUl/ioXNIhnNWeMxu0NKUjIhAd62IRB3eAtvxAGDJ55UkyA==} + dev: false + + /@tanstack/query-devtools@5.17.21: + resolution: {integrity: sha512-WWfcnNjTEqcuAS5GyKkVGkseuES6yd197MJWGImBu+MoCjWPqxSXKCCfm+utSXJauJUGm7xoMmhqCphiQdjf8w==} + dev: false + /@tanstack/react-query-devtools@4.36.1(@tanstack/react-query@4.36.1)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-WYku83CKP3OevnYSG8Y/QO9g0rT75v1om5IvcWUwiUZJ4LanYGLVCZ8TdFG5jfsq4Ej/lu2wwDAULEUnRIMBSw==} peerDependencies: @@ -2073,6 +2129,29 @@ packages: use-sync-external-store: 1.2.0(react@18.2.0) dev: false + /@tanstack/react-query-devtools@5.17.21(@tanstack/react-query@5.17.19)(react@18.2.0): + resolution: {integrity: sha512-Ri1AuWpN67eyPdMTlPxx1TMGNUaxTHrGv0ll0S20ZObz/Xms5wfANV3c6OX0HZTY0igudP1k5jpRLXNkd249mg==} + peerDependencies: + '@tanstack/react-query': ^5.17.19 + react: ^18.0.0 + dependencies: + '@tanstack/query-devtools': 5.17.21 + '@tanstack/react-query': 5.17.19(react@18.2.0) + react: 18.2.0 + dev: false + + /@tanstack/react-query-next-experimental@5.17.19(@tanstack/react-query@5.17.19)(next@14.1.0)(react@18.2.0): + resolution: {integrity: sha512-JLZWhpVtpUccOZvrWvMeK3fe0Atq6kGNDO6RmhXPfyZ3tzCFfVKhu1ws3fP99HUnLX651uMxeNiz9eBqKqL1OQ==} + peerDependencies: + '@tanstack/react-query': ^5.17.19 + next: ^13 || ^14 + react: ^18.0.0 + dependencies: + '@tanstack/react-query': 5.17.19(react@18.2.0) + next: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + react: 18.2.0 + dev: false + /@tanstack/react-query@4.36.1(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-y7ySVHFyyQblPl3J3eQBWpXZkliroki3ARnBKsdJchlgt7yJLRDUcf4B8soufgiYt3pEQIkBWBx1N9/ZPIeUWw==} peerDependencies: @@ -2090,6 +2169,15 @@ packages: react-dom: 18.2.0(react@18.2.0) use-sync-external-store: 1.2.0(react@18.2.0) + /@tanstack/react-query@5.17.19(react@18.2.0): + resolution: {integrity: sha512-qaQENB6/03Gj3dFZGvdmUoqeUGlGm7P1p0RmaR04Bf1Ib1T9lLGimcC9T3oCFbrx0b2ZF21ngjFZNjj9uPJMcg==} + peerDependencies: + react: ^18.0.0 + dependencies: + '@tanstack/query-core': 5.17.19 + react: 18.2.0 + dev: false + /@testing-library/dom@9.3.4: resolution: {integrity: sha512-FlS4ZWlp97iiNWig0Muq8p+3rVDjRiYE+YKGbAqXOu9nwJFFOdL00kFpz42M+4huzYi86vAK1sOOfyOG45muIQ==} engines: {node: '>=14'} @@ -2753,7 +2841,6 @@ packages: /any-promise@1.3.0: resolution: {integrity: sha512-7UvmKalWRt1wgjL1RrGxoSJW/0QZFIegpeGvZG9kjp8vrRu55XTHbwnqq2GpXm9uLbcuhxm3IqX9OB4MZR1b2A==} - dev: true /anymatch@3.1.3: resolution: {integrity: sha512-KMReFUr0B4t+D+OBkjR3KYqvocp2XaSzO55UcB6mgQMd3KbcE+mWTyvVV7D/zsdEbNnV6acZUutkiHQXvTr1Rw==} @@ -2761,7 +2848,6 @@ packages: dependencies: normalize-path: 3.0.0 picomatch: 2.3.1 - dev: true /arch@2.2.0: resolution: {integrity: sha512-Of/R0wqp83cgHozfIYLbBMnej79U/SVGOOyuB3VVFv1NRM/PSFMK12x9KVtiYzJqmnU5WR2qp0Z5rHb7sWGnFQ==} @@ -2778,7 +2864,6 @@ packages: /arg@5.0.2: resolution: {integrity: sha512-PYjyFOLKQ9y57JvQ6QLo8dAgNqswh8M1RMJYdQduT6xbWSgK36P/Z/v+p888pM69jMMfS8Xd8F6I1kQ/I9HUGg==} - dev: true /argparse@1.0.10: resolution: {integrity: sha512-o5Roy6tNG4SL/FOkCAN6RzjiakZS25RLYFrcMttJqbdd8BWrnA+fGz57iN5Pb06pvBGvl5gQ0B48dJlslXvoTg==} @@ -2949,7 +3034,6 @@ packages: /binary-extensions@2.2.0: resolution: {integrity: sha512-jDctJ/IVQbZoJykoeHbhXpOlNBqGNcwXJKJog42E5HDPUwQTSdjCHdihjj0DlnheQ7blbT6dHOafNAiS8ooQKA==} engines: {node: '>=8'} - dev: true /brace-expansion@1.1.11: resolution: {integrity: sha512-iCuPHDFgrHX7H2vEI/5xpz07zSHB00TpugqhmYtVmMO6518mCuRMoOYFldEBl0g187ufozdaHgWKcYFb61qGiA==} @@ -3031,7 +3115,6 @@ packages: /camelcase-css@2.0.1: resolution: {integrity: sha512-QOSvevhslijgYwRx6Rv7zKdMF8lbRmx+uQGx2+vDc+KI/eBnsy9kit5aj23AgGu3pa4t9AgwbnXWqS+iOY+2aA==} engines: {node: '>= 6'} - dev: true /camelcase-keys@6.2.2: resolution: {integrity: sha512-YrwaA0vEKazPBkn0ipTiMpSajYDSe+KjQfrjhcBMxJt/znbvlHd8Pw/Vamaz5EB4Wfhs3SUR3Z9mwRu/P3s3Yg==} @@ -3154,7 +3237,6 @@ packages: readdirp: 3.6.0 optionalDependencies: fsevents: 2.3.3 - dev: true /ci-info@3.9.0: resolution: {integrity: sha512-NIxF55hv4nSqQswkAeiOi1r83xy8JldOFDTWiug55KBu9Jnblncd2U6ViHmYgHf01TPZS77NJBhBMKdWj9HQMQ==} @@ -3284,7 +3366,6 @@ packages: /commander@4.1.1: resolution: {integrity: sha512-NOKm8xhkzAjzFx8B2v5OAHT+u5pRQc2UCa2Vq9jYL/31o2wi9mxBA7LIFs3sV5VSC49z6pEhfbMULvShKj26WA==} engines: {node: '>= 6'} - dev: true /commander@7.2.0: resolution: {integrity: sha512-QrWXB+ZQSVPmIWIhtEO9H+gwHaMGYiF5ChvoJ+K9ZGHG/sVsa6yiesAD1GC/x46sET00Xlwo1u49RVVVzvcSkw==} @@ -3540,7 +3621,6 @@ packages: resolution: {integrity: sha512-/Tb/JcjK111nNScGob5MNtsntNM1aCNUDipB/TkwZFhyDrrE47SOx/18wF2bbjgc3ZzCSKW1T5nt5EbFoAz/Vg==} engines: {node: '>=4'} hasBin: true - dev: true /cssstyle@4.0.1: resolution: {integrity: sha512-8ZYiJ3A/3OkDd093CBT/0UKDWry7ak4BdPTFP2+QEP7cmhouyq/Up709ASSj2cK02BbZiMgk7kYjZNS4QP5qrQ==} @@ -4017,7 +4097,6 @@ packages: /didyoumean@1.2.2: resolution: {integrity: sha512-gxtyfqMg7GKyhQmb056K7M3xszy/myH8w+B4RT+QXBQsvAOdc3XymqDDPHx1BgPgsdAA5SIifona89YtRATDzw==} - dev: true /diff-sequences@29.6.3: resolution: {integrity: sha512-EjePK1srD3P08o2j4f0ExnylqRs5B9tJjcp9t1krH2qRi8CCdsYfwe9JgSLurFBWwq4uOlipzfk5fHNvwFKr8Q==} @@ -4036,7 +4115,6 @@ packages: /dlv@1.1.3: resolution: {integrity: sha512-+HlytyjlPKnIG8XuRG8WvmBP8xs8P71y+SKKS6ZXWoEgLuePxtDoUEiH7WkdePWrQ5JBpE6aoVqfZfJUQkjXwA==} - dev: true /doctrine@2.1.0: resolution: {integrity: sha512-35mSku4ZXK0vfCuHEDAwt55dg2jNajHZ1odvF+8SSr82EsZY4QmXfuWso8oEd8zRhVObSN18aM0CjSdoBX7zIw==} @@ -5001,10 +5079,6 @@ packages: dependencies: is-glob: 4.0.3 - /glob-to-regexp@0.4.1: - resolution: {integrity: sha512-lkX1HJXwyMcprw/5YUZc2s7DrpAiHB21/V+E1rHUrVNokkvB6bqMzT0VfV6/86ZNabt1k14YOIaT7nDvOX3Iiw==} - dev: false - /glob@10.3.10: resolution: {integrity: sha512-fa46+tv1Ak0UPK1TOy/pZrIybNNt4HCv7SDzwyfiOZkvZLEbjsZkJBPtDHVshZjbecAoAGSC20MjLDG/qr679g==} engines: {node: '>=16 || 14 >=14.17'} @@ -5026,7 +5100,6 @@ packages: minimatch: 3.1.2 once: 1.4.0 path-is-absolute: 1.0.1 - dev: true /glob@7.2.3: resolution: {integrity: sha512-nFR0zLpU2YCaRxwoCJvL6UvCH2JFyFVIvwTLsIf21AuHlMskA1hhTdk+LlYJtOlYt9v6dvszD2BGRqBL+iQK9Q==} @@ -5503,7 +5576,6 @@ packages: engines: {node: '>=8'} dependencies: binary-extensions: 2.2.0 - dev: true /is-boolean-object@1.1.2: resolution: {integrity: sha512-gDYaKHJmnj4aWxyj6YHyXVpdQawtVLHU5cb+eztPGczf6cjuTdwve5ZIEfgXqH4e57An1D1AKf8CZ3kYrQRqYA==} @@ -5816,7 +5888,6 @@ packages: resolution: {integrity: sha512-gFqAIbuKyyso/3G2qhiO2OM6shY6EPP/R0+mkDbyspxKazh8BXDC5FiFsUjlczgdNz/vfra0da2y+aHrusLG/Q==} hasBin: true requiresBuild: true - dev: true /joycon@3.1.1: resolution: {integrity: sha512-34wB/Y7MW7bzjKRjUKTa46I2Z7eV62Rkhva+KkopW7Qvv/OSWBqvkSY7vusOPrNuZcUG3tApvdVgNB8POj3SPw==} @@ -5989,7 +6060,6 @@ packages: /lilconfig@2.1.0: resolution: {integrity: sha512-utWOt/GHzuUxnLKxB6dk81RoOeoNeHgbrXiuGk4yyF5qlRz+iIVWu56E2fqGHFrXz0QNUhLB/8nKqvRH66JKGQ==} engines: {node: '>=10'} - dev: true /lilconfig@3.0.0: resolution: {integrity: sha512-K2U4W2Ff5ibV7j7ydLr+zLAkIg5JJ4lPn1Ltsdt+Tz/IjQ8buJ55pZAxoP34lqIiwtF9iAvtLv3JGv7CAyAg+g==} @@ -5998,7 +6068,6 @@ packages: /lines-and-columns@1.2.4: resolution: {integrity: sha512-7ylylesZQ/PV29jhEDl3Ufjo6ZX7gCqJr5F7PKrqc93v7fzSymt1BpwEU8nAUXs8qzzvqhbjhK5QZg6Mt/HkBg==} - dev: true /lint-staged@15.2.0: resolution: {integrity: sha512-TFZzUEV00f+2YLaVPWBWGAMq7So6yQx+GG8YRMDeOEIf95Zn5RyiLMsEiX4KTNl9vq/w+NqRJkLA1kPIo15ufQ==} @@ -7008,7 +7077,6 @@ packages: any-promise: 1.3.0 object-assign: 4.1.1 thenify-all: 1.6.0 - dev: true /nanoid@3.3.7: resolution: {integrity: sha512-eSRppjcPIatRIMC1U6UngP8XFcz8MQWGQdt1MTBQ7NaAmvXDfvNxbvWV3x2y6CdEUciCSsDHDQZbhYaB8QEo2g==} @@ -7035,32 +7103,32 @@ packages: - supports-color dev: false - /next-seo@6.4.0(next@14.0.3)(react-dom@18.2.0)(react@18.2.0): + /next-seo@6.4.0(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-XQFxkOL2hw0YE+P100HbI3EAvcludlHPxuzMgaIjKb7kPK0CvjGvLFjd9hszZFEDc5oiQkGFA8+cuWcnip7eYA==} peerDependencies: next: ^8.1.1-canary.54 || >=9.0.0 react: '>=16.0.0' react-dom: '>=16.0.0' dependencies: - next: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /next-themes@0.2.1(next@14.0.3)(react-dom@18.2.0)(react@18.2.0): + /next-themes@0.2.1(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-B+AKNfYNIzh0vqQQKqQItTS8evEouKD7H5Hj3kmuPERwddR2TxvDSFZuTj6T7Jfn1oyeUyJMydPl1Bkxkh0W7A==} peerDependencies: next: '*' react: '*' react-dom: '*' dependencies: - next: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) dev: false - /next@14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0): - resolution: {integrity: sha512-AbYdRNfImBr3XGtvnwOxq8ekVCwbFTv/UJoLwmaX89nk9i051AEY4/HAWzU0YpaTDw8IofUpmuIlvzWF13jxIw==} + /next@14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0): + resolution: {integrity: sha512-wlzrsbfeSU48YQBjZhDzOwhWhGsy+uQycR8bHAOt1LY1bn3zZEcDyHQOEoN3aWzQ8LHCAJ1nqrWCc9XF2+O45Q==} engines: {node: '>=18.17.0'} hasBin: true peerDependencies: @@ -7074,31 +7142,31 @@ packages: sass: optional: true dependencies: - '@next/env': 14.0.3 + '@next/env': 14.1.0 '@swc/helpers': 0.5.2 busboy: 1.6.0 caniuse-lite: 1.0.30001579 + graceful-fs: 4.2.11 postcss: 8.4.31 react: 18.2.0 react-dom: 18.2.0(react@18.2.0) styled-jsx: 5.1.1(@babel/core@7.23.3)(react@18.2.0) - watchpack: 2.4.0 optionalDependencies: - '@next/swc-darwin-arm64': 14.0.3 - '@next/swc-darwin-x64': 14.0.3 - '@next/swc-linux-arm64-gnu': 14.0.3 - '@next/swc-linux-arm64-musl': 14.0.3 - '@next/swc-linux-x64-gnu': 14.0.3 - '@next/swc-linux-x64-musl': 14.0.3 - '@next/swc-win32-arm64-msvc': 14.0.3 - '@next/swc-win32-ia32-msvc': 14.0.3 - '@next/swc-win32-x64-msvc': 14.0.3 + '@next/swc-darwin-arm64': 14.1.0 + '@next/swc-darwin-x64': 14.1.0 + '@next/swc-linux-arm64-gnu': 14.1.0 + '@next/swc-linux-arm64-musl': 14.1.0 + '@next/swc-linux-x64-gnu': 14.1.0 + '@next/swc-linux-x64-musl': 14.1.0 + '@next/swc-win32-arm64-msvc': 14.1.0 + '@next/swc-win32-ia32-msvc': 14.1.0 + '@next/swc-win32-x64-msvc': 14.1.0 transitivePeerDependencies: - '@babel/core' - babel-plugin-macros dev: false - /nextra-theme-docs@2.13.2(next@14.0.3)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0): + /nextra-theme-docs@2.13.2(next@14.1.0)(nextra@2.13.2)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-yE4umXaImp1/kf/sFciPj2+EFrNSwd9Db26hi98sIIiujzGf3+9eUgAz45vF9CwBw50FSXxm1QGRcY+slQ4xQQ==} peerDependencies: next: '>=9.5.3' @@ -7115,17 +7183,17 @@ packages: git-url-parse: 13.1.1 intersection-observer: 0.12.2 match-sorter: 6.3.1 - next: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) - next-seo: 6.4.0(next@14.0.3)(react-dom@18.2.0)(react@18.2.0) - next-themes: 0.2.1(next@14.0.3)(react-dom@18.2.0)(react@18.2.0) - nextra: 2.13.2(next@14.0.3)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + next-seo: 6.4.0(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) + next-themes: 0.2.1(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) + nextra: 2.13.2(next@14.1.0)(react-dom@18.2.0)(react@18.2.0) react: 18.2.0 react-dom: 18.2.0(react@18.2.0) scroll-into-view-if-needed: 3.1.0 zod: 3.22.4 dev: false - /nextra@2.13.2(next@14.0.3)(react-dom@18.2.0)(react@18.2.0): + /nextra@2.13.2(next@14.1.0)(react-dom@18.2.0)(react@18.2.0): resolution: {integrity: sha512-pIgOSXNUqTz1laxV4ChFZOU7lzJAoDHHaBPj8L09PuxrLKqU1BU/iZtXAG6bQeKCx8EPdBsoXxEuENnL9QGnGA==} engines: {node: '>=16'} peerDependencies: @@ -7145,7 +7213,7 @@ packages: gray-matter: 4.0.3 katex: 0.16.9 lodash.get: 4.4.2 - next: 14.0.3(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) + next: 14.1.0(@babel/core@7.23.3)(react-dom@18.2.0)(react@18.2.0) next-mdx-remote: 4.4.1(react-dom@18.2.0)(react@18.2.0) p-limit: 3.1.0 react: 18.2.0 @@ -7204,7 +7272,6 @@ packages: /normalize-path@3.0.0: resolution: {integrity: sha512-6eZs5Ls3WtCisHWp9S2GUy8dqkpGi4BVSz3GaqiE6ezub0512ESztXUwUB6C6IKbQkY2Pnb/mD4WYojCRwcwLA==} engines: {node: '>=0.10.0'} - dev: true /normalize-range@0.1.2: resolution: {integrity: sha512-bdok/XvKII3nUpklnV6P2hxtMNrCboOjAcyBuQnWEhO665FwrSNRxU+AqpsyvO6LgGYPspN+lu5CLtw4jPRKNA==} @@ -7269,7 +7336,6 @@ packages: /object-hash@3.0.0: resolution: {integrity: sha512-RSn9F68PjH9HqtltsSnqYC1XXoWe9Bju5+213R98cNGttag9q9yAOTzdbsqvIa7aNm5WffBZFpWYr2aWrklWAw==} engines: {node: '>= 6'} - dev: true /object-inspect@1.13.1: resolution: {integrity: sha512-5qoj1RUiKOMsCCNLV1CBiPYE10sziTsnmNxkAI/rZhiD63CF7IqdFGC/XzjWjpSgLf0LxXX3bDFIh0E18f6UhQ==} @@ -7585,7 +7651,6 @@ packages: /pify@2.3.0: resolution: {integrity: sha512-udgsAY+fTnvv7kI7aaxbqwWNb0AHiB0qBO89PZKPkoTmGOgdbrHDKD+0B2X4uTfJ/FT1R09r9gTsjUjNJotuog==} engines: {node: '>=0.10.0'} - dev: true /pify@4.0.1: resolution: {integrity: sha512-uB80kBFb/tfd68bVleG9T5GGsGPjJrLAUpR5PZIrhBnIaRTQRjqdJSsIKkOP6OAIFbj7GOrcudc5pNjZ+geV2g==} @@ -7595,7 +7660,6 @@ packages: /pirates@4.0.6: resolution: {integrity: sha512-saLsH7WeYYPiD25LDuLRRY/i+6HaPYr6G1OUlN39otzkSTxKnubR9RTxS3/Kk50s1g2JTgFwWQDQyplC5/SHZg==} engines: {node: '>= 6'} - dev: true /pkg-dir@4.2.0: resolution: {integrity: sha512-HRDzbaKjC+AOWVXxAU/x54COGeIv9eb+6CkDSQoNTt4XyWoIJvuPsXizxu/Fr23EiekbtZwmh1IcIG/l/a10GQ==} @@ -7635,7 +7699,6 @@ packages: postcss-value-parser: 4.2.0 read-cache: 1.0.0 resolve: 1.22.8 - dev: true /postcss-js@4.0.1(postcss@8.4.33): resolution: {integrity: sha512-dDLF8pEO191hJMtlHFPRa8xsizHaM82MLfNkUHdUtVEV3tgTp5oj+8qbEqYM57SLfc74KSbw//4SeJma2LRVIw==} @@ -7645,7 +7708,6 @@ packages: dependencies: camelcase-css: 2.0.1 postcss: 8.4.33 - dev: true /postcss-load-config@4.0.1(postcss@8.4.33): resolution: {integrity: sha512-vEJIc8RdiBRu3oRAI0ymerOn+7rPuMvRXslTvZUKZonDHFIczxztIyJ1urxM1x9JXEikvpWWTUUqal5j/8QgvA==} @@ -7662,7 +7724,6 @@ packages: lilconfig: 2.1.0 postcss: 8.4.33 yaml: 2.3.4 - dev: true /postcss-nested@6.0.1(postcss@8.4.33): resolution: {integrity: sha512-mEp4xPMi5bSWiMbsgoPfcP74lsWLHkQbZc3sY+jWYd65CUwXrUaTp0fmNpa01ZcETKlIgUdFN/MpS2xZtqL9dQ==} @@ -7672,7 +7733,6 @@ packages: dependencies: postcss: 8.4.33 postcss-selector-parser: 6.0.13 - dev: true /postcss-selector-parser@6.0.13: resolution: {integrity: sha512-EaV1Gl4mUEV4ddhDnv/xtj7sxwrwxdetHdWUGnT4VJQf+4d05v6lHYZr8N573k5Z0BViss7BDhfWtKS3+sfAqQ==} @@ -7680,11 +7740,9 @@ packages: dependencies: cssesc: 3.0.0 util-deprecate: 1.0.2 - dev: true /postcss-value-parser@4.2.0: resolution: {integrity: sha512-1NNCs6uurfkVbeXG4S8JFT9t19m45ICnif8zWLd5oPSZ50QnwMfK+H3jv408d4jw/7Bttv5axS5IiHoLaVNHeQ==} - dev: true /postcss@8.4.31: resolution: {integrity: sha512-PS08Iboia9mts/2ygV3eLpY5ghnUcfLV/EXTOW1E2qYxJKGGBUtNjN76FYHnMs36RmARn41bC0AZmn+rR0OVpQ==} @@ -7887,7 +7945,6 @@ packages: resolution: {integrity: sha512-Owdv/Ft7IjOgm/i0xvNDZ1LrRANRfew4b2prF3OWMQLxLfu3bS8FVhCsrSCMK4lR56Y9ya+AThoTpDCTxCmpRA==} dependencies: pify: 2.3.0 - dev: true /read-pkg-up@7.0.1: resolution: {integrity: sha512-zK0TB7Xd6JpCLmlLmufqykGE+/TlOePD6qKClNW7hHDKFh/J7/7gCWGR7joEQEW1bKq3a3yUZSObOoWLFQ4ohg==} @@ -7932,7 +7989,6 @@ packages: engines: {node: '>=8.10.0'} dependencies: picomatch: 2.3.1 - dev: true /reading-time@1.5.0: resolution: {integrity: sha512-onYyVhBNr4CmAxFsKS7bz+uTLRakypIe4R+5A824vBSkQy/hB3fZepoVEf8OVAxzLvK+H/jm9TzpI3ETSm64Kg==} @@ -8719,7 +8775,6 @@ packages: mz: 2.7.0 pirates: 4.0.6 ts-interface-checker: 0.1.13 - dev: true /superjson@1.13.3: resolution: {integrity: sha512-mJiVjfd2vokfDxsQPOwJ/PtanO87LhpYY88ubI5dUB1Ab58Txbyje3+jpm+/83R/fevaq/107NNhtYBLuoTrFg==} @@ -8799,7 +8854,6 @@ packages: sucrase: 3.34.0 transitivePeerDependencies: - ts-node - dev: true /tapable@2.2.1: resolution: {integrity: sha512-GNzQvQTOIP6RyTfE2Qxb8ZVlNmw0n88vp1szwWRimP02mnTsx3Wtn5qRdqY9w2XduFNUgvOwhNnQsjwCp+kqaQ==} @@ -8833,13 +8887,11 @@ packages: engines: {node: '>=0.8'} dependencies: thenify: 3.3.1 - dev: true /thenify@3.3.1: resolution: {integrity: sha512-RVZSIV5IG10Hk3enotrhvz0T9em6cyHBLkH/YAZuKqd8hRkKhSfCGIcP2KUY0EPxndzANBmNllzWPwak+bheSw==} dependencies: any-promise: 1.3.0 - dev: true /through2@4.0.2: resolution: {integrity: sha512-iOqSav00cVxEEICeD7TjLB1sueEL+81Wpzp2bY17uZjZN0pWZPuo4suZ/61VujxmqSGFfgOcNuTZ85QJwNZQpw==} @@ -8957,7 +9009,6 @@ packages: /ts-interface-checker@0.1.13: resolution: {integrity: sha512-Y/arvbn+rrz3JCKl9C4kVNfTfSm2/mEp5FSz5EsZSANGPSlQrpRI5M4PKF+mJnE52jOO90PnPSc3Ur3bTQw0gA==} - dev: true /ts-toolbelt@6.15.5: resolution: {integrity: sha512-FZIXf1ksVyLcfr7M317jbB67XFJhOO1YqdTcuGaq9q5jLUoTikukZ+98TPjKiP2jC5CgmYdWWYs0s2nLSU0/1A==} @@ -9384,7 +9435,6 @@ packages: /util-deprecate@1.0.2: resolution: {integrity: sha512-EPD5q1uXyFxJpCrLnCc1nHnq3gOa6DZBocAIiI2TaSCA7VCJ1UJDMagCzIkXNsUYfD1daK//LTEQ8xiIbrHtcw==} - dev: true /uuid@9.0.1: resolution: {integrity: sha512-b+1eJOlsR9K8HJpow9Ok3fiWOWSIcIzXodvv0rQjVoOVNpWMpxf1wZNpt4y9h10odCNrqnYp1OBzRktckBe3sA==} @@ -9598,14 +9648,6 @@ packages: dependencies: xml-name-validator: 5.0.0 - /watchpack@2.4.0: - resolution: {integrity: sha512-Lcvm7MGST/4fup+ifyKi2hjyIAwcdI4HRgtvTpIUxBRhB+RFtUh8XtDOxUfctVCnhVi+QQj49i91OyvzkJl6cg==} - engines: {node: '>=10.13.0'} - dependencies: - glob-to-regexp: 0.4.1 - graceful-fs: 4.2.11 - dev: false - /wcwidth@1.0.1: resolution: {integrity: sha512-XHPEwS0q6TaxcvG85+8EYkbiCux2XtWG2mkc47Ng2A77BQu9+DqIOJldST4HgPkuea7dvKSj5VgX3P1d4rW8Tg==} dependencies: diff --git a/pnpm-workspace.yaml b/pnpm-workspace.yaml index 0f9837f5c..7216ccf5c 100644 --- a/pnpm-workspace.yaml +++ b/pnpm-workspace.yaml @@ -1,5 +1,6 @@ packages: - "configs/*" - "docs/*" + - "examples/*" - "packages/*" - "websites/*" diff --git a/websites/visualization/package.json b/websites/visualization/package.json index 367ca8f44..ed2e9fc21 100644 --- a/websites/visualization/package.json +++ b/websites/visualization/package.json @@ -29,7 +29,7 @@ "@tanstack/react-query-devtools": "^4.36.1", "axios": "^1.6.7", "clsx": "^2.1.0", - "next": "^14.0.3", + "next": "^14.1.0", "react": "^18.2.0", "react-dom": "^18.2.0" },