Skip to content

chore(deps): bump openapi-docs to v5 (plugin + theme) and Docusaurus to 3.10.1#1119

Open
dkrizan wants to merge 2 commits into
mainfrom
dkrizan/fix-openapi-docs-v5-bump
Open

chore(deps): bump openapi-docs to v5 (plugin + theme) and Docusaurus to 3.10.1#1119
dkrizan wants to merge 2 commits into
mainfrom
dkrizan/fix-openapi-docs-v5-bump

Conversation

@dkrizan

@dkrizan dkrizan commented Jun 19, 2026

Copy link
Copy Markdown
Member

Why

Dependabot #1103 bumped only docusaurus-plugin-openapi-docs to v5, leaving its paired docusaurus-theme-openapi-docs on v4. These two packages must share a major version — the mismatch crashed every API reference page at runtime:

p.getQualifierMessage is not a function

(e.g. /api/revoke-permission). The build and Netlify deploy-preview went green because the failure is client-side, not at build time — so #1103 looked safe but shipped broken docs.

What

  • Bump both docusaurus-plugin-openapi-docs and docusaurus-theme-openapi-docs to ^5.0.2.
  • Bump @docusaurus/* to ^3.10.1. The v5 theme's peer range is ^3.10.0, and its Tabs component uses useTabsContextValue, which was added in Docusaurus 3.10 (3.9.2 → useTabsContextValue is not a function).
  • Remove useKeyboardNavigation from the swizzled src/theme/Layout. Docusaurus 3.10 removed that hook (replaced by native :focus-visible); keeping it threw useKeyboardNavigation is not a function.
  • Regenerate the api/ docs with the v5 plugin. v5 externalises params/schemas into sidecar JSON files and uses <Translate> components, hence the large generated diff.

Verification

  • npm run build succeeds (all API pages render in SSG).
  • npm run eslint and npm run prettier-check pass.
  • Served the production build and loaded /api/revoke-permission in a browser — page renders fully (Path Parameters, required/int64 qualifiers, Responses, try-it controls) with no getQualifierMessage error.

Supersedes #1103 — that PR should be closed in favour of this one.

…to 3.10.1

Dependabot #1103 bumped only docusaurus-plugin-openapi-docs to v5, leaving
docusaurus-theme-openapi-docs on v4. The mismatched pair crashed every API
reference page at runtime with "getQualifierMessage is not a function".

- Bump docusaurus-plugin-openapi-docs and docusaurus-theme-openapi-docs to ^5.0.2
  (they must share a major version)
- Bump @docusaurus/* to ^3.10.1, required by the v5 theme's peer range (^3.10.0);
  the v5 Tabs component uses useTabsContextValue, added in 3.10
- Drop useKeyboardNavigation from the swizzled Layout; Docusaurus 3.10 removed the
  hook in favour of native :focus-visible
- Regenerate the api/ docs with the v5 plugin (params now externalised to sidecar
  JSON, Translate components)

Supersedes #1103. Build and all API pages verified locally.
@netlify

netlify Bot commented Jun 19, 2026

Copy link
Copy Markdown

Deploy Preview for tolgee-docs ready!

Name Link
🔨 Latest commit 126ff83
🔍 Latest deploy log https://app.netlify.com/projects/tolgee-docs/deploys/6a34fc221ffae400084ec7f3
😎 Deploy Preview https://deploy-preview-1119--tolgee-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.

The v5 build peaks at ~5 GB heap and aborts on Netlify with exit code 134.
Set NODE_OPTIONS=--max-old-space-size=6144 so the deploy-preview/production
builds have enough headroom.
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