From 73705d1e2d0b8828cf9bc9e0f4ef90b0b36b0a59 Mon Sep 17 00:00:00 2001 From: better-salmon <132773930+better-salmon@users.noreply.github.com> Date: Sun, 9 Feb 2025 02:22:55 +0300 Subject: [PATCH 1/2] Migrate documentation to App Router and update dependencies --- biome.json | 3 +- .../{next.config.js => next.config.ts} | 18 +- docs/cache-handler-docs/package.json | 19 +- .../public/favicon-16x16.png | Bin 854 -> 0 bytes .../public/favicon-32x32.png | Bin 2502 -> 0 bytes .../src/{pages => app}/_meta.ts | 20 +- .../src/{pages => app}/api-reference/_meta.ts | 0 .../cache-handler-config/page.mdx} | 0 .../cache-handler-value/page.mdx} | 0 .../api-reference/handler/page.mdx} | 2 +- .../lifespan-parameters/page.mdx} | 0 .../api-reference/on-creation/page.mdx} | 2 + .../api-reference/ttl-parameters/page.mdx} | 0 .../src/{pages => app}/functions/_meta.ts | 0 .../functions/nesh-cache/page.mdx} | 0 .../functions/nesh-classic-cache/page.mdx} | 10 +- .../src/{pages => app}/handlers/_meta.ts | 0 .../experimental-redis-cluster/page.mdx} | 9 +- .../handlers/local-lru/page.mdx} | 9 +- .../handlers/redis-stack/page.mdx} | 9 +- .../handlers/redis-strings/page.mdx} | 0 .../apple-touch-icon.png => src/app/icon.png} | Bin .../installation/page.mdx} | 32 +- docs/cache-handler-docs/src/app/layout.tsx | 62 ++ .../src/{pages/index.mdx => app/page.mdx} | 4 +- .../{pages/redis.mdx => app/redis/page.mdx} | 12 +- .../troubleshooting/page.mdx} | 10 +- .../src/{pages => app}/usage/_meta.ts | 2 +- .../usage/build-id-as-prefix-key/page.mdx} | 11 +- .../usage/creating-a-custom-handler/page.mdx} | 10 +- .../usage/development-environment/page.mdx} | 2 +- .../usage/on-demand-revalidation/page.mdx} | 4 +- .../usage/opt-out-cache-on-build/page.mdx} | 4 +- .../usage/populating-cache-on-start/page.mdx} | 20 +- docs/cache-handler-docs/src/mdx-components.js | 10 + docs/cache-handler-docs/src/pages/_app.tsx | 5 - docs/cache-handler-docs/theme.config.jsx | 81 -- docs/cache-handler-docs/tsconfig.json | 2 +- pnpm-lock.yaml | 951 +++++++++++++----- 39 files changed, 889 insertions(+), 434 deletions(-) rename docs/cache-handler-docs/{next.config.js => next.config.ts} (51%) delete mode 100644 docs/cache-handler-docs/public/favicon-16x16.png delete mode 100644 docs/cache-handler-docs/public/favicon-32x32.png rename docs/cache-handler-docs/src/{pages => app}/_meta.ts (77%) rename docs/cache-handler-docs/src/{pages => app}/api-reference/_meta.ts (100%) rename docs/cache-handler-docs/src/{pages/api-reference/cache-handler-config.mdx => app/api-reference/cache-handler-config/page.mdx} (100%) rename docs/cache-handler-docs/src/{pages/api-reference/cache-handler-value.mdx => app/api-reference/cache-handler-value/page.mdx} (100%) rename docs/cache-handler-docs/src/{pages/api-reference/handler.mdx => app/api-reference/handler/page.mdx} (97%) rename docs/cache-handler-docs/src/{pages/api-reference/lifespan-parameters.mdx => app/api-reference/lifespan-parameters/page.mdx} (100%) rename docs/cache-handler-docs/src/{pages/api-reference/on-creation.mdx => app/api-reference/on-creation/page.mdx} (99%) rename docs/cache-handler-docs/src/{pages/api-reference/ttl-parameters.mdx => app/api-reference/ttl-parameters/page.mdx} (100%) rename docs/cache-handler-docs/src/{pages => app}/functions/_meta.ts (100%) rename docs/cache-handler-docs/src/{pages/functions/nesh-cache.mdx => app/functions/nesh-cache/page.mdx} (100%) rename docs/cache-handler-docs/src/{pages/functions/nesh-classic-cache.mdx => app/functions/nesh-classic-cache/page.mdx} (92%) rename docs/cache-handler-docs/src/{pages => app}/handlers/_meta.ts (100%) rename docs/cache-handler-docs/src/{pages/handlers/experimental-redis-cluster.mdx => app/handlers/experimental-redis-cluster/page.mdx} (91%) rename docs/cache-handler-docs/src/{pages/handlers/local-lru.mdx => app/handlers/local-lru/page.mdx} (83%) rename docs/cache-handler-docs/src/{pages/handlers/redis-stack.mdx => app/handlers/redis-stack/page.mdx} (91%) rename docs/cache-handler-docs/src/{pages/handlers/redis-strings.mdx => app/handlers/redis-strings/page.mdx} (100%) rename docs/cache-handler-docs/{public/apple-touch-icon.png => src/app/icon.png} (100%) rename docs/cache-handler-docs/src/{pages/installation.mdx => app/installation/page.mdx} (88%) create mode 100644 docs/cache-handler-docs/src/app/layout.tsx rename docs/cache-handler-docs/src/{pages/index.mdx => app/page.mdx} (95%) rename docs/cache-handler-docs/src/{pages/redis.mdx => app/redis/page.mdx} (90%) rename docs/cache-handler-docs/src/{pages/troubleshooting.mdx => app/troubleshooting/page.mdx} (95%) rename docs/cache-handler-docs/src/{pages => app}/usage/_meta.ts (85%) rename docs/cache-handler-docs/src/{pages/usage/build-id-as-prefix-key.mdx => app/usage/build-id-as-prefix-key/page.mdx} (83%) rename docs/cache-handler-docs/src/{pages/usage/creating-a-custom-handler.mdx => app/usage/creating-a-custom-handler/page.mdx} (97%) rename docs/cache-handler-docs/src/{pages/usage/development-environment.mdx => app/usage/development-environment/page.mdx} (93%) rename docs/cache-handler-docs/src/{pages/usage/on-demand-revalidation.mdx => app/usage/on-demand-revalidation/page.mdx} (78%) rename docs/cache-handler-docs/src/{pages/usage/opt-out-cache-on-build.mdx => app/usage/opt-out-cache-on-build/page.mdx} (94%) rename docs/cache-handler-docs/src/{pages/usage/populating-cache-on-start.mdx => app/usage/populating-cache-on-start/page.mdx} (85%) create mode 100644 docs/cache-handler-docs/src/mdx-components.js delete mode 100644 docs/cache-handler-docs/src/pages/_app.tsx delete mode 100644 docs/cache-handler-docs/theme.config.jsx diff --git a/biome.json b/biome.json index 2b6e20ea..0ea8c64a 100644 --- a/biome.json +++ b/biome.json @@ -21,7 +21,8 @@ } }, "noDefaultExport": "off", - "useNamingConvention": "off" + "useNamingConvention": "off", + "noImplicitBoolean": "off" }, "correctness": { "noNodejsModules": "off", diff --git a/docs/cache-handler-docs/next.config.js b/docs/cache-handler-docs/next.config.ts similarity index 51% rename from docs/cache-handler-docs/next.config.js rename to docs/cache-handler-docs/next.config.ts index ef3caf00..80765b98 100644 --- a/docs/cache-handler-docs/next.config.js +++ b/docs/cache-handler-docs/next.config.ts @@ -1,21 +1,17 @@ +import type { NextConfig } from 'next'; import nextra from 'nextra'; const basePath = process.env.CI ? '/next-shared-cache' : ''; -const withNextra = nextra({ - theme: 'nextra-theme-docs', - themeConfig: './theme.config.jsx', - staticImage: true, -}); - -export default withNextra({ +const nextConfig: NextConfig = { output: 'export', basePath, images: { unoptimized: true }, env: { NEXT_PUBLIC_BASE_URL: basePath, }, - eslint: { - ignoreDuringBuilds: true, - }, -}); +}; + +const withNextra = nextra({}); + +export default withNextra(nextConfig); diff --git a/docs/cache-handler-docs/package.json b/docs/cache-handler-docs/package.json index c3fc0f1c..cd98d8d0 100644 --- a/docs/cache-handler-docs/package.json +++ b/docs/cache-handler-docs/package.json @@ -4,26 +4,27 @@ "private": true, "type": "module", "scripts": { - "build:docs": "next build", - "dev:docs": "next dev", + "build:docs": "next build && pagefind --site .next/server/app --output-path out/_pagefind", + "dev:docs": "next dev --turbo", "eslint:check": "next lint", "eslint:fix": "next lint --fix", "start:docs": "serve out" }, "dependencies": { - "next": "14.2.15", - "nextra": "3.2.4", - "nextra-theme-docs": "3.2.4", - "react": "18.3.1", - "react-dom": "18.3.1" + "next": "15.1.6", + "nextra": "4.2.4", + "nextra-theme-docs": "4.2.4", + "react": "19.0.0", + "react-dom": "19.0.0" }, "devDependencies": { "@repo/eslint-config": "workspace:*", "@repo/typescript-config": "workspace:*", "@types/node": "22.13.1", - "@types/react": "18.3.12", - "@types/react-dom": "18.3.1", + "@types/react": "19.0.8", + "@types/react-dom": "19.0.3", "eslint": "9.20.0", + "pagefind": "1.3.0", "serve": "14.2.4", "typescript": "5.7.3" } diff --git a/docs/cache-handler-docs/public/favicon-16x16.png b/docs/cache-handler-docs/public/favicon-16x16.png deleted file mode 100644 index d0a7843eae56a62947b7092694fb3de83568521c..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 854 zcmV-c1F8IpP)Px&5J^NqR5(vvlV504R~*Mb=O$@x+TF&aX6f2x8tnW7wYaWMYh`QS#vXi_Ska18 zDu|4M4;$T+>|tZd@N&*5 zluD$BN0^$=xp8AO%JyxW2^(RAtLO-N^+HyZ5>5n^mzFqr<~&2wlf1mSnP9B}Qex(d zWXJB)9*c9NdndZCJ6pSJgtV1%0?V@a^u!NT+SViPWH2>BBoaYLMIm2A*fzdRufz3m zzB+u!6LGHS_5kSrX^_Wj>+wCwQjQt~s&x)UUnQVv9G`xO<`1Av%pjT))Q?Zl*Sp^n zP!*}3&1UJlc!5AL$j5KAF*tmccwHSI?syM`#`nKnU~(=?Z&xRu|Me$S`T4Bl9TJH~ z?+U52zi_SIV9Q{NXedPb(Gx^q)LMbJsS4L7n{kJgM8asAxWVnm1A# ziJ*{-{XWdmgL|o|sa|HmmJTznDaw|`z}a7!Eatgf&eQsCCv%p`!nHBBT7FiASFmr_ z4s<>E0w^IXo)ecrbhS#Qe@I^)Av2eCsaYM1(b3*UZP<7L-0~972mjBy82^X2OP+8@ g_7L}|Ud}201CApigX07*qoM6N<$f_~nhc>n+a diff --git a/docs/cache-handler-docs/public/favicon-32x32.png b/docs/cache-handler-docs/public/favicon-32x32.png deleted file mode 100644 index cafde4dc8e15881b855da5533612f810fa79c150..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 2502 zcmV;%2|4zOP)Px;fJsC_R9Huqmw9v)RTjp7RlTJ<-JO-}2_zwG0mBkRMj;|1A_^Q36+{*xiV7%; zDB=p{fDUHd7!|?*Ba5JezyTCQM1dI{5HJLSWFdP((n&}UU=|8%v z-tyh=-TU2p1zD10WNsYFJE4>J?XQ%No~53Doln2nHiGPue2@38=(zA^n{)=V^EDlz zdXDu1xc1@C6CukoPN&0dw_2@65JWEzzeC4$h&+#i0zj6LTkR*xIXL2}r_y^9M z%b~o!9;YaPAfR%|M3~L=PwvU6k!cJW+}{oA&y4mf_zj>h8;YfS_Z{Mc4OM(Tf?>MF!A!@@R^V|4d+9Bz{2w2r3ajlS!clN1GkV;iRFs9EYui=piZO z?m3M5LJ^s(UM9XKF^?mw{*&c zAh{%2xXwW;DzEVHlZzR!bT%#Z4Va?Cs4pm{=Hxk)m`NBnlBOyP6ZOHE%|_Pc12JmOMAt z%Yx#9*EwNJODm%uN#~BY79vYvtFqAJQYG`BoX%VCucvfiJhI)%EyeZBoi)Wr`?l`f z#ZiNRe?%9IM^3YH>3p{B+{00w6Gw}k$brdxzibWrH+)E-;>2D@_ql?dyY{i8D4)c; zhEkVbLg~IA$aprL)B*kY_UH-zx@9N9K>=*ccom&S?e%2EYh_%L#LO37$6{~enK7do zd+!KxFBb6ps!WofpN*hVQ+(_scZmj`nEj~xc(?0yl;Rob3kjY(iN@k8tmpF?n|+FE zS-^151BhSm;kd=hGjC@Q)+LmN1}n`iEhsu+(EAY(7=X30iBKH zTG$@fosgk}2<{orrHqgHa@)H0G}8`1vEcUc(-`sYGV1b*N!_rC^n?&3QQ&Y{J!(

6V$GJmvvEER2qdN5uC6*yPR*M;t*rQNsNoZ z-)N-NthMFj9;04}{@dHJMm3$$~RM_my)raHM>3DI}Jq#Z{v|~1e+>3ckTlPBX z+BWj)n_18^f;fK-=|2{+Iwgkp@-5_q$K!7{(KkMZ*sw742EBXpmbNx3t1aYQE~2ra ziRiLIR`&|ysWU}vxGjlByMtxFlyPTx0Dp66d1ui)hTlG4mY#3Rpim;Mw}WALo+kc>2&C?HsEM%!s&FnH&Lln_?i5%2ASOd4=h+hSG$c& zosm~)qoApk9fm+M^-k93RrBV?k4f&`!QY*=8fb zVMjCYR_twUbTJwT2?)TTFn~Zyb2GIKjZ`<;+yGj0vZ+R<#_UgcgOyf|7MosAS4%Ce zb|<@!?#JJ~7Q9O65vQ4Ro@3m+nQZ@THxs5$B2cH}AL~D5;;bp`-nfJD_uorG??k%m zjfl;yD8i)x@Y8G2`0Kf3Yo?;4jLn-rW6IOh*}85kv!0qktJA@*&7U)E#zSPilF8oB zv)Xflj}C14Y!?MhR^mnsMXIgGq}5>!HWF(vaiXGxLtA!n_1IZ@_Dm$yVDJ4e08mu1q@;|;=PhH=+si30 zDy3g)io0&Dt+C*6*olgZW#{@&Io&G?mB~o_;WNxy^aPD{4K&u(6PwTtl}5#>WB;K? zzdo#4{05mTUn04WC-nXhz_pJTF6Qy<3oCha;T(GP@5`@e&(q_UK3FQRaQxtRoXq_d z^^CEIS}o04dl;P1jiIB`h)L+m`P13-9h^d8ZXO#~uO(yoA_k|Xcxyi2HpC|kuScg8 zrAuDQz!V+D#F>+^TCHS!l11Q{VT|nC7e7(O>Bg(*R4U}^I)3@`APXi=ATF^R`?l?( zUytCR{E?H*(*GKqh!&YRCno_fdh$&;x1_iovg%X0IAR<|9 zRP8=Ocv&s9IhZ;1K_*Wcizteowxhkx^DX;50B+KIxk-~{&gJCt)uHb>btaq377I3& z;)0-eK-b`4`ls|^^vL0)rlzO z>tOA5J?Ax>y?ucv#5x - Cache entries created with `neshClassicCache` can be revalidated only by the - [`revalidateTag` - ↗](https://nextjs.org/docs/app/api-reference/functions/revalidateTag) method. - +> [!NOTE] +> +> Cache entries created with `neshClassicCache` can be revalidated only by the [`revalidateTag` ↗](https://nextjs.org/docs/app/api-reference/functions/revalidateTag) method. ## Parameters diff --git a/docs/cache-handler-docs/src/pages/handlers/_meta.ts b/docs/cache-handler-docs/src/app/handlers/_meta.ts similarity index 100% rename from docs/cache-handler-docs/src/pages/handlers/_meta.ts rename to docs/cache-handler-docs/src/app/handlers/_meta.ts diff --git a/docs/cache-handler-docs/src/pages/handlers/experimental-redis-cluster.mdx b/docs/cache-handler-docs/src/app/handlers/experimental-redis-cluster/page.mdx similarity index 91% rename from docs/cache-handler-docs/src/pages/handlers/experimental-redis-cluster.mdx rename to docs/cache-handler-docs/src/app/handlers/experimental-redis-cluster/page.mdx index ba1eec86..70e129c5 100644 --- a/docs/cache-handler-docs/src/pages/handlers/experimental-redis-cluster.mdx +++ b/docs/cache-handler-docs/src/app/handlers/experimental-redis-cluster/page.mdx @@ -1,5 +1,3 @@ -import { Callout } from 'nextra/components'; - # `experimental-redis-cluster` Handler ```js @@ -20,10 +18,9 @@ const redisHandler = createClusterHandler({ // ... ``` - - This Handler is currently experimental and subject to change or removal in - future updates without a major version increment. Use with caution. - +> [!WARNING] +> +> This Handler is currently experimental and subject to change or removal in future updates without a major version increment. Use with caution. The `experimental-redis-cluster` Handler uses the Redis Cluster as the cache store. It is a simple and fast cache handler that is suitable for most applications. This Handler is ideal for applications that require fast and efficient cache management without the need for advanced features like full-text search for custom revalidation strategies. diff --git a/docs/cache-handler-docs/src/pages/handlers/local-lru.mdx b/docs/cache-handler-docs/src/app/handlers/local-lru/page.mdx similarity index 83% rename from docs/cache-handler-docs/src/pages/handlers/local-lru.mdx rename to docs/cache-handler-docs/src/app/handlers/local-lru/page.mdx index d493a09f..d3f59e4c 100644 --- a/docs/cache-handler-docs/src/pages/handlers/local-lru.mdx +++ b/docs/cache-handler-docs/src/app/handlers/local-lru/page.mdx @@ -1,5 +1,3 @@ -import { Callout } from 'nextra/components'; - # `local-lru` Handler ```js @@ -15,10 +13,9 @@ const localHandler = createLocalHandler({ The `local-lru` Handler uses a [`lru-cache` ↗](https://www.npmjs.com/package/lru-cache) instance as the cache store. It stores the cache in memory and evicts the least recently used entries when the cache reaches its limits. You can use this Handler as a fallback cache when the shared cache is unavailable. - - The `local-lru` Handler stores the cache in memory. Make sure to set the - limits according to your server's memory capacity. - +> [!NOTE] +> +> The `local-lru` Handler is not suitable for production environments. It is intended for development and testing purposes only. ## API diff --git a/docs/cache-handler-docs/src/pages/handlers/redis-stack.mdx b/docs/cache-handler-docs/src/app/handlers/redis-stack/page.mdx similarity index 91% rename from docs/cache-handler-docs/src/pages/handlers/redis-stack.mdx rename to docs/cache-handler-docs/src/app/handlers/redis-stack/page.mdx index 46e563cc..7c5e8e56 100644 --- a/docs/cache-handler-docs/src/pages/handlers/redis-stack.mdx +++ b/docs/cache-handler-docs/src/app/handlers/redis-stack/page.mdx @@ -1,5 +1,3 @@ -import { Callout } from 'nextra/components'; - # `redis-stack` Handler ```js @@ -19,10 +17,9 @@ const redisHandler = createRedisHandler({ The `redis-stack` Handler uses Redis with `RedisJSON` and `RedisSearch` modules as the cache store. It is a full-featured cache handler that supports JSON objects and full-text search, offering a trade-off between performance and flexibility. While it may sacrifice some speed compared to the [`redis-strings`](/handlers/redis-strings) Handler, it empowers you to manage cache on demand more efficiently and faster. It also allows for more versatile cache usage from your application, such as creating custom revalidating strategies and functions. The `redis-stack` Handler is suitable for applications that require advanced cache management and search capabilities. - - Make sure that you have the `RedisJSON` and `RedisSearch` modules installed - and enabled in your Redis server. - +> [!NOTE] +> +> Make sure that you have the `RedisJSON` and `RedisSearch` modules installed and enabled in your Redis server. ## API diff --git a/docs/cache-handler-docs/src/pages/handlers/redis-strings.mdx b/docs/cache-handler-docs/src/app/handlers/redis-strings/page.mdx similarity index 100% rename from docs/cache-handler-docs/src/pages/handlers/redis-strings.mdx rename to docs/cache-handler-docs/src/app/handlers/redis-strings/page.mdx diff --git a/docs/cache-handler-docs/public/apple-touch-icon.png b/docs/cache-handler-docs/src/app/icon.png similarity index 100% rename from docs/cache-handler-docs/public/apple-touch-icon.png rename to docs/cache-handler-docs/src/app/icon.png diff --git a/docs/cache-handler-docs/src/pages/installation.mdx b/docs/cache-handler-docs/src/app/installation/page.mdx similarity index 88% rename from docs/cache-handler-docs/src/pages/installation.mdx rename to docs/cache-handler-docs/src/app/installation/page.mdx index aefe5eaa..2f52d0c8 100644 --- a/docs/cache-handler-docs/src/pages/installation.mdx +++ b/docs/cache-handler-docs/src/app/installation/page.mdx @@ -1,16 +1,14 @@ -import { Callout } from 'nextra/components'; - -## Getting Started with `@neshca/cache-handler` +# Getting Started with `@neshca/cache-handler` This section guides you through the initial setup and basic usage of `@neshca/cache-handler`, helping you integrate advanced caching solutions into your Next.js applications seamlessly. -### Prerequisites +## Prerequisites - **Node.js:** 18.17 or newer. - **Next.js:** 13.5.1 or newer (below 15.0.0). - **Redis (optional):** 4.6.0 or newer. -### Quick Start Installation +## Quick Start Installation ```sh copy npx create-next-app --example cache-handler-redis cache-handler-redis-app @@ -24,7 +22,7 @@ yarn create next-app --example cache-handler-redis cache-handler-redis-app pnpm create next-app --example cache-handler-redis cache-handler-redis-app ``` -### Manual installation +## Manual installation 1. **Install `@neshca/cache-handler`**: Execute this command in your Next.js project root directory: @@ -40,7 +38,7 @@ pnpm create next-app --example cache-handler-redis cache-handler-redis-app npm install redis ``` -### Basic Custom Configuration +## Basic Custom Configuration 1. **Create a Cache Handler File**: In your project root, create a file named `cache-handler.mjs` for your cache configuration. @@ -89,11 +87,9 @@ pnpm create next-app --example cache-handler-redis cache-handler-redis-app export default CacheHandler; ``` - - Do not import @neshca/cache-handler to your client components - or pages. It is only meant to be used in cache-handler.mjs{' '} - files. - + > [!NOTE] + > + > Do not import @neshca/cache-handler to your client components or pages. It is only meant to be used in cache-handler.mjs files. 3. **Integrate with Next.js**: Update your `next.config.js` to utilize the cache handler, ensuring it's only active in production: @@ -136,15 +132,13 @@ pnpm create next-app --example cache-handler-redis cache-handler-redis-app } ``` - - Use NEXT_RUNTIME environment variable to ensure that the - instrumentation is only executed in Node.js. Use dynamic import to avoid - bundling issues. - + > [!NOTE] + > + > Use NEXT_RUNTIME environment variable to ensure that the instrumentation is only executed in Node.js. Use dynamic import to avoid bundling issues. This instrumentation will fill the cache with the initial data when the application starts. The duration of this process may vary based on the number and size of pages, routes, and fetch calls. For more information refer to the [Populating the Cache with the initial data](/usage/populating-cache-on-start) section. -### Running Your Application +## Running Your Application **Start Your Next.js Application**: @@ -155,7 +149,7 @@ npm run build npm run start ``` -### Next Steps +## Next Steps With the setup complete, explore `@neshca/cache-handler`'s advanced features: diff --git a/docs/cache-handler-docs/src/app/layout.tsx b/docs/cache-handler-docs/src/app/layout.tsx new file mode 100644 index 00000000..86eb95e3 --- /dev/null +++ b/docs/cache-handler-docs/src/app/layout.tsx @@ -0,0 +1,62 @@ +import { Footer, Layout, Navbar } from 'nextra-theme-docs'; +import { Banner } from 'nextra/components'; +import { getPageMap } from 'nextra/page-map'; +import type { ReactNode } from 'react'; +import 'nextra-theme-docs/style.css'; + +const banner = ( + +

+ 🎉 Version 1.9.0 is out! This is the final release supporting Next.js + 13.5.1-14.x. The upcoming version 2.0.0 will require Next.js 15. +
+ +); + +const navbar = ( + @neshca/cache-handler} + projectLink="https://github.com/caching-tools/next-shared-cache" + /> +); + +const footer = ( + +); + +type RootLayoutProps = { + children: ReactNode; +}; + +export default async function RootLayout({ + children, +}: RootLayoutProps): Promise { + return ( + + + + {/* @ts-expect-error - will be fixed when all react types will be updated to v19*/} + {children} + + + + ); +} diff --git a/docs/cache-handler-docs/src/pages/index.mdx b/docs/cache-handler-docs/src/app/page.mdx similarity index 95% rename from docs/cache-handler-docs/src/pages/index.mdx rename to docs/cache-handler-docs/src/app/page.mdx index eed32bc5..10a2408f 100644 --- a/docs/cache-handler-docs/src/pages/index.mdx +++ b/docs/cache-handler-docs/src/app/page.mdx @@ -1,3 +1,5 @@ +# `@neshca/cache-handler` + Welcome to `@neshca/cache-handler` (pronounced [`/ˈnæʃkʌ/`](http://ipa-reader.xyz/?text=%CB%88n%C3%A6%CA%83k%CA%8C)), a specialized ISR/Data cache API crafted for Next.js applications. This library simplifies configuring shared cache strategies in distributed environments, such as multiple, independent application instances. It offers a flexible and easy-to-integrate solution for custom cache strategies, especially for Redis. --- @@ -13,7 +15,7 @@ Next.js applications are often deployed in a self-hosted distributed environment - **Support for Next.js Routers**: Full support and one setup for the Pages and the App Router. - **`neshCache` Function**: Utilize the [`neshCache`](/functions/nesh-cache) function to replace `unstable_cache` for more control over caching. - **`neshClassicCache` Function**: Use the CacheHandler in the Pages Router to cache the result of expensive operations in the `getServerSideProps` and API routes. -- **Pre-populate the Cache with Initial Data**: Automatically pre-populate the cache with the initial data when the application starts using the [instrumentation hook ↗](/usage/populating-cache-on-start). +- **Pre-populate the Cache with Initial Data**: Automatically pre-populate the cache with the initial data when the application starts using the [instrumentation hook](/usage/populating-cache-on-start). ## Getting Started diff --git a/docs/cache-handler-docs/src/pages/redis.mdx b/docs/cache-handler-docs/src/app/redis/page.mdx similarity index 90% rename from docs/cache-handler-docs/src/pages/redis.mdx rename to docs/cache-handler-docs/src/app/redis/page.mdx index 2cb1588f..7d8797cf 100644 --- a/docs/cache-handler-docs/src/pages/redis.mdx +++ b/docs/cache-handler-docs/src/app/redis/page.mdx @@ -1,12 +1,8 @@ -import { Callout } from 'nextra/components'; +# `redis-stack` Handler example -## `redis-stack` Handler example - - - In this example, we assume that in your deployment, you have `REDIS_URL` - environment variable set to the URL of your Redis instance. You can use any - other way to set the URL. - +> [!NOTE] +> +> In this example, we assume that in your deployment, you have `REDIS_URL` environment variable set to the URL of your Redis instance. You can use any other way to set the URL. See the [`redis-stack` Handler](/handlers/redis-stack) documentation for more information and requirements for the Redis server. diff --git a/docs/cache-handler-docs/src/pages/troubleshooting.mdx b/docs/cache-handler-docs/src/app/troubleshooting/page.mdx similarity index 95% rename from docs/cache-handler-docs/src/pages/troubleshooting.mdx rename to docs/cache-handler-docs/src/app/troubleshooting/page.mdx index cedb189a..a9189a34 100644 --- a/docs/cache-handler-docs/src/pages/troubleshooting.mdx +++ b/docs/cache-handler-docs/src/app/troubleshooting/page.mdx @@ -1,8 +1,10 @@ -### Verifying that the Cache Handler works +# Troubleshooting + +## Verifying that the Cache Handler works You can verify if the cache handler is active by using either of the following methods: -#### Method 1: Console Logging +### Method 1: Console Logging Add `console.log` statements to your cache handler: @@ -36,7 +38,7 @@ handler.get ... handler.set ... ``` -#### Method 2: Debug Mode +### Method 2: Debug Mode Activate debug mode by setting the `NEXT_PRIVATE_DEBUG_CACHE` environment variable: @@ -69,7 +71,7 @@ Redis client connected. Note: During the build stage, it's normal to see `@neshca/cache-handler is not configured yet` several times. -#### Troubleshooting +### Troubleshooting If the cache handler is not active: diff --git a/docs/cache-handler-docs/src/pages/usage/_meta.ts b/docs/cache-handler-docs/src/app/usage/_meta.ts similarity index 85% rename from docs/cache-handler-docs/src/pages/usage/_meta.ts rename to docs/cache-handler-docs/src/app/usage/_meta.ts index 58c4850d..015f8337 100644 --- a/docs/cache-handler-docs/src/pages/usage/_meta.ts +++ b/docs/cache-handler-docs/src/app/usage/_meta.ts @@ -2,7 +2,7 @@ export default { 'creating-a-custom-handler': 'Creating a Custom Handler', 'on-demand-revalidation': 'On-demand revalidation', 'opt-out-cache-on-build': 'Opt out the cache on Build', - 'development-environment': '', + 'development-environment': 'Development Environment', 'build-id-as-prefix-key': 'Build Id as a Prefix Key', 'populating-cache-on-start': 'Populating the Cache with Pre-rendered Pages', }; diff --git a/docs/cache-handler-docs/src/pages/usage/build-id-as-prefix-key.mdx b/docs/cache-handler-docs/src/app/usage/build-id-as-prefix-key/page.mdx similarity index 83% rename from docs/cache-handler-docs/src/pages/usage/build-id-as-prefix-key.mdx rename to docs/cache-handler-docs/src/app/usage/build-id-as-prefix-key/page.mdx index a8e945cb..b867d3db 100644 --- a/docs/cache-handler-docs/src/pages/usage/build-id-as-prefix-key.mdx +++ b/docs/cache-handler-docs/src/app/usage/build-id-as-prefix-key/page.mdx @@ -1,6 +1,6 @@ -import { Callout } from 'nextra/components'; +# Build ID as prefix key -Let me quote from the Next.js [documentation ↗](https://nextjs.org/docs/pages/building-your-application/deploying#build-cache). +Let me quote from the Next.js [documentation](https://nextjs.org/docs/pages/building-your-application/deploying#build-cache). Next.js generates an ID during `next build` to identify which version of your application is being served. The same build should be used and boot up multiple containers. @@ -38,10 +38,9 @@ CacheHandler.onCreation(async () => { #### Using without `generateBuildId` - - In this case, you must build your app once and use the same build to deploy to - all environments. - +> [!NOTE] +> +> In this case, you must build your app once and use the same build to deploy to all environments. ```js filename="next.config.js" copy const nextConfig = { diff --git a/docs/cache-handler-docs/src/pages/usage/creating-a-custom-handler.mdx b/docs/cache-handler-docs/src/app/usage/creating-a-custom-handler/page.mdx similarity index 97% rename from docs/cache-handler-docs/src/pages/usage/creating-a-custom-handler.mdx rename to docs/cache-handler-docs/src/app/usage/creating-a-custom-handler/page.mdx index ea24cc0f..f914c0bd 100644 --- a/docs/cache-handler-docs/src/pages/usage/creating-a-custom-handler.mdx +++ b/docs/cache-handler-docs/src/app/usage/creating-a-custom-handler/page.mdx @@ -1,8 +1,8 @@ -## Custom Redis strings example +# Custom Redis strings example -This example demonstrates how to create a full-featured custom Redis handler for `@neshca/cache-handler`. The handler uses the `redis` package to connect to a Redis instance and store cache data. The guide is presented as a code snippet with comments explaining each step. You may also want to learn how Redis works and how to use it in your application. For more information, see the [Redis documentation ↗](https://redis.io/documentation). +This example demonstrates how to create a full-featured custom Redis handler for `@neshca/cache-handler`. The handler uses the `redis` package to connect to a Redis instance and store cache data. The guide is presented as a code snippet with comments explaining each step. You may also want to learn how Redis works and how to use it in your application. For more information, see the [Redis documentation](https://redis.io/documentation). -### Prerequisites +## Prerequisites Install the `redis` package: @@ -10,9 +10,9 @@ Install the `redis` package: npm install redis ``` -Then, install the Redis server locally or use a cloud-based Redis service. Learn how to run Redis locally by following the [Install Redis Stack documentation ↗](https://redis.io/docs/install/install-stack/docker/). Redis Stack also includes a RedisInsight tool to manage and monitor your Redis instance. +Then, install the Redis server locally or use a cloud-based Redis service. Learn how to run Redis locally by following the [Install Redis Stack documentation](https://redis.io/docs/install/install-stack/docker/). Redis Stack also includes a RedisInsight tool to manage and monitor your Redis instance. -### Guide +## Guide Create a file called `cache-handler.mjs` next to your `next.config.js` with the following contents: diff --git a/docs/cache-handler-docs/src/pages/usage/development-environment.mdx b/docs/cache-handler-docs/src/app/usage/development-environment/page.mdx similarity index 93% rename from docs/cache-handler-docs/src/pages/usage/development-environment.mdx rename to docs/cache-handler-docs/src/app/usage/development-environment/page.mdx index 2e9de1b2..7be47182 100644 --- a/docs/cache-handler-docs/src/pages/usage/development-environment.mdx +++ b/docs/cache-handler-docs/src/app/usage/development-environment/page.mdx @@ -1,4 +1,4 @@ -## Using `@neshca/cache-handler` in development environment +# Using `@neshca/cache-handler` in development environment Since the primary purpose of `@neshca/cache-handler` is to accommodate the sharing of the cache between multiple and independent replicas of the Next.js application, there is no need to use it in a development environment. diff --git a/docs/cache-handler-docs/src/pages/usage/on-demand-revalidation.mdx b/docs/cache-handler-docs/src/app/usage/on-demand-revalidation/page.mdx similarity index 78% rename from docs/cache-handler-docs/src/pages/usage/on-demand-revalidation.mdx rename to docs/cache-handler-docs/src/app/usage/on-demand-revalidation/page.mdx index e615843b..d87f8d11 100644 --- a/docs/cache-handler-docs/src/pages/usage/on-demand-revalidation.mdx +++ b/docs/cache-handler-docs/src/app/usage/on-demand-revalidation/page.mdx @@ -8,7 +8,7 @@ Next.js provides a way to revalidate a page or a result of a `fetch` call on dem The Pages Router supports only the `response.revalidate(path)`. -See [Using On-Demand Revalidation ↗](https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration#using-on-demand-revalidation) in the Next.js documentation. +See [Using On-Demand Revalidation](https://nextjs.org/docs/pages/building-your-application/data-fetching/incremental-static-regeneration#using-on-demand-revalidation) in the Next.js documentation. #### `response.revalidate(path)` caveat @@ -18,7 +18,7 @@ Calling `response.revalidate(path)` will synchronously call `getStaticProps` and The App Router supports both `revalidatePath` and `revalidateTag` functions. These functions will remove the cache values from the store. -See [On-demand Revalidation ↗](https://nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating#on-demand-revalidation) in the Next.js documentation. +See [On-demand Revalidation](https://nextjs.org/docs/app/building-your-application/data-fetching/fetching-caching-and-revalidating#on-demand-revalidation) in the Next.js documentation. #### `revalidatePath` caveat diff --git a/docs/cache-handler-docs/src/pages/usage/opt-out-cache-on-build.mdx b/docs/cache-handler-docs/src/app/usage/opt-out-cache-on-build/page.mdx similarity index 94% rename from docs/cache-handler-docs/src/pages/usage/opt-out-cache-on-build.mdx rename to docs/cache-handler-docs/src/app/usage/opt-out-cache-on-build/page.mdx index e0aec5bc..cd61505e 100644 --- a/docs/cache-handler-docs/src/pages/usage/opt-out-cache-on-build.mdx +++ b/docs/cache-handler-docs/src/app/usage/opt-out-cache-on-build/page.mdx @@ -1,8 +1,8 @@ -## Building the App Without Redis Cache Connection +# Building the App Without Redis Cache Connection There are scenarios, especially during deployment, where your Redis server may not be immediately available. This can occur when the Redis server and your app are deployed simultaneously. In such cases, it's important to configure your build process to handle the absence of the Redis server. Here's how you can adapt your setup to build the app without requiring an active connection to the Redis server: -### Configuration Steps +## Configuration Steps 1. **Modify the `cache-handler.mjs` File**: Adjust the `onCreation` method in your `cache-handler.mjs` file to conditionally connect to the Redis server. The modified code should look like this: diff --git a/docs/cache-handler-docs/src/pages/usage/populating-cache-on-start.mdx b/docs/cache-handler-docs/src/app/usage/populating-cache-on-start/page.mdx similarity index 85% rename from docs/cache-handler-docs/src/pages/usage/populating-cache-on-start.mdx rename to docs/cache-handler-docs/src/app/usage/populating-cache-on-start/page.mdx index 9c74819e..69150c93 100644 --- a/docs/cache-handler-docs/src/pages/usage/populating-cache-on-start.mdx +++ b/docs/cache-handler-docs/src/app/usage/populating-cache-on-start/page.mdx @@ -1,6 +1,4 @@ -import { Callout } from 'nextra/components'; - -## Populating the Cache with the Initial Data +# Populating the Cache with the Initial Data This feature is experimental. To use it, you must explicitly opt in by defining [`experimental.instrumentationHook = true;` ↗](https://nextjs.org/docs/app/api-reference/next-config-js/instrumentationHook) in your `next.config.js` file. @@ -28,15 +26,13 @@ export async function register() { } ``` - - Use NEXT_RUNTIME environment variable to ensure that the - instrumentation is only executed in Node.js. Use dynamic import to avoid - bundling issues. - +> [!NOTE] +> +> Use NEXT_RUNTIME environment variable to ensure that the instrumentation is only executed in Node.js. Use dynamic import to avoid bundling issues. This instrumentation will fill the cache with the initial data when the application starts. The duration of this process may vary based on the number and size of pages, routes, and fetch calls. -### Using `output: 'standalone'` in `next.config.js` +## Using `output: 'standalone'` in `next.config.js` If you use the `output: 'standalone'` option in your `next.config.js` file, you must copy the `fetch-cache` directory to the `standalone` directory. Otherwise, the instrumentation will not pre-populate the cache with the initial fetch calls data. @@ -53,7 +49,7 @@ Or using `Dockerfile`: COPY .next/cache/fetch-cache/ .next/standalone/.next/cache/fetch-cache/ ``` -#### Caveats +## Caveats When using the `output: 'standalone'` option in a monorepo, you may need to adjust the paths in the above command to match your project structure. @@ -66,7 +62,7 @@ cp .next/cache/fetch-cache/* .next/standalone/ You may also need to configure `outputFileTracingRoot` in your `next.config.js` to work locally. Refer to the [Next.js `output: standalone` option ↗](https://nextjs.org/docs/app/api-reference/next-config-js/output) for more information. -### Usful links +## Usful links -- [Instrumentation Next.js documentation ↗](https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation) +- [Instrumentation Next.js documentation](https://nextjs.org/docs/app/building-your-application/optimizing/instrumentation) - [Next.js `output: standalone` option ↗](https://nextjs.org/docs/app/api-reference/next-config-js/output) diff --git a/docs/cache-handler-docs/src/mdx-components.js b/docs/cache-handler-docs/src/mdx-components.js new file mode 100644 index 00000000..f6308c72 --- /dev/null +++ b/docs/cache-handler-docs/src/mdx-components.js @@ -0,0 +1,10 @@ +import { useMDXComponents as getThemeComponents } from 'nextra-theme-docs'; // nextra-theme-blog or your custom theme + +const themeComponents = getThemeComponents(); + +export function useMDXComponents(components) { + return { + ...themeComponents, + ...components, + }; +} diff --git a/docs/cache-handler-docs/src/pages/_app.tsx b/docs/cache-handler-docs/src/pages/_app.tsx deleted file mode 100644 index 5431b125..00000000 --- a/docs/cache-handler-docs/src/pages/_app.tsx +++ /dev/null @@ -1,5 +0,0 @@ -import type { AppProps } from 'next/app'; - -export default function MyApp({ Component, pageProps }: AppProps) { - return ; -} diff --git a/docs/cache-handler-docs/theme.config.jsx b/docs/cache-handler-docs/theme.config.jsx deleted file mode 100644 index bee13d60..00000000 --- a/docs/cache-handler-docs/theme.config.jsx +++ /dev/null @@ -1,81 +0,0 @@ -import { useRouter } from 'next/router'; -import { useConfig } from 'nextra-theme-docs'; - -function Head() { - const { asPath } = useRouter(); - const { frontMatter, title } = useConfig(); - const url = `https://caching-tools.github.io/next-shared-cache${asPath}`; - - const currentTitle = - asPath === '/' - ? '@neshca/cache-handler' - : `${title} — @neshca/cache-handler`; - - return ( - <> - - - - - - - {currentTitle} - - ); -} - -export default { - logo:
@neshca/cache-handler
, - project: { - link: 'https://github.com/caching-tools/next-shared-cache', - }, - docsRepositoryBase: - 'https://github.com/caching-tools/next-shared-cache/tree/canary/docs/cache-handler-docs', - head: Head, - footer: { - content: ( - - MIT {new Date().getFullYear()} ©{' '} - - @neshca/cache-handler - - . - - ), - }, - banner: { - key: 'version-1.9.0', - content: ( -
- 🎉 Version 1.9.0 is out! This is the final release supporting Next.js - 13.5.1-14.x. The upcoming version 2.0.0 will require Next.js 15. -
- ), - }, -}; diff --git a/docs/cache-handler-docs/tsconfig.json b/docs/cache-handler-docs/tsconfig.json index 862dcdab..91838f5b 100644 --- a/docs/cache-handler-docs/tsconfig.json +++ b/docs/cache-handler-docs/tsconfig.json @@ -15,7 +15,7 @@ "**/*.ts", "**/*.tsx", ".next/types/**/*.ts", - "run-app-instances.ts" + "next.config.ts" ], "exclude": ["node_modules"] diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index fa05c160..b75e0b23 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -82,20 +82,20 @@ importers: docs/cache-handler-docs: dependencies: next: - specifier: 14.2.15 - version: 14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 15.1.6 + version: 15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) nextra: - specifier: 3.2.4 - version: 3.2.4(@types/react@18.3.12)(acorn@8.14.0)(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3) + specifier: 4.2.4 + version: 4.2.4(acorn@8.14.0)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) nextra-theme-docs: - specifier: 3.2.4 - version: 3.2.4(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.2.4(@types/react@18.3.12)(acorn@8.14.0)(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + specifier: 4.2.4 + version: 4.2.4(@types/react@19.0.8)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nextra@4.2.4(acorn@8.14.0)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0) react: - specifier: 18.3.1 - version: 18.3.1 + specifier: 19.0.0 + version: 19.0.0 react-dom: - specifier: 18.3.1 - version: 18.3.1(react@18.3.1) + specifier: 19.0.0 + version: 19.0.0(react@19.0.0) devDependencies: '@repo/eslint-config': specifier: workspace:* @@ -107,14 +107,17 @@ importers: specifier: 22.13.1 version: 22.13.1 '@types/react': - specifier: 18.3.12 - version: 18.3.12 + specifier: 19.0.8 + version: 19.0.8 '@types/react-dom': - specifier: 18.3.1 - version: 18.3.1 + specifier: 19.0.3 + version: 19.0.3(@types/react@19.0.8) eslint: specifier: 9.20.0 version: 9.20.0 + pagefind: + specifier: 1.3.0 + version: 1.3.0 serve: specifier: 14.2.4 version: 14.2.4 @@ -184,7 +187,7 @@ importers: dependencies: next: specifier: 14.2.15 - version: 14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.15(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) devDependencies: '@repo/typescript-config': specifier: workspace:* @@ -227,7 +230,7 @@ importers: version: 10.4.3 next: specifier: '>= 13.5.1 < 15' - version: 14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + version: 14.2.15(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) redis: specifier: '>= 4.6' version: 4.7.0 @@ -441,6 +444,9 @@ packages: '@chevrotain/utils@11.0.3': resolution: {integrity: sha512-YslZMgtJUyuMbZ+aKvfF3x1f5liK4mWNxghFRv7jqRR9C3R3fAOGTTKvxXDa2Y1s9zSbcpuO0cAxDYsc9SrXoQ==} + '@emnapi/runtime@1.3.1': + resolution: {integrity: sha512-kEBmG8KyqtxJZv+ygbEim+KCGtIq1fC22Ms3S4ziXmYKm8uyoLX0MHONVKwp+9opg390VaKRNt4a7A9NwmpNhw==} + '@esbuild/aix-ppc64@0.23.1': resolution: {integrity: sha512-6VhYk1diRqrhBAqpJEdjASR/+WVRtfjpqKuNw11cLiaWpAT/Uu+nokB+UJnevzy/P9C/ty6AOe0dwueMrGh/iQ==} engines: {node: '>=18'} @@ -848,6 +854,111 @@ packages: '@iconify/utils@2.3.0': resolution: {integrity: sha512-GmQ78prtwYW6EtzXRU1rY+KwOKfz32PD7iJh6Iyqw68GiKuoZ2A6pRtzWONz5VQJbp50mEjXh/7NkumtrAgRKA==} + '@img/sharp-darwin-arm64@0.33.5': + resolution: {integrity: sha512-UT4p+iz/2H4twwAoLCqfA9UH5pI6DggwKEGuaPy7nCVQ8ZsiY5PIcrRvD1DzuY3qYL07NtIQcWnBSY/heikIFQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [darwin] + + '@img/sharp-darwin-x64@0.33.5': + resolution: {integrity: sha512-fyHac4jIc1ANYGRDxtiqelIbdWkIuQaI84Mv45KvGRRxSAa7o7d1ZKAOBaYbnepLC1WqxfpimdeWfvqqSGwR2Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-darwin-arm64@1.0.4': + resolution: {integrity: sha512-XblONe153h0O2zuFfTAbQYAX2JhYmDHeWikp1LM9Hul9gVPjFY427k6dFEcOL72O01QxQsWi761svJ/ev9xEDg==} + cpu: [arm64] + os: [darwin] + + '@img/sharp-libvips-darwin-x64@1.0.4': + resolution: {integrity: sha512-xnGR8YuZYfJGmWPvmlunFaWJsb9T/AO2ykoP3Fz/0X5XV2aoYBPkX6xqCQvUTKKiLddarLaxpzNe+b1hjeWHAQ==} + cpu: [x64] + os: [darwin] + + '@img/sharp-libvips-linux-arm64@1.0.4': + resolution: {integrity: sha512-9B+taZ8DlyyqzZQnoeIvDVR/2F4EbMepXMc/NdVbkzsJbzkUjhXv/70GQJ7tdLA4YJgNP25zukcxpX2/SueNrA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linux-arm@1.0.5': + resolution: {integrity: sha512-gvcC4ACAOPRNATg/ov8/MnbxFDJqf/pDePbBnuBDcjsI8PssmjoKMAz4LtLaVi+OnSb5FK/yIOamqDwGmXW32g==} + cpu: [arm] + os: [linux] + + '@img/sharp-libvips-linux-s390x@1.0.4': + resolution: {integrity: sha512-u7Wz6ntiSSgGSGcjZ55im6uvTrOxSIS8/dgoVMoiGE9I6JAfU50yH5BoDlYA1tcuGS7g/QNtetJnxA6QEsCVTA==} + cpu: [s390x] + os: [linux] + + '@img/sharp-libvips-linux-x64@1.0.4': + resolution: {integrity: sha512-MmWmQ3iPFZr0Iev+BAgVMb3ZyC4KeFc3jFxnNbEPas60e1cIfevbtuyf9nDGIzOaW9PdnDciJm+wFFaTlj5xYw==} + cpu: [x64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + resolution: {integrity: sha512-9Ti+BbTYDcsbp4wfYib8Ctm1ilkugkA/uscUn6UXK1ldpC1JjiXbLfFZtRlBhjPZ5o1NCLiDbg8fhUPKStHoTA==} + cpu: [arm64] + os: [linux] + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + resolution: {integrity: sha512-viYN1KX9m+/hGkJtvYYp+CCLgnJXwiQB39damAO7WMdKWlIhmYTfHjwSbQeUK/20vY154mwezd9HflVFM1wVSw==} + cpu: [x64] + os: [linux] + + '@img/sharp-linux-arm64@0.33.5': + resolution: {integrity: sha512-JMVv+AMRyGOHtO1RFBiJy/MBsgz0x4AWrT6QoEVVTyh1E39TrCUpTRI7mx9VksGX4awWASxqCYLCV4wBZHAYxA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linux-arm@0.33.5': + resolution: {integrity: sha512-JTS1eldqZbJxjvKaAkxhZmBqPRGmxgu+qFKSInv8moZ2AmT5Yib3EQ1c6gp493HvrvV8QgdOXdyaIBrhvFhBMQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm] + os: [linux] + + '@img/sharp-linux-s390x@0.33.5': + resolution: {integrity: sha512-y/5PCd+mP4CA/sPDKl2961b+C9d+vPAveS33s6Z3zfASk2j5upL6fXVPZi7ztePZ5CuH+1kW8JtvxgbuXHRa4Q==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [s390x] + os: [linux] + + '@img/sharp-linux-x64@0.33.5': + resolution: {integrity: sha512-opC+Ok5pRNAzuvq1AG0ar+1owsu842/Ab+4qvU879ippJBHvyY5n2mxF1izXqkPYlGuP/M556uh53jRLJmzTWA==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-linuxmusl-arm64@0.33.5': + resolution: {integrity: sha512-XrHMZwGQGvJg2V/oRSUfSAfjfPxO+4DkiRh6p2AFjLQztWUuY/o8Mq0eMQVIY7HJ1CDQUJlxGGZRw1a5bqmd1g==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [arm64] + os: [linux] + + '@img/sharp-linuxmusl-x64@0.33.5': + resolution: {integrity: sha512-WT+d/cgqKkkKySYmqoZ8y3pxx7lx9vVejxW/W4DOFMYVSkErR+w7mf2u8m/y4+xHe7yY9DAXQMWQhpnMuFfScw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [linux] + + '@img/sharp-wasm32@0.33.5': + resolution: {integrity: sha512-ykUW4LVGaMcU9lu9thv85CbRMAwfeadCJHRsg2GmeRa/cJxsVY9Rbd57JcMxBkKHag5U/x7TSBpScF4U8ElVzg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [wasm32] + + '@img/sharp-win32-ia32@0.33.5': + resolution: {integrity: sha512-T36PblLaTwuVJ/zw/LaH0PdZkRz5rd3SmMHX8GSmR7vtNSP5Z6bQkExdSK7xGWyxLw4sUknBuugTelgw2faBbQ==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [ia32] + os: [win32] + + '@img/sharp-win32-x64@0.33.5': + resolution: {integrity: sha512-MpY/o8/8kj+EcnxwvrP4aTJSWw/aZ7JIGR4aBeZkZw5B7/Jn+tY9/VNwtcoGmdT7GfggGIU4kygOMSbYnOrAbg==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + cpu: [x64] + os: [win32] + '@isaacs/cliui@8.0.2': resolution: {integrity: sha512-O8jcjabXaleOG9DQ0+ARXWZBTfnP4WNAqzuiJK7ll44AmxGKv/J2M4TPjxjY3znBCfvBXFzucm1twdyFybFqEA==} engines: {node: '>=12'} @@ -879,12 +990,6 @@ packages: '@mdx-js/mdx@3.1.0': resolution: {integrity: sha512-/QxEhPAvGwbQmy1Px8F899L5Uc2KZ6JtXwlCgJmjSTBedwOZkByYcBG4GceIGPXRDsmfxhHazuS+hlOShRLeDw==} - '@mdx-js/react@3.1.0': - resolution: {integrity: sha512-QjHtSaoameoalGnKDT3FoIl4+9RwyTmo9ZJGBdLOks/YOiWHoRDI3PUwEzOE7kEmGcV3AFcp9K6dYu9rEuKLAQ==} - peerDependencies: - '@types/react': '>=16' - react: '>=16' - '@mermaid-js/parser@0.3.0': resolution: {integrity: sha512-HsvL6zgE5sUPGgkIDlmAWR1HTNHz2Iy11BAWPTa4Jjabkpguy4Ze2gzfLrg6pdRuBvFwgUYyxiaNqZwrEEXepA==} @@ -979,6 +1084,9 @@ packages: '@next/env@14.2.15': resolution: {integrity: sha512-S1qaj25Wru2dUpcIZMjxeMVSwkt8BK4dmWHHiBuRstcIyOsMapqT4A4jSB6onvqeygkSSmOkyny9VVx8JIGamQ==} + '@next/env@15.1.6': + resolution: {integrity: sha512-d9AFQVPEYNr+aqokIiPLNK/MTyt3DWa/dpKveiAaVccUadFbhFEvY6FXYX2LJO2Hv7PHnLBu2oWwB4uBuHjr/w==} + '@next/eslint-plugin-next@15.1.6': resolution: {integrity: sha512-+slMxhTgILUntZDGNgsKEYHUvpn72WP1YTlkmEhS51vnVd7S9jEEy0n9YAMcI21vUG4akTw9voWH02lrClt/yw==} @@ -988,42 +1096,84 @@ packages: cpu: [arm64] os: [darwin] + '@next/swc-darwin-arm64@15.1.6': + resolution: {integrity: sha512-u7lg4Mpl9qWpKgy6NzEkz/w0/keEHtOybmIl0ykgItBxEM5mYotS5PmqTpo+Rhg8FiOiWgwr8USxmKQkqLBCrw==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [darwin] + '@next/swc-darwin-x64@14.2.15': resolution: {integrity: sha512-5TGyjFcf8ampZP3e+FyCax5zFVHi+Oe7sZyaKOngsqyaNEpOgkKB3sqmymkZfowy3ufGA/tUgDPPxpQx931lHg==} engines: {node: '>= 10'} cpu: [x64] os: [darwin] + '@next/swc-darwin-x64@15.1.6': + resolution: {integrity: sha512-x1jGpbHbZoZ69nRuogGL2MYPLqohlhnT9OCU6E6QFewwup+z+M6r8oU47BTeJcWsF2sdBahp5cKiAcDbwwK/lg==} + engines: {node: '>= 10'} + cpu: [x64] + os: [darwin] + '@next/swc-linux-arm64-gnu@14.2.15': resolution: {integrity: sha512-3Bwv4oc08ONiQ3FiOLKT72Q+ndEMyLNsc/D3qnLMbtUYTQAmkx9E/JRu0DBpHxNddBmNT5hxz1mYBphJ3mfrrw==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-gnu@15.1.6': + resolution: {integrity: sha512-jar9sFw0XewXsBzPf9runGzoivajeWJUc/JkfbLTC4it9EhU8v7tCRLH7l5Y1ReTMN6zKJO0kKAGqDk8YSO2bg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-arm64-musl@14.2.15': resolution: {integrity: sha512-k5xf/tg1FBv/M4CMd8S+JL3uV9BnnRmoe7F+GWC3DxkTCD9aewFRH1s5rJ1zkzDa+Do4zyN8qD0N8c84Hu96FQ==} engines: {node: '>= 10'} cpu: [arm64] os: [linux] + '@next/swc-linux-arm64-musl@15.1.6': + resolution: {integrity: sha512-+n3u//bfsrIaZch4cgOJ3tXCTbSxz0s6brJtU3SzLOvkJlPQMJ+eHVRi6qM2kKKKLuMY+tcau8XD9CJ1OjeSQQ==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [linux] + '@next/swc-linux-x64-gnu@14.2.15': resolution: {integrity: sha512-kE6q38hbrRbKEkkVn62reLXhThLRh6/TvgSP56GkFNhU22TbIrQDEMrO7j0IcQHcew2wfykq8lZyHFabz0oBrA==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@next/swc-linux-x64-gnu@15.1.6': + resolution: {integrity: sha512-SpuDEXixM3PycniL4iVCLyUyvcl6Lt0mtv3am08sucskpG0tYkW1KlRhTgj4LI5ehyxriVVcfdoxuuP8csi3kQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-linux-x64-musl@14.2.15': resolution: {integrity: sha512-PZ5YE9ouy/IdO7QVJeIcyLn/Rc4ml9M2G4y3kCM9MNf1YKvFY4heg3pVa/jQbMro+tP6yc4G2o9LjAz1zxD7tQ==} engines: {node: '>= 10'} cpu: [x64] os: [linux] + '@next/swc-linux-x64-musl@15.1.6': + resolution: {integrity: sha512-L4druWmdFSZIIRhF+G60API5sFB7suTbDRhYWSjiw0RbE+15igQvE2g2+S973pMGvwN3guw7cJUjA/TmbPWTHQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [linux] + '@next/swc-win32-arm64-msvc@14.2.15': resolution: {integrity: sha512-2raR16703kBvYEQD9HNLyb0/394yfqzmIeyp2nDzcPV4yPjqNUG3ohX6jX00WryXz6s1FXpVhsCo3i+g4RUX+g==} engines: {node: '>= 10'} cpu: [arm64] os: [win32] + '@next/swc-win32-arm64-msvc@15.1.6': + resolution: {integrity: sha512-s8w6EeqNmi6gdvM19tqKKWbCyOBvXFbndkGHl+c9YrzsLARRdCHsD9S1fMj8gsXm9v8vhC8s3N8rjuC/XrtkEg==} + engines: {node: '>= 10'} + cpu: [arm64] + os: [win32] + '@next/swc-win32-ia32-msvc@14.2.15': resolution: {integrity: sha512-fyTE8cklgkyR1p03kJa5zXEaZ9El+kDNM5A+66+8evQS5e/6v0Gk28LqA0Jet8gKSOyP+OTm/tJHzMlGdQerdQ==} engines: {node: '>= 10'} @@ -1036,6 +1186,12 @@ packages: cpu: [x64] os: [win32] + '@next/swc-win32-x64-msvc@15.1.6': + resolution: {integrity: sha512-6xomMuu54FAFxttYr5PJbEfu96godcxBTRk1OhAvJq0/EnmFU/Ybiax30Snis4vdWZ9LGpf7Roy5fSs7v/5ROQ==} + engines: {node: '>= 10'} + cpu: [x64] + os: [win32] + '@nodelib/fs.scandir@2.1.5': resolution: {integrity: sha512-vq24Bq3ym5HEQm2NKCr3yXDwjc7vTsEThRDnkp2DK9p1uqLR+DHurm/NOTo0KG7HYHU7eppKZj3MyqYuMBf62g==} engines: {node: '>= 8'} @@ -1048,6 +1204,31 @@ packages: resolution: {integrity: sha512-oGB+UxlgWcgQkgwo8GcEGwemoTFt3FIO9ababBmaGwXIoBKZ+GTy0pP185beGg7Llih/NSHSV2XAs1lnznocSg==} engines: {node: '>= 8'} + '@pagefind/darwin-arm64@1.3.0': + resolution: {integrity: sha512-365BEGl6ChOsauRjyVpBjXybflXAOvoMROw3TucAROHIcdBvXk9/2AmEvGFU0r75+vdQI4LJdJdpH4Y6Yqaj4A==} + cpu: [arm64] + os: [darwin] + + '@pagefind/darwin-x64@1.3.0': + resolution: {integrity: sha512-zlGHA23uuXmS8z3XxEGmbHpWDxXfPZ47QS06tGUq0HDcZjXjXHeLG+cboOy828QIV5FXsm9MjfkP5e4ZNbOkow==} + cpu: [x64] + os: [darwin] + + '@pagefind/linux-arm64@1.3.0': + resolution: {integrity: sha512-8lsxNAiBRUk72JvetSBXs4WRpYrQrVJXjlRRnOL6UCdBN9Nlsz0t7hWstRk36+JqHpGWOKYiuHLzGYqYAqoOnQ==} + cpu: [arm64] + os: [linux] + + '@pagefind/linux-x64@1.3.0': + resolution: {integrity: sha512-hAvqdPJv7A20Ucb6FQGE6jhjqy+vZ6pf+s2tFMNtMBG+fzcdc91uTw7aP/1Vo5plD0dAOHwdxfkyw0ugal4kcQ==} + cpu: [x64] + os: [linux] + + '@pagefind/windows-x64@1.3.0': + resolution: {integrity: sha512-BR1bIRWOMqkf8IoU576YDhij1Wd/Zf2kX/kCI0b2qzCKC8wcc2GQJaaRMCpzvCCrmliO4vtJ6RITp/AnoYUUmQ==} + cpu: [x64] + os: [win32] + '@pkgjs/parseargs@0.11.0': resolution: {integrity: sha512-+1VkjdD0QBLPodGrJUeqarH8VAIvQODIbwh9XpP5Syisf7YoQgsJKPNFoqqLQlu+VQ/tVSshMR6loPMn8U+dPg==} engines: {node: '>=14'} @@ -1233,26 +1414,26 @@ packages: cpu: [x64] os: [win32] - '@shikijs/core@1.29.2': - resolution: {integrity: sha512-vju0lY9r27jJfOY4Z7+Rt/nIOjzJpZ3y+nYpqtUZInVoXQ/TJZcfGnNOGnKjFdVZb8qexiCuSlZRKcGfhhTTZQ==} + '@shikijs/core@2.3.2': + resolution: {integrity: sha512-s7vyL3LzUKm3Qwf36zRWlavX9BQMZTIq9B1almM63M5xBuSldnsTHCmsXzoF/Kyw4k7Xgas7yAyJz9VR/vcP1A==} - '@shikijs/engine-javascript@1.29.2': - resolution: {integrity: sha512-iNEZv4IrLYPv64Q6k7EPpOCE/nuvGiKl7zxdq0WFuRPF5PAE9PRo2JGq/d8crLusM59BRemJ4eOqrFrC4wiQ+A==} + '@shikijs/engine-javascript@2.3.2': + resolution: {integrity: sha512-w3IEMu5HfL/OaJTsMbIfZ1HRPnWVYRANeDtmsdIIEgUOcLjzFJFQwlnkckGjKHekEzNqlMLbgB/twnfZ/EEAGg==} - '@shikijs/engine-oniguruma@1.29.2': - resolution: {integrity: sha512-7iiOx3SG8+g1MnlzZVDYiaeHe7Ez2Kf2HrJzdmGwkRisT7r4rak0e655AcM/tF9JG/kg5fMNYlLLKglbN7gBqA==} + '@shikijs/engine-oniguruma@2.3.2': + resolution: {integrity: sha512-vikMY1TroyZXUHIXbMnvY/mjtOxMn+tavcfAeQPgWS9FHcgFSUoEtywF5B5sOLb9NXb8P2vb7odkh3nj15/00A==} - '@shikijs/langs@1.29.2': - resolution: {integrity: sha512-FIBA7N3LZ+223U7cJDUYd5shmciFQlYkFXlkKVaHsCPgfVLiO+e12FmQE6Tf9vuyEsFe3dIl8qGWKXgEHL9wmQ==} + '@shikijs/langs@2.3.2': + resolution: {integrity: sha512-UqI6bSxFzhexIJficZLKeB1L2Sc3xoNiAV0yHpfbg5meck93du+EKQtsGbBv66Ki53XZPhnR/kYkOr85elIuFw==} - '@shikijs/themes@1.29.2': - resolution: {integrity: sha512-i9TNZlsq4uoyqSbluIcZkmPL9Bfi3djVxRnofUHwvx/h6SRW3cwgBC5SML7vsDcWyukY0eCzVN980rqP6qNl9g==} + '@shikijs/themes@2.3.2': + resolution: {integrity: sha512-QAh7D/hhfYKHibkG2tti8vxNt3ekAH5EqkXJeJbTh7FGvTCWEI7BHqNCtMdjFvZ0vav5nvUgdvA7/HI7pfsB4w==} - '@shikijs/twoslash@1.29.2': - resolution: {integrity: sha512-2S04ppAEa477tiaLfGEn1QJWbZUmbk8UoPbAEw4PifsrxkBXtAtOflIZJNtuCwz8ptc/TPxy7CO7gW4Uoi6o/g==} + '@shikijs/twoslash@2.3.2': + resolution: {integrity: sha512-eYLSPNKH7qWpoStesZlDix+Mdppb/VUBc7LFZyOwTvTzZ6H+DS3OMUDH0wndc6ZWYUR27cyDMtFZoBjyzxRL0A==} - '@shikijs/types@1.29.2': - resolution: {integrity: sha512-VJjK0eIijTZf0QSTODEXCqinjBn0joAHQ+aPSBzrv4O2d/QSbsMw+ZeSRx03kV34Hy7NzUvV/7NqfYGRLrASmw==} + '@shikijs/types@2.3.2': + resolution: {integrity: sha512-CBaMY+a3pepyC4SETi7+bSzO0f6hxEQJUUuS4uD7zppzjmrN4ZRtBqxaT+wOan26CR9eeJ5iBhc4qvWEwn7Eeg==} '@shikijs/vscode-textmate@10.0.1': resolution: {integrity: sha512-fTIQwLF+Qhuws31iw7Ncl1R3HUDtGwIipiJ9iU+UsDUwMhegFcQKQHd51nZjb7CArq0MvON8rbgCGQYWHUKAdg==} @@ -1275,8 +1456,8 @@ packages: '@tanstack/virtual-core@3.13.0': resolution: {integrity: sha512-NBKJP3OIdmZY3COJdWkSonr50FMVIi+aj5ZJ7hI/DTpEKg2RMfo/KvP8A3B/zOSpMgIe52B5E2yn7rryULzA6g==} - '@theguild/remark-mermaid@0.1.3': - resolution: {integrity: sha512-2FjVlaaKXK7Zj7UJAgOVTyaahn/3/EAfqYhyXg0BfDBVUl+lXcoIWRaxzqfnDr2rv8ax6GsC5mNh6hAaT86PDw==} + '@theguild/remark-mermaid@0.2.0': + resolution: {integrity: sha512-o8n57TJy0OI4PCrNw8z6S+vpHtrwoQZzTA5Y3fL0U1NDRIoMg/78duWgEBFsCZcWM1G6zjE91yg1aKCsDwgE2Q==} peerDependencies: react: ^18.2.0 @@ -1427,9 +1608,17 @@ packages: '@types/react-dom@18.3.1': resolution: {integrity: sha512-qW1Mfv8taImTthu4KoXgDfLuk4bydU6Q/TkADnDWWHwi4NX4BR+LWfTp2sVmTqRrsHvyDDTelgelxJ+SsejKKQ==} + '@types/react-dom@19.0.3': + resolution: {integrity: sha512-0Knk+HJiMP/qOZgMyNFamlIjw9OFCsyC2ZbigmEEyXXixgre6IQpm/4V+r3qH4GC1JPvRJKInw+on2rV6YZLeA==} + peerDependencies: + '@types/react': ^19.0.0 + '@types/react@18.3.12': resolution: {integrity: sha512-D2wOSq/d6Agt28q7rSI3jhU7G6aiuzljDGZ2hTZHIkrTLUI+AF3WMeKkEZ9nN2fkBAlcktT6vcZjDFiIhMYEQw==} + '@types/react@19.0.8': + resolution: {integrity: sha512-9P/o1IGdfmQxrujGbIMDyYaaCykhLKc0NGCtYcECNUr9UAaDe4gwvV9bR6tvd5Br1SG0j+PBpbKr2UYY8CwqSw==} + '@types/trusted-types@2.0.7': resolution: {integrity: sha512-ScaPdn1dQczgbl0QFTeTOmVHFULt394XJgOQNoyVhZ6r2vLnMLJfBPd53SB52T/3G36VI1/g2MZaX0cwDuXsfw==} @@ -1840,6 +2029,13 @@ packages: color-name@1.1.4: resolution: {integrity: sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==} + color-string@1.9.1: + resolution: {integrity: sha512-shrVawQFojnZv6xM40anx4CkoDP+fZsw/ZerEMsW/pyzsRbElpsL/DBVW7q3ExxwusdNXI3lXpuhEZkzs8p5Eg==} + + color@4.2.3: + resolution: {integrity: sha512-1rXeuUUiGGrykh+CeBdu5Ie7OJwinCgQY0bc7GCRxy5xVHy+moaqkpL/jqQq0MtQOeYcrqEz4abc5f0KtU7W4A==} + engines: {node: '>=12.5.0'} + colorette@2.0.20: resolution: {integrity: sha512-IfEDxwoWIjkeXL1eXcDiow4UbKjhLdq6/EuSVR9GMN7KVH3r9gQ83e73hsz1Nd1T3ijd5xv1wcWRYO+D6kCI2w==} @@ -2173,6 +2369,10 @@ packages: resolution: {integrity: sha512-Mc7QhQ8s+cLrnUfU/Ji94vG/r8M26m8f++vyres4ZoojaRDpZ1eSIh/EpzLNwlWuvzSZ3UbDFspjFvTDXe6e/g==} engines: {node: '>=12.20'} + detect-libc@2.0.3: + resolution: {integrity: sha512-bwy0MGW55bG41VqxxypOsdSdGqLwXPI/focwgTYCFMbdUiBAxLg9CFzG08sz2aqzknwiX7Hkl0bQENjg8iLByw==} + engines: {node: '>=8'} + detect-newline@4.0.1: resolution: {integrity: sha512-qE3Veg1YXzGHQhlA6jzebZN2qVf6NX+A7m7qlhCGG30dJixrAQhYOsJjsnBjJkCSmuOPpCk30145fr8FV0bzog==} engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} @@ -2409,10 +2609,6 @@ packages: resolution: {integrity: sha512-VyhnebXciFV2DESc+p6B+y0LjSm0krU4OgJN44qFAhBY0TJ+1V61tYD2+wHusZ6F9n5K+vl8k0sTy7PEfV4qpg==} engines: {node: '>=16.17'} - extend-shallow@2.0.1: - resolution: {integrity: sha512-zCnTtlxNoAiDc3gqY2aYAWFx7XWWiasuF2K8Me5WbN8otHKTUKBwjPtNpRs/rbUZm7KxWAaNj7P1a/p52GbVug==} - engines: {node: '>=0.10.0'} - extend@3.0.2: resolution: {integrity: sha512-fjquC59cD7CyW6urNXK0FBufkZcoiGG80wTuPujX590cB5Ttln20E2UB4S/WARVqhXffZl2LNgS+gQdPIIim/g==} @@ -2515,9 +2711,6 @@ packages: flatted@3.3.2: resolution: {integrity: sha512-AiwGJM8YcNOaobumgtng+6NHuOqC3A7MixFeDafM3X9cIUM+xUXoS5Vfgf+OihAYe20fxqNM9yPBXJzRtZ/4eA==} - flexsearch@0.7.43: - resolution: {integrity: sha512-c5o/+Um8aqCSOXGcZoqZOm+NqtVwNsvVpWv6lfmSclU954O3wvQKxxK8zj74fPaSJbXpSLTs4PRhh+wnoCXnKg==} - follow-redirects@1.15.9: resolution: {integrity: sha512-gew4GsXizNgdoRyqmyfMHyAmXsZDk6mHkSxZFCzW9gwlbtOW44CDtYavM+y+72qD/Vq2l550kMF52DT8fOLJqQ==} engines: {node: '>=4.0'} @@ -2661,10 +2854,6 @@ packages: graphemer@1.4.0: resolution: {integrity: sha512-EtKwoO6kxCL9WO5xipiHTZlSzBm7WLT627TqC/uVRd0HKmq8NXyebnNYxDoBi7wt8eTWrUrKXCOVaFq9x1kgag==} - gray-matter@4.0.3: - resolution: {integrity: sha512-5v6yZd4JK3eMI3FqqCouswVqwugaA9r4dNZB1wwcmrD02QkV5H0y7XBQW8QwQqEaZY1pM9aqORSORhJRdNK44Q==} - engines: {node: '>=6.0'} - hachure-fill@0.5.2: resolution: {integrity: sha512-3GKBOn+m2LX9iq+JC1064cSFprJY4jL1jCXTcpnfER5HYE2l/4EfWSGzkPa/ZDBmYI0ZOEj5VHV/eKnPGkHuOg==} @@ -2820,6 +3009,9 @@ packages: resolution: {integrity: sha512-DDfANUiiG2wC1qawP66qlTugJeL5HyzMpfr8lLK+jMQirGzNod0B12cFB/9q838Ru27sBwfw78/rdoU7RERz6A==} engines: {node: '>= 0.4'} + is-arrayish@0.3.2: + resolution: {integrity: sha512-eVRqCvVlZbuw3GrM63ovNSNAeA1K16kaR/LRY/92w0zxQ5/1YzwblUX652i4Xs9RwAGjW9d9y6X88t8OaAJfWQ==} + is-async-function@2.1.1: resolution: {integrity: sha512-9dgM/cZBnNvjzaMYHVoxxfPj2QXt22Ev7SuuPrs+xav0ukGB0S6d4ydZdEiM48kLx5kDV+QBPrpVnFyefL8kkQ==} engines: {node: '>= 0.4'} @@ -2865,10 +3057,6 @@ packages: engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0} hasBin: true - is-extendable@0.1.1: - resolution: {integrity: sha512-5BMULNob1vgFX6EjQw5izWDxrecWK9AM72rugNr0TFldMOi0fj6Jk+zeKIt0xGj4cEfQIJth4w3OKWOJ4f+AFw==} - engines: {node: '>=0.10.0'} - is-extglob@2.1.1: resolution: {integrity: sha512-SbKbANkN603Vi4jEZv49LeVJMn4yGwsbzZworEoyEiutsN3nJYdbO36zfhGJ6QEDpOZIFkDtnq5JRxmvl3jsoQ==} engines: {node: '>=0.10.0'} @@ -3054,10 +3242,6 @@ packages: khroma@2.1.0: resolution: {integrity: sha512-Ls993zuzfayK269Svk9hzpeGUKob/sIgZzyHYdjQoAdQetRKpOLj+k/QQQ/6Qi0Yz65mlROrfd+Ev+1+7dz9Kw==} - kind-of@6.0.3: - resolution: {integrity: sha512-dcS1ul+9tmeD95T+x28/ehLgd9mENa3LsvDTtzm3vyBEO7RPptvAD+t44WVXaUjTBRcrpFeFlC8WCruUR456hw==} - engines: {node: '>=0.10.0'} - kolorist@1.8.0: resolution: {integrity: sha512-Y+60/zizpJ3HRH8DCss+q95yr6145JXZo46OTpFvDZWLfRCE4qChOyk1b26nMaNpfHHgxagk9dXT5OP0Tfe+dQ==} @@ -3460,19 +3644,40 @@ packages: sass: optional: true - nextra-theme-docs@3.2.4: - resolution: {integrity: sha512-3fg7zMHInuvSDURRJjh6UrbdqkK8uLs8RNriY38kVukWLvaVP2f6mmVJKIYqxVv6qAKWEzDLTr4dlJCY81eXuQ==} + next@15.1.6: + resolution: {integrity: sha512-Hch4wzbaX0vKQtalpXvUiw5sYivBy4cm5rzUKrBnUB/y436LGrvOUqYvlSeNVCWFO/770gDlltR9gqZH62ct4Q==} + engines: {node: ^18.18.0 || ^19.8.0 || >= 20.0.0} + hasBin: true + peerDependencies: + '@opentelemetry/api': ^1.1.0 + '@playwright/test': ^1.41.2 + babel-plugin-react-compiler: '*' + react: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + react-dom: ^18.2.0 || 19.0.0-rc-de68d2f4-20241204 || ^19.0.0 + sass: ^1.3.0 + peerDependenciesMeta: + '@opentelemetry/api': + optional: true + '@playwright/test': + optional: true + babel-plugin-react-compiler: + optional: true + sass: + optional: true + + nextra-theme-docs@4.2.4: + resolution: {integrity: sha512-8xXn88EkIg9CLP/O+xcrze1fZFg3kzT2DW6auZYGbR+fruMbGAXcsqntJ+vOdbBPx/z4KjWMt6mWPiI5Whtrvw==} peerDependencies: - next: '>=13' - nextra: 3.2.4 + next: '>=14' + nextra: 4.2.4 react: '>=18' react-dom: '>=18' - nextra@3.2.4: - resolution: {integrity: sha512-xvQuPVtRoJTz4ynIbEkxYkEtviIX699lt4coij2IMmafYrBNaD0Ofj93jIz7VngYxyT9f4gWSiwqNgoIlnbsjQ==} + nextra@4.2.4: + resolution: {integrity: sha512-pB91o5jrgcIkkot79GbTtfg9qZtLtzzMJRzbeqeL+HSVGLFhj2urEAOPzpc47emvdmEjjNLyB7LQ8BcBZvrlxg==} engines: {node: '>=18'} peerDependencies: - next: '>=13' + next: '>=14' react: '>=18' react-dom: '>=18' @@ -3546,8 +3751,8 @@ packages: resolution: {integrity: sha512-1FlR+gjXK7X+AsAHso35MnyN5KqGwJRi/31ft6x0M194ht7S+rWAvd7PHss9xSKMzE0asv1pyIHaJYq+BbacAQ==} engines: {node: '>=12'} - oniguruma-to-es@2.3.0: - resolution: {integrity: sha512-bwALDxriqfKGfUufKGGepCzu9x7nJQuoRoAFp4AnwehhC2crqrDIAP/uN2qdlsAvSMpeRC3+Yzhqc7hLmle5+g==} + oniguruma-to-es@3.1.0: + resolution: {integrity: sha512-BJ3Jy22YlgejHSO7Fvmz1kKazlaPmRSUH+4adTDUS/dKQ4wLxI+gALZ8updbaux7/m7fIlpgOZ5fp/Inq5jUAw==} optionator@0.9.4: resolution: {integrity: sha512-6IpQ7mKUxRcZNLIObR0hz7lxsapSSIYNZJwXPGeF0mTVqGKFIXj1DQcMoT22S3ROcLyY/rz0PWaWZ9ayWmad9g==} @@ -3576,10 +3781,6 @@ packages: resolution: {integrity: sha512-TYOanM3wGwNGsZN2cVTYPArw454xnXj5qmWF1bEoAc4+cU/ol7GVh7odevjp1FNHduHc3KZMcFduxU5Xc6uJRQ==} engines: {node: '>=10'} - p-limit@6.2.0: - resolution: {integrity: sha512-kuUqqHNUqoIWp/c467RI4X6mmyuojY5jGutNU0wVTmEOOfcuwLqyMVoAi9MKi2Ak+5i9+nhmrK4ufZE8069kHA==} - engines: {node: '>=18'} - p-locate@4.1.0: resolution: {integrity: sha512-R79ZZ/0wAxKGu3oYMlz8jy/kbhsNrS7SKZ7PxEHBgJ5+F2mtFW2fK2cOtBh1cHYkQsbzFV7I+EoRKe6Yt0oK7A==} engines: {node: '>=8'} @@ -3610,6 +3811,10 @@ packages: package-manager-detector@0.2.9: resolution: {integrity: sha512-+vYvA/Y31l8Zk8dwxHhL3JfTuHPm6tlxM2A3GeQyl7ovYnSp1+mzAxClxaOr0qO1TtPxbQxetI7v5XqKLJZk7Q==} + pagefind@1.3.0: + resolution: {integrity: sha512-8KPLGT5g9s+olKMRTU9LFekLizkVIu9tes90O1/aigJ0T5LmyPqTzGJrETnSw3meSYg58YH7JTzhTTW/3z6VAw==} + hasBin: true + pako@0.2.9: resolution: {integrity: sha512-NUcwaKxUxWrZLpDG+z/xZaCgQITkA/Dv4V/T6bw7VON6l1Xz/VnrBqrYjZQ12TamKHzITTfOEIYUj48y2KXImA==} @@ -3835,18 +4040,38 @@ packages: resolution: {integrity: sha512-y3bGgqKj3QBdxLbLkomlohkvsA8gdAiUQlSBJnBhfn+BPxg4bc62d8TcBW15wavDfgexCgccckhcZvywyQYPOw==} hasBin: true + react-compiler-runtime@0.0.0-experimental-22c6e49-20241219: + resolution: {integrity: sha512-bOAGaRL1ldfIIpbDsl+uV025Ta6RS6/cOjvvh8r2Vo7KtqB+RSvihVYRsWQz7ECKNPWdq5MClS845acwAwieDw==} + peerDependencies: + react: ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom@18.3.1: resolution: {integrity: sha512-5m4nQKp+rZRb09LNH59GM4BxTh9251/ylbKIbpe7TpGxfJ+9kv6BLkLBXIjjspbgbnIBNqlI23tRnTWT0snUIw==} peerDependencies: react: ^18.3.1 + react-dom@19.0.0: + resolution: {integrity: sha512-4GV5sHFG0e/0AD4X+ySy6UJd3jVl1iNsNHdpad0qhABJ11twS3TTBnseqsKurKcsNqCEFeGL3uLpVChpIO3QfQ==} + peerDependencies: + react: ^19.0.0 + react-is@16.13.1: resolution: {integrity: sha512-24e6ynE2H+OKt4kqsOvNd8kBpV65zoxbA4BVsEOB3ARVWQki/DHzaUoC5KuON/BiccDaCCTZBuOcfZs70kR8bQ==} + react-medium-image-zoom@5.2.13: + resolution: {integrity: sha512-KcBL4OsoUQJgIFh6vQgt/6sRGqDy6bQBcsbhGD2tsy4B5Pw3dWrboocVOyIm76RRALEZ6Qwp3EDvIvfEv0m5sg==} + peerDependencies: + react: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react-dom: ^16.8.0 || ^17.0.0 || ^18.0.0 || ^19.0.0 + react@18.3.1: resolution: {integrity: sha512-wS+hAgJShR0KhEvPJArfuPVN1+Hz1t0Y6n5jLrGQbkb4urgPE/0Rve+1kMB1v/oWgHgm4WIcV+i7F2pTVj+2iQ==} engines: {node: '>=0.10.0'} + react@19.0.0: + resolution: {integrity: sha512-V8AVnmPIICiWpGfm6GLzCR/W5FXLchHop40W4nXBmdlEceh16rCN8O8LNWm5bh5XUX91fh7KpA+W0TgMKmgTpQ==} + engines: {node: '>=0.10.0'} + read-yaml-file@1.1.0: resolution: {integrity: sha512-VIMnQi/Z4HT2Fxuwg5KrY174U1VdUIASQVWXXyqtNRtxSr9IYkn1rsI6Tb6HsrHCmB7gVpNwX6JxPTHcH6IoTA==} engines: {node: '>=6'} @@ -3892,14 +4117,14 @@ packages: regenerator-runtime@0.14.1: resolution: {integrity: sha512-dYnhHh0nJoMfnkZs6GmmhFknAGRrLznOu5nc9ML+EJxGvrx6H7teuevqVqCuPcPK//3eDrrjQhehXVx9cnkGdw==} - regex-recursion@5.1.1: - resolution: {integrity: sha512-ae7SBCbzVNrIjgSbh7wMznPcQel1DNlDtzensnFxpiNpXt1U2ju/bHugH422r+4LAVS1FpW1YCwilmnNsjum9w==} + regex-recursion@6.0.2: + resolution: {integrity: sha512-0YCaSCq2VRIebiaUviZNs0cBz1kg5kVS2UKUfNIx8YVs1cN3AV7NTctO5FOKBA+UT2BPJIWZauYHPqJODG50cg==} regex-utilities@2.3.0: resolution: {integrity: sha512-8VhliFJAWRaUiVvREIiW2NXXTmHs4vMNnSzuJVhscgmGav3g9VDxLrQndI3dZZVVdp0ZO/5v0xmX516/7M9cng==} - regex@5.1.1: - resolution: {integrity: sha512-dN5I359AVGPnwzJm2jN1k0W9LPZ+ePvoOeVMMfqIMFz53sSwXkxaJoxr50ptnsC771lK95BnTrVSZxq0b9yCGw==} + regex@6.0.1: + resolution: {integrity: sha512-uorlqlzAKjKQZ5P+kTJr3eeJGSVroLKoHmquUj4zHWuR+hEyNqlXsSKlYYF5F4NI6nl7tWCs0apKJ0lmfsXAPA==} regexp.prototype.flags@1.5.4: resolution: {integrity: sha512-dYqgNSZbDwkaJ2ceRd9ojCGjBq+mOm9LmtXnAnEGyHhN/5R7iDW2TRw3h+o/jCFxus3P2LfWIIiwowAjANm7IA==} @@ -4063,13 +4288,12 @@ packages: scheduler@0.23.2: resolution: {integrity: sha512-UOShsPwz7NrMUqhR6t0hWjFduvOzbtv7toDH1/hIrfRNIDBnnBWd0CwJTGvTpngVlmwGCdP9/Zl/tVrDqcuYzQ==} + scheduler@0.25.0: + resolution: {integrity: sha512-xFVuu11jh+xcO7JOAGJNOXld8/TcEHK/4CituBUeUb5hqxJLj9YuemAEuvm9gQ/+pgXYfbQuqAkiYu+u7YEsNA==} + scroll-into-view-if-needed@3.1.0: resolution: {integrity: sha512-49oNpRjWRvnU8NyGVmUaYG4jtTkNonFZI86MmGRDqBphEK2EXT9gdEUoQPZhuBM8yWHxCWbobltqYO5M4XrUvQ==} - section-matter@1.0.0: - resolution: {integrity: sha512-vfD3pmTzGpufjScBh50YHKzEu2lxBWhVEHsNGoEXmCmn2hKGfeNLYMzCJpe8cD7gqX7TJluOVpBkAequ6dgMmA==} - engines: {node: '>=4'} - secure-json-parse@2.7.0: resolution: {integrity: sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==} @@ -4113,6 +4337,10 @@ packages: resolution: {integrity: sha512-RJRdvCo6IAnPdsvP/7m6bsQqNnn1FCBX5ZNtFL98MmFF/4xAIJTIg1YbHW5DC2W5SKZanrC6i4HsJqlajw/dZw==} engines: {node: '>= 0.4'} + sharp@0.33.5: + resolution: {integrity: sha512-haPVm1EkS9pgvHrQ/F3Xy+hgcuMV0Wm9vfIBSiwZ05k+xgb0PkBQpGsAA/oWdDobNaZTH5ppvHtzCFbnSEwHVw==} + engines: {node: ^18.17.0 || ^20.3.0 || >=21.0.0} + shebang-command@2.0.0: resolution: {integrity: sha512-kHxr2zZpYtdmrN1qDjrrX/Z1rR1kG8Dx+gkpK1G4eXmvXswmcE1hTWBWYUzlraYw1/yZp6YuDY77YtvbN0dmDA==} engines: {node: '>=8'} @@ -4121,8 +4349,8 @@ packages: resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==} engines: {node: '>=8'} - shiki@1.29.2: - resolution: {integrity: sha512-njXuliz/cP+67jU2hukkxCNuH1yUi4QfdZZY+sMr5PPrIyXSu5iTb/qYC4BiWWB0vZ+7TbdvYUCeL23zpwCfbg==} + shiki@2.3.2: + resolution: {integrity: sha512-UZhz/gsUz7DHFbQBOJP7eXqvKyYvMGramxQiSDc83M/7OkWm6OdVHAReEc3vMLh6L6TRhgL9dvhXz9XDkCDaaw==} shimmer@1.2.1: resolution: {integrity: sha512-sQTKC1Re/rM6XyFM6fIAGHRPVGvyXfgzIDvzoq608vM+jeyVD0Tu1E6Np0Kc2zAIFWIj963V2800iF/9LPieQw==} @@ -4150,6 +4378,9 @@ packages: resolution: {integrity: sha512-bzyZ1e88w9O1iNJbKnOlvYTrWPDl46O1bG0D3XInv+9tkPrxrN8jUUTiFlDkkmKWgn1M6CfIA13SuGqOa9Korw==} engines: {node: '>=14'} + simple-swizzle@0.2.2: + resolution: {integrity: sha512-JA//kQgZtbuY83m+xT+tXJkmJncGMTFT+C+g2h2R9uxkYIrE2yy9sgmcLhCnw57/WSD+Eh3J97FPEDFnbXnDUg==} + slash@3.0.0: resolution: {integrity: sha512-g9Q1haeby36OSStwb4ntCGGGaKsaVSjQ68fBxoQcutl5fS1vuY18H3wSt3jFyFtrkx+Kz0V1G85A4MyAdDMi2Q==} engines: {node: '>=8'} @@ -4264,10 +4495,6 @@ packages: resolution: {integrity: sha512-iq6eVVI64nQQTRYq2KtEg2d2uU7LElhTJwsH4YzIHZshxlgZms/wIc4VoDQTlG/IvVIrBKG06CrZnp0qv7hkcQ==} engines: {node: '>=12'} - strip-bom-string@1.0.0: - resolution: {integrity: sha512-uCC2VHvQRYu+lMh4My/sFNmF2klFymLX1wHJeXnbEJERpV/ZsVuonzerjfrGpIGF7LBVa1O7i9kjiWvJiFck8g==} - engines: {node: '>=0.10.0'} - strip-bom@3.0.0: resolution: {integrity: sha512-vavAMRXOgBVNF6nyEEmL3DBK19iRpDcoIwW+swQ+CbGiu7lju6t+JklA1MHweoWtadgt4ISVUsXLyDq34ddcwA==} engines: {node: '>=4'} @@ -4304,6 +4531,19 @@ packages: babel-plugin-macros: optional: true + styled-jsx@5.1.6: + resolution: {integrity: sha512-qSVyDTeMotdvQYoHWLNGwRFJHC+i+ZvdBRYosOFgC+Wg1vx4frN2/RG/NA7SYqqvKNLf39P2LSRA2pu6n0XYZA==} + engines: {node: '>= 12.0.0'} + peerDependencies: + '@babel/core': '*' + babel-plugin-macros: '*' + react: '>= 16.8.0 || 17.x.x || ^18.0.0-0 || ^19.0.0-0' + peerDependenciesMeta: + '@babel/core': + optional: true + babel-plugin-macros: + optional: true + stylis@4.3.6: resolution: {integrity: sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==} @@ -4701,10 +4941,6 @@ packages: resolution: {integrity: sha512-rVksvsnNCdJ/ohGc6xgPwyN8eheCxsiLM8mxuE/t/mOVqJewPuO1miLpTHQiRgTKCLexL4MeAFVagts7HmNZ2Q==} engines: {node: '>=10'} - yocto-queue@1.1.1: - resolution: {integrity: sha512-b4JR1PFR10y1mKjhHY9LaGo6tmrgjit7hxVIeAmyMw3jegXR4dhYqLaQF5zMXZxY7tLpMyJeLjr1C4rLmkVe8g==} - engines: {node: '>=12.20'} - zod-validation-error@3.4.0: resolution: {integrity: sha512-ZOPR9SVY6Pb2qqO5XHt+MkkTRxGXb4EVtnjc9JpXUOtUB1T9Ru7mZOT361AN3MsetVe7R0a1KZshJDZdgp9miQ==} engines: {node: '>=18.0.0'} @@ -4714,6 +4950,24 @@ packages: zod@3.24.1: resolution: {integrity: sha512-muH7gBL9sI1nciMZV67X5fTKKBLtwpZ5VBp1vsOQzj1MhrBZ4wlVCm3gedKZWLp0Oyel8sIGfeiz54Su+OVT+A==} + zustand@5.0.3: + resolution: {integrity: sha512-14fwWQtU3pH4dE0dOpdMiWjddcH+QzKIgk1cl8epwSE7yag43k/AD/m4L6+K7DytAOr9gGBe3/EXj9g7cdostg==} + engines: {node: '>=12.20.0'} + peerDependencies: + '@types/react': '>=18.0.0' + immer: '>=9.0.6' + react: '>=18.0.0' + use-sync-external-store: '>=1.2.0' + peerDependenciesMeta: + '@types/react': + optional: true + immer: + optional: true + react: + optional: true + use-sync-external-store: + optional: true + zwitch@2.0.4: resolution: {integrity: sha512-bXE4cR/kVZhKZX/RjPEflHaKVhUVl85noU3v6b8apfQEc1x4A+zBxjZ4lN8LqGd6WZ3dl98pY4o717VFmoPp+A==} @@ -4926,6 +5180,11 @@ snapshots: '@chevrotain/utils@11.0.3': {} + '@emnapi/runtime@1.3.1': + dependencies: + tslib: 2.8.1 + optional: true + '@esbuild/aix-ppc64@0.23.1': optional: true @@ -5151,18 +5410,18 @@ snapshots: '@floating-ui/core': 1.6.9 '@floating-ui/utils': 0.2.9 - '@floating-ui/react-dom@2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react-dom@2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@floating-ui/dom': 1.6.13 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@floating-ui/react@0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@floating-ui/react@0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@floating-ui/react-dom': 2.1.2(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@floating-ui/react-dom': 2.1.2(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@floating-ui/utils': 0.2.9 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) tabbable: 6.2.0 '@floating-ui/utils@0.2.9': {} @@ -5171,14 +5430,14 @@ snapshots: dependencies: tslib: 2.8.1 - '@headlessui/react@2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@headlessui/react@2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@floating-ui/react': 0.26.28(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/focus': 3.19.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/interactions': 3.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@tanstack/react-virtual': 3.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + '@floating-ui/react': 0.26.28(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/focus': 3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@tanstack/react-virtual': 3.13.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@humanfs/core@0.19.1': {} @@ -5208,6 +5467,81 @@ snapshots: transitivePeerDependencies: - supports-color + '@img/sharp-darwin-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-arm64': 1.0.4 + optional: true + + '@img/sharp-darwin-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-darwin-x64': 1.0.4 + optional: true + + '@img/sharp-libvips-darwin-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-darwin-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linux-arm@1.0.5': + optional: true + + '@img/sharp-libvips-linux-s390x@1.0.4': + optional: true + + '@img/sharp-libvips-linux-x64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-arm64@1.0.4': + optional: true + + '@img/sharp-libvips-linuxmusl-x64@1.0.4': + optional: true + + '@img/sharp-linux-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm64': 1.0.4 + optional: true + + '@img/sharp-linux-arm@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-arm': 1.0.5 + optional: true + + '@img/sharp-linux-s390x@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-s390x': 1.0.4 + optional: true + + '@img/sharp-linux-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linux-x64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-arm64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + optional: true + + '@img/sharp-linuxmusl-x64@0.33.5': + optionalDependencies: + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + optional: true + + '@img/sharp-wasm32@0.33.5': + dependencies: + '@emnapi/runtime': 1.3.1 + optional: true + + '@img/sharp-win32-ia32@0.33.5': + optional: true + + '@img/sharp-win32-x64@0.33.5': + optional: true + '@isaacs/cliui@8.0.2': dependencies: string-width: 5.1.2 @@ -5280,12 +5614,6 @@ snapshots: - acorn - supports-color - '@mdx-js/react@3.1.0(@types/react@18.3.12)(react@18.3.1)': - dependencies: - '@types/mdx': 2.0.13 - '@types/react': 18.3.12 - react: 18.3.1 - '@mermaid-js/parser@0.3.0': dependencies: langium: 3.0.0 @@ -5351,6 +5679,8 @@ snapshots: '@next/env@14.2.15': {} + '@next/env@15.1.6': {} + '@next/eslint-plugin-next@15.1.6': dependencies: fast-glob: 3.3.1 @@ -5358,30 +5688,54 @@ snapshots: '@next/swc-darwin-arm64@14.2.15': optional: true + '@next/swc-darwin-arm64@15.1.6': + optional: true + '@next/swc-darwin-x64@14.2.15': optional: true + '@next/swc-darwin-x64@15.1.6': + optional: true + '@next/swc-linux-arm64-gnu@14.2.15': optional: true + '@next/swc-linux-arm64-gnu@15.1.6': + optional: true + '@next/swc-linux-arm64-musl@14.2.15': optional: true + '@next/swc-linux-arm64-musl@15.1.6': + optional: true + '@next/swc-linux-x64-gnu@14.2.15': optional: true + '@next/swc-linux-x64-gnu@15.1.6': + optional: true + '@next/swc-linux-x64-musl@14.2.15': optional: true + '@next/swc-linux-x64-musl@15.1.6': + optional: true + '@next/swc-win32-arm64-msvc@14.2.15': optional: true + '@next/swc-win32-arm64-msvc@15.1.6': + optional: true + '@next/swc-win32-ia32-msvc@14.2.15': optional: true '@next/swc-win32-x64-msvc@14.2.15': optional: true + '@next/swc-win32-x64-msvc@15.1.6': + optional: true + '@nodelib/fs.scandir@2.1.5': dependencies: '@nodelib/fs.stat': 2.0.5 @@ -5394,6 +5748,21 @@ snapshots: '@nodelib/fs.scandir': 2.1.5 fastq: 1.19.0 + '@pagefind/darwin-arm64@1.3.0': + optional: true + + '@pagefind/darwin-x64@1.3.0': + optional: true + + '@pagefind/linux-arm64@1.3.0': + optional: true + + '@pagefind/linux-x64@1.3.0': + optional: true + + '@pagefind/windows-x64@1.3.0': + optional: true + '@pkgjs/parseargs@0.11.0': optional: true @@ -5454,48 +5823,48 @@ snapshots: transitivePeerDependencies: - supports-color - '@react-aria/focus@3.19.1(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/focus@3.19.1(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-aria/interactions': 3.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-aria/utils': 3.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.27.0(react@18.3.1) + '@react-aria/interactions': 3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@react-aria/interactions@3.23.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/interactions@3.23.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-aria/ssr': 3.9.7(react@18.3.1) - '@react-aria/utils': 3.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - '@react-types/shared': 3.27.0(react@18.3.1) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-aria/utils': 3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@react-aria/ssr@3.9.7(react@18.3.1)': + '@react-aria/ssr@3.9.7(react@19.0.0)': dependencies: '@swc/helpers': 0.5.15 - react: 18.3.1 + react: 19.0.0 - '@react-aria/utils@3.27.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@react-aria/utils@3.27.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: - '@react-aria/ssr': 3.9.7(react@18.3.1) - '@react-stately/utils': 3.10.5(react@18.3.1) - '@react-types/shared': 3.27.0(react@18.3.1) + '@react-aria/ssr': 3.9.7(react@19.0.0) + '@react-stately/utils': 3.10.5(react@19.0.0) + '@react-types/shared': 3.27.0(react@19.0.0) '@swc/helpers': 0.5.15 clsx: 2.1.1 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) - '@react-stately/utils@3.10.5(react@18.3.1)': + '@react-stately/utils@3.10.5(react@19.0.0)': dependencies: '@swc/helpers': 0.5.15 - react: 18.3.1 + react: 19.0.0 - '@react-types/shared@3.27.0(react@18.3.1)': + '@react-types/shared@3.27.0(react@19.0.0)': dependencies: - react: 18.3.1 + react: 19.0.0 '@redis/bloom@1.2.0(@redis/client@1.6.0)': dependencies: @@ -5580,44 +5949,44 @@ snapshots: '@rollup/rollup-win32-x64-msvc@4.34.6': optional: true - '@shikijs/core@1.29.2': + '@shikijs/core@2.3.2': dependencies: - '@shikijs/engine-javascript': 1.29.2 - '@shikijs/engine-oniguruma': 1.29.2 - '@shikijs/types': 1.29.2 + '@shikijs/engine-javascript': 2.3.2 + '@shikijs/engine-oniguruma': 2.3.2 + '@shikijs/types': 2.3.2 '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 hast-util-to-html: 9.0.4 - '@shikijs/engine-javascript@1.29.2': + '@shikijs/engine-javascript@2.3.2': dependencies: - '@shikijs/types': 1.29.2 + '@shikijs/types': 2.3.2 '@shikijs/vscode-textmate': 10.0.1 - oniguruma-to-es: 2.3.0 + oniguruma-to-es: 3.1.0 - '@shikijs/engine-oniguruma@1.29.2': + '@shikijs/engine-oniguruma@2.3.2': dependencies: - '@shikijs/types': 1.29.2 + '@shikijs/types': 2.3.2 '@shikijs/vscode-textmate': 10.0.1 - '@shikijs/langs@1.29.2': + '@shikijs/langs@2.3.2': dependencies: - '@shikijs/types': 1.29.2 + '@shikijs/types': 2.3.2 - '@shikijs/themes@1.29.2': + '@shikijs/themes@2.3.2': dependencies: - '@shikijs/types': 1.29.2 + '@shikijs/types': 2.3.2 - '@shikijs/twoslash@1.29.2(typescript@5.7.3)': + '@shikijs/twoslash@2.3.2(typescript@5.7.3)': dependencies: - '@shikijs/core': 1.29.2 - '@shikijs/types': 1.29.2 + '@shikijs/core': 2.3.2 + '@shikijs/types': 2.3.2 twoslash: 0.2.12(typescript@5.7.3) transitivePeerDependencies: - supports-color - typescript - '@shikijs/types@1.29.2': + '@shikijs/types@2.3.2': dependencies: '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 @@ -5635,18 +6004,18 @@ snapshots: '@swc/counter': 0.1.3 tslib: 2.8.1 - '@tanstack/react-virtual@3.13.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1)': + '@tanstack/react-virtual@3.13.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0)': dependencies: '@tanstack/virtual-core': 3.13.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) '@tanstack/virtual-core@3.13.0': {} - '@theguild/remark-mermaid@0.1.3(react@18.3.1)': + '@theguild/remark-mermaid@0.2.0(react@19.0.0)': dependencies: mermaid: 11.4.1 - react: 18.3.1 + react: 19.0.0 unist-util-visit: 5.0.0 transitivePeerDependencies: - supports-color @@ -5821,13 +6190,21 @@ snapshots: '@types/react-dom@18.3.1': dependencies: - '@types/react': 18.3.12 + '@types/react': 19.0.8 + + '@types/react-dom@19.0.3(@types/react@19.0.8)': + dependencies: + '@types/react': 19.0.8 '@types/react@18.3.12': dependencies: '@types/prop-types': 15.7.14 csstype: 3.1.3 + '@types/react@19.0.8': + dependencies: + csstype: 3.1.3 + '@types/trusted-types@2.0.7': optional: true @@ -6106,10 +6483,10 @@ snapshots: dependencies: is-windows: 1.0.2 - better-react-mathjax@2.1.0(react@18.3.1): + better-react-mathjax@2.1.0(react@19.0.0): dependencies: mathjax-full: 3.2.2 - react: 18.3.1 + react: 19.0.0 binary-extensions@2.3.0: {} @@ -6275,6 +6652,18 @@ snapshots: color-name@1.1.4: {} + color-string@1.9.1: + dependencies: + color-name: 1.1.4 + simple-swizzle: 0.2.2 + optional: true + + color@4.2.3: + dependencies: + color-convert: 2.0.1 + color-string: 1.9.1 + optional: true + colorette@2.0.20: {} combined-stream@1.0.8: @@ -6605,6 +6994,9 @@ snapshots: detect-indent@7.0.1: {} + detect-libc@2.0.3: + optional: true + detect-newline@4.0.1: {} devlop@1.1.0: @@ -7012,10 +7404,6 @@ snapshots: signal-exit: 4.1.0 strip-final-newline: 3.0.0 - extend-shallow@2.0.1: - dependencies: - is-extendable: 0.1.1 - extend@3.0.2: {} extendable-error@0.1.7: {} @@ -7142,8 +7530,6 @@ snapshots: flatted@3.3.2: {} - flexsearch@0.7.43: {} - follow-redirects@1.15.9(debug@4.3.7): optionalDependencies: debug: 4.3.7 @@ -7291,13 +7677,6 @@ snapshots: graphemer@1.4.0: {} - gray-matter@4.0.3: - dependencies: - js-yaml: 3.14.1 - kind-of: 6.0.3 - section-matter: 1.0.0 - strip-bom-string: 1.0.0 - hachure-fill@0.5.2: {} has-bigints@1.1.0: {} @@ -7542,6 +7921,9 @@ snapshots: call-bound: 1.0.3 get-intrinsic: 1.2.7 + is-arrayish@0.3.2: + optional: true + is-async-function@2.1.1: dependencies: async-function: 1.0.0 @@ -7586,8 +7968,6 @@ snapshots: is-docker@3.0.0: {} - is-extendable@0.1.1: {} - is-extglob@2.1.1: {} is-finalizationregistry@1.1.1: @@ -7766,8 +8146,6 @@ snapshots: khroma@2.1.0: {} - kind-of@6.0.3: {} - kolorist@1.8.0: {} langium@3.0.0: @@ -8433,10 +8811,10 @@ snapshots: netmask@2.0.2: {} - next-themes@0.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next-themes@0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1): dependencies: @@ -8464,65 +8842,121 @@ snapshots: - '@babel/core' - babel-plugin-macros - nextra-theme-docs@3.2.4(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(nextra@3.2.4(@types/react@18.3.12)(acorn@8.14.0)(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3))(react-dom@18.3.1(react@18.3.1))(react@18.3.1): + next@14.2.15(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@next/env': 14.2.15 + '@swc/helpers': 0.5.5 + busboy: 1.6.0 + caniuse-lite: 1.0.30001698 + graceful-fs: 4.2.11 + postcss: 8.4.31 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.1(react@19.0.0) + optionalDependencies: + '@next/swc-darwin-arm64': 14.2.15 + '@next/swc-darwin-x64': 14.2.15 + '@next/swc-linux-arm64-gnu': 14.2.15 + '@next/swc-linux-arm64-musl': 14.2.15 + '@next/swc-linux-x64-gnu': 14.2.15 + '@next/swc-linux-x64-musl': 14.2.15 + '@next/swc-win32-arm64-msvc': 14.2.15 + '@next/swc-win32-ia32-msvc': 14.2.15 + '@next/swc-win32-x64-msvc': 14.2.15 + '@playwright/test': 1.50.1 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0): dependencies: - '@headlessui/react': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@next/env': 15.1.6 + '@swc/counter': 0.1.3 + '@swc/helpers': 0.5.15 + busboy: 1.6.0 + caniuse-lite: 1.0.30001698 + postcss: 8.4.31 + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + styled-jsx: 5.1.6(react@19.0.0) + optionalDependencies: + '@next/swc-darwin-arm64': 15.1.6 + '@next/swc-darwin-x64': 15.1.6 + '@next/swc-linux-arm64-gnu': 15.1.6 + '@next/swc-linux-arm64-musl': 15.1.6 + '@next/swc-linux-x64-gnu': 15.1.6 + '@next/swc-linux-x64-musl': 15.1.6 + '@next/swc-win32-arm64-msvc': 15.1.6 + '@next/swc-win32-x64-msvc': 15.1.6 + '@playwright/test': 1.50.1 + sharp: 0.33.5 + transitivePeerDependencies: + - '@babel/core' + - babel-plugin-macros + + nextra-theme-docs@4.2.4(@types/react@19.0.8)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(nextra@4.2.4(acorn@8.14.0)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3))(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + '@headlessui/react': 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) clsx: 2.1.1 - escape-string-regexp: 5.0.0 - flexsearch: 0.7.43 - next: 14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - next-themes: 0.4.4(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - nextra: 3.2.4(@types/react@18.3.12)(acorn@8.14.0)(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3) - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + next: 15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + next-themes: 0.4.4(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + nextra: 4.2.4(acorn@8.14.0)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3) + react: 19.0.0 + react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.0.0) + react-dom: 19.0.0(react@19.0.0) scroll-into-view-if-needed: 3.1.0 zod: 3.24.1 + zod-validation-error: 3.4.0(zod@3.24.1) + zustand: 5.0.3(@types/react@19.0.8)(react@19.0.0) + transitivePeerDependencies: + - '@types/react' + - immer + - use-sync-external-store - nextra@3.2.4(@types/react@18.3.12)(acorn@8.14.0)(next@14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1))(react-dom@18.3.1(react@18.3.1))(react@18.3.1)(typescript@5.7.3): + nextra@4.2.4(acorn@8.14.0)(next@15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0))(react-dom@19.0.0(react@19.0.0))(react@19.0.0)(typescript@5.7.3): dependencies: '@formatjs/intl-localematcher': 0.5.10 - '@headlessui/react': 2.2.0(react-dom@18.3.1(react@18.3.1))(react@18.3.1) + '@headlessui/react': 2.2.0(react-dom@19.0.0(react@19.0.0))(react@19.0.0) '@mdx-js/mdx': 3.1.0(acorn@8.14.0) - '@mdx-js/react': 3.1.0(@types/react@18.3.12)(react@18.3.1) '@napi-rs/simple-git': 0.1.19 - '@shikijs/twoslash': 1.29.2(typescript@5.7.3) - '@theguild/remark-mermaid': 0.1.3(react@18.3.1) + '@shikijs/twoslash': 2.3.2(typescript@5.7.3) + '@theguild/remark-mermaid': 0.2.0(react@19.0.0) '@theguild/remark-npm2yarn': 0.3.3 - better-react-mathjax: 2.1.0(react@18.3.1) + better-react-mathjax: 2.1.0(react@19.0.0) clsx: 2.1.1 estree-util-to-js: 2.0.0 estree-util-value-to-estree: 3.3.2 + fast-glob: 3.3.3 github-slugger: 2.0.0 - graceful-fs: 4.2.11 - gray-matter: 4.0.3 hast-util-to-estree: 3.1.1 katex: 0.16.21 mdast-util-from-markdown: 2.0.2 mdast-util-gfm: 3.0.0 mdast-util-to-hast: 13.2.0 negotiator: 1.0.0 - next: 14.2.15(@playwright/test@1.50.1)(react-dom@18.3.1(react@18.3.1))(react@18.3.1) - p-limit: 6.2.0 - react: 18.3.1 - react-dom: 18.3.1(react@18.3.1) + next: 15.1.6(@playwright/test@1.50.1)(react-dom@19.0.0(react@19.0.0))(react@19.0.0) + react: 19.0.0 + react-compiler-runtime: 0.0.0-experimental-22c6e49-20241219(react@19.0.0) + react-dom: 19.0.0(react@19.0.0) + react-medium-image-zoom: 5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0) rehype-katex: 7.0.1 - rehype-pretty-code: 0.14.0(shiki@1.29.2) + rehype-pretty-code: 0.14.0(shiki@2.3.2) rehype-raw: 7.0.0 remark-frontmatter: 5.0.0 remark-gfm: 4.0.0 remark-math: 6.0.0 remark-reading-time: 2.0.1 remark-smartypants: 3.0.2 - shiki: 1.29.2 + shiki: 2.3.2 slash: 5.1.0 title: 4.0.1 unist-util-remove: 4.0.0 unist-util-visit: 5.0.0 + unist-util-visit-children: 3.0.0 yaml: 2.7.0 zod: 3.24.1 zod-validation-error: 3.4.0(zod@3.24.1) transitivePeerDependencies: - - '@types/react' - acorn - supports-color - typescript @@ -8599,11 +9033,11 @@ snapshots: dependencies: mimic-fn: 4.0.0 - oniguruma-to-es@2.3.0: + oniguruma-to-es@3.1.0: dependencies: emoji-regex-xs: 1.0.0 - regex: 5.1.1 - regex-recursion: 5.1.1 + regex: 6.0.1 + regex-recursion: 6.0.2 optionator@0.9.4: dependencies: @@ -8636,10 +9070,6 @@ snapshots: dependencies: yocto-queue: 0.1.0 - p-limit@6.2.0: - dependencies: - yocto-queue: 1.1.1 - p-locate@4.1.0: dependencies: p-limit: 2.3.0 @@ -8674,6 +9104,14 @@ snapshots: package-manager-detector@0.2.9: {} + pagefind@1.3.0: + optionalDependencies: + '@pagefind/darwin-arm64': 1.3.0 + '@pagefind/darwin-x64': 1.3.0 + '@pagefind/linux-arm64': 1.3.0 + '@pagefind/linux-x64': 1.3.0 + '@pagefind/windows-x64': 1.3.0 + pako@0.2.9: {} parent-module@1.0.1: @@ -8955,18 +9393,34 @@ snapshots: minimist: 1.2.8 strip-json-comments: 2.0.1 + react-compiler-runtime@0.0.0-experimental-22c6e49-20241219(react@19.0.0): + dependencies: + react: 19.0.0 + react-dom@18.3.1(react@18.3.1): dependencies: loose-envify: 1.4.0 react: 18.3.1 scheduler: 0.23.2 + react-dom@19.0.0(react@19.0.0): + dependencies: + react: 19.0.0 + scheduler: 0.25.0 + react-is@16.13.1: {} + react-medium-image-zoom@5.2.13(react-dom@19.0.0(react@19.0.0))(react@19.0.0): + dependencies: + react: 19.0.0 + react-dom: 19.0.0(react@19.0.0) + react@18.3.1: dependencies: loose-envify: 1.4.0 + react@19.0.0: {} + read-yaml-file@1.1.0: dependencies: graceful-fs: 4.2.11 @@ -9040,14 +9494,13 @@ snapshots: regenerator-runtime@0.14.1: {} - regex-recursion@5.1.1: + regex-recursion@6.0.2: dependencies: - regex: 5.1.1 regex-utilities: 2.3.0 regex-utilities@2.3.0: {} - regex@5.1.1: + regex@6.0.1: dependencies: regex-utilities: 2.3.0 @@ -9085,13 +9538,13 @@ snapshots: hast-util-from-html: 2.0.3 unified: 11.0.5 - rehype-pretty-code@0.14.0(shiki@1.29.2): + rehype-pretty-code@0.14.0(shiki@2.3.2): dependencies: '@types/hast': 3.0.4 hast-util-to-string: 3.0.1 parse-numeric-range: 1.3.0 rehype-parse: 9.0.1 - shiki: 1.29.2 + shiki: 2.3.2 unified: 11.0.5 unist-util-visit: 5.0.0 @@ -9320,15 +9773,12 @@ snapshots: dependencies: loose-envify: 1.4.0 + scheduler@0.25.0: {} + scroll-into-view-if-needed@3.1.0: dependencies: compute-scroll-into-view: 3.1.1 - section-matter@1.0.0: - dependencies: - extend-shallow: 2.0.1 - kind-of: 6.0.3 - secure-json-parse@2.7.0: {} secure-json-parse@3.0.2: {} @@ -9391,20 +9841,47 @@ snapshots: es-errors: 1.3.0 es-object-atoms: 1.1.1 + sharp@0.33.5: + dependencies: + color: 4.2.3 + detect-libc: 2.0.3 + semver: 7.7.1 + optionalDependencies: + '@img/sharp-darwin-arm64': 0.33.5 + '@img/sharp-darwin-x64': 0.33.5 + '@img/sharp-libvips-darwin-arm64': 1.0.4 + '@img/sharp-libvips-darwin-x64': 1.0.4 + '@img/sharp-libvips-linux-arm': 1.0.5 + '@img/sharp-libvips-linux-arm64': 1.0.4 + '@img/sharp-libvips-linux-s390x': 1.0.4 + '@img/sharp-libvips-linux-x64': 1.0.4 + '@img/sharp-libvips-linuxmusl-arm64': 1.0.4 + '@img/sharp-libvips-linuxmusl-x64': 1.0.4 + '@img/sharp-linux-arm': 0.33.5 + '@img/sharp-linux-arm64': 0.33.5 + '@img/sharp-linux-s390x': 0.33.5 + '@img/sharp-linux-x64': 0.33.5 + '@img/sharp-linuxmusl-arm64': 0.33.5 + '@img/sharp-linuxmusl-x64': 0.33.5 + '@img/sharp-wasm32': 0.33.5 + '@img/sharp-win32-ia32': 0.33.5 + '@img/sharp-win32-x64': 0.33.5 + optional: true + shebang-command@2.0.0: dependencies: shebang-regex: 3.0.0 shebang-regex@3.0.0: {} - shiki@1.29.2: + shiki@2.3.2: dependencies: - '@shikijs/core': 1.29.2 - '@shikijs/engine-javascript': 1.29.2 - '@shikijs/engine-oniguruma': 1.29.2 - '@shikijs/langs': 1.29.2 - '@shikijs/themes': 1.29.2 - '@shikijs/types': 1.29.2 + '@shikijs/core': 2.3.2 + '@shikijs/engine-javascript': 2.3.2 + '@shikijs/engine-oniguruma': 2.3.2 + '@shikijs/langs': 2.3.2 + '@shikijs/themes': 2.3.2 + '@shikijs/types': 2.3.2 '@shikijs/vscode-textmate': 10.0.1 '@types/hast': 3.0.4 @@ -9442,6 +9919,11 @@ snapshots: signal-exit@4.1.0: {} + simple-swizzle@0.2.2: + dependencies: + is-arrayish: 0.3.2 + optional: true + slash@3.0.0: {} slash@5.1.0: {} @@ -9585,8 +10067,6 @@ snapshots: dependencies: ansi-regex: 6.1.0 - strip-bom-string@1.0.0: {} - strip-bom@3.0.0: {} strip-final-newline@2.0.0: {} @@ -9606,6 +10086,16 @@ snapshots: client-only: 0.0.1 react: 18.3.1 + styled-jsx@5.1.1(react@19.0.0): + dependencies: + client-only: 0.0.1 + react: 19.0.0 + + styled-jsx@5.1.6(react@19.0.0): + dependencies: + client-only: 0.0.1 + react: 19.0.0 + stylis@4.3.6: {} sucrase@3.35.0: @@ -10052,12 +10542,15 @@ snapshots: yocto-queue@0.1.0: {} - yocto-queue@1.1.1: {} - zod-validation-error@3.4.0(zod@3.24.1): dependencies: zod: 3.24.1 zod@3.24.1: {} + zustand@5.0.3(@types/react@19.0.8)(react@19.0.0): + optionalDependencies: + '@types/react': 19.0.8 + react: 19.0.0 + zwitch@2.0.4: {} From faf1187db7325c3d88774f7ca075eeb1f5adbb6e Mon Sep 17 00:00:00 2001 From: better-salmon <132773930+better-salmon@users.noreply.github.com> Date: Sun, 9 Feb 2025 02:31:05 +0300 Subject: [PATCH 2/2] Update GitHub Actions docs workflows to fetch full git history --- .github/workflows/deploy-docs.yml | 2 ++ .github/workflows/test-docs.yml | 2 ++ 2 files changed, 4 insertions(+) diff --git a/.github/workflows/deploy-docs.yml b/.github/workflows/deploy-docs.yml index 17e3236e..a87797b1 100644 --- a/.github/workflows/deploy-docs.yml +++ b/.github/workflows/deploy-docs.yml @@ -25,6 +25,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: pnpm/action-setup@v4 diff --git a/.github/workflows/test-docs.yml b/.github/workflows/test-docs.yml index 2c287e86..061dfe02 100644 --- a/.github/workflows/test-docs.yml +++ b/.github/workflows/test-docs.yml @@ -20,6 +20,8 @@ jobs: steps: - name: Checkout uses: actions/checkout@v4 + with: + fetch-depth: 0 - uses: pnpm/action-setup@v4