From 70d0991010a1f8fac6d94505950830c5c7678f1f Mon Sep 17 00:00:00 2001
From: Sanjaiyan Parthipan
Date: Thu, 18 Jun 2026 14:57:31 +0530
Subject: [PATCH 1/5] refactor(core): route matching to use `.flatMap()`
instead of `.map().flat()` (#12173)
* refactor route matching to use .flatMap() instead of map().flat()
* fix styl code format
---
packages/docusaurus/src/client/preload.ts | 6 +++---
1 file changed, 3 insertions(+), 3 deletions(-)
diff --git a/packages/docusaurus/src/client/preload.ts b/packages/docusaurus/src/client/preload.ts
index 1411581742fc..08f7c81cad9f 100644
--- a/packages/docusaurus/src/client/preload.ts
+++ b/packages/docusaurus/src/client/preload.ts
@@ -17,9 +17,9 @@ import {matchRoutes} from 'react-router-config';
* @returns Promise object represents whether pathname has been preloaded
*/
export default function preload(pathname: string): Promise {
- const matches = Array.from(new Set([pathname, decodeURI(pathname)]))
- .map((p) => matchRoutes(routes, p))
- .flat();
+ const matches = Array.from(new Set([pathname, decodeURI(pathname)])).flatMap(
+ (p) => matchRoutes(routes, p),
+ );
return Promise.all(matches.map((match) => match.route.component.preload?.()));
}
From 9ba455926ce4d7048340f8d038e0ac33903710ab Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 18 Jun 2026 12:31:11 +0200
Subject: [PATCH 2/5] chore(deps): bump srcset from 4.0.0 to 5.0.3 (#12156)
Co-authored-by: copilot-swe-agent[bot] <198982749+Copilot@users.noreply.github.com>
Signed-off-by: dependabot[bot]
---
.../package.json | 2 +-
.../src/feed.ts | 6 +--
pnpm-lock.yaml | 49 +++++++++++--------
3 files changed, 33 insertions(+), 24 deletions(-)
diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json
index 49035a007edb..5311b6fd377e 100644
--- a/packages/docusaurus-plugin-content-blog/package.json
+++ b/packages/docusaurus-plugin-content-blog/package.json
@@ -46,7 +46,7 @@
"fs-extra": "^11.2.0",
"lodash": "^4.17.21",
"schema-dts": "^1.1.2",
- "srcset": "^4.0.0",
+ "srcset": "^5.0.3",
"tslib": "^2.6.0",
"unist-util-visit": "^5.1.0",
"utility-types": "^3.10.0",
diff --git a/packages/docusaurus-plugin-content-blog/src/feed.ts b/packages/docusaurus-plugin-content-blog/src/feed.ts
index 0a1bfe4e7a89..6cf30895e224 100644
--- a/packages/docusaurus-plugin-content-blog/src/feed.ts
+++ b/packages/docusaurus-plugin-content-blog/src/feed.ts
@@ -8,7 +8,7 @@
import path from 'path';
import fs from 'fs-extra';
import {Feed, type Author as FeedAuthor} from 'feed';
-import * as srcset from 'srcset';
+import {parseSrcset, stringifySrcset} from 'srcset';
import {
getDataFilePath,
normalizeUrl,
@@ -153,8 +153,8 @@ async function defaultCreateFeedItems({
elm.attribs.src = toAbsoluteUrl(src);
}
if (srcsetAttr) {
- elm.attribs.srcset = srcset.stringify(
- srcset.parse(srcsetAttr).map((props) => ({
+ elm.attribs.srcset = stringifySrcset(
+ parseSrcset(srcsetAttr).map((props) => ({
...props,
url: toAbsoluteUrl(props.url),
})),
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index c17cde0dc4c0..148f6a508b86 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -961,8 +961,8 @@ importers:
specifier: ^1.1.2
version: 1.1.5
srcset:
- specifier: ^4.0.0
- version: 4.0.0
+ specifier: ^5.0.3
+ version: 5.0.3
tslib:
specifier: ^2.6.0
version: 2.8.1
@@ -1769,7 +1769,7 @@ importers:
version: 1.19.8(@algolia/client-search@5.52.1)(algoliasearch@5.52.1)(search-insights@2.17.3)
'@docsearch/react':
specifier: ^4.6.3
- version: 4.6.3(@algolia/client-search@5.52.1)(@types/react@19.2.15)(algoliasearch@5.52.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(search-insights@2.17.3)
+ version: 4.6.3(@algolia/client-search@5.52.1)(@types/react@19.2.17)(algoliasearch@5.52.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(search-insights@2.17.3)
'@docusaurus/core':
specifier: 3.10.1
version: link:../docusaurus
@@ -5967,8 +5967,8 @@ packages:
'@types/react@19.2.14':
resolution: {integrity: sha512-ilcTH/UniCkMdtexkoCN0bI7pMcJDvmQFPvuPvmEaYA/NSfFTAgdUSLAoVjaRJm7+6PvcM+q1zYOwS4wTYMF9w==}
- '@types/react@19.2.15':
- resolution: {integrity: sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==}
+ '@types/react@19.2.17':
+ resolution: {integrity: sha512-MXfmqaVPEVgkBT/aY0aGCkRWWtByiYQXo3xdQ8r5RzuFrPiRn8Gar2tQdXSUQ2GKV3bkXckek89V8wQBY2Q/Aw==}
'@types/resolve@1.20.2':
resolution: {integrity: sha512-60BCwRFOZCQhDncwQdxxeOEEkbc5dIMccYLwbxsS4TUNeVECQ/pBJ0j09mrHOl/JJvpRPGwO9SvE4nR2Nb/a4Q==}
@@ -11434,8 +11434,8 @@ packages:
react-is@18.3.1:
resolution: {integrity: sha512-/LLMVyas0ljjAtoYiPqYiL8VWXzUUdThrmU5+n20DZv+a+ClRoevUzw5JxU+Ieh5/c87ytoTBV9G1FiKfNJdmg==}
- react-is@19.2.6:
- resolution: {integrity: sha512-XjBR15BhXuylgWGuslhDKqlSayuqvqBX91BP8pauG8kd1zY8kotkNWbXksTCNRarse4kuGbe2kIY05ARtwNIvw==}
+ react-is@19.2.7:
+ resolution: {integrity: sha512-kZFnouyVv7eP/Phmrlo9FK+zcAdriZJvzxXHF1Sl1P377WSGe2G/JxVolhTrB/jeV47lKImhNUsijjHAAbcl/A==}
react-json-view-lite@2.5.0:
resolution: {integrity: sha512-tk7o7QG9oYyELWHL8xiMQ8x4WzjCzbWNyig3uexmkLb54r8jO0yH3WCWx8UZS0c49eSA4QUmG5caiRJ8fAn58g==}
@@ -12148,9 +12148,9 @@ packages:
sprintf-js@1.0.3:
resolution: {integrity: sha512-D9cPgkvLlV3t3IzL0D0YLvGA9Ahk4PcvVwUbN0dSGr1aP0Nrt4AEnTUbuGvquEC0mA64Gqt1fzirlRs5ibXx8g==}
- srcset@4.0.0:
- resolution: {integrity: sha512-wvLeHgcVHKO8Sc/H/5lkGreJQVeYMm9rlmt8PuR1xE31rIuXhuzznUUqAt8MqLhB3MqJdFzlNAfpcWnxiFUcPw==}
- engines: {node: '>=12'}
+ srcset@5.0.3:
+ resolution: {integrity: sha512-AZswtOXIsu0LeHdo6YY7d0r2pCH2Rl1D8ae1utvXUX4GxG3RggsVUAOFX1r8RI4YHFMYb4g89+UBPBv3mNUU2g==}
+ engines: {node: ^12.20.0 || ^14.13.1 || >=16.0.0}
ssri@12.0.0:
resolution: {integrity: sha512-S7iGNosepx9RadX82oimUkvr0Ct7IjJbEbs4mJcTxst8um95J3sDYU1RBEOvdu6oL1Wek2ODI5i4MAw+dZ6cAQ==}
@@ -12569,6 +12569,10 @@ packages:
resolution: {integrity: sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==}
engines: {node: '>=12.0.0'}
+ tinyglobby@0.2.17:
+ resolution: {integrity: sha512-wXR/dYpcqKmfWpEdZjiKJOwCNFndD0DMnrW/cYjVGttEkBfVgcLFHoNrlj47mjOVic9yyNu65alsgF4NQyTa2g==}
+ engines: {node: '>=12.0.0'}
+
tinypool@2.1.0:
resolution: {integrity: sha512-Pugqs6M0m7Lv1I7FtxN4aoyToKg1C4tu+/381vH35y8oENM/Ai7f7C4StcoK4/+BSw9ebcS8jRiVrORFKCALLw==}
engines: {node: ^20.0.0 || >=22.0.0}
@@ -15075,21 +15079,21 @@ snapshots:
'@discoveryjs/json-ext@0.6.3': {}
- '@docsearch/core@4.6.3(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
+ '@docsearch/core@4.6.3(@types/react@19.2.17)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)':
optionalDependencies:
- '@types/react': 19.2.15
+ '@types/react': 19.2.17
react: 19.2.6
react-dom: 19.2.6(react@19.2.6)
'@docsearch/css@4.6.3': {}
- '@docsearch/react@4.6.3(@algolia/client-search@5.52.1)(@types/react@19.2.15)(algoliasearch@5.52.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(search-insights@2.17.3)':
+ '@docsearch/react@4.6.3(@algolia/client-search@5.52.1)(@types/react@19.2.17)(algoliasearch@5.52.1)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)(search-insights@2.17.3)':
dependencies:
'@algolia/autocomplete-core': 1.19.2(@algolia/client-search@5.52.1)(algoliasearch@5.52.1)(search-insights@2.17.3)
- '@docsearch/core': 4.6.3(@types/react@19.2.15)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
+ '@docsearch/core': 4.6.3(@types/react@19.2.17)(react-dom@19.2.6(react@19.2.6))(react@19.2.6)
'@docsearch/css': 4.6.3
optionalDependencies:
- '@types/react': 19.2.15
+ '@types/react': 19.2.17
react: 19.2.6
react-dom: 19.2.6(react@19.2.6)
search-insights: 2.17.3
@@ -17556,7 +17560,7 @@ snapshots:
dependencies:
csstype: 3.2.3
- '@types/react@19.2.15':
+ '@types/react@19.2.17':
dependencies:
csstype: 3.2.3
optional: true
@@ -24054,7 +24058,7 @@ snapshots:
'@jest/schemas': 30.4.1
ansi-styles: 5.2.0
react-is-18: react-is@18.3.1
- react-is-19: react-is@19.2.6
+ react-is-19: react-is@19.2.7
pretty-time@1.1.0: {}
@@ -24208,7 +24212,7 @@ snapshots:
react-is@18.3.1: {}
- react-is@19.2.6: {}
+ react-is@19.2.7: {}
react-json-view-lite@2.5.0(react@19.2.6):
dependencies:
@@ -25195,7 +25199,7 @@ snapshots:
sprintf-js@1.0.3: {}
- srcset@4.0.0: {}
+ srcset@5.0.3: {}
ssri@12.0.0:
dependencies:
@@ -25702,6 +25706,11 @@ snapshots:
fdir: 6.5.0(picomatch@4.0.4)
picomatch: 4.0.4
+ tinyglobby@0.2.17:
+ dependencies:
+ fdir: 6.5.0(picomatch@4.0.4)
+ picomatch: 4.0.4
+
tinypool@2.1.0: {}
tinyrainbow@3.1.0: {}
@@ -26135,7 +26144,7 @@ snapshots:
picomatch: 4.0.4
postcss: 8.5.15
rolldown: 1.0.2
- tinyglobby: 0.2.16
+ tinyglobby: 0.2.17
optionalDependencies:
'@types/node': 25.9.1
fsevents: 2.3.3
From 698de7ea1e7f6fdba240a4957a8bb8e315f619b2 Mon Sep 17 00:00:00 2001
From: lampovayatyan999
Date: Thu, 18 Jun 2026 15:31:49 +0500
Subject: [PATCH 3/5] =?UTF-8?q?docs:=20improve=20useIsBrowser=20section,?=
=?UTF-8?q?=20clarify=20hydration=20vs=20DOM=20availabi=E2=80=A6=20(#12176?=
=?UTF-8?q?)?=
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
* docs: improve useIsBrowser section, clarify hydration vs DOM availability (#8678)
* Update website/docs/docusaurus-core.mdx
* Update website/docs/docusaurus-core.mdx
* Apply suggestion from @slorber
---------
Co-authored-by: Sébastien Lorber
---
website/docs/docusaurus-core.mdx | 21 +++++++++++++++------
1 file changed, 15 insertions(+), 6 deletions(-)
diff --git a/website/docs/docusaurus-core.mdx b/website/docs/docusaurus-core.mdx
index aa2e6882ed67..9acdec1cd2f7 100644
--- a/website/docs/docusaurus-core.mdx
+++ b/website/docs/docusaurus-core.mdx
@@ -409,13 +409,24 @@ The `siteConfig` object only contains **serializable values** (values that are p
### `useIsBrowser` {/* #useIsBrowser */}
-Returns `true` when the React app has successfully hydrated in the browser.
+Returns `true` after initial hydration completes in the browser.
:::warning
-Use this hook instead of `typeof windows !== 'undefined'` in React rendering logic.
+Use this hook instead of `typeof window !== 'undefined'` in React rendering logic.
-The first client-side render output (in the browser) **must be exactly the same** as the server-side render output (Node.js). Not following this rule can lead to unexpected hydration behaviors, as described in [The Perils of Rehydration](https://www.joshwcomeau.com/react/the-perils-of-rehydration/).
+The initial render output must be consistent between server and client — components should not depend on browser-only state during the initial render. See [The Perils of Rehydration](https://www.joshwcomeau.com/react/the-perils-of-rehydration/).
+
+`useIsBrowser()` and `typeof window !== 'undefined'` serve different purposes:
+
+- **`useIsBrowser()`** — tracks hydration state. Use it to gate UI behavior that should only activate after initial hydration.
+- **`typeof window !== 'undefined'`** — detects the runtime environment. Use it when you need to check DOM availability outside of React rendering logic.
+
+| Context | `useIsBrowser()` | `typeof window !== 'undefined'` |
+| --- | --- | --- |
+| Node.js / SSR | `false` | `false` |
+| During initial client render | `false` | `true` (DOM is available) |
+| After initial hydration | `true` | `true` |
:::
@@ -426,10 +437,8 @@ import React from 'react';
import useIsBrowser from '@docusaurus/useIsBrowser';
const MyComponent = () => {
- // highlight-start
const isBrowser = useIsBrowser();
- // highlight-end
- return {isBrowser ? 'Client' : 'Server'}
;
+ return {isBrowser ? 'Browser' : 'Server'}
;
};
```
From cbab031aab36c2e42d8c45ff312ddc8eecc5b9ce Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 18 Jun 2026 12:39:47 +0200
Subject: [PATCH 4/5] chore(deps): bump js-yaml from 4.1.1 to 4.2.0 (#12177)
Signed-off-by: dependabot[bot]
---
pnpm-lock.yaml | 55 +++++++++++++++++++++++++++++++++++++++-----------
1 file changed, 43 insertions(+), 12 deletions(-)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 148f6a508b86..3c5e548aaed9 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -261,7 +261,7 @@ importers:
version: link:../../../docusaurus-preset-classic
'@mdx-js/react':
specifier: ^3.1.1
- version: 3.1.1(@types/react@19.2.14)(react@19.2.6)
+ version: 3.1.1(@types/react@19.2.17)(react@19.2.6)
clsx:
specifier: ^2.0.0
version: 2.1.1
@@ -486,7 +486,7 @@ importers:
version: 4.7.11
'@types/react-dom':
specifier: ^19.2.3
- version: 19.2.3(@types/react@19.2.14)
+ version: 19.2.3(@types/react@19.2.17)
'@types/react-router-config':
specifier: ^5.0.7
version: 5.0.11
@@ -1023,7 +1023,7 @@ importers:
version: 11.3.5
js-yaml:
specifier: ^4.1.0
- version: 4.1.1
+ version: 4.2.0
lodash:
specifier: ^4.17.21
version: 4.18.1
@@ -1562,7 +1562,7 @@ importers:
version: link:../docusaurus-utils-validation
'@mdx-js/react':
specifier: ^3.1.1
- version: 3.1.1(@types/react@19.2.14)(react@19.2.6)
+ version: 3.1.1(@types/react@19.2.17)(react@19.2.6)
clsx:
specifier: ^2.0.0
version: 2.1.1
@@ -1936,7 +1936,7 @@ importers:
version: 2.7.0
js-yaml:
specifier: ^4.1.0
- version: 4.1.1
+ version: 4.2.0
lodash:
specifier: ^4.17.21
version: 4.18.1
@@ -1979,7 +1979,7 @@ importers:
version: 4.0.10
'@types/react-dom':
specifier: ^19.2.3
- version: 19.2.3(@types/react@19.2.14)
+ version: 19.2.3(@types/react@19.2.17)
dedent:
specifier: ^0.7.0
version: 0.7.0
@@ -2012,7 +2012,7 @@ importers:
version: 18.2.1
js-yaml:
specifier: ^4.1.0
- version: 4.1.1
+ version: 4.2.0
lodash:
specifier: ^4.17.21
version: 4.18.1
@@ -4391,6 +4391,12 @@ packages:
'@emnapi/core': ^1.7.1
'@emnapi/runtime': ^1.7.1
+ '@napi-rs/wasm-runtime@1.1.5':
+ resolution: {integrity: sha512-AWPoBRJ9tsnVhor4sjO7rkni+7p+2IAEFj6cx06UgP10jkQHqay/36uRV/bFkgrh18D9vb4cr8Q0Pthskgzy+Q==}
+ peerDependencies:
+ '@emnapi/core': ^1.7.1
+ '@emnapi/runtime': ^1.7.1
+
'@netlify/functions@1.6.0':
resolution: {integrity: sha512-6G92AlcpFrQG72XU8YH8pg94eDnq7+Q0YJhb8x4qNpdGsvuzvrfHWBmqFGp/Yshmv4wex9lpsTRZOocdrA2erQ==}
engines: {node: '>=14.0.0'}
@@ -9428,6 +9434,10 @@ packages:
resolution: {integrity: sha512-qQKT4zQxXl8lLwBtHMWwaTcGfFOZviOJet3Oy/xmGk2gZH677CJM9EvtfdSkgWcATZhj/55JZ0rmy3myCT5lsA==}
hasBin: true
+ js-yaml@4.2.0:
+ resolution: {integrity: sha512-ePWsvanv0DWuDRsW8dnt+R4jQ31SCRCQ7hhNcPXZPsoBZiemuZNYGf7adZdqX2D86j6rvKp3RpCxVTSb8WQlOw==}
+ hasBin: true
+
jsdoc-type-pratt-parser@7.2.0:
resolution: {integrity: sha512-dh140MMgjyg3JhJZY/+iEzW+NO5xR2gpbDFKHqotCmexElVntw7GjWjt511+C/Ef02RU5TKYrJo/Xlzk+OLaTw==}
engines: {node: '>=20.0.0'}
@@ -15172,7 +15182,7 @@ snapshots:
globals: 14.0.0
ignore: 5.3.2
import-fresh: 3.3.1
- js-yaml: 4.1.1
+ js-yaml: 4.2.0
minimatch: 3.1.5
strip-json-comments: 3.1.1
transitivePeerDependencies:
@@ -15922,6 +15932,12 @@ snapshots:
'@types/react': 19.2.14
react: 19.2.6
+ '@mdx-js/react@3.1.1(@types/react@19.2.17)(react@19.2.6)':
+ dependencies:
+ '@types/mdx': 2.0.13
+ '@types/react': 19.2.17
+ react: 19.2.6
+
'@mermaid-js/layout-elk@0.1.9(mermaid@11.15.0)':
dependencies:
d3: 7.9.0
@@ -15977,6 +15993,13 @@ snapshots:
'@tybys/wasm-util': 0.10.2
optional: true
+ '@napi-rs/wasm-runtime@1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)':
+ dependencies:
+ '@emnapi/core': 1.10.0
+ '@emnapi/runtime': 1.10.0
+ '@tybys/wasm-util': 0.10.2
+ optional: true
+
'@netlify/functions@1.6.0':
dependencies:
is-promise: 4.0.0
@@ -16514,7 +16537,7 @@ snapshots:
dependencies:
'@emnapi/core': 1.10.0
'@emnapi/runtime': 1.10.0
- '@napi-rs/wasm-runtime': 1.1.4(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
+ '@napi-rs/wasm-runtime': 1.1.5(@emnapi/core@1.10.0)(@emnapi/runtime@1.10.0)
optional: true
'@rolldown/binding-win32-arm64-msvc@1.0.2':
@@ -17538,6 +17561,11 @@ snapshots:
'@types/react-dom@19.2.3(@types/react@19.2.14)':
dependencies:
'@types/react': 19.2.14
+ optional: true
+
+ '@types/react-dom@19.2.3(@types/react@19.2.17)':
+ dependencies:
+ '@types/react': 19.2.17
'@types/react-router-config@5.0.11':
dependencies:
@@ -17563,7 +17591,6 @@ snapshots:
'@types/react@19.2.17':
dependencies:
csstype: 3.2.3
- optional: true
'@types/resolve@1.20.2': {}
@@ -19009,7 +19036,7 @@ snapshots:
cosmiconfig@8.3.6(typescript@6.0.3):
dependencies:
import-fresh: 3.3.1
- js-yaml: 4.1.1
+ js-yaml: 4.2.0
parse-json: 5.2.0
path-type: 4.0.0
optionalDependencies:
@@ -19028,7 +19055,7 @@ snapshots:
dependencies:
env-paths: 2.2.1
import-fresh: 3.3.1
- js-yaml: 4.1.1
+ js-yaml: 4.2.0
parse-json: 5.2.0
optionalDependencies:
typescript: 6.0.3
@@ -21544,6 +21571,10 @@ snapshots:
dependencies:
argparse: 2.0.1
+ js-yaml@4.2.0:
+ dependencies:
+ argparse: 2.0.1
+
jsdoc-type-pratt-parser@7.2.0: {}
jsdom@25.0.1:
From 5ad98919c9e7af0668bbf9e6de450d673f5af6de Mon Sep 17 00:00:00 2001
From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
Date: Thu, 18 Jun 2026 13:25:34 +0200
Subject: [PATCH 5/5] chore(deps): bump feed from 4.2.2 to 5.2.1 (#12060)
Co-authored-by: sebastien
Signed-off-by: dependabot[bot]
---
.../package.json | 2 +-
.../website/build-snap/blog/rss.xml | 18 +++--
.../__tests__/__snapshots__/feed.test.ts.snap | 80 ++++++++++---------
pnpm-lock.yaml | 12 +--
4 files changed, 61 insertions(+), 51 deletions(-)
diff --git a/packages/docusaurus-plugin-content-blog/package.json b/packages/docusaurus-plugin-content-blog/package.json
index 5311b6fd377e..20f993ebfc08 100644
--- a/packages/docusaurus-plugin-content-blog/package.json
+++ b/packages/docusaurus-plugin-content-blog/package.json
@@ -42,7 +42,7 @@
"@docusaurus/utils-validation": "3.10.1",
"cheerio": "^1.2.0",
"combine-promises": "^1.1.0",
- "feed": "^4.2.2",
+ "feed": "^5.2.1",
"fs-extra": "^11.2.0",
"lodash": "^4.17.21",
"schema-dts": "^1.1.2",
diff --git a/packages/docusaurus-plugin-content-blog/src/__tests__/__fixtures__/website/build-snap/blog/rss.xml b/packages/docusaurus-plugin-content-blog/src/__tests__/__fixtures__/website/build-snap/blog/rss.xml
index 56635fe7c76d..8d1ef67169ef 100644
--- a/packages/docusaurus-plugin-content-blog/src/__tests__/__fixtures__/website/build-snap/blog/rss.xml
+++ b/packages/docusaurus-plugin-content-blog/src/__tests__/__fixtures__/website/build-snap/blog/rss.xml
@@ -12,7 +12,7 @@
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -29,7 +29,7 @@
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -42,7 +42,7 @@
-
https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
Fri, 05 Mar 2021 00:00:00 GMT
HTML Heading 1
@@ -72,7 +72,7 @@
-
https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
- https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
+ https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
Sun, 16 Aug 2020 00:00:00 GMT
complex url slug]]>
@@ -82,21 +82,22 @@
-
https://docusaurus.io/myBaseUrl/blog/simple/slug
- https://docusaurus.io/myBaseUrl/blog/simple/slug
+ https://docusaurus.io/myBaseUrl/blog/simple/slug
Sat, 15 Aug 2020 00:00:00 GMT
simple url slug]]>
+ Sébastien Lorber
-
https://docusaurus.io/myBaseUrl/blog/heading-as-title
- https://docusaurus.io/myBaseUrl/blog/heading-as-title
+ https://docusaurus.io/myBaseUrl/blog/heading-as-title
Wed, 02 Jan 2019 00:00:00 GMT
-
https://docusaurus.io/myBaseUrl/blog/date-matter
- https://docusaurus.io/myBaseUrl/blog/date-matter
+ https://docusaurus.io/myBaseUrl/blog/date-matter
Tue, 01 Jan 2019 00:00:00 GMT
date inside front matter]]>
@@ -105,10 +106,11 @@
-
https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
- https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
+ https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
Fri, 14 Dec 2018 00:00:00 GMT
Happy birthday! (translated)]]>
+ Yangshun Tay (translated)
lorber.sebastien@gmail.com (Sébastien Lorber (translated))
inlineTag
Global Tag label (en)
diff --git a/packages/docusaurus-plugin-content-blog/src/__tests__/__snapshots__/feed.test.ts.snap b/packages/docusaurus-plugin-content-blog/src/__tests__/__snapshots__/feed.test.ts.snap
index 578fe5ee3d69..9c88f034df50 100644
--- a/packages/docusaurus-plugin-content-blog/src/__tests__/__snapshots__/feed.test.ts.snap
+++ b/packages/docusaurus-plugin-content-blog/src/__tests__/__snapshots__/feed.test.ts.snap
@@ -1342,7 +1342,7 @@ exports[`rss > filters to the first two entries 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1359,7 +1359,7 @@ exports[`rss > filters to the first two entries 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1390,7 +1390,7 @@ exports[`rss > filters to the first two entries using limit 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1407,7 +1407,7 @@ exports[`rss > filters to the first two entries using limit 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1501,7 +1501,7 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1518,7 +1518,7 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1531,7 +1531,7 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
Fri, 05 Mar 2021 00:00:00 GMT
HTML Heading 1
@@ -1561,7 +1561,7 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
- https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
+ https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
Sun, 16 Aug 2020 00:00:00 GMT
complex url slug]]>
@@ -1571,21 +1571,22 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/simple/slug
- https://docusaurus.io/myBaseUrl/blog/simple/slug
+ https://docusaurus.io/myBaseUrl/blog/simple/slug
Sat, 15 Aug 2020 00:00:00 GMT
simple url slug]]>
+ Sébastien Lorber
-
https://docusaurus.io/myBaseUrl/blog/heading-as-title
- https://docusaurus.io/myBaseUrl/blog/heading-as-title
+ https://docusaurus.io/myBaseUrl/blog/heading-as-title
Wed, 02 Jan 2019 00:00:00 GMT
-
https://docusaurus.io/myBaseUrl/blog/date-matter
- https://docusaurus.io/myBaseUrl/blog/date-matter
+ https://docusaurus.io/myBaseUrl/blog/date-matter
Tue, 01 Jan 2019 00:00:00 GMT
date inside front matter]]>
@@ -1594,10 +1595,11 @@ exports[`rss > has custom xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
- https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
+ https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
Fri, 14 Dec 2018 00:00:00 GMT
Happy birthday! (translated)]]>
+ Yangshun Tay (translated)
lorber.sebastien@gmail.com (Sébastien Lorber (translated))
inlineTag
Global Tag label (en)
@@ -1624,7 +1626,7 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links/
- https://docusaurus.io/myBaseUrl/blog/blog-with-links/
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links/
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1641,7 +1643,7 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post/
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post/
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post/
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1654,7 +1656,7 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-blog-post/
- https://docusaurus.io/myBaseUrl/blog/mdx-blog-post/
+ https://docusaurus.io/myBaseUrl/blog/mdx-blog-post/
Fri, 05 Mar 2021 00:00:00 GMT
HTML Heading 1
@@ -1684,7 +1686,7 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô/
- https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô/
+ https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô/
Sun, 16 Aug 2020 00:00:00 GMT
complex url slug]]>
@@ -1694,21 +1696,22 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/simple/slug/
- https://docusaurus.io/myBaseUrl/blog/simple/slug/
+ https://docusaurus.io/myBaseUrl/blog/simple/slug/
Sat, 15 Aug 2020 00:00:00 GMT
simple url slug]]>
+ Sébastien Lorber
-
https://docusaurus.io/myBaseUrl/blog/heading-as-title/
- https://docusaurus.io/myBaseUrl/blog/heading-as-title/
+ https://docusaurus.io/myBaseUrl/blog/heading-as-title/
Wed, 02 Jan 2019 00:00:00 GMT
-
https://docusaurus.io/myBaseUrl/blog/date-matter/
- https://docusaurus.io/myBaseUrl/blog/date-matter/
+ https://docusaurus.io/myBaseUrl/blog/date-matter/
Tue, 01 Jan 2019 00:00:00 GMT
date inside front matter]]>
@@ -1717,10 +1720,11 @@ exports[`rss > has feed item for each post - with trailing slash 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash/
- https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash/
+ https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash/
Fri, 14 Dec 2018 00:00:00 GMT
Happy birthday! (translated)]]>
+ Yangshun Tay (translated)
lorber.sebastien@gmail.com (Sébastien Lorber (translated))
inlineTag
Global Tag label (en)
@@ -1746,7 +1750,7 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1763,7 +1767,7 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1776,7 +1780,7 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
Fri, 05 Mar 2021 00:00:00 GMT
HTML Heading 1
@@ -1806,7 +1810,7 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
- https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
+ https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
Sun, 16 Aug 2020 00:00:00 GMT
complex url slug]]>
@@ -1816,21 +1820,22 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/simple/slug
- https://docusaurus.io/myBaseUrl/blog/simple/slug
+ https://docusaurus.io/myBaseUrl/blog/simple/slug
Sat, 15 Aug 2020 00:00:00 GMT
simple url slug]]>
+ Sébastien Lorber
-
https://docusaurus.io/myBaseUrl/blog/heading-as-title
- https://docusaurus.io/myBaseUrl/blog/heading-as-title
+ https://docusaurus.io/myBaseUrl/blog/heading-as-title
Wed, 02 Jan 2019 00:00:00 GMT
-
https://docusaurus.io/myBaseUrl/blog/date-matter
- https://docusaurus.io/myBaseUrl/blog/date-matter
+ https://docusaurus.io/myBaseUrl/blog/date-matter
Tue, 01 Jan 2019 00:00:00 GMT
date inside front matter]]>
@@ -1839,10 +1844,11 @@ exports[`rss > has feed item for each post 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
- https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
+ https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
Fri, 14 Dec 2018 00:00:00 GMT
Happy birthday! (translated)]]>
+ Yangshun Tay (translated)
lorber.sebastien@gmail.com (Sébastien Lorber (translated))
inlineTag
Global Tag label (en)
@@ -1931,7 +1937,7 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/blog-with-links
- https://docusaurus.io/myBaseUrl/blog/blog-with-links
+ https://docusaurus.io/myBaseUrl/blog/blog-with-links
Sun, 23 Jul 2023 00:00:00 GMT
absolute full url
@@ -1948,7 +1954,7 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-require-blog-post
Sat, 06 Mar 2021 00:00:00 GMT
Test MDX with require calls
@@ -1961,7 +1967,7 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
- https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
+ https://docusaurus.io/myBaseUrl/blog/mdx-blog-post
Fri, 05 Mar 2021 00:00:00 GMT
HTML Heading 1
@@ -1991,7 +1997,7 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
- https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
+ https://docusaurus.io/myBaseUrl/blog/hey/my super path/héllô
Sun, 16 Aug 2020 00:00:00 GMT
complex url slug]]>
@@ -2001,21 +2007,22 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/simple/slug
- https://docusaurus.io/myBaseUrl/blog/simple/slug
+ https://docusaurus.io/myBaseUrl/blog/simple/slug
Sat, 15 Aug 2020 00:00:00 GMT
simple url slug]]>
+ Sébastien Lorber
-
https://docusaurus.io/myBaseUrl/blog/heading-as-title
- https://docusaurus.io/myBaseUrl/blog/heading-as-title
+ https://docusaurus.io/myBaseUrl/blog/heading-as-title
Wed, 02 Jan 2019 00:00:00 GMT
-
https://docusaurus.io/myBaseUrl/blog/date-matter
- https://docusaurus.io/myBaseUrl/blog/date-matter
+ https://docusaurus.io/myBaseUrl/blog/date-matter
Tue, 01 Jan 2019 00:00:00 GMT
date inside front matter]]>
@@ -2024,10 +2031,11 @@ exports[`rss > has xslt files for feed 1`] = `
-
https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
- https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
+ https://docusaurus.io/myBaseUrl/blog/2018/12/14/Happy-First-Birthday-Slash
Fri, 14 Dec 2018 00:00:00 GMT
Happy birthday! (translated)]]>
+ Yangshun Tay (translated)
lorber.sebastien@gmail.com (Sébastien Lorber (translated))
inlineTag
Global Tag label (en)
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 3c5e548aaed9..361afbedf1fa 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -943,8 +943,8 @@ importers:
specifier: ^1.1.0
version: 1.2.0
feed:
- specifier: ^4.2.2
- version: 4.2.2
+ specifier: ^5.2.1
+ version: 5.2.1
fs-extra:
specifier: ^11.2.0
version: 11.3.5
@@ -8343,9 +8343,9 @@ packages:
picomatch:
optional: true
- feed@4.2.2:
- resolution: {integrity: sha512-u5/sxGfiMfZNtJ3OvQpXcvotFpYkL0n9u9mM2vkui2nGo8b4wvDkJ8gAkYqbA8QpGyFCv3RK0Z+Iv+9veCS9bQ==}
- engines: {node: '>=0.4.0'}
+ feed@5.2.1:
+ resolution: {integrity: sha512-jTynzYPWs9ALjro0GW8j7sv9y7cJBeOdD4Y88kVqYy/eyusIX3g+499JiTDIlD9Ge/unebx57T4Uzo6vpYvMtA==}
+ engines: {node: '>=20', pnpm: '>=10'}
figures@3.2.0:
resolution: {integrity: sha512-yaduQFRKLXYOGgEn6AZau90j3ggSOyiqXU0F9JZfeXYhNa+Jk4X+s45A2zg5jns87GAFa34BBm2kXw4XpNcbdg==}
@@ -20346,7 +20346,7 @@ snapshots:
optionalDependencies:
picomatch: 4.0.4
- feed@4.2.2:
+ feed@5.2.1:
dependencies:
xml-js: 1.6.11