mirror of
https://github.com/facebook/docusaurus.git
synced 2025-12-29 13:33:06 +00:00
Merge branch 'main' into slorber/release-3.9
This commit is contained in:
commit
83f8f625d6
|
|
@ -129,8 +129,5 @@
|
|||
"stylelint-config-standard": "^29.0.0",
|
||||
"typescript": "~5.8.2"
|
||||
},
|
||||
"resolutions": {
|
||||
"@docsearch/react": "^4.0.1"
|
||||
},
|
||||
"packageManager": "yarn@1.22.22+sha512.a6b2f7906b721bba3d67d4aff083df04dad64c399707841b7acf00f6b133b7ac24255f2652fa22ae3534329dc6180534e98d17432037ff6fd140556e2bb3137e"
|
||||
}
|
||||
|
|
|
|||
|
|
@ -21,11 +21,13 @@ describe('normalizeSocials', () => {
|
|||
twitch: 'gingergeek',
|
||||
youtube: 'gingergeekuk',
|
||||
mastodon: 'Mastodon',
|
||||
email: 'seb@example.com',
|
||||
};
|
||||
|
||||
expect(normalizeSocials(socials)).toMatchInlineSnapshot(`
|
||||
{
|
||||
"bluesky": "https://bsky.app/profile/gingergeek.co.uk",
|
||||
"email": "mailto:seb@example.com",
|
||||
"github": "https://github.com/ozakione",
|
||||
"instagram": "https://www.instagram.com/thisweekinreact",
|
||||
"linkedin": "https://www.linkedin.com/in/ozakione/",
|
||||
|
|
@ -48,11 +50,13 @@ describe('normalizeSocials', () => {
|
|||
instaGRam: 'thisweekinreact',
|
||||
BLUESKY: 'gingergeek.co.uk',
|
||||
tHrEaDs: 'gingergeekuk',
|
||||
eMAil: 'seb@example.com',
|
||||
};
|
||||
|
||||
expect(normalizeSocials(socials)).toMatchInlineSnapshot(`
|
||||
{
|
||||
"bluesky": "https://bsky.app/profile/gingergeek.co.uk",
|
||||
"email": "mailto:seb@example.com",
|
||||
"github": "https://github.com/ozakione",
|
||||
"instagram": "https://www.instagram.com/thisweekinreact",
|
||||
"linkedin": "https://www.linkedin.com/in/ozakione/",
|
||||
|
|
@ -69,6 +73,7 @@ describe('normalizeSocials', () => {
|
|||
linkedin: 'https://linkedin.com/ozakione',
|
||||
github: 'https://github.com/ozakione',
|
||||
stackoverflow: 'https://stackoverflow.com/ozakione',
|
||||
email: 'mailto:seb@example.com',
|
||||
};
|
||||
|
||||
expect(normalizeSocials(socials)).toEqual(socials);
|
||||
|
|
@ -81,10 +86,12 @@ describe('normalizeSocials', () => {
|
|||
github: 'https://github.com/ozakione',
|
||||
stackoverflow: 'https://stackoverflow.com/ozakione',
|
||||
mastodon: 'https://hachyderm.io/@hachyderm',
|
||||
email: 'mailto:seb@example.com',
|
||||
};
|
||||
|
||||
expect(normalizeSocials(socials)).toMatchInlineSnapshot(`
|
||||
{
|
||||
"email": "mailto:seb@example.com",
|
||||
"github": "https://github.com/ozakione",
|
||||
"linkedin": "https://www.linkedin.com/in/ozakione/",
|
||||
"mastodon": "https://hachyderm.io/@hachyderm",
|
||||
|
|
|
|||
|
|
@ -27,6 +27,7 @@ export const AuthorSocialsSchema = Joi.object<AuthorSocials>({
|
|||
mastodon: Joi.string(),
|
||||
twitch: Joi.string(),
|
||||
youtube: Joi.string(),
|
||||
email: Joi.string(),
|
||||
}).unknown();
|
||||
|
||||
type PredefinedPlatformNormalizer = (value: string) => string;
|
||||
|
|
@ -47,12 +48,12 @@ const PredefinedPlatformNormalizers: Record<
|
|||
mastodon: (handle: string) => `https://mastodon.social/@${handle}`, // can be in format user@other.server and it will redirect if needed
|
||||
twitch: (handle: string) => `https://twitch.tv/${handle}`,
|
||||
youtube: (handle: string) => `https://youtube.com/@${handle}`, // https://support.google.com/youtube/answer/6180214?hl=en
|
||||
email: (email: string) => `mailto:${email}`,
|
||||
};
|
||||
|
||||
type SocialEntry = [string, string];
|
||||
|
||||
function normalizeSocialEntry([platform, value]: SocialEntry): SocialEntry {
|
||||
const normalizer = PredefinedPlatformNormalizers[platform.toLowerCase()];
|
||||
if (typeof value !== 'string') {
|
||||
throw new Error(
|
||||
`Author socials should be usernames/userIds/handles, or fully qualified HTTP(s) absolute URLs.
|
||||
|
|
@ -60,7 +61,9 @@ Social platform '${platform}' has illegal value '${value}'`,
|
|||
);
|
||||
}
|
||||
const isAbsoluteUrl =
|
||||
value.startsWith('http://') || value.startsWith('https://');
|
||||
value.startsWith('http://') ||
|
||||
value.startsWith('https://') ||
|
||||
value.startsWith('mailto:');
|
||||
if (isAbsoluteUrl) {
|
||||
return [platform, value];
|
||||
} else if (value.includes('/')) {
|
||||
|
|
@ -69,6 +72,7 @@ Social platform '${platform}' has illegal value '${value}'`,
|
|||
Social platform '${platform}' has illegal value '${value}'`,
|
||||
);
|
||||
}
|
||||
const normalizer = PredefinedPlatformNormalizers[platform.toLowerCase()];
|
||||
if (normalizer && !isAbsoluteUrl) {
|
||||
const normalizedPlatform = platform.toLowerCase();
|
||||
const normalizedValue = normalizer(value);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,6 @@
|
|||
"@docusaurus/utils-validation": "3.8.1",
|
||||
"@mdx-js/react": "^3.0.0",
|
||||
"clsx": "^2.0.0",
|
||||
"copy-text-to-clipboard": "^3.2.0",
|
||||
"infima": "0.2.0-alpha.45",
|
||||
"lodash": "^4.17.21",
|
||||
"nprogress": "^0.2.0",
|
||||
|
|
|
|||
|
|
@ -1894,6 +1894,14 @@ declare module '@theme/Icon/Socials/Twitch' {
|
|||
export default function Twitch(props: Props): ReactNode;
|
||||
}
|
||||
|
||||
declare module '@theme/Icon/Socials/Email' {
|
||||
import type {ComponentProps, ReactNode} from 'react';
|
||||
|
||||
export interface Props extends ComponentProps<'svg'> {}
|
||||
|
||||
export default function Email(props: Props): ReactNode;
|
||||
}
|
||||
|
||||
declare module '@theme/Icon/Socials/Mastodon' {
|
||||
import type {ComponentProps, ReactNode} from 'react';
|
||||
|
||||
|
|
|
|||
|
|
@ -23,6 +23,7 @@ import Threads from '@theme/Icon/Socials/Threads';
|
|||
import Youtube from '@theme/Icon/Socials/YouTube';
|
||||
import Mastodon from '@theme/Icon/Socials/Mastodon';
|
||||
import Twitch from '@theme/Icon/Socials/Twitch';
|
||||
import Email from '@theme/Icon/Socials/Email';
|
||||
|
||||
import styles from './styles.module.css';
|
||||
|
||||
|
|
@ -42,6 +43,7 @@ const SocialPlatformConfigs: Record<string, SocialPlatformConfig> = {
|
|||
mastodon: {Icon: Mastodon, label: 'Mastodon'},
|
||||
youtube: {Icon: Youtube, label: 'YouTube'},
|
||||
twitch: {Icon: Twitch, label: 'Twitch'},
|
||||
email: {Icon: Email, label: 'Email'},
|
||||
};
|
||||
|
||||
function getSocialPlatformConfig(platformKey: string): SocialPlatformConfig {
|
||||
|
|
@ -57,7 +59,7 @@ function SocialLink({platform, link}: {platform: string; link: string}) {
|
|||
const {Icon, label} = getSocialPlatformConfig(platform);
|
||||
return (
|
||||
<Link className={styles.authorSocialLink} href={link} title={label}>
|
||||
<Icon className={clsx(styles.authorSocialLink)} />
|
||||
<Icon className={clsx(styles.authorSocialIcon)} />
|
||||
</Link>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import React, {
|
|||
type ReactNode,
|
||||
} from 'react';
|
||||
import clsx from 'clsx';
|
||||
import copy from 'copy-text-to-clipboard';
|
||||
import {translate} from '@docusaurus/Translate';
|
||||
import {useCodeBlockContext} from '@docusaurus/theme-common/internal';
|
||||
import Button from '@theme/CodeBlock/Buttons/Button';
|
||||
|
|
@ -53,11 +52,12 @@ function useCopyButton() {
|
|||
const copyTimeout = useRef<number | undefined>(undefined);
|
||||
|
||||
const copyCode = useCallback(() => {
|
||||
copy(code);
|
||||
setIsCopied(true);
|
||||
copyTimeout.current = window.setTimeout(() => {
|
||||
setIsCopied(false);
|
||||
}, 1000);
|
||||
navigator.clipboard.writeText(code).then(() => {
|
||||
setIsCopied(true);
|
||||
copyTimeout.current = window.setTimeout(() => {
|
||||
setIsCopied(false);
|
||||
}, 1000);
|
||||
});
|
||||
}, [code]);
|
||||
|
||||
useEffect(() => () => window.clearTimeout(copyTimeout.current), []);
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import type {ReactNode, SVGProps} from 'react';
|
||||
|
||||
// SVG Source: https://tabler.io/
|
||||
// SVG Source: https://github.com/tabler/tabler-icons
|
||||
function DefaultSocial(props: SVGProps<SVGSVGElement>): ReactNode {
|
||||
return (
|
||||
<svg
|
||||
|
|
@ -22,11 +22,11 @@ function DefaultSocial(props: SVGProps<SVGSVGElement>): ReactNode {
|
|||
strokeLinejoin="round"
|
||||
{...props}>
|
||||
<path stroke="none" d="M0 0h24v24H0z" fill="none" />
|
||||
<path d="M3 12a9 9 0 1 0 18 0a9 9 0 0 0 -18 0" />
|
||||
<path d="M3.6 9h16.8" />
|
||||
<path d="M3.6 15h16.8" />
|
||||
<path d="M11.5 3a17 17 0 0 0 0 18" />
|
||||
<path d="M12.5 3a17 17 0 0 1 0 18" />
|
||||
<path d="M1.2 12a10.8 10.8 0 1 0 21.6 0a10.8 10.8 0 0 0 -21.6 0" />
|
||||
<path d="M1.92 8.4h20.16" />
|
||||
<path d="M1.92 15.6h20.16" />
|
||||
<path d="M11.4 1.2a20.4 20.4 0 0 0 0 21.6" />
|
||||
<path d="M12.6 1.2a20.4 20.4 0 0 1 0 21.6" />
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,28 @@
|
|||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import type {ReactNode, SVGProps} from 'react';
|
||||
|
||||
// SVG Source: https://github.com/tabler/tabler-icons
|
||||
function Email(props: SVGProps<SVGSVGElement>): ReactNode {
|
||||
return (
|
||||
<svg
|
||||
xmlns="http://www.w3.org/2000/svg"
|
||||
viewBox="0 0 24 24"
|
||||
fill="none"
|
||||
stroke="currentColor"
|
||||
strokeLinecap="round"
|
||||
strokeLinejoin="round"
|
||||
strokeWidth={2}
|
||||
{...props}>
|
||||
<path stroke="none" d="M0 0h24v24H0z" />
|
||||
<path d="M7.2 12a4.8 4.8 0 1 0 9.6 0 4.8 4.8 0 1 0-9.6 0" />
|
||||
<path d="M16.8 12v1.8a3 3 0 0 0 6 0V12a10.8 10.8 0 1 0-6.6 9.936" />
|
||||
</svg>
|
||||
);
|
||||
}
|
||||
export default Email;
|
||||
|
|
@ -7,6 +7,7 @@
|
|||
|
||||
import React, {cloneElement, type ReactElement, type ReactNode} from 'react';
|
||||
import clsx from 'clsx';
|
||||
import {ThemeClassNames} from '@docusaurus/theme-common';
|
||||
import {
|
||||
useScrollPositionBlocker,
|
||||
useTabs,
|
||||
|
|
@ -143,7 +144,14 @@ function TabContent({
|
|||
function TabsComponent(props: Props): ReactNode {
|
||||
const tabs = useTabs(props);
|
||||
return (
|
||||
<div className={clsx('tabs-container', styles.tabList)}>
|
||||
<div
|
||||
className={clsx(
|
||||
ThemeClassNames.tabs.container,
|
||||
// former name kept for backward compatibility
|
||||
// see https://github.com/facebook/docusaurus/pull/4086
|
||||
'tabs-container',
|
||||
styles.tabList,
|
||||
)}>
|
||||
<TabList {...tabs} {...props} />
|
||||
<TabContent {...tabs} {...props} />
|
||||
</div>
|
||||
|
|
|
|||
|
|
@ -55,6 +55,10 @@ export const ThemeClassNames = {
|
|||
container: 'theme-announcement-bar',
|
||||
},
|
||||
|
||||
tabs: {
|
||||
container: 'theme-tabs-container',
|
||||
},
|
||||
|
||||
layout: {
|
||||
navbar: {
|
||||
container: 'theme-layout-navbar',
|
||||
|
|
|
|||
|
|
@ -33,7 +33,7 @@
|
|||
"copy:watch": "node ../../admin/scripts/copyUntypedFiles.js --watch"
|
||||
},
|
||||
"dependencies": {
|
||||
"@docsearch/react": "^3.9.0",
|
||||
"@docsearch/react": "^3.9.0 || ^4.1.0",
|
||||
"@docusaurus/core": "3.8.1",
|
||||
"@docusaurus/logger": "3.8.1",
|
||||
"@docusaurus/plugin-content-docs": "3.8.1",
|
||||
|
|
|
|||
|
|
@ -6,15 +6,15 @@
|
|||
*/
|
||||
|
||||
import {useCallback, useMemo, useState} from 'react';
|
||||
import {
|
||||
version as docsearchVersion,
|
||||
type DocSearchModalProps,
|
||||
type DocSearchTranslations,
|
||||
} from '@docsearch/react';
|
||||
import {version as docsearchVersion} from '@docsearch/react/version';
|
||||
import translations from '@theme/SearchTranslations';
|
||||
import {useAlgoliaContextualFacetFiltersIfEnabled} from './useAlgoliaContextualFacetFilters';
|
||||
import {mergeFacetFilters} from './utils';
|
||||
import type {AskAiConfig} from '@docusaurus/theme-search-algolia';
|
||||
import type {
|
||||
DocSearchModalProps,
|
||||
DocSearchTranslations,
|
||||
} from '@docsearch/react';
|
||||
import type {FacetFilters} from 'algoliasearch/lite';
|
||||
|
||||
// The minimal props the hook needs from DocSearch v4 props
|
||||
|
|
|
|||
|
|
@ -0,0 +1,12 @@
|
|||
/**
|
||||
* Copyright (c) Facebook, Inc. and its affiliates.
|
||||
*
|
||||
* This source code is licensed under the MIT license found in the
|
||||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
import {version as docSearchVersion} from '@docsearch/react';
|
||||
|
||||
// TODO Docusaurus v4: upgrade to DocSearch v4
|
||||
// drop v3 compat, remove this file?
|
||||
export const docSearchV3: boolean = docSearchVersion.startsWith('3.');
|
||||
|
|
@ -12,6 +12,7 @@ import {
|
|||
createOpenSearchHeadTags,
|
||||
shouldCreateOpenSearchFile,
|
||||
} from './opensearch';
|
||||
import {docSearchV3} from './docSearchVersion';
|
||||
|
||||
import type {LoadContext, Plugin} from '@docusaurus/types';
|
||||
import type {ThemeConfig} from '@docusaurus/theme-search-algolia';
|
||||
|
|
@ -65,6 +66,26 @@ export default function themeSearchAlgolia(context: LoadContext): Plugin<void> {
|
|||
}
|
||||
return {};
|
||||
},
|
||||
|
||||
configureWebpack() {
|
||||
// TODO Docusaurus v4: remove after dropping DocSearch v3 support
|
||||
if (docSearchV3) {
|
||||
// These aliases ensure DocSearch v3 imports are compatible with
|
||||
// the newly added DocSearch v4 entry points
|
||||
// See https://github.com/algolia/docsearch/pull/2764
|
||||
const docSearchV3Entry = require.resolve('@docsearch/react');
|
||||
return {
|
||||
resolve: {
|
||||
alias: {
|
||||
'@docsearch/react/version': docSearchV3Entry,
|
||||
'@docsearch/react/useDocSearchKeyboardEvents': docSearchV3Entry,
|
||||
'@docsearch/react/useTheme': docSearchV3Entry,
|
||||
},
|
||||
},
|
||||
};
|
||||
}
|
||||
return undefined;
|
||||
},
|
||||
};
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,6 +5,11 @@
|
|||
* LICENSE file in the root directory of this source tree.
|
||||
*/
|
||||
|
||||
// TODO Docusaurus v4: remove after we drop support for DocSearch v3
|
||||
declare module '@docsearch/react/button';
|
||||
declare module '@docsearch/react/useDocSearchKeyboardEvents';
|
||||
declare module '@docsearch/react/version';
|
||||
|
||||
declare module '@docusaurus/theme-search-algolia' {
|
||||
import type {DeepPartial, Overwrite} from 'utility-types';
|
||||
|
||||
|
|
|
|||
|
|
@ -13,7 +13,8 @@ import React, {
|
|||
type ReactNode,
|
||||
} from 'react';
|
||||
import {createPortal} from 'react-dom';
|
||||
import {DocSearchButton, useDocSearchKeyboardEvents} from '@docsearch/react';
|
||||
import {DocSearchButton} from '@docsearch/react/button';
|
||||
import {useDocSearchKeyboardEvents} from '@docsearch/react/useDocSearchKeyboardEvents';
|
||||
import Head from '@docusaurus/Head';
|
||||
import Link from '@docusaurus/Link';
|
||||
import {useHistory} from '@docusaurus/router';
|
||||
|
|
@ -73,9 +74,7 @@ function importDocSearchModalIfNeeded() {
|
|||
return Promise.resolve();
|
||||
}
|
||||
return Promise.all([
|
||||
import('@docsearch/react/modal') as Promise<
|
||||
typeof import('@docsearch/react')
|
||||
>,
|
||||
import('@docsearch/react/modal'),
|
||||
import('@docsearch/react/style'),
|
||||
import('./styles.css'),
|
||||
]).then(([{DocSearchModal: Modal}]) => {
|
||||
|
|
|
|||
|
|
@ -7,7 +7,7 @@
|
|||
|
||||
import {escapeRegexp} from '@docusaurus/utils';
|
||||
import {Joi} from '@docusaurus/utils-validation';
|
||||
import {version as docsearchVersion} from '@docsearch/react';
|
||||
import {docSearchV3} from './docSearchVersion';
|
||||
import type {ThemeConfigValidationContext} from '@docusaurus/types';
|
||||
import type {
|
||||
ThemeConfig,
|
||||
|
|
@ -123,9 +123,10 @@ export const Schema = Joi.object<ThemeConfig>({
|
|||
.unknown(),
|
||||
});
|
||||
|
||||
// TODO Docusaurus v4: remove this check when we drop DocSearch v3
|
||||
function ensureAskAISupported(themeConfig: ThemeConfig) {
|
||||
// enforce DocsSearch v4 requirement when AskAI is configured
|
||||
if (themeConfig.algolia.askAi && !docsearchVersion.startsWith('4.')) {
|
||||
if (themeConfig.algolia.askAi && docSearchV3) {
|
||||
throw new Error(
|
||||
'The askAi feature is only supported in DocSearch v4. ' +
|
||||
'Please upgrade to DocSearch v4 by installing "@docsearch/react": "^4.0.0" ' +
|
||||
|
|
|
|||
|
|
@ -13,7 +13,6 @@ import {
|
|||
getCSSExtractPlugin,
|
||||
getMinimizers,
|
||||
} from '@docusaurus/bundler';
|
||||
|
||||
import {getFileLoaderUtils, md5Hash} from '@docusaurus/utils';
|
||||
import {loadDocusaurusAliases, loadThemeAliases} from './aliases';
|
||||
import {BundlerCPUProfilerPlugin} from './plugins/BundlerCPUProfilerPlugin';
|
||||
|
|
@ -28,14 +27,6 @@ const CSS_REGEX = /\.css$/i;
|
|||
const CSS_MODULE_REGEX = /\.module\.css$/i;
|
||||
export const clientDir = path.join(__dirname, '..', 'client');
|
||||
|
||||
const LibrariesToTranspile = [
|
||||
'copy-text-to-clipboard', // Contains optional catch binding, incompatible with recent versions of Edge
|
||||
];
|
||||
|
||||
const LibrariesToTranspileRegex = new RegExp(
|
||||
LibrariesToTranspile.map((libName) => `(node_modules/${libName})`).join('|'),
|
||||
);
|
||||
|
||||
function getReactAliases(siteDir: string): Record<string, string> {
|
||||
// Escape hatch
|
||||
if (process.env.DOCUSAURUS_NO_REACT_ALIASES) {
|
||||
|
|
@ -58,8 +49,7 @@ export function excludeJS(modulePath: string): boolean {
|
|||
// Don't transpile node_modules except any docusaurus npm package
|
||||
return (
|
||||
modulePath.includes('node_modules') &&
|
||||
!/docusaurus(?:(?!node_modules).)*\.jsx?$/.test(modulePath) &&
|
||||
!LibrariesToTranspileRegex.test(modulePath)
|
||||
!/docusaurus(?:(?!node_modules).)*\.jsx?$/.test(modulePath)
|
||||
);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -11,6 +11,7 @@ authors:
|
|||
linkedin: https://www.linkedin.com/in/sebastienlorber/
|
||||
instagram: https://www.instagram.com/thisweekinreact/
|
||||
newsletter: https://thisweekinreact.com/newsletter
|
||||
email: seb@example.com
|
||||
- name: Sébastien Lorber
|
||||
imageURL: https://github.com/slorber.png
|
||||
socials:
|
||||
|
|
|
|||
|
|
@ -6,6 +6,7 @@ slorber:
|
|||
page: true
|
||||
socials:
|
||||
x: sebastienlorber
|
||||
email: seb@example.com
|
||||
|
||||
ozaki:
|
||||
name: ozaki
|
||||
|
|
|
|||
|
|
@ -281,7 +281,7 @@ type AuthorKey = string;
|
|||
// Social platform name -> Social platform link
|
||||
// Example: {MyPlatform: 'https://myplatform.com/myusername'}
|
||||
// Pre-defined platforms
|
||||
// ("x", "github", "twitter", "linkedin", "stackoverflow", "instagram", "bluesky", "mastodon", "threads", "twitch", "youtube") accept handles:
|
||||
// ("x", "github", "twitter", "linkedin", "stackoverflow", "instagram", "bluesky", "mastodon", "threads", "twitch", "youtube", "email") accept handles:
|
||||
// Example: {github: 'slorber'}
|
||||
type AuthorSocials = Record<string, string>;
|
||||
|
||||
|
|
@ -368,6 +368,7 @@ slorber:
|
|||
socials:
|
||||
x: sebastienlorber
|
||||
github: slorber
|
||||
email: seb@example.com
|
||||
|
||||
jmarcey:
|
||||
name: Joel Marcey
|
||||
|
|
|
|||
|
|
@ -62,6 +62,7 @@ authors:
|
|||
socials:
|
||||
x: sebastienlorber
|
||||
github: slorber
|
||||
email: seb@example.com
|
||||
tags: [hello, docusaurus-v2]
|
||||
image: https://i.imgur.com/mErPwqL.png
|
||||
hide_table_of_contents: false
|
||||
|
|
@ -303,6 +304,7 @@ slorber:
|
|||
socials:
|
||||
x: sebastienlorber
|
||||
github: slorber
|
||||
email: seb@example.com
|
||||
```
|
||||
|
||||
:::tip
|
||||
|
|
|
|||
|
|
@ -656,7 +656,8 @@ export default async function createConfigAsync() {
|
|||
apiKey: 'bf7211c161e8205da2f933a02534105a',
|
||||
indexName: 'docusaurus-2',
|
||||
|
||||
// TODO temporary, for DocSearch v3/v4 conditional Ask AI integration
|
||||
// TODO Docusaurus v4: remove after we drop DocSearch v3
|
||||
// temporary, for DocSearch v3/v4 conditional Ask AI integration
|
||||
// see https://github.com/facebook/docusaurus/pull/11327
|
||||
// eslint-disable-next-line @typescript-eslint/no-var-requires,global-require
|
||||
...(require('@docsearch/react').version.startsWith('4.')
|
||||
|
|
|
|||
296
yarn.lock
296
yarn.lock
|
|
@ -2,10 +2,10 @@
|
|||
# yarn lockfile v1
|
||||
|
||||
|
||||
"@ai-sdk/gateway@1.0.23":
|
||||
version "1.0.23"
|
||||
resolved "https://registry.yarnpkg.com/@ai-sdk/gateway/-/gateway-1.0.23.tgz#284a7de5bf7c9e80ac68416f19cf3644d7bb2db6"
|
||||
integrity sha512-ynV7WxpRK2zWLGkdOtrU2hW22mBVkEYVS3iMg1+ZGmAYSgzCqzC74bfOJZ2GU1UdcrFWUsFI9qAYjsPkd+AebA==
|
||||
"@ai-sdk/gateway@1.0.29":
|
||||
version "1.0.29"
|
||||
resolved "https://registry.yarnpkg.com/@ai-sdk/gateway/-/gateway-1.0.29.tgz#b7e902c2d7139e2ca2a94cb6076febe517088fa0"
|
||||
integrity sha512-o9LtmBiG2WAgs3GAmL79F8idan/UupxHG8Tyr2gP4aUSOzflM0bsvfzozBp8x6WatQnOx+Pio7YNw45Y6I16iw==
|
||||
dependencies:
|
||||
"@ai-sdk/provider" "2.0.0"
|
||||
"@ai-sdk/provider-utils" "3.0.9"
|
||||
|
|
@ -27,24 +27,24 @@
|
|||
json-schema "^0.4.0"
|
||||
|
||||
"@ai-sdk/react@^2.0.30":
|
||||
version "2.0.45"
|
||||
resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.45.tgz#ea368c59e0e200e6506c8f82abefaf8cf52833f3"
|
||||
integrity sha512-jrTeBQpIsueV6EB/L6KNdH/yadK/Ehx1qCus+9RC29kRikVhjgj8xNvHfH3qHCwsfGqLX9ljj69dCRLrmzpvnw==
|
||||
version "2.0.52"
|
||||
resolved "https://registry.yarnpkg.com/@ai-sdk/react/-/react-2.0.52.tgz#851f1c2136b1c3d14bf8cb6f58dd87ea3d171946"
|
||||
integrity sha512-4/i40pykN4gTGH264+k1g4tMGdw4xN7vZ1qESFCIm/lhS/8YiJPYheBOk9c349hytOT1sGxp3UNPcOWzWS0H2A==
|
||||
dependencies:
|
||||
"@ai-sdk/provider-utils" "3.0.9"
|
||||
ai "5.0.45"
|
||||
ai "5.0.52"
|
||||
swr "^2.2.5"
|
||||
throttleit "2.1.0"
|
||||
|
||||
"@algolia/abtesting@1.3.0":
|
||||
version "1.3.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.3.0.tgz#3fade769bf5b03244baaee8034b83e2b49f8e86c"
|
||||
integrity sha512-KqPVLdVNfoJzX5BKNGM9bsW8saHeyax8kmPFXul5gejrSPN3qss7PgsFH5mMem7oR8tvjvNkia97ljEYPYCN8Q==
|
||||
"@algolia/abtesting@1.4.0":
|
||||
version "1.4.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/abtesting/-/abtesting-1.4.0.tgz#d607790222f4ce9d183cc535fccc3bf7849318db"
|
||||
integrity sha512-N0blWT/C0KOZ/OJ9GXBX66odJZlrYjMj3M+01y8ob1mjBFnBaBo7gOCyHBDQy60+H4pJXp3pSGlJOqJIueBH+A==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/autocomplete-core@1.19.2":
|
||||
version "1.19.2"
|
||||
|
|
@ -66,126 +66,126 @@
|
|||
resolved "https://registry.yarnpkg.com/@algolia/autocomplete-shared/-/autocomplete-shared-1.19.2.tgz#c0b7b8dc30a5c65b70501640e62b009535e4578f"
|
||||
integrity sha512-jEazxZTVD2nLrC+wYlVHQgpBoBB5KPStrJxLzsIFl6Kqd1AlG9sIAGl39V5tECLpIQzB3Qa2T6ZPJ1ChkwMK/w==
|
||||
|
||||
"@algolia/client-abtesting@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.37.0.tgz#37df3674ccc37dfb0aa4cbfea42002bb136fb909"
|
||||
integrity sha512-Dp2Zq+x9qQFnuiQhVe91EeaaPxWBhzwQ6QnznZQnH9C1/ei3dvtmAFfFeaTxM6FzfJXDLvVnaQagTYFTQz3R5g==
|
||||
"@algolia/client-abtesting@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-abtesting/-/client-abtesting-5.38.0.tgz#3362d7aa3c6732f800665d3e24e98eb9046779d1"
|
||||
integrity sha512-15d6zv8vtj2l9pnnp/EH7Rhq3/snCCHRz56NnX6xIUPrbJl5gCsIYXAz8C2IEkwOpoDb0r5G6ArY2gKdVMNezw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/client-analytics@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.37.0.tgz#6fb4d748e1af43d8bc9f955d73d98205ce1c1ee5"
|
||||
integrity sha512-wyXODDOluKogTuZxRII6mtqhAq4+qUR3zIUJEKTiHLe8HMZFxfUEI4NO2qSu04noXZHbv/sRVdQQqzKh12SZuQ==
|
||||
"@algolia/client-analytics@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-analytics/-/client-analytics-5.38.0.tgz#711a199f207a692e9e3d7ed28df99729743e8f1b"
|
||||
integrity sha512-jJIbYAhYvTG3+gEAP5Q5Dp6PFJfUR+atz5rsqm5KjAKK+faLFdHJbM2IbOo0xdyGd+SH259MzfQKLJ9mZZ27dQ==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/client-common@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.37.0.tgz#f7ca097c4bae44e4ea365ee8f420693d0005c98e"
|
||||
integrity sha512-GylIFlPvLy9OMgFG8JkonIagv3zF+Dx3H401Uo2KpmfMVBBJiGfAb9oYfXtplpRMZnZPxF5FnkWaI/NpVJMC+g==
|
||||
"@algolia/client-common@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-common/-/client-common-5.38.0.tgz#f17f03822d377f6980aa5ff389c607bcb57fee42"
|
||||
integrity sha512-aMCXzVPGJTeQnVU3Sdf30TfMN2+QyWcjfPTCCHyqVVgjPipb6RnK40aISGoO+rlYjh9LunDsNVFLwv+JEIF8bQ==
|
||||
|
||||
"@algolia/client-insights@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.37.0.tgz#f4f4011fc89bc0b2dfc384acc3c6fb38f633f4ec"
|
||||
integrity sha512-T63afO2O69XHKw2+F7mfRoIbmXWGzgpZxgOFAdP3fR4laid7pWBt20P4eJ+Zn23wXS5kC9P2K7Bo3+rVjqnYiw==
|
||||
"@algolia/client-insights@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-insights/-/client-insights-5.38.0.tgz#22a7f9be1990492693cb5f30a6e221a84acdbd6f"
|
||||
integrity sha512-4c3FbpMiJX+VcaAj0rYaQdTLS/CkrdOn4hW+5y1plPov7KC7iSHai/VBbirmHuAfW1hVPCIh1w/4erKKTKuo+Q==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/client-personalization@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.37.0.tgz#c1688db681623b189f353599815a118033ceebb5"
|
||||
integrity sha512-1zOIXM98O9zD8bYDCJiUJRC/qNUydGHK/zRK+WbLXrW1SqLFRXECsKZa5KoG166+o5q5upk96qguOtE8FTXDWQ==
|
||||
"@algolia/client-personalization@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-personalization/-/client-personalization-5.38.0.tgz#9e73041c2499ca2c296b09e5c26753ae7a1247d7"
|
||||
integrity sha512-FzLs6c8TBL4FSgNfnH2NL7O33ktecGiaKO4ZFG51QYORUzD5d6YwB9UBteaIYu/sgFoEdY57diYU4vyBH8R6iA==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/client-query-suggestions@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.37.0.tgz#fa514df8d36fb548258c712f3ba6f97eb84ebb87"
|
||||
integrity sha512-31Nr2xOLBCYVal+OMZn1rp1H4lPs1914Tfr3a34wU/nsWJ+TB3vWjfkUUuuYhWoWBEArwuRzt3YNLn0F/KRVkg==
|
||||
"@algolia/client-query-suggestions@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-query-suggestions/-/client-query-suggestions-5.38.0.tgz#8a212c86416763dfeb21316ac2a23c6a29851c8f"
|
||||
integrity sha512-7apiahlgZLvOqrh0+hAYAp/UWjqz6AfSJrCwnsoQNzgIT09dLSPIKREelkuQeUrKy38vHWWpSQE3M0zWSp/YrA==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/client-search@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.37.0.tgz#38c7110d96fbbbda7b7fb0578a18b8cad3c25af2"
|
||||
integrity sha512-DAFVUvEg+u7jUs6BZiVz9zdaUebYULPiQ4LM2R4n8Nujzyj7BZzGr2DCd85ip4p/cx7nAZWKM8pLcGtkTRTdsg==
|
||||
"@algolia/client-search@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/client-search/-/client-search-5.38.0.tgz#ec10e2105d7c0fa8c4ee7b1e4b9b7fb5117bf165"
|
||||
integrity sha512-PTAFMJOpVtJweExEYYgdmSCC6n4V/R+ctDL3fRQy77ulZM/p+zMLIQC9c7HCQE1zqpauvVck3f2zYSejaUTtrw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/events@^4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/events/-/events-4.0.1.tgz#fd39e7477e7bc703d7f893b556f676c032af3950"
|
||||
integrity sha512-FQzvOCgoFXAbf5Y6mYozw2aj5KCJoA3m4heImceldzPSMbdyS4atVjJzXKMsfX3wnZTFYwkkt8/z8UesLHlSBQ==
|
||||
|
||||
"@algolia/ingestion@1.37.0":
|
||||
version "1.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.37.0.tgz#bb6016e656c68014050814abf130e103f977794e"
|
||||
integrity sha512-pkCepBRRdcdd7dTLbFddnu886NyyxmhgqiRcHHaDunvX03Ij4WzvouWrQq7B7iYBjkMQrLS8wQqSP0REfA4W8g==
|
||||
"@algolia/ingestion@1.38.0":
|
||||
version "1.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/ingestion/-/ingestion-1.38.0.tgz#bb34e09d8852d3257f8f83be7303136ea23ae66a"
|
||||
integrity sha512-qGSUGgceJHGyJLZ06bFLwVe2Tpf9KwabmoBjFvFscVmMmU5scKya6voCYd9bdX7V0Xy1qya9MGbmTm4zlLuveQ==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/monitoring@1.37.0":
|
||||
version "1.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.37.0.tgz#6d20c220d648db8faea45679350f1516917cc13d"
|
||||
integrity sha512-fNw7pVdyZAAQQCJf1cc/ih4fwrRdQSgKwgor4gchsI/Q/ss9inmC6bl/69jvoRSzgZS9BX4elwHKdo0EfTli3w==
|
||||
"@algolia/monitoring@1.38.0":
|
||||
version "1.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/monitoring/-/monitoring-1.38.0.tgz#5e89d1a9e62a97c213efeb28d0aa89c3870fe700"
|
||||
integrity sha512-VnCtAUcHirvv/dDHg9jK1Z5oo4QOC5FKDxe40x8qloru2qDcjueT34jiAsB0gRos3VWf9v4iPSYTqMIFOcADpQ==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/recommend@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.37.0.tgz#dd5e814f30bbb92395902e120fdb28a120b91341"
|
||||
integrity sha512-U+FL5gzN2ldx3TYfQO5OAta2TBuIdabEdFwD5UVfWPsZE5nvOKkc/6BBqP54Z/adW/34c5ZrvvZhlhNTZujJXQ==
|
||||
"@algolia/recommend@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/recommend/-/recommend-5.38.0.tgz#0db13cfde331091fd02dc086775ca0dd7313abf8"
|
||||
integrity sha512-fqgeU9GqxQorFUeGP4et1MyY28ccf9PCeciHwDPSbPYYiTqBItHdUIiytsNpjC5Dnc0RWtuXWCltLwSw9wN/bQ==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
"@algolia/requester-browser-xhr@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.37.0.tgz#8851ab846d8005055c36a59422161ebe1594ae48"
|
||||
integrity sha512-Ao8GZo8WgWFABrU7iq+JAftXV0t+UcOtCDL4mzHHZ+rQeTTf1TZssr4d0vIuoqkVNnKt9iyZ7T4lQff4ydcTrw==
|
||||
"@algolia/requester-browser-xhr@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-browser-xhr/-/requester-browser-xhr-5.38.0.tgz#10ad28e7d282afa3b875185fa3dd08c43f8cbb74"
|
||||
integrity sha512-nAUKbv4YQIXbpPi02AQvSPisD5FDDbT8XeYSh9HFoYP0Z3IpBLLDg7R4ahPvzd7gGsVKgEbXzRPWESXSji5yIg==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
|
||||
"@algolia/requester-fetch@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.37.0.tgz#93602fdc9a59b41ecd53768c53c11cddb0db846a"
|
||||
integrity sha512-H7OJOXrFg5dLcGJ22uxx8eiFId0aB9b0UBhoOi4SMSuDBe6vjJJ/LeZyY25zPaSvkXNBN3vAM+ad6M0h6ha3AA==
|
||||
"@algolia/requester-fetch@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-fetch/-/requester-fetch-5.38.0.tgz#7d6d189d918c4b39c715cd42798ae496825202ce"
|
||||
integrity sha512-bkuAHaadC6OxJd3SVyQQnU1oJ9G/zdCqua7fwr1tJDrA/v7KzeS5np4/m6BuRUpTgVgFZHSewGnMcgj9DLBoaQ==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
|
||||
"@algolia/requester-node-http@5.37.0":
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.37.0.tgz#83da1b52f3ee86f262a5d4b2a88a74db665211c2"
|
||||
integrity sha512-npZ9aeag4SGTx677eqPL3rkSPlQrnzx/8wNrl1P7GpWq9w/eTmRbOq+wKrJ2r78idlY0MMgmY/mld2tq6dc44g==
|
||||
"@algolia/requester-node-http@5.38.0":
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/@algolia/requester-node-http/-/requester-node-http-5.38.0.tgz#29ebeb651fc5264c8b2b97c2a2998840520ca7f9"
|
||||
integrity sha512-yHDKZTnMPR3/4bY0CVC1/uRnnbAaJ+pctRuX7G/HflBkKOrnUBDEGtQQHzEfMz2FHZ/tbCL+Q9r6mvwTSGp8nw==
|
||||
dependencies:
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
|
||||
"@ampproject/remapping@^2.2.0":
|
||||
version "2.3.0"
|
||||
|
|
@ -2077,22 +2077,22 @@
|
|||
resolved "https://registry.yarnpkg.com/@discoveryjs/json-ext/-/json-ext-0.5.7.tgz#1d572bfbbe14b7704e0ba0f39b74815b84870d70"
|
||||
integrity sha512-dBVuXR082gk3jsFp7Rd/JI4kytwGHecnCoTtXFb7DB6CNHp4rg5k1bhg0nWdLGLnOV71lmDzGQaLMy8iPLY0pw==
|
||||
|
||||
"@docsearch/css@4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.0.1.tgz#970436628cf03ba816ed6e4269cc866e9853bb0d"
|
||||
integrity sha512-ouRI2SEwAg8qBqX4S3zfm4OJ/07o9Is7TzivNGkqP7FtYU4W0qgigumWkPbYvDwtG0koZw2ZebpcQiEpkCyv+g==
|
||||
"@docsearch/css@4.1.0":
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/css/-/css-4.1.0.tgz#e156e011539d73624b2354dc8be8e96ac9be9ddc"
|
||||
integrity sha512-nuNKGjHj/FQeWgE9t+i83QD/V67QiaAmGY7xS9TVCRUiCqSljOgIKlsLoQZKKVwEG8f+OWKdznzZkJxGZ7d06A==
|
||||
|
||||
"@docsearch/react@^3.9.0", "@docsearch/react@^4.0.1":
|
||||
version "4.0.1"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.0.1.tgz#337bc73a00e20036aa989af4c00869104195d672"
|
||||
integrity sha512-X/0mSdAt2/8el0sTBpSQJM8XKRlCLmITaWYZf9gLLqiN3eXdglOtt3cH7RjTQDS75REwmhadKzQIjFF8mbmf+A==
|
||||
"@docsearch/react@^3.9.0 || ^4.1.0":
|
||||
version "4.1.0"
|
||||
resolved "https://registry.yarnpkg.com/@docsearch/react/-/react-4.1.0.tgz#a04f22324067f2e39dbe12f0e1247e7e0341d26d"
|
||||
integrity sha512-4GHI7TT3sJZ2Vs4Kjadv7vAkMrTsJqHvzvxO3JA7UT8iPRKaDottG5o5uNshPWhVVaBYPC35Ukf8bfCotGpjSg==
|
||||
dependencies:
|
||||
"@ai-sdk/react" "^2.0.30"
|
||||
"@algolia/autocomplete-core" "1.19.2"
|
||||
"@docsearch/css" "4.0.1"
|
||||
"@docsearch/css" "4.1.0"
|
||||
ai "^5.0.30"
|
||||
algoliasearch "^5.28.0"
|
||||
marked "^15.0.12"
|
||||
marked "^16.3.0"
|
||||
zod "^4.1.8"
|
||||
|
||||
"@docusaurus/responsive-loader@^1.7.0":
|
||||
|
|
@ -5194,12 +5194,12 @@ aggregate-error@^3.0.0:
|
|||
clean-stack "^2.0.0"
|
||||
indent-string "^4.0.0"
|
||||
|
||||
ai@5.0.45, ai@^5.0.30:
|
||||
version "5.0.45"
|
||||
resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.45.tgz#0e1472883914d2a031b1317cf53cc74891168a88"
|
||||
integrity sha512-go6J78B1oTXZMN2XLlNJnrFxwcqXQtpPqUVyk1wvzvpb2dk5nP9yNuxqqOX9HrrKuf5U9M6rSezEJWr1eEG9RA==
|
||||
ai@5.0.52, ai@^5.0.30:
|
||||
version "5.0.52"
|
||||
resolved "https://registry.yarnpkg.com/ai/-/ai-5.0.52.tgz#3aa9a6eab56505db2c94ce7a16a7ea089760977e"
|
||||
integrity sha512-GLlRHjMlvN9+w7UYGxCpUQ8GgCRv5Z+JCprRH3Q8YbXJ/JyIc6EP9+YRUmQsyExX/qQsuehe7y/LLygarbSTOw==
|
||||
dependencies:
|
||||
"@ai-sdk/gateway" "1.0.23"
|
||||
"@ai-sdk/gateway" "1.0.29"
|
||||
"@ai-sdk/provider" "2.0.0"
|
||||
"@ai-sdk/provider-utils" "3.0.9"
|
||||
"@opentelemetry/api" "1.9.0"
|
||||
|
|
@ -5251,24 +5251,24 @@ algoliasearch-helper@^3.26.0:
|
|||
"@algolia/events" "^4.0.1"
|
||||
|
||||
algoliasearch@^5.28.0, algoliasearch@^5.37.0:
|
||||
version "5.37.0"
|
||||
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.37.0.tgz#73dc4a09654e6e02b529300018d639706b95b47b"
|
||||
integrity sha512-y7gau/ZOQDqoInTQp0IwTOjkrHc4Aq4R8JgpmCleFwiLl+PbN2DMWoDUWZnrK8AhNJwT++dn28Bt4NZYNLAmuA==
|
||||
version "5.38.0"
|
||||
resolved "https://registry.yarnpkg.com/algoliasearch/-/algoliasearch-5.38.0.tgz#43615d81c493ca4a4efd74edb93910b2e71c91e1"
|
||||
integrity sha512-8VJKIzheeI9cjuVJhU1hYEVetOTe7LvA+CujAI7yqvYsPtZfVEvv1pg9AeFNtHBg/ZoSLGU5LPijhcY5l3Ea9g==
|
||||
dependencies:
|
||||
"@algolia/abtesting" "1.3.0"
|
||||
"@algolia/client-abtesting" "5.37.0"
|
||||
"@algolia/client-analytics" "5.37.0"
|
||||
"@algolia/client-common" "5.37.0"
|
||||
"@algolia/client-insights" "5.37.0"
|
||||
"@algolia/client-personalization" "5.37.0"
|
||||
"@algolia/client-query-suggestions" "5.37.0"
|
||||
"@algolia/client-search" "5.37.0"
|
||||
"@algolia/ingestion" "1.37.0"
|
||||
"@algolia/monitoring" "1.37.0"
|
||||
"@algolia/recommend" "5.37.0"
|
||||
"@algolia/requester-browser-xhr" "5.37.0"
|
||||
"@algolia/requester-fetch" "5.37.0"
|
||||
"@algolia/requester-node-http" "5.37.0"
|
||||
"@algolia/abtesting" "1.4.0"
|
||||
"@algolia/client-abtesting" "5.38.0"
|
||||
"@algolia/client-analytics" "5.38.0"
|
||||
"@algolia/client-common" "5.38.0"
|
||||
"@algolia/client-insights" "5.38.0"
|
||||
"@algolia/client-personalization" "5.38.0"
|
||||
"@algolia/client-query-suggestions" "5.38.0"
|
||||
"@algolia/client-search" "5.38.0"
|
||||
"@algolia/ingestion" "1.38.0"
|
||||
"@algolia/monitoring" "1.38.0"
|
||||
"@algolia/recommend" "5.38.0"
|
||||
"@algolia/requester-browser-xhr" "5.38.0"
|
||||
"@algolia/requester-fetch" "5.38.0"
|
||||
"@algolia/requester-node-http" "5.38.0"
|
||||
|
||||
ansi-align@^3.0.1:
|
||||
version "3.0.1"
|
||||
|
|
@ -6813,11 +6813,6 @@ cookie@~0.4.1:
|
|||
resolved "https://registry.yarnpkg.com/cookie/-/cookie-0.4.2.tgz#0e41f24de5ecf317947c82fc789e06a884824432"
|
||||
integrity sha512-aSWTXFzaKWkvHO1Ny/s+ePFpvKsPnjc551iI41v3ny/ow6tBG5Vd+FuqGNhh1LxOmVzOlGUriIlOaokOvhaStA==
|
||||
|
||||
copy-text-to-clipboard@^3.2.0:
|
||||
version "3.2.0"
|
||||
resolved "https://registry.yarnpkg.com/copy-text-to-clipboard/-/copy-text-to-clipboard-3.2.0.tgz#0202b2d9bdae30a49a53f898626dcc3b49ad960b"
|
||||
integrity sha512-RnJFp1XR/LOBDckxTib5Qjr/PMfkatD0MUCQgdpqS8MdKiNUzBjAQBEN6oUy+jW7LI93BBG3DtMB2KOOKpGs2Q==
|
||||
|
||||
copy-webpack-plugin@^11.0.0:
|
||||
version "11.0.0"
|
||||
resolved "https://registry.yarnpkg.com/copy-webpack-plugin/-/copy-webpack-plugin-11.0.0.tgz#96d4dbdb5f73d02dd72d0528d1958721ab72e04a"
|
||||
|
|
@ -12309,11 +12304,16 @@ markdown-table@^3.0.0:
|
|||
resolved "https://registry.yarnpkg.com/markdown-table/-/markdown-table-3.0.3.tgz#e6331d30e493127e031dd385488b5bd326e4a6bd"
|
||||
integrity sha512-Z1NL3Tb1M9wH4XESsCDEksWoKTdlUafKc4pt0GRwjUyXaCFZ+dc3g2erqB6zm3szA2IUSi7VnPI+o/9jnxh9hw==
|
||||
|
||||
marked@^15.0.12, marked@^15.0.7:
|
||||
marked@^15.0.7:
|
||||
version "15.0.12"
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-15.0.12.tgz#30722c7346e12d0a2d0207ab9b0c4f0102d86c4e"
|
||||
integrity sha512-8dD6FusOQSrpv9Z1rdNMdlSgQOIP880DHqnohobOmYLElGEqAL/JvxvuxZO16r4HtjTlfPRDC1hbvxC9dPN2nA==
|
||||
|
||||
marked@^16.3.0:
|
||||
version "16.3.0"
|
||||
resolved "https://registry.yarnpkg.com/marked/-/marked-16.3.0.tgz#2f513891f867d6edc4772b4a026db9cc331eb94f"
|
||||
integrity sha512-K3UxuKu6l6bmA5FUwYho8CfJBlsUWAooKtdGgMcERSpF7gcBUrCGsLH7wDaaNOzwq18JzSUDyoEb/YsrqMac3w==
|
||||
|
||||
math-intrinsics@^1.1.0:
|
||||
version "1.1.0"
|
||||
resolved "https://registry.yarnpkg.com/math-intrinsics/-/math-intrinsics-1.1.0.tgz#a0dd74be81e2aa5c2f27e65ce283605ee4e2b7f9"
|
||||
|
|
@ -19268,9 +19268,9 @@ zod@^3.22.4:
|
|||
integrity sha512-gzUt/qt81nXsFGKIFcC3YnfEAx5NkunCfnDlvuBSSFS02bcXu4Lmea0AFIUwbLWxWPx3d9p8S5QoaujKcNQxcQ==
|
||||
|
||||
zod@^4.1.8:
|
||||
version "4.1.9"
|
||||
resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.9.tgz#c03a0ddb10f5578f13f8f70f1959f89fd09c1c06"
|
||||
integrity sha512-HI32jTq0AUAC125z30E8bQNz0RQ+9Uc+4J7V97gLYjZVKRjeydPgGt6dvQzFrav7MYOUGFqqOGiHpA/fdbd0cQ==
|
||||
version "4.1.11"
|
||||
resolved "https://registry.yarnpkg.com/zod/-/zod-4.1.11.tgz#4aab62f76cfd45e6c6166519ba31b2ea019f75f5"
|
||||
integrity sha512-WPsqwxITS2tzx1bzhIKsEs19ABD5vmCVa4xBo2tq/SrV4RNZtfws1EnCWQXM6yh8bD08a1idvkB5MZSBiZsjwg==
|
||||
|
||||
zwitch@^2.0.0, zwitch@^2.0.4:
|
||||
version "2.0.4"
|
||||
|
|
|
|||
Loading…
Reference in New Issue