From 5a22fae7c59c34a351aae347a0ae4822c011754e Mon Sep 17 00:00:00 2001
From: Trance-0 <60459821+Trance-0@users.noreply.github.com>
Date: Tue, 22 Jul 2025 00:40:18 -0500
Subject: [PATCH] test algolia search
---
Jenkinsfile | 3 +
app/layout.tsx | 3 +
components/docsearch.tsx | 18 ++
package-lock.json | 399 +++++++++++++++++++++++++++++++++++++++
package.json | 1 +
5 files changed, 424 insertions(+)
create mode 100644 components/docsearch.tsx
diff --git a/Jenkinsfile b/Jenkinsfile
index ec10c15..68b531d 100644
--- a/Jenkinsfile
+++ b/Jenkinsfile
@@ -3,6 +3,9 @@ pipeline {
registry = "trance0/notenextra"
version = "1.1"
NODE_OPTIONS = "--max-old-space-size=8192"
+ // NEXT_SEARCH_ALGOLIA_APP_ID = "${NEXT_SEARCH_ALGOLIA_APP_ID}"
+ // NEXT_SEARCH_ALGOLIA_API_KEY = "${NEXT_SEARCH_ALGOLIA_API_KEY}"
+ // NEXT_SEARCH_ALGOLIA_INDEX_NAME = "${NEXT_SEARCH_ALGOLIA_INDEX_NAME}"
}
agent any
diff --git a/app/layout.tsx b/app/layout.tsx
index c8870eb..252442f 100644
--- a/app/layout.tsx
+++ b/app/layout.tsx
@@ -6,6 +6,7 @@ import 'nextra-theme-docs/style.css'
import { SpeedInsights } from "@vercel/speed-insights/next"
import { Analytics } from "@vercel/analytics/react"
import 'katex/dist/katex.min.css'
+import AlgoliaSearch from '../components/docsearch'
export const metadata = {
metadataBase: new URL('https://notenextra.trance-0.com'),
@@ -80,6 +81,8 @@ export default async function RootLayout({ children }) {
docsRepositoryBase="https://github.com/Trance-0/NoteNextra/tree/main"
sidebar={{ defaultMenuCollapseLevel: 1 }}
pageMap={pageMap}
+ // TODO: fix algolia search
+ // search={}
>
{children}
{/* SpeedInsights in vercel */}
diff --git a/components/docsearch.tsx b/components/docsearch.tsx
new file mode 100644
index 0000000..ae95a40
--- /dev/null
+++ b/components/docsearch.tsx
@@ -0,0 +1,18 @@
+'use client'
+// sample code from https://docsearch.algolia.com/docs/docsearch
+
+import { DocSearch } from '@docsearch/react';
+
+import '@docsearch/css';
+
+function AlgoliaSearch() {
+ return (
+
+ );
+}
+
+export default AlgoliaSearch;
\ No newline at end of file
diff --git a/package-lock.json b/package-lock.json
index a04b488..183239b 100644
--- a/package-lock.json
+++ b/package-lock.json
@@ -5,6 +5,7 @@
"packages": {
"": {
"dependencies": {
+ "@docsearch/react": "^4.0.0-beta.2",
"@next/bundle-analyzer": "^15.3.5",
"@vercel/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0",
@@ -23,6 +24,288 @@
"@types/react": "19.1.8"
}
},
+ "node_modules/@ai-sdk/provider": {
+ "version": "1.1.3",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider/-/provider-1.1.3.tgz",
+ "integrity": "sha512-qZMxYJ0qqX/RfnuIaab+zp8UAeJn/ygXXAffR5I4N0n1IrvA6qBsjc8hXLmBiMV2zoXlifkacF7sEFnYnjBcqg==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "json-schema": "^0.4.0"
+ },
+ "engines": {
+ "node": ">=18"
+ }
+ },
+ "node_modules/@ai-sdk/provider-utils": {
+ "version": "2.2.8",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/provider-utils/-/provider-utils-2.2.8.tgz",
+ "integrity": "sha512-fqhG+4sCVv8x7nFzYnFo19ryhAa3w096Kmc3hWxMQfW/TubPOmt3A6tYZhl4mUfQWWQMsuSkLrtjlWuXBVSGQA==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "1.1.3",
+ "nanoid": "^3.3.8",
+ "secure-json-parse": "^2.7.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@ai-sdk/react": {
+ "version": "1.2.12",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/react/-/react-1.2.12.tgz",
+ "integrity": "sha512-jK1IZZ22evPZoQW3vlkZ7wvjYGYF+tRBKXtrcolduIkQ/m/sOAVcVeVDUDvh1T91xCnWCdUGCPZg2avZ90mv3g==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider-utils": "2.2.8",
+ "@ai-sdk/ui-utils": "1.2.11",
+ "swr": "^2.2.5",
+ "throttleit": "2.1.0"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "react": "^18 || ^19 || ^19.0.0-rc",
+ "zod": "^3.23.8"
+ },
+ "peerDependenciesMeta": {
+ "zod": {
+ "optional": true
+ }
+ }
+ },
+ "node_modules/@ai-sdk/ui-utils": {
+ "version": "1.2.11",
+ "resolved": "https://registry.npmjs.org/@ai-sdk/ui-utils/-/ui-utils-1.2.11.tgz",
+ "integrity": "sha512-3zcwCc8ezzFlwp3ZD15wAPjf2Au4s3vAbKsXQVyhxODHcmu0iyPO2Eua6D/vicq/AUm/BAo60r97O6HU+EI0+w==",
+ "license": "Apache-2.0",
+ "dependencies": {
+ "@ai-sdk/provider": "1.1.3",
+ "@ai-sdk/provider-utils": "2.2.8",
+ "zod-to-json-schema": "^3.24.1"
+ },
+ "engines": {
+ "node": ">=18"
+ },
+ "peerDependencies": {
+ "zod": "^3.23.8"
+ }
+ },
+ "node_modules/@algolia/autocomplete-core": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-core/-/autocomplete-core-1.19.2.tgz",
+ "integrity": "sha512-mKv7RyuAzXvwmq+0XRK8HqZXt9iZ5Kkm2huLjgn5JoCPtDy+oh9yxUMfDDaVCw0oyzZ1isdJBc7l9nuCyyR7Nw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/autocomplete-plugin-algolia-insights": "1.19.2",
+ "@algolia/autocomplete-shared": "1.19.2"
+ }
+ },
+ "node_modules/@algolia/autocomplete-plugin-algolia-insights": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-plugin-algolia-insights/-/autocomplete-plugin-algolia-insights-1.19.2.tgz",
+ "integrity": "sha512-TjxbcC/r4vwmnZaPwrHtkXNeqvlpdyR+oR9Wi2XyfORkiGkLTVhX2j+O9SaCCINbKoDfc+c2PB8NjfOnz7+oKg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/autocomplete-shared": "1.19.2"
+ },
+ "peerDependencies": {
+ "search-insights": ">= 1 < 3"
+ }
+ },
+ "node_modules/@algolia/autocomplete-shared": {
+ "version": "1.19.2",
+ "resolved": "https://registry.npmjs.org/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz",
+ "integrity": "sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==",
+ "license": "MIT",
+ "peerDependencies": {
+ "@algolia/client-search": ">= 4.9.1 < 6",
+ "algoliasearch": ">= 4.9.1 < 6"
+ }
+ },
+ "node_modules/@algolia/client-abtesting": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-abtesting/-/client-abtesting-5.34.0.tgz",
+ "integrity": "sha512-d6ardhDtQsnMpyr/rPrS3YuIE9NYpY4rftkC7Ap9tyuhZ/+V3E/LH+9uEewPguKzVqduApdwJzYq2k+vAXVEbQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-analytics": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-analytics/-/client-analytics-5.34.0.tgz",
+ "integrity": "sha512-WXIByjHNA106JO1Dj6b4viSX/yMN3oIB4qXr2MmyEmNq0MgfuPfPw8ayLRIZPa9Dp27hvM3G8MWJ4RG978HYFw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-common": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-common/-/client-common-5.34.0.tgz",
+ "integrity": "sha512-JeN1XJLZIkkv6yK0KT93CIXXk+cDPUGNg5xeH4fN9ZykYFDWYRyqgaDo+qvg4RXC3WWkdQ+hogQuuCk4Y3Eotw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-insights": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-insights/-/client-insights-5.34.0.tgz",
+ "integrity": "sha512-gdFlcQa+TWXJUsihHDlreFWniKPFIQ15i5oynCY4m9K3DCex5g5cVj9VG4Hsquxf2t6Y0yv8w6MvVTGDO8oRLw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-personalization": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-personalization/-/client-personalization-5.34.0.tgz",
+ "integrity": "sha512-g91NHhIZDkh1IUeNtsUd8V/ZxuBc2ByOfDqhCkoQY3Z/mZszhpn3Czn6AR5pE81fx793vMaiOZvQVB5QttArkQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-query-suggestions": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-query-suggestions/-/client-query-suggestions-5.34.0.tgz",
+ "integrity": "sha512-cvRApDfFrlJ3Vcn37U4Nd/7S6T8cx7FW3mVLJPqkkzixv8DQ/yV+x4VLirxOtGDdq3KohcIbIGWbg1QuyOZRvQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/client-search": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/client-search/-/client-search-5.34.0.tgz",
+ "integrity": "sha512-m9tK4IqJmn+flEPRtuxuHgiHmrKV0su5fuVwVpq8/es4DMjWMgX1a7Lg1PktvO8AbKaTp9kTtBAPnwXpuCwmEg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/ingestion": {
+ "version": "1.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/ingestion/-/ingestion-1.34.0.tgz",
+ "integrity": "sha512-2rxy4XoeRtIpzxEh5u5UgDC5HY4XbNdjzNgFx1eDrfFkSHpEVjirtLhISMy2N5uSFqYu1uUby5/NC1Soq8J7iw==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/monitoring": {
+ "version": "1.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/monitoring/-/monitoring-1.34.0.tgz",
+ "integrity": "sha512-OJiDhlJX8ZdWAndc50Z6aUEW/YmnhFK2ul3rahMw5/c9Damh7+oY9SufoK2LimJejy+65Qka06YPG29v2G/vww==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/recommend": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/recommend/-/recommend-5.34.0.tgz",
+ "integrity": "sha512-fzNQZAdVxu/Gnbavy8KW5gurApwdYcPW6+pjO7Pw8V5drCR3eSqnOxSvp79rhscDX8ezwqMqqK4F3Hsq+KpRzg==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-browser-xhr": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.34.0.tgz",
+ "integrity": "sha512-gEI0xjzA/xvMpEdYmgQnf6AQKllhgKRtnEWmwDrnct+YPIruEHlx1dd7nRJTy/33MiYcCxkB4khXpNrHuqgp3Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-fetch": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-fetch/-/requester-fetch-5.34.0.tgz",
+ "integrity": "sha512-5SwGOttpbACT4jXzfSJ3mnTcF46SVNSnZ1JjxC3qBa3qKi4U0CJGzuVVy3L798u8dG5H0SZ2MAB5v7180Gnqew==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
+ "node_modules/@algolia/requester-node-http": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/@algolia/requester-node-http/-/requester-node-http-5.34.0.tgz",
+ "integrity": "sha512-409XlyIyEXrxyGjWxd0q5RASizHSRVUU0AXPCEdqnbcGEzbCgL1n7oYI8YxzE/RqZLha+PNwWCcTVn7EE5tyyQ==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-common": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
"node_modules/@antfu/install-pkg": {
"version": "1.1.0",
"resolved": "https://registry.npmjs.org/@antfu/install-pkg/-/install-pkg-1.1.0.tgz",
@@ -105,6 +388,45 @@
"node": ">=10.0.0"
}
},
+ "node_modules/@docsearch/css": {
+ "version": "4.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/css/-/css-4.0.0-beta.2.tgz",
+ "integrity": "sha512-BQFu7UXjuj9xBwuHCQH1Sbr1MPdwtn3+9uNqMprGOjS4TNGEP0/x9Okp7Omz7M2/3OrrhHT5PbKMV9FTfp5aUw==",
+ "license": "MIT"
+ },
+ "node_modules/@docsearch/react": {
+ "version": "4.0.0-beta.2",
+ "resolved": "https://registry.npmjs.org/@docsearch/react/-/react-4.0.0-beta.2.tgz",
+ "integrity": "sha512-lInIY6wmJDyB04gRjPKPqRTgp29MSsQzDAIMRk/mtkIHbSRL6Rmd3G5jqW/MX+84fZVuq9vhWLz52SjvAsNJ5Q==",
+ "license": "MIT",
+ "dependencies": {
+ "@ai-sdk/react": "^1.2.12",
+ "@algolia/autocomplete-core": "1.19.2",
+ "@docsearch/css": "4.0.0-beta.2",
+ "algoliasearch": "^5.28.0",
+ "marked": "^15.0.12"
+ },
+ "peerDependencies": {
+ "@types/react": ">= 16.8.0 < 20.0.0",
+ "react": ">= 16.8.0 < 20.0.0",
+ "react-dom": ">= 16.8.0 < 20.0.0",
+ "search-insights": ">= 1 < 3"
+ },
+ "peerDependenciesMeta": {
+ "@types/react": {
+ "optional": true
+ },
+ "react": {
+ "optional": true
+ },
+ "react-dom": {
+ "optional": true
+ },
+ "search-insights": {
+ "optional": true
+ }
+ }
+ },
"node_modules/@emnapi/runtime": {
"version": "1.4.3",
"resolved": "https://registry.npmjs.org/@emnapi/runtime/-/runtime-1.4.3.tgz",
@@ -1881,6 +2203,30 @@
"node": ">=0.4.0"
}
},
+ "node_modules/algoliasearch": {
+ "version": "5.34.0",
+ "resolved": "https://registry.npmjs.org/algoliasearch/-/algoliasearch-5.34.0.tgz",
+ "integrity": "sha512-wioVnf/8uuG8Bmywhk5qKIQ3wzCCtmdvicPRb0fa3kKYGGoewfgDqLEaET1MV2NbTc3WGpPv+AgauLVBp1nB9A==",
+ "license": "MIT",
+ "dependencies": {
+ "@algolia/client-abtesting": "5.34.0",
+ "@algolia/client-analytics": "5.34.0",
+ "@algolia/client-common": "5.34.0",
+ "@algolia/client-insights": "5.34.0",
+ "@algolia/client-personalization": "5.34.0",
+ "@algolia/client-query-suggestions": "5.34.0",
+ "@algolia/client-search": "5.34.0",
+ "@algolia/ingestion": "1.34.0",
+ "@algolia/monitoring": "1.34.0",
+ "@algolia/recommend": "5.34.0",
+ "@algolia/requester-browser-xhr": "5.34.0",
+ "@algolia/requester-fetch": "5.34.0",
+ "@algolia/requester-node-http": "5.34.0"
+ },
+ "engines": {
+ "node": ">= 14.0.0"
+ }
+ },
"node_modules/arg": {
"version": "5.0.2",
"resolved": "https://registry.npmjs.org/arg/-/arg-5.0.2.tgz",
@@ -3682,6 +4028,12 @@
"integrity": "sha512-RHxMLp9lnKHGHRng9QFhRCMbYAcVpn69smSGcq3f36xjgVVWThj4qqLbTLlq7Ssj8B+fIQ1EuCEGI2lKsyQeIw==",
"license": "ISC"
},
+ "node_modules/json-schema": {
+ "version": "0.4.0",
+ "resolved": "https://registry.npmjs.org/json-schema/-/json-schema-0.4.0.tgz",
+ "integrity": "sha512-es94M3nTIfsEPisRafak+HDLfHXnKBhV3vU5eqPcS3flIWqcxJWgXHXiey3YrpaNsanY5ei1VoYEbOzijuq9BA==",
+ "license": "(AFL-2.1 OR BSD-3-Clause)"
+ },
"node_modules/katex": {
"version": "0.16.22",
"resolved": "https://registry.npmjs.org/katex/-/katex-0.16.22.tgz",
@@ -6102,6 +6454,19 @@
"compute-scroll-into-view": "^3.0.2"
}
},
+ "node_modules/search-insights": {
+ "version": "2.17.3",
+ "resolved": "https://registry.npmjs.org/search-insights/-/search-insights-2.17.3.tgz",
+ "integrity": "sha512-RQPdCYTa8A68uM2jwxoY842xDhvx3E5LFL1LxvxCNMev4o5mLuokczhzjAgGwUZBAmOKZknArSxLKmXtIi2AxQ==",
+ "license": "MIT",
+ "peer": true
+ },
+ "node_modules/secure-json-parse": {
+ "version": "2.7.0",
+ "resolved": "https://registry.npmjs.org/secure-json-parse/-/secure-json-parse-2.7.0.tgz",
+ "integrity": "sha512-6aU+Rwsezw7VR8/nyvKTx8QpWH9FrcYiXXlqC4z5d5XQBDRqtbfsRjnwGyqbi3gddNtWHuEk9OANUotL26qKUw==",
+ "license": "BSD-3-Clause"
+ },
"node_modules/semver": {
"version": "7.7.2",
"resolved": "https://registry.npmjs.org/semver/-/semver-7.7.2.tgz",
@@ -6374,6 +6739,19 @@
"integrity": "sha512-yQ3rwFWRfwNUY7H5vpU0wfdkNSnvnJinhF9830Swlaxl03zsOjCfmX0ugac+3LtK0lYSgwL/KXc8oYL3mG4YFQ==",
"license": "MIT"
},
+ "node_modules/swr": {
+ "version": "2.3.4",
+ "resolved": "https://registry.npmjs.org/swr/-/swr-2.3.4.tgz",
+ "integrity": "sha512-bYd2lrhc+VarcpkgWclcUi92wYCpOgMws9Sd1hG1ntAu0NEy+14CbotuFjshBU2kt9rYj9TSmDcybpxpeTU1fg==",
+ "license": "MIT",
+ "dependencies": {
+ "dequal": "^2.0.3",
+ "use-sync-external-store": "^1.4.0"
+ },
+ "peerDependencies": {
+ "react": "^16.11.0 || ^17.0.0 || ^18.0.0 || ^19.0.0"
+ }
+ },
"node_modules/system-architecture": {
"version": "0.1.0",
"resolved": "https://registry.npmjs.org/system-architecture/-/system-architecture-0.1.0.tgz",
@@ -6392,6 +6770,18 @@
"integrity": "sha512-Cat63mxsVJlzYvN51JmVXIgNoUokrIaT2zLclCXjRd8boZ0004U4KCs/sToJ75C6sdlByWxpYnb5Boif1VSFew==",
"license": "MIT"
},
+ "node_modules/throttleit": {
+ "version": "2.1.0",
+ "resolved": "https://registry.npmjs.org/throttleit/-/throttleit-2.1.0.tgz",
+ "integrity": "sha512-nt6AMGKW1p/70DF/hGBdJB57B8Tspmbp5gfJ8ilhLnt7kkr2ye7hzD6NVG8GGErk2HWF34igrL2CXmNIkzKqKw==",
+ "license": "MIT",
+ "engines": {
+ "node": ">=18"
+ },
+ "funding": {
+ "url": "https://github.com/sponsors/sindresorhus"
+ }
+ },
"node_modules/tinyexec": {
"version": "1.0.1",
"resolved": "https://registry.npmjs.org/tinyexec/-/tinyexec-1.0.1.tgz",
@@ -6918,6 +7308,15 @@
"url": "https://github.com/sponsors/colinhacks"
}
},
+ "node_modules/zod-to-json-schema": {
+ "version": "3.24.6",
+ "resolved": "https://registry.npmjs.org/zod-to-json-schema/-/zod-to-json-schema-3.24.6.tgz",
+ "integrity": "sha512-h/z3PKvcTcTetyjl1fkj79MHNEjm+HpD6NXheWjzOekY7kV+lwDYnHw+ivHkijnCSMz1yJaWBD9vu/Fcmk+vEg==",
+ "license": "ISC",
+ "peerDependencies": {
+ "zod": "^3.24.1"
+ }
+ },
"node_modules/zod-validation-error": {
"version": "3.5.2",
"resolved": "https://registry.npmjs.org/zod-validation-error/-/zod-validation-error-3.5.2.tgz",
diff --git a/package.json b/package.json
index 5d82549..bf20f2e 100644
--- a/package.json
+++ b/package.json
@@ -8,6 +8,7 @@
"start": "next start"
},
"dependencies": {
+ "@docsearch/react": "^4.0.0-beta.2",
"@next/bundle-analyzer": "^15.3.5",
"@vercel/analytics": "^1.5.0",
"@vercel/speed-insights": "^1.2.0",