Skip to content

chore(deps): upgrade Docusaurus 2.4.3 to 3.10.x (FT-2118) - #284

Open
joalves wants to merge 7 commits into
docs/warehouse-native-mode-diagramsfrom
docs/docusaurus-v3-upgrade
Open

chore(deps): upgrade Docusaurus 2.4.3 to 3.10.x (FT-2118)#284
joalves wants to merge 7 commits into
docs/warehouse-native-mode-diagramsfrom
docs/docusaurus-v3-upgrade

Conversation

@joalves

@joalves joalves commented Aug 8, 2026

Copy link
Copy Markdown
Collaborator

Summary

Upgrades the docs site from Docusaurus 2.4.3 to 3.10.2, fixing everything the bump broke:

  • Bumped core @docusaurus/* packages, @mdx-js/react (v1→v3), prism-react-renderer (v1→v2)
  • Fixed 3 MDX v3 compile errors from stricter JSX/prose parsing
  • Removed a stale cytoscape/webpack resolutions pin that was fighting the newer mermaid's own requirements (this was the root cause of the long-standing yarn start/yarn build cytoscape export error)
  • Bumped docusaurus-plugin-openapi-docs/docusaurus-theme-openapi-docs to the v5 (PaloAltoNetworks-maintained) line, regenerated both API doc sets
  • Bumped engines.node floor to >=20.0 to match the installed Docusaurus 3.10.2's own requirement
  • (discovered mid-upgrade) Fixed a ReferenceError: React is not defined during static site generation — root cause was the repo's custom SWC jsLoader webpack override not matching Docusaurus's own default JSX transform (runtime: 'automatic')
  • (discovered mid-upgrade) Fixed ~48 broken links surfaced by Docusaurus 3's tightened, case-sensitive broken-link checker — a genuine upgrade-induced regression, not pre-existing content debt (Docusaurus 2 matched links case-insensitively). Renamed 3 mixed-case directories + several mixed-case files to lowercase-kebab (matching the rest of the tree's convention), updated inbound links, and added redirects via the repo's existing static/_redirects mechanism so bookmarked/indexed URLs don't 404

This unlocks architecture-beta mermaid diagrams for the Warehouse Native docs in a future PR (not part of this one).

Ticket: FT-2118

Test plan

  • yarn build passes cleanly from a fresh node_modules install (exit 0, [SUCCESS] Generated static files in "build".)
  • yarn start dev server starts clean, no cytoscape/webpack errors
  • Representative pages verified: Product Docs entry point, Developer Tools/API reference entry point, Warehouse Native modes page (mermaid diagrams intact), GCP BigQuery integration page (existing mermaid diagram intact)
  • All redirects for renamed pages verified present in static/_redirects
  • Manual click-through in a running local dev server (in progress)

joalves added 7 commits August 8, 2026 13:13
…r needed post-mermaid-bump

The resolutions block pinned cytoscape@3.23.0 and webpack@5.76.1 to work
around a cytoscape export-path error under the old Docusaurus 2 / mermaid
9.4.3 toolchain. Post-upgrade, @docusaurus/core@3.10.2 requires
webpack@^5.95.0, and @docusaurus/theme-mermaid@3.10.2 pulls in
mermaid@11.16.1, which declares cytoscape@^3.33.3. The old pins were no
longer compatible with either range and were the actual cause of the
"configuration[0].plugins[6] should be one of these" webpack
ValidationError seen in Task 4's build.

Removing the resolutions block entirely lets yarn resolve both packages
naturally: cytoscape resolves to 3.34.0 (satisfies mermaid's ^3.33.3) and
webpack resolves to 5.109.2 (satisfies docusaurus core's ^5.95.0). Verified
with yarn start (no cytoscape errors) and yarn build (no cytoscape or
webpack ValidationError; build proceeds through MDX compilation and stops
only on the 3 pre-existing MDX content issues in docs/Third-party-integrations,
which are out of scope for this change).
…x anchor typos, add redirects for renamed URLs

Docusaurus 3's tightened case-sensitive broken-link checker (facebook/docusaurus#9754) surfaced that Configuration/, Events/, and Users-teams-Permissions/ (plus several files in experiments/ and a missed Teams.mdx) used mixed case while inbound links across the docs tree referenced them in lowercase. Docusaurus 2's case-insensitive matcher tolerated this silently. Renamed to match the rest of the tree's lowercase-kebab convention, updated inbound links (including src/anchorRedirects.ts's runtime anchor-redirect map), and added redirects via the repo's existing static/_redirects (Netlify) mechanism so existing bookmarked/indexed URLs don't 404 — the @docusaurus/plugin-client-redirects approach was tried first but rejected: it writes static HTML files per redirect and collides on case-insensitive filesystems for these exact mixed-case-to-lowercase renames. Also fixed pre-existing anchor bugs caught by the same tightened check: typoed self-referencing anchors in glossary.mdx (confidence-interval, false-discovery-rate-fdr, experimentation-power, type-i-error, significance-level-alpha), a stale #event-filters anchor in downloading-events.mdx, and an unregistered custom <summary> anchor in getting-started.mdx.
@coderabbitai

coderabbitai Bot commented Aug 8, 2026

Copy link
Copy Markdown

Important

Review skipped

Auto reviews are disabled on base/target branches other than the default branch.

🗂️ Base branches to auto review (3)
  • master
  • ^release/\d{2}-\d{2}$
  • feature/team-ownership-model

Please check the settings in the CodeRabbit UI or the .coderabbit.yaml file in this repository. To trigger a single review, invoke the @coderabbitai review command.

⚙️ Run configuration

Configuration used: Organization UI

Review profile: CHILL

Plan: Pro

Run ID: 88482522-0e4d-420c-a190-af6f13b88cdb

You can disable this status message by setting the reviews.review_status to false in the CodeRabbit configuration file.

Use the checkbox below for a quick retry:

  • 🔍 Trigger review

Comment @coderabbitai help to get the list of available commands.

@netlify

netlify Bot commented Aug 8, 2026

Copy link
Copy Markdown

Deploy Preview for absmartly-docs ready!

Name Link
🔨 Latest commit b988a8d
🔍 Latest deploy log https://app.netlify.com/projects/absmartly-docs/deploys/6a774f3e1fa6e60008797b8b
😎 Deploy Preview https://deploy-preview-284--absmartly-docs.netlify.app
📱 Preview on mobile
Toggle QR Code...

QR Code

Use your smartphone camera to open QR code link.

To edit notification comments on pull requests, go to your Netlify project configuration.

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