From 50f219e150434edaffac5c65f7bbc0fc53e1c92f Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 10:17:50 +0200 Subject: [PATCH 1/9] chore(deps): bump semver from 7.8.1 to 7.8.5 (#12271) Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 14 +++++++------- 1 file changed, 7 insertions(+), 7 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 57e3ec0d697a..bf60a5f1fc69 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -234,7 +234,7 @@ importers: version: 2.4.2 semver: specifier: ^7.7.4 - version: 7.8.1 + version: 7.8.5 supports-color: specifier: ^10.2.2 version: 10.2.2 @@ -441,7 +441,7 @@ importers: version: 5.3.4(react@19.2.6) semver: specifier: ^7.7.4 - version: 7.8.1 + version: 7.8.5 serve-handler: specifier: ^6.1.7 version: 6.1.7 @@ -691,7 +691,7 @@ importers: version: 1.32.0 semver: specifier: ^7.7.4 - version: 7.8.1 + version: 7.8.5 swc-loader: specifier: ^0.2.7 version: 0.2.7(@swc/core@1.15.40)(webpack@5.107.2(@swc/core@1.15.40)(@swc/html@1.15.40)(lightningcss@1.32.0)(postcss@8.5.15)) @@ -17875,7 +17875,7 @@ snapshots: eslint: 9.39.4(jiti@2.7.0) json-stable-stringify-without-jsonify: 1.0.1 lodash.merge: 4.6.2 - semver: 7.8.1 + semver: 7.8.5 typescript: 6.0.3 transitivePeerDependencies: - supports-color @@ -19303,7 +19303,7 @@ snapshots: postcss-modules-scope: 3.2.1(postcss@8.5.15) postcss-modules-values: 4.0.0(postcss@8.5.15) postcss-value-parser: 4.2.0 - semver: 7.8.1 + semver: 7.8.5 optionalDependencies: webpack: 5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@7.1.9(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15) @@ -23862,7 +23862,7 @@ snapshots: cosmiconfig: 9.0.1(typescript@6.0.3) jiti: 2.7.0 postcss: 8.5.15 - semver: 7.8.1 + semver: 7.8.5 optionalDependencies: webpack: 5.107.2(@swc/core@1.15.40)(clean-css@5.3.3)(cssnano@7.1.9(postcss@8.5.15))(html-minifier-terser@7.2.0)(postcss@8.5.15) transitivePeerDependencies: @@ -26110,7 +26110,7 @@ snapshots: is-yarn-global: 0.4.1 latest-version: 7.0.0 pupa: 3.3.0 - semver: 7.8.1 + semver: 7.8.5 semver-diff: 4.0.0 xdg-basedir: 5.1.0 From 8a15c2ad97d143dbc536f7ec94c6888dabebd072 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 10:19:19 +0200 Subject: [PATCH 2/9] chore(deps): bump postcss-sort-media-queries from 6.6.1 to 6.6.2 (#12274) Signed-off-by: dependabot[bot] --- pnpm-lock.yaml | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index bf60a5f1fc69..a5718e85724f 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -660,7 +660,7 @@ importers: version: 8.5.15 postcss-sort-media-queries: specifier: ^6.5.0 - version: 6.6.1(postcss@8.5.15) + version: 6.6.2(postcss@8.5.15) tslib: specifier: ^2.6.0 version: 2.8.1 @@ -11294,8 +11294,8 @@ packages: resolution: {integrity: sha512-orRsuYpJVw8LdAwqqLykBj9ecS5/cRHlI5+nvTo8LcCKmzDmqVORXtOIYEEQuL9D4BxtA1lm5isAqzQZCoQ6Eg==} engines: {node: '>=4'} - postcss-sort-media-queries@6.6.1: - resolution: {integrity: sha512-RUxLyxyG//HZ9Ax07u7vNgufwcnsqWx/IGafKzpsNgGulsxsKjNb8KV3Znzc0u2RLH3D3MCzwwSj16dVyvL7pA==} + postcss-sort-media-queries@6.6.2: + resolution: {integrity: sha512-4whmLOUtFFX2V0w5JM7Wqp1Du+DiOsfgFhJuxdy1d5kBoNy/dfkq4He8eNDGI3ZEJlCk95yQhG75aVcEMKGaFQ==} engines: {node: '>=20.0.0'} peerDependencies: postcss: ^8.5.6 @@ -24135,7 +24135,7 @@ snapshots: cssesc: 3.0.0 util-deprecate: 1.0.2 - postcss-sort-media-queries@6.6.1(postcss@8.5.15): + postcss-sort-media-queries@6.6.2(postcss@8.5.15): dependencies: postcss: 8.5.15 sort-css-media-queries: 3.0.5 From 02936b6377b752b341018b9fb39416e9e0d63052 Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 10:35:46 +0200 Subject: [PATCH 3/9] chore(deps-dev): bump @vitejs/plugin-react from 5.2.0 to 6.0.2 (#12272) Signed-off-by: dependabot[bot] --- package.json | 2 +- pnpm-lock.yaml | 61 ++++++++++++-------------------------------------- 2 files changed, 15 insertions(+), 48 deletions(-) diff --git a/package.json b/package.json index dab514f61b14..e94f5f07f653 100644 --- a/package.json +++ b/package.json @@ -86,7 +86,7 @@ "@types/react": "^19.2.14", "@types/semver": "^7.7.1", "@types/shelljs": "^0.8.12", - "@vitejs/plugin-react": "^5.0.0", + "@vitejs/plugin-react": "^6.0.2", "@vitest/eslint-plugin": "^1.6.17", "cross-env": "^10.1.0", "cspell": "^8.18.1", diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index a5718e85724f..51b3905914c9 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -68,8 +68,8 @@ importers: specifier: ^0.8.12 version: 0.8.17 '@vitejs/plugin-react': - specifier: ^5.0.0 - version: 5.2.0(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) + specifier: ^6.0.2 + version: 6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)) '@vitest/eslint-plugin': specifier: ^1.6.17 version: 1.6.20(@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))) @@ -2808,18 +2808,6 @@ packages: peerDependencies: '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx-self@7.29.7': - resolution: {integrity: sha512-TL0hMc9xzy86VD31nUiwzd5otRAcyEPcsegCxolO0PvcXuH1v0kECe/UIznYFihpkvU5wg/jk4v0TTEFfm53fw==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - - '@babel/plugin-transform-react-jsx-source@7.29.7': - resolution: {integrity: sha512-06IyK09H3wi4cGbhDBwp5gUGo0IKtnYa8tyTiephirPCK6fbobVGiXMMI5zLQ4aKEYP3wZ3ArU44o+8KMrSG/Q==} - engines: {node: '>=6.9.0'} - peerDependencies: - '@babel/core': ^7.0.0-0 - '@babel/plugin-transform-react-jsx@7.29.7': resolution: {integrity: sha512-WsZulLVBUHXVj2cUcPVx6UE21TpalB6bHbSFErKT0Ib++ax24jjXe73FqlWvdylFOjiuPHYi6VCcgRad1ItN+A==} engines: {node: '>=6.9.0'} @@ -5050,9 +5038,6 @@ packages: cpu: [x64] os: [win32] - '@rolldown/pluginutils@1.0.0-rc.3': - resolution: {integrity: sha512-eybk3TjzzzV97Dlj5c+XrBFW57eTNhzod66y9HrBlzJ6NsCrWCp/2kaPS3K9wJmurBC0Tdw4yPjXKZqlznim3Q==} - '@rolldown/pluginutils@1.0.1': resolution: {integrity: sha512-2j9bGt5Jh8hj+vPtgzPtl72j0yRxHAyumoo6TNfAjsLB04UtpSvPbPcDcBMxz7n+9CYB0c1GxQFxYRg2jimqGw==} @@ -6325,11 +6310,18 @@ packages: resolution: {integrity: sha512-UycprH3T6n3jH0k44NHMa7pnFHGu/N05MjojYr+Mc6I7obkoLIJujSWwin1pCvdy/eOxrI/l3uDLQsmcrOb4ug==} engines: {node: '>= 20'} - '@vitejs/plugin-react@5.2.0': - resolution: {integrity: sha512-YmKkfhOAi3wsB1PhJq5Scj3GXMn3WvtQ/JC0xoopuHoXSdmtdStOpFrYaT1kie2YgFBcIe64ROzMYRjCrYOdYw==} + '@vitejs/plugin-react@6.0.2': + resolution: {integrity: sha512-DlSMqo4WhThw4vB8Mpn0Woe9J+Jfq1geJ61AKW0QEgLzGMNwtIMdxbDUzLxcun8W7NbJO0e2Jg/Nxm3cCSVzzg==} engines: {node: ^20.19.0 || >=22.12.0} peerDependencies: - vite: ^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0 || ^8.0.0 + '@rolldown/plugin-babel': ^0.1.7 || ^0.2.0 + babel-plugin-react-compiler: ^1.0.0 + vite: ^8.0.0 + peerDependenciesMeta: + '@rolldown/plugin-babel': + optional: true + babel-plugin-react-compiler: + optional: true '@vitest/eslint-plugin@1.6.20': resolution: {integrity: sha512-xRwWHFG0Utp6hXtbGiWk4VdKXCGdExD8kbWrrmFEiG5dk8anOJ+vbWbeOa8EbkocKQRTsx7JAWETccZiBgFp/Q==} @@ -11551,10 +11543,6 @@ packages: 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-refresh@0.18.0: - resolution: {integrity: sha512-QgT5//D3jfjJb6Gsjxv0Slpj23ip+HtOpnNgnb2S5zU3CB26G/IDPGoy4RJB42wzFE46DRsstbW6tKHoKbhAxw==} - engines: {node: '>=0.10.0'} - react-router-config@5.1.1: resolution: {integrity: sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==} peerDependencies: @@ -14263,16 +14251,6 @@ snapshots: transitivePeerDependencies: - supports-color - '@babel/plugin-transform-react-jsx-self@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - - '@babel/plugin-transform-react-jsx-source@7.29.7(@babel/core@7.29.7)': - dependencies: - '@babel/core': 7.29.7 - '@babel/helper-plugin-utils': 7.29.7 - '@babel/plugin-transform-react-jsx@7.29.7(@babel/core@7.29.7)': dependencies: '@babel/core': 7.29.7 @@ -16640,8 +16618,6 @@ snapshots: '@rolldown/binding-win32-x64-msvc@1.0.2': optional: true - '@rolldown/pluginutils@1.0.0-rc.3': {} - '@rolldown/pluginutils@1.0.1': {} '@rollup/plugin-babel@6.1.0(@babel/core@7.29.7)(@types/babel__core@7.20.5)(rollup@4.60.4)': @@ -18000,17 +17976,10 @@ snapshots: '@vercel/oidc@3.2.0': {} - '@vitejs/plugin-react@5.2.0(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))': + '@vitejs/plugin-react@6.0.2(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0))': dependencies: - '@babel/core': 7.29.7 - '@babel/plugin-transform-react-jsx-self': 7.29.7(@babel/core@7.29.7) - '@babel/plugin-transform-react-jsx-source': 7.29.7(@babel/core@7.29.7) - '@rolldown/pluginutils': 1.0.0-rc.3 - '@types/babel__core': 7.20.5 - react-refresh: 0.18.0 + '@rolldown/pluginutils': 1.0.1 vite: 8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0) - transitivePeerDependencies: - - supports-color '@vitest/eslint-plugin@1.6.20(@typescript-eslint/eslint-plugin@8.60.0(@typescript-eslint/parser@8.60.0(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(typescript@6.0.3))(eslint@9.39.4(jiti@2.7.0)(supports-color@7.2.0))(supports-color@7.2.0)(typescript@6.0.3)(vitest@4.1.7(@opentelemetry/api@1.9.1)(@types/node@25.9.1)(jsdom@25.0.1(supports-color@7.2.0))(vite@8.0.14(@types/node@25.9.1)(jiti@2.7.0)(terser@5.48.0)(yaml@2.9.0)))': dependencies: @@ -24357,8 +24326,6 @@ snapshots: react: 19.2.6 react-dom: 19.2.6(react@19.2.6) - react-refresh@0.18.0: {} - react-router-config@5.1.1(react-router@5.3.4(react@19.2.6))(react@19.2.6): dependencies: '@babel/runtime': 7.29.7 From 389b7d09056984cd3784f50b0faa95b56c9a1e7c Mon Sep 17 00:00:00 2001 From: Mariusz Krzaczkowski Date: Thu, 16 Jul 2026 10:36:25 +0200 Subject: [PATCH 4/9] fix(theme-translation): add missing Polish (pl) theme translations (#12275) --- .../locales/pl/theme-live-codeblock.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/packages/docusaurus-theme-translations/locales/pl/theme-live-codeblock.json b/packages/docusaurus-theme-translations/locales/pl/theme-live-codeblock.json index 56cabe42bf7c..c4f7318f2021 100644 --- a/packages/docusaurus-theme-translations/locales/pl/theme-live-codeblock.json +++ b/packages/docusaurus-theme-translations/locales/pl/theme-live-codeblock.json @@ -1,5 +1,5 @@ { "theme.Playground.liveEditor": "Edytor live", - "theme.Playground.buttons.reset": "Reset", + "theme.Playground.buttons.reset": "Resetuj", "theme.Playground.result": "Rezultat" } From 1f169bd892ce87011d99bc2974220cc67d7b5b2d Mon Sep 17 00:00:00 2001 From: Xavier Jodoin Date: Thu, 16 Jul 2026 04:39:10 -0400 Subject: [PATCH 5/9] docs: add docusaurus-plugin-rangefind to community search resources (#12286) Co-authored-by: sebastien --- project-words.txt | 1 + website/community/2-resources.mdx | 1 + 2 files changed, 2 insertions(+) diff --git a/project-words.txt b/project-words.txt index c923a1dc8104..c15d2a2c9346 100644 --- a/project-words.txt +++ b/project-words.txt @@ -236,6 +236,7 @@ Quickwit quickwit rachelnabors Ramón +rangefind reactjs rearchitecture Recma diff --git a/website/community/2-resources.mdx b/website/community/2-resources.mdx index 6811a756d7ed..8ba57a9cb666 100644 --- a/website/community/2-resources.mdx +++ b/website/community/2-resources.mdx @@ -45,6 +45,7 @@ See the showcase - [@orama/plugin-docusaurus-v3](https://github.com/askorama/orama/tree/main/packages/plugin-docusaurus-v3) - [Orama](https://askorama.ai/) plugin for Docusaurus v3 - [@getcanary/docusaurus-theme-search-pagefind](https://getcanary.dev/docs/integrations/docusaurus.html) - Create [Pagefind](https://pagefind.app/) index and use [Canary](https://github.com/fastrepl/canary) as UI primitives. - [docusaurus-biel](https://github.com/TechDocsStudio/docusaurus-biel) - Docusaurus plugin to add an AI chatbot and AI search with source-cited answers, powered by [Biel.ai](https://biel.ai) +- [docusaurus-plugin-rangefind](https://github.com/xjodoin/rangefind/tree/main/packages/docusaurus-plugin-rangefind) - Local/offline search over a static [rangefind](https://rangefind.dev) index queried with HTTP range requests — BM25F relevance, typo correction, autocomplete; no search server ### Integrations {/* #integrations */} From e7c003e1be57da2c2bbc95e7e1c63b6a00c8cde9 Mon Sep 17 00:00:00 2001 From: Ashutosh <43464753+AshutoshRaj97@users.noreply.github.com> Date: Thu, 16 Jul 2026 14:13:34 +0530 Subject: [PATCH 6/9] docs: add @agentreadyweb/docusaurus-plugin to community AI/Agents plugins (#12282) Co-authored-by: sebastien --- project-words.txt | 1 + website/community/2-resources.mdx | 1 + 2 files changed, 2 insertions(+) diff --git a/project-words.txt b/project-words.txt index c15d2a2c9346..0dff47f2c354 100644 --- a/project-words.txt +++ b/project-words.txt @@ -1,6 +1,7 @@ # Project Words - DO NOT TOUCH - This is updated through CI abernathyca Adriaan +agentreadyweb alexbdebrie Alexey algoliasearch diff --git a/website/community/2-resources.mdx b/website/community/2-resources.mdx index 8ba57a9cb666..f828823fe928 100644 --- a/website/community/2-resources.mdx +++ b/website/community/2-resources.mdx @@ -60,6 +60,7 @@ See the showcase - [docusaurus-plugin-llms](https://github.com/rachfop/docusaurus-plugin-llms) - Generates `llms.txt` and `llms-full.txt` files from your docs, following the [llmstxt.org](https://llmstxt.org/) standard. - [docusaurus-plugin-llms-txt](https://github.com/din0s/docusaurus-plugin-llms-txt) - Generates a concatenated Markdown `llms.txt` file from your documentation. - [expose-markdown-docusaurus-plugin](https://github.com/FlyNumber/markdown_docusaurus_plugin) - Exposes your /docs Markdown files as raw `.md` URLs (for LLM consumption). +- [@agentreadyweb/docusaurus-plugin](https://github.com/AshutoshRaj97/agentready-mcp/tree/main/docusaurus-plugin) - Auto-indexes your docs in [AgentReady](https://www.agentready.it.com) after every build, making them instantly queryable by AI agents (Claude, Cursor, Windsurf) via MCP with cited answers. ### Features {/* #features */} From 9dfea7e642847491db7fce8ab5db1c5a3eda254c Mon Sep 17 00:00:00 2001 From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com> Date: Thu, 16 Jul 2026 10:58:06 +0200 Subject: [PATCH 7/9] chore(deps-dev): bump dedent from 0.7.0 to 1.7.2 (#12270) Co-authored-by: sebastien Signed-off-by: dependabot[bot] --- packages/docusaurus-utils/package.json | 2 +- .../__tests__/markdownHeadingIdUtils.test.ts | 22 +++++++++---------- pnpm-lock.yaml | 19 ++++++++++------ 3 files changed, 24 insertions(+), 19 deletions(-) diff --git a/packages/docusaurus-utils/package.json b/packages/docusaurus-utils/package.json index cb0c3ed35bf9..fbb72a78a311 100644 --- a/packages/docusaurus-utils/package.json +++ b/packages/docusaurus-utils/package.json @@ -47,6 +47,6 @@ "@types/micromatch": "^4.0.10", "@types/js-yaml": "^4.0.9", "@types/react-dom": "^19.2.3", - "dedent": "^0.7.0" + "dedent": "^1.7.2" } } diff --git a/packages/docusaurus-utils/src/__tests__/markdownHeadingIdUtils.test.ts b/packages/docusaurus-utils/src/__tests__/markdownHeadingIdUtils.test.ts index 6cb18ac72ba7..5ddf2bda081d 100644 --- a/packages/docusaurus-utils/src/__tests__/markdownHeadingIdUtils.test.ts +++ b/packages/docusaurus-utils/src/__tests__/markdownHeadingIdUtils.test.ts @@ -245,17 +245,17 @@ describe('escapeMarkdownHeadingIds', () => { ###### title 6 {#id-6} `), ).toEqual(dedent` - # title 1 \{#id-1} + # title 1 \\{#id-1} - ## title 2 \{#id-2} + ## title 2 \\{#id-2} - ### title 3 \{#id-3} + ### title 3 \\{#id-3} - #### title 4 \{#id-4} + #### title 4 \\{#id-4} - ##### title 5 \{#id-5} + ##### title 5 \\{#id-5} - ###### title 6 \{#id-6} + ###### title 6 \\{#id-6} `); }); @@ -294,7 +294,7 @@ describe('escapeMarkdownHeadingIds', () => { Stack Overflow is a popular forum to ask code-level questions or if you're stuck with a specific error. Read through the [existing questions](https://stackoverflow.com/questions/tagged/docusaurus) tagged with **docusaurus** or [ask your own](https://stackoverflow.com/questions/ask?tags=docusaurus)! - ## Discussion forums \{#discussion-forums} + ## Discussion forums \\{#discussion-forums} There are many online forums for discussion about best practices and application architecture as well as the future of Docusaurus. If you have an answerable code-level question, Stack Overflow is usually a better fit. @@ -320,11 +320,11 @@ describe('escapeMarkdownHeadingIds', () => { Before participating in Docusaurus' communities, [please read our Code of Conduct](https://engineering.fb.com/codeofconduct/). We have adopted the [Contributor Covenant](https://www.contributor-covenant.org/) and we expect that all community members adhere to the guidelines within. - ## Stack Overflow \{#stack-overflow} + ## Stack Overflow \\{#stack-overflow} Stack Overflow is a popular forum to ask code-level questions or if you're stuck with a specific error. Read through the [existing questions](https://stackoverflow.com/questions/tagged/docusaurus) tagged with **docusaurus** or [ask your own](https://stackoverflow.com/questions/ask?tags=docusaurus)! - ## Discussion forums \{#discussion-forums} + ## Discussion forums \\{#discussion-forums} There are many online forums for discussion about best practices and application architecture as well as the future of Docusaurus. If you have an answerable code-level question, Stack Overflow is usually a better fit. @@ -333,11 +333,11 @@ describe('escapeMarkdownHeadingIds', () => { - [#contributors](https://discord.gg/6g6ASPA) for contributing help - [Reddit's Docusaurus community](https://www.reddit.com/r/docusaurus/) - ## Feature requests \{#feature-requests} + ## Feature requests \\{#feature-requests} For new feature requests, you can create a post on our [feature requests board (Canny)](/feature-requests), which is a handy tool for road-mapping and allows for sorting by upvotes, which gives the core team a better indicator of what features are in high demand, as compared to GitHub issues which are harder to triage. Refrain from making a Pull Request for new features (especially large ones) as someone might already be working on it or will be part of our roadmap. Talk to us first! - ## News \{#news} + ## News \\{#news} For the latest news about Docusaurus, [follow **@docusaurus** on X](https://x.com/docusaurus) and the [official Docusaurus blog](/blog) on this website. `); diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 51b3905914c9..68a590370834 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -1979,8 +1979,8 @@ importers: specifier: ^19.2.3 version: 19.2.3(@types/react@19.2.14) dedent: - specifier: ^0.7.0 - version: 0.7.0 + specifier: ^1.7.2 + version: 1.7.2 packages/docusaurus-utils-common: dependencies: @@ -7792,9 +7792,6 @@ packages: resolution: {integrity: sha512-aW35yZM6Bb/4oJlZncMH2LCoZtJXTRxES17vE3hoRiowU2kWHaJKFkSBDnDR+cm9J+9QhXmREyIfv0pji9ejCQ==} engines: {node: '>=10'} - dedent@0.7.0: - resolution: {integrity: sha512-Q6fKUPqnAHAyhiUgFU7BUzLiv0kd8saH9al7tnu5Q/okj6dnupxyTgFIBjVzJATdfIAm9NAsvXNzjaKa+bxVyA==} - dedent@1.5.3: resolution: {integrity: sha512-NHQtfOOW68WD8lgypbLA5oT+Bt0xXJhiYvoR6SmmNXZfpzOGXwdKWmcwG8N7PwVVWV3eF/68nmD9BaJSsTBhyQ==} peerDependencies: @@ -7803,6 +7800,14 @@ packages: babel-plugin-macros: optional: true + dedent@1.7.2: + resolution: {integrity: sha512-WzMx3mW98SN+zn3hgemf4OzdmyNhhhKz5Ay0pUfQiMQ3e1g+xmTJWp/pKdwKVXhdSkAEGIIzqeuWrL3mV/AXbA==} + peerDependencies: + babel-plugin-macros: ^3.1.0 + peerDependenciesMeta: + babel-plugin-macros: + optional: true + deep-eql@4.1.4: resolution: {integrity: sha512-SUwdGfqdKOwxCPeVYjwSyRpJ7Z+fhpwIAtmCUdZIWZ/YP5R9WAsyuSgpLVDi9bjWoN2LXHNss/dk3urXtdQxGg==} engines: {node: '>=6'} @@ -19647,10 +19652,10 @@ snapshots: dependencies: mimic-response: 3.1.0 - dedent@0.7.0: {} - dedent@1.5.3: {} + dedent@1.7.2: {} + deep-eql@4.1.4: dependencies: type-detect: 4.1.0 From 76bc07d335e766f6f104945430f19ad8e93d67d4 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9bastien=20Lorber?= Date: Thu, 16 Jul 2026 11:23:23 +0200 Subject: [PATCH 8/9] fix(ci): fix TS6 upgrade + prepare for TS7 (#12287) --- packages/create-docusaurus/bin/index.js | 2 +- packages/docusaurus/bin/beforeCli.mjs | 2 +- tsconfig.base.json | 1 - website/docs/typescript-support.mdx | 7 ++----- website/tsconfig.json | 3 --- 5 files changed, 4 insertions(+), 11 deletions(-) diff --git a/packages/create-docusaurus/bin/index.js b/packages/create-docusaurus/bin/index.js index 919043d10afc..293c222e37ab 100755 --- a/packages/create-docusaurus/bin/index.js +++ b/packages/create-docusaurus/bin/index.js @@ -15,7 +15,7 @@ import {logger} from '@docusaurus/logger'; import semver from 'semver'; import {program} from 'commander'; -const packageJson = /** @type {import("../package.json")} */ ( +const packageJson = /** @type {typeof import("../package.json")} */ ( createRequire(import.meta.url)('../package.json') ); const requiredVersion = packageJson.engines.node; diff --git a/packages/docusaurus/bin/beforeCli.mjs b/packages/docusaurus/bin/beforeCli.mjs index 4662c38b4377..42140564b3b8 100644 --- a/packages/docusaurus/bin/beforeCli.mjs +++ b/packages/docusaurus/bin/beforeCli.mjs @@ -17,7 +17,7 @@ import updateNotifier from 'update-notifier'; import boxen from 'boxen'; import {DOCUSAURUS_VERSION} from '@docusaurus/utils'; -const packageJson = /** @type {import("../package.json")} */ ( +const packageJson = /** @type {typeof import("../package.json")} */ ( createRequire(import.meta.url)('../package.json') ); /** @type {Record} */ diff --git a/tsconfig.base.json b/tsconfig.base.json index 7a004aa4ffa7..3fa83a7e9051 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -46,7 +46,6 @@ /* Handled by ESLint */ "noUnusedLocals": false, "noUnusedParameters": false, - "importsNotUsedAsValues": "remove", /* Module Resolution */ "moduleResolution": "NodeNext", diff --git a/website/docs/typescript-support.mdx b/website/docs/typescript-support.mdx index d4fb4e62f140..1f8187c930db 100644 --- a/website/docs/typescript-support.mdx +++ b/website/docs/typescript-support.mdx @@ -6,7 +6,7 @@ description: Docusaurus is written in TypeScript and provides first-class TypeSc Docusaurus is written in TypeScript and provides first-class TypeScript support. -The minimum required version is **TypeScript 5.1**. +The minimum required version is **TypeScript 6.0**. ## Initialization {/* #initialization */} @@ -31,9 +31,7 @@ Then add `tsconfig.json` to your project root with the following content: ```json title="tsconfig.json" { "extends": "@docusaurus/tsconfig", - "compilerOptions": { - "baseUrl": "." - } + "compilerOptions": {} } ``` @@ -59,7 +57,6 @@ Alternatively, add the package to the `types` compiler option of your `tsconfig. { "extends": "@docusaurus/tsconfig", "compilerOptions": { - "baseUrl": ".", // highlight-next-line "types": ["@docusaurus/theme-live-codeblock"] } diff --git a/website/tsconfig.json b/website/tsconfig.json index 3c4ad97eb1f4..0ab9a9b2daea 100644 --- a/website/tsconfig.json +++ b/website/tsconfig.json @@ -3,8 +3,6 @@ "extends": "@docusaurus/tsconfig", "compilerOptions": { "lib": ["DOM", "ESNext"], - "baseUrl": ".", - "ignoreDeprecations": "6.0", "resolveJsonModule": true, "allowArbitraryExtensions": true, @@ -28,7 +26,6 @@ "useUnknownInCatchVariables": true, "noUnusedLocals": false, "noUnusedParameters": false, - "importsNotUsedAsValues": "remove", // This is important. We run `pnpm tsc` in website so we can catch issues // with our declaration files (mostly names that are forgotten to be From 0a660463ac7c8c14aadd95514101986672acc7b3 Mon Sep 17 00:00:00 2001 From: udit Date: Thu, 16 Jul 2026 06:20:05 -0400 Subject: [PATCH 9/9] fix(theme-common): make Details component react to external open attribute changes (#12277) Co-authored-by: Claude Fable 5 Co-authored-by: sebastien --- .../Details/__tests__/index.test.tsx | 72 +++++++++++++++++++ .../src/components/Details/index.tsx | 10 +++ 2 files changed, 82 insertions(+) create mode 100644 packages/docusaurus-theme-common/src/components/Details/__tests__/index.test.tsx diff --git a/packages/docusaurus-theme-common/src/components/Details/__tests__/index.test.tsx b/packages/docusaurus-theme-common/src/components/Details/__tests__/index.test.tsx new file mode 100644 index 000000000000..18dd2d150b4d --- /dev/null +++ b/packages/docusaurus-theme-common/src/components/Details/__tests__/index.test.tsx @@ -0,0 +1,72 @@ +/** + * 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. + */ +// @vitest-environment jsdom +import {describe, expect, it, vi} from 'vitest'; +import React from 'react'; +import {render, act, fireEvent} from '@testing-library/react'; +import {Details} from '../index'; + +function renderDetails(props: {open?: boolean} = {}) { + const {container} = render( +
+ the content +
, + ); + return container.querySelector('details')!; +} + +// jsdom doesn't fire the native toggle event on open changes: simulate the +// browser behavior manually +function setOpenExternally(details: HTMLDetailsElement, open: boolean) { + act(() => { + details.open = open; + details.dispatchEvent(new Event('toggle')); + }); +} + +describe('Details', () => { + // Fix jsdom not implementing matchMedia() + // See https://github.com/jsdom/jsdom/issues/3522 + // Used through Details > Collapsible > getAutoHeightDuration() + vi.stubGlobal('matchMedia', () => { + return {matches: true}; + }); + + it('renders collapsed by default', () => { + const details = renderDetails(); + expect(details.open).toBe(false); + expect(details.dataset.collapsed).toBe('true'); + }); + + it('renders expanded with open prop', () => { + const details = renderDetails({open: true}); + expect(details.open).toBe(true); + expect(details.dataset.collapsed).toBe('false'); + }); + + it('expands when clicking the summary', () => { + const details = renderDetails(); + fireEvent.click(details.querySelector('summary')!); + expect(details.open).toBe(true); + expect(details.dataset.collapsed).toBe('false'); + }); + + it('expands when the open attribute is set externally', () => { + // See https://github.com/facebook/docusaurus/issues/10140 + const details = renderDetails(); + setOpenExternally(details, true); + expect(details.open).toBe(true); + expect(details.dataset.collapsed).toBe('false'); + }); + + it('collapses when the open attribute is removed externally', () => { + const details = renderDetails({open: true}); + setOpenExternally(details, false); + expect(details.open).toBe(false); + expect(details.dataset.collapsed).toBe('true'); + }); +}); diff --git a/packages/docusaurus-theme-common/src/components/Details/index.tsx b/packages/docusaurus-theme-common/src/components/Details/index.tsx index 4a58984472b3..cb52c63e1049 100644 --- a/packages/docusaurus-theme-common/src/components/Details/index.tsx +++ b/packages/docusaurus-theme-common/src/components/Details/index.tsx @@ -103,6 +103,16 @@ export function Details({ // Don't do this, it breaks close animation! // setOpen(false); } + }} + onToggle={(e) => { + // The toggle event also fires when React syncs the open attribute + // See https://github.com/facebook/docusaurus/pull/12277 + const isOpen = e.currentTarget.open; + if (isOpen === !collapsed) { + return; + } + setCollapsed(!isOpen); + setOpen(isOpen); }}> {summaryElement}