Skip to content

Upgrade Docusaurus 2.4.3 -> 3.10.2, clearing all website vulnerabilities (#193) - #194

Merged
StefanSteiner merged 1 commit into
mainfrom
upcoming
Sep 22, 2026
Merged

StefanSteiner merged 1 commit into
mainfrom
upcoming

Conversation

@StefanSteiner

Copy link
Copy Markdown
Collaborator

Migrates the docs site to Docusaurus 3, which refreshes the transitive dependency tree and resolves 66 of the 68 Dependabot advisories natively. The remaining two (serialize-javascript, uuid) are pinned via resolutions. Net result: yarn audit reports 0 vulnerabilities.

Changes:

  • Bump @docusaurus/* to ^3.10.2, react/react-dom to ^18, @mdx-js/react to ^3, prism-react-renderer to ^2; swap @tsconfig/docusaurus for @docusaurus/tsconfig; add @types/react ^18; bump typescript to ~5.6.3.
  • Drop the Docusaurus 2 resolutions patchwork (incl. the webpack 5.94.0 pin, which was only needed to dodge 2.4.3's schema-utils v4 build break); keep only serialize-javascript + uuid pins and an @types/react dedupe.
  • prism-react-renderer v2 import (themes.github).
  • MDX v3: convert installation.md Tabs from the mdx-code-block idiom to native JSX; DownloadPicker uses a documented cast since v3 narrows TabItem.label to string while still rendering ReactNode.
  • Migrate onBrokenMarkdownLinks to markdown.hooks; add onBrokenAnchors: 'throw' and fix a pre-existing broken anchor in releases.md.
  • Add a ts-node CommonJS override so the deploy step's download_links.ts still runs under the new esnext module config.

Verified: yarn install --frozen-lockfile, lint:check, typecheck, build, ts-node download_links.ts, and yarn audit (0 vulnerabilities) all pass; Tabs and DownloadPicker icons render correctly in the built HTML.

…ies (#193)

Migrates the docs site to Docusaurus 3, which refreshes the transitive
dependency tree and resolves 66 of the 68 Dependabot advisories natively.
The remaining two (serialize-javascript, uuid) are pinned via resolutions.
Net result: `yarn audit` reports 0 vulnerabilities.

Changes:
- Bump @docusaurus/* to ^3.10.2, react/react-dom to ^18, @mdx-js/react to
  ^3, prism-react-renderer to ^2; swap @tsconfig/docusaurus for
  @docusaurus/tsconfig; add @types/react ^18; bump typescript to ~5.6.3.
- Drop the Docusaurus 2 resolutions patchwork (incl. the webpack 5.94.0
  pin, which was only needed to dodge 2.4.3's schema-utils v4 build break);
  keep only serialize-javascript + uuid pins and an @types/react dedupe.
- prism-react-renderer v2 import (themes.github).
- MDX v3: convert installation.md Tabs from the mdx-code-block idiom to
  native JSX; DownloadPicker uses a documented cast since v3 narrows
  TabItem.label to string while still rendering ReactNode.
- Migrate onBrokenMarkdownLinks to markdown.hooks; add onBrokenAnchors:
  'throw' and fix a pre-existing broken anchor in releases.md.
- Add a ts-node CommonJS override so the deploy step's download_links.ts
  still runs under the new esnext module config.

Verified: yarn install --frozen-lockfile, lint:check, typecheck, build,
ts-node download_links.ts, and yarn audit (0 vulnerabilities) all pass;
Tabs and DownloadPicker icons render correctly in the built HTML.
@StefanSteiner
StefanSteiner merged commit 4eac9e7 into main Sep 22, 2026
6 checks passed

This branch was successfully deployed

1 active deployment
github-pages — ad119c41 Deployed Sep 22, 2026 by StefanSteiner via build #279
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant