diff --git a/.ai/plans/portal-subpath-hosting.md b/.ai/plans/portal-subpath-hosting.md
index ffb672f74..294677468 100644
--- a/.ai/plans/portal-subpath-hosting.md
+++ b/.ai/plans/portal-subpath-hosting.md
@@ -507,9 +507,10 @@ follow-up.
### 5.10 Images Fumadocs leaves out (added 2026-10-06)
-- **Images in the specification's descriptions.** Fumadocs renders descriptions with `img`
- mapped to `undefined`, so one image fails the whole operation page, at the root too, with
- React error #130. A root-relative image there would also miss the base.
+- **Images in the specification's descriptions.** Up to fumadocs-openapi 12.4.0, Fumadocs
+ rendered descriptions with `img` mapped to `undefined`, so one image failed the whole operation
+ page, at the root too, with React error #130. 12.4.0 maps it to a plain `img`, which no longer
+ crashes, but a root-relative image there still misses the base.
- `api-page.tsx` passes `components.Markdown` = `ApiMarkdown` (`components/api-markdown.tsx`).
It is built on Fumadocs' own `createMarkdownRenderer` with `remarkGfm`, and its `img` gives a
root-relative `src` the base through `withBasePath`. Code blocks go through `DynamicCodeBlock`,
@@ -518,8 +519,8 @@ follow-up.
`rehype-code-titles.ts` it put the highlighter on every page, through the route's chunk.
The default e2e build checks that no page preloads `shiki-bundle`.
- The e2e fixture's operation has an image and a code block in its description.
- - Filed as fuma-nama/fumadocs#3661 (section 10). `ApiMarkdown` can go once Fumadocs renders
- images and gives them the base.
+ - Filed as fuma-nama/fumadocs#3661, whose fix in 12.4.0 covers the crash alone (section 10).
+ `ApiMarkdown` can go once Fumadocs gives the image the base.
- **Reference-style images (`![alt][ref]`).** Fumadocs' `remarkImage` sizes and imports inline
images only, so a reference kept a root-relative `src` that misses the base.
- `remarkImageReferences` (`lib/remark-image-references.ts`) writes each one as an inline image
@@ -836,8 +837,9 @@ with the MDX components, but not in its copy.
| fuma-nama/fumadocs#3620, from PR #3572 (ui 16.15.13) | Fixed 2026-09-29 in fumadocs-ui 16.15.17 (commit `6791d6f`): the popover prefixes `markdownUrl` with `withBasePath` again, in both `radix-ui` and `base-ui` | Since 2026-10-08 we pass the page's path and rely on that `withBasePath`; `page-actions.test.ts` fails if an upgrade drops it again (5.2) |
| TanStack/router#4888, docs PR #7882 | Docs only | None |
| TanStack/router#8448, PR #8450 | Both open (checked 2026-10-07); the PR has no review yet. The issue reports a second loader run; we saw the address rewritten too | When it ships, `searchOptions` can go (5.11) |
-| fuma-nama/fumadocs#3661 | Filed 2026-10-07: an image in an operation's description crashes the page | When it ships with the base, `ApiMarkdown` can go (5.10) |
+| fuma-nama/fumadocs#3661 | Fixed 2026-10-09 in fumadocs-openapi 12.4.0, installed since 2026-10-19 (12.4.1): `img` maps to `'img'`, so the page no longer crashes. The image gets no base | `ApiMarkdown` stays for the base alone (5.10) |
| fuma-nama/fumadocs#3662 | Filed 2026-10-07: processed Markdown prints images as `__img0` | When it ships, ticket 5 is fixed by the upgrade (section 9) |
+| fuma-nama/fumadocs#3663 | Fixed 2026-10-09 in fumadocs-openapi 12.4.0, installed since 2026-10-19 (12.4.1): the OAuth panel shows the `redirect_uri` of the authorization code and implicit flows, with a copy button | It shows `oauthRedirectUrl`, which carries the base (5.2), against the page's origin: the one callback a portal owner registers |
**The fixes:**
- **Fumadocs:** filed by the user as fuma-nama/fumadocs#3620, from a draft made here, and fixed
diff --git a/.github/workflows/portal_tests.yml b/.github/workflows/portal_tests.yml
index 59f23579b..dfc811aa5 100644
--- a/.github/workflows/portal_tests.yml
+++ b/.github/workflows/portal_tests.yml
@@ -82,6 +82,7 @@ jobs:
uses: actions/checkout@11d5960a326750d5838078e36cf38b85af677262 # v4.4.0
with:
repository: apimatic/v4-test-automation
+ ref: chore/update-for-fum12.5
path: tests
- name: install test dependencies
diff --git a/package.json b/package.json
index 28f84f20c..5f8c291a4 100644
--- a/package.json
+++ b/package.json
@@ -79,11 +79,11 @@
"fs-extra": "^11.3.0",
"fumadocs-core": "16.15.17",
"fumadocs-mdx": "15.4.0",
- "fumadocs-openapi": "12.1.1",
+ "fumadocs-openapi": "12.4.1",
"fumadocs-ui": "16.15.17",
"get-port": "^7.1.0",
"is-in-ci": "^2.0.0",
- "lucide-react": "1.47.0",
+ "lucide-react": "1.54.0",
"mustache": "^4.2.0",
"neverthrow": "^8.2.0",
"open": "^8.4.0",
@@ -95,7 +95,7 @@
"remark": "15.0.1",
"remark-mdx": "3.1.1",
"semver": "^7.8.0",
- "shiki": "4.4.3",
+ "shiki": "4.5.0",
"striptags": "^3.2.0",
"tailwindcss": "4.3.3",
"tmp-promise": "^3.0.3",
diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml
index 32c1a4f43..206c26af4 100644
--- a/pnpm-lock.yaml
+++ b/pnpm-lock.yaml
@@ -39,7 +39,7 @@ importers:
version: 5.3.0
'@fumadocs/api-docs':
specifier: 0.2.8
- version: 0.2.8(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
+ version: 0.2.8(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@oclif/core':
specifier: 4.11.0
version: 4.11.0
@@ -93,16 +93,16 @@ importers:
version: 11.3.5
fumadocs-core:
specifier: 16.15.17
- version: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
+ version: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
fumadocs-mdx:
specifier: 15.4.0
- version: 15.4.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react@19.2.8)(rolldown@1.2.8)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.21.0)(yaml@2.9.1))
+ version: 15.4.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react@19.2.8)(rolldown@1.2.8)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.21.0)(yaml@2.9.1))
fumadocs-openapi:
- specifier: 12.1.1
- version: 12.1.1(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
+ specifier: 12.4.1
+ version: 12.4.1(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
fumadocs-ui:
specifier: 16.15.17
- version: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
+ version: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
get-port:
specifier: ^7.1.0
version: 7.2.0
@@ -110,8 +110,8 @@ importers:
specifier: ^2.0.0
version: 2.0.0
lucide-react:
- specifier: 1.47.0
- version: 1.47.0(react@19.2.8)
+ specifier: 1.54.0
+ version: 1.54.0(@types/react@19.3.0)(react@19.2.8)
mustache:
specifier: ^4.2.0
version: 4.2.0
@@ -146,8 +146,8 @@ importers:
specifier: ^7.7.0
version: 7.8.0
shiki:
- specifier: 4.4.3
- version: 4.4.3
+ specifier: 4.5.0
+ version: 4.5.0
striptags:
specifier: ^3.2.0
version: 3.2.0
@@ -1119,8 +1119,8 @@ packages:
json-schema-typed:
optional: true
- '@fumadocs/json-schema@0.2.0':
- resolution: {integrity: sha512-I3sB2wwJr1Up5JSmaAThmQ2CSP4j2pM01igpbsuKDG3kHYuoHDXiKGEoFWmYK3a81VjQ98AOYx60SEs6xEXr7A==}
+ '@fumadocs/json-schema@0.3.0':
+ resolution: {integrity: sha512-EWQKJs5WPotQg4mLb8TcYX8IKyVsCeODlmLlBdOvPTCsXvkYXFtDdnfDMIFuyCa95rp1fPoGpK9Vicjh0xHZ1A==}
peerDependencies:
json-schema-typed: '*'
react: ^19.2.0
@@ -1969,24 +1969,24 @@ packages:
resolution: {integrity: sha512-4zPzuNTXObDUtZS93xzAoK83ddHDgBGifv/vKFe6bHqEl5i+IMLTTtEHOaaOZK4dusPEXcXsU5TBSaY/I6Mi+A==}
engines: {node: '>=22'}
- '@scalar/helpers@0.12.0':
- resolution: {integrity: sha512-rcX0rFLiWWc0VBr/E+HkatubL0I0ZzxASQkd3032NWEMAEfNd2TiJ9kH46HwbSAOOl696ghxymWegjpjjvxwzA==}
+ '@scalar/helpers@0.16.2':
+ resolution: {integrity: sha512-jHSF4KZI/EcVI7WhhgNyw9vvuVCXmwP4rkMXwcaZJjMg1tFPHSOWqIcq123CsUwCMR34SEBAGSJR+Eskrz+7Qg==}
engines: {node: '>=22'}
'@scalar/json-magic@0.13.4':
resolution: {integrity: sha512-pOZdlzkgLB+/4OlIlzMToV/cr4vsvWy/MtbtJoRcNHIzDnT8sfNtv/cH8MR2pNDg/29sPpTV1HaE4SZ8b9jUOQ==}
engines: {node: '>=22'}
- '@scalar/json-magic@0.13.5':
- resolution: {integrity: sha512-w5eENfKAkc4CYiLva3nGUhTaJfyi3szmZ3E7+EHlzahOUnbDmB9rAWyzt8GFCXbwxeTuR+1m7lO1PyV/QAid4A==}
+ '@scalar/json-magic@0.15.6':
+ resolution: {integrity: sha512-rMCnkOtEnSolwHMFiOC4e97GBFfKOt3/4ba2Z4juVLTL0vCHs+Ei04Ofj5NBZUxOzjz1Ok2NqOt6ad0gIjpe7g==}
engines: {node: '>=22'}
- '@scalar/openapi-types@0.9.6':
- resolution: {integrity: sha512-hge0dhllV70dwqgUiucmDY5yZLq91BOV/78lWSqQMTY67x+LHcQplJUZDomfFi5oepROpWDs5iaKMr7ubqDBOA==}
+ '@scalar/openapi-types@0.9.7':
+ resolution: {integrity: sha512-UVSgxRxcTaIbTZGtNRdQJHZC60uyYi29zfDqQVp0lxx07BNczIHbf9jycgI/+W3Uxxod+yUUt7hzxnKllOHE0w==}
engines: {node: '>=22'}
- '@scalar/openapi-upgrader@0.2.17':
- resolution: {integrity: sha512-HoSgjb57UNH2OACVmbo4yLPnvP3BPnvtSMJVqRhjOspJhz945XEZYnfwgk2C3hET0bFvkc7aLSabm/K1nbjp8Q==}
+ '@scalar/openapi-upgrader@0.4.3':
+ resolution: {integrity: sha512-EaFh3mtJweVhlXGEae+lpGdX0daHAce/hgRg0Vg+HtQkZ45oujHY7+lqLNRFKDw90gJZyzfOukOjTZTcYp5t0w==}
engines: {node: '>=22'}
'@sec-ant/readable-stream@0.4.1':
@@ -2020,32 +2020,32 @@ packages:
peerDependencies:
semantic-release: '>=20.1.0'
- '@shikijs/core@4.4.3':
- resolution: {integrity: sha512-QCR4q2ZO/ILJEuwiBMel4wdcTDb1JGwfjKTxPDF6x8ixOaluPrVqIn06C99AcRPhmYlBR56d/Fb+GN58GzExpg==}
+ '@shikijs/core@4.5.0':
+ resolution: {integrity: sha512-6CIgwq+bt2JZ3OSjb/nBkkwEf/CfpHcbam+Mg5Pllco7HAGRQ2/EFhZrrJtbyNTgKwknfVS+llsXGygiDGwJWw==}
engines: {node: '>=20'}
- '@shikijs/engine-javascript@4.4.3':
- resolution: {integrity: sha512-FbOjFJp9VLdo1Wevs10BBtVxiTWwNLqZh5Gkhjgda/ioL15YOgeSl9n+6XMa3qRlPQzfhFNe641SrynFHYG0nQ==}
+ '@shikijs/engine-javascript@4.5.0':
+ resolution: {integrity: sha512-Ed6UdEj84LyYkwnxM5CvSMWAD+id9ExTYri0/+x41U9zrgNifPSS9lZm0JqBP0VfYI8yr8tY5nbNq9+p9R0kFA==}
engines: {node: '>=20'}
- '@shikijs/engine-oniguruma@4.4.3':
- resolution: {integrity: sha512-EcOQkxdxGQrc1Row/cC2c96/v1dbZqGnEVu1qTuT/MJmp6+cXCvQussowVmCv5Tqr3KuY3c7IbM6HTW3LJ1k9w==}
+ '@shikijs/engine-oniguruma@4.5.0':
+ resolution: {integrity: sha512-dKVmbJecVdB9recl8a/CU4jdpNXyjJQrIcesIkpS70s5HS02ohpnCSpMUbotPnEUzbAcLQ+S4hwZYbkBBiTcJw==}
engines: {node: '>=20'}
- '@shikijs/langs@4.4.3':
- resolution: {integrity: sha512-ePic0yfAJGOF83D5wBHK/00EjK65oahBYxFk5epgq33WRv7X9UuxLEV8PtR0szC0z8dl7INIpIodB99JRFlR+A==}
+ '@shikijs/langs@4.5.0':
+ resolution: {integrity: sha512-wwBTqwduXSz0X4v9Qa2EWeFaYJEw1clCncWjoRNQRbVDu3SPRTRWucnouYapKj3b8Q+sk/41Vbc4B5c8nuYzLA==}
engines: {node: '>=20'}
- '@shikijs/primitive@4.4.3':
- resolution: {integrity: sha512-m0wBeLDQDeIxRdUmrCPdQqfuUamDwRL5isCfYbguKD6NiaKpVbsv+3J81DyIKgNW5h4WAIIr8T4EkgQrBBxvaQ==}
+ '@shikijs/primitive@4.5.0':
+ resolution: {integrity: sha512-UM7ShlA8oz0OWxLLO8BmO9Ip6fVqdkt8yF0EH7nOCqHfrx1eEAzF0ZUVK7L+I8NEgeu1PEWSRlxaiPPeCb4iDg==}
engines: {node: '>=20'}
- '@shikijs/themes@4.4.3':
- resolution: {integrity: sha512-w8UHjeUnIR965KMWJHUPXOc2mNJUnK3vpVLYLvw5IYU2mnTTJ89E24OrJDBNiJDQ0qzb0tc4l7mrIXx5cFeIyw==}
+ '@shikijs/themes@4.5.0':
+ resolution: {integrity: sha512-zGb87H3UBbpuI4yoh5UguB1XbU+2BDU3kflM7UfZ+Cy2hWo9lBtqjSVK20gmLY6ukYl040hAypGXMgud9vul8Q==}
engines: {node: '>=20'}
- '@shikijs/types@4.4.3':
- resolution: {integrity: sha512-UEJxmRR++MAGR6hugn0vgVS2W/6lWAts84FFSrnlH9sP0LNol7E5+NQ792pH8liWUhyMyjhTgSUH3k7iD7tc5g==}
+ '@shikijs/types@4.5.0':
+ resolution: {integrity: sha512-drtPrtD8N0DENyD2cyt6Ajy+IWsiCLgMxODwLTpvH1UsN6a9jf90tNTPjqwHvA+0Lzu9e0txk8DjfqH1p9UJRw==}
engines: {node: '>=20'}
'@shikijs/vscode-textmate@10.0.2':
@@ -2916,6 +2916,7 @@ packages:
resolution: {integrity: sha512-dSb5o6D9JugPmKRsjVLDLpgHRdSd1oCvNhY6AP6+OCzMwn0kbiNxhf2DwXYtt4xIBjliYQnw+ZsvIy1d0lHtSg==}
cpu: [x64]
os: [win32]
+ deprecated: yuku-analyzer runs on yuku-core since 0.14
'@yuku-toolchain/types@0.9.5':
resolution: {integrity: sha512-KiuLNNgX9uNealaWAR+G3/cMXnRk9x4TY2EkYe/KIag+UPdwiA0RRf1hr1WAxzTP8KGzCTkqUdLPvqh32sEO3w==}
@@ -3293,6 +3294,11 @@ packages:
engines: {node: '>=20'}
hasBin: true
+ cn@0.4.0:
+ resolution: {integrity: sha512-qOAeUhPwPzBxx6jaeQdo646XIKliKHc2j1ZF7Ngb1o0pJZKH5gq8FkA0aVdUdPFUDXNXyUCXpCtoJISo6dhizg==}
+ engines: {node: '>=20'}
+ hasBin: true
+
collapse-white-space@2.1.0:
resolution: {integrity: sha512-loKTxY1zCOuG4j9f6EPnuyyYkf58RnhhWTvRoZEokgB+WbdXehfjFviyOVYkqzEWz1Q5kRiZdBYS5SwxbQYwzw==}
@@ -4049,8 +4055,8 @@ packages:
vite:
optional: true
- fumadocs-openapi@12.1.1:
- resolution: {integrity: sha512-7NirdbnoE2cxxTdzUSfAFJEdSqjQq74IamNsaRXBrMHtHZ/2l2sMnD3TTE0eB5YK9dQBc3PB/aHcx4fQTAv59w==}
+ fumadocs-openapi@12.4.1:
+ resolution: {integrity: sha512-fFDvQkWem2kp4Tr0w2ynOPZ2A75jBKmPD+34mox7HAFKzOzEMZ99i1goHrOOxKJuDKvv/WptF1Np/C+vtOohqg==}
peerDependencies:
'@scalar/api-client-react': ^2.0.20
'@types/react': '*'
@@ -4983,10 +4989,14 @@ packages:
lru-cache@5.1.1:
resolution: {integrity: sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==}
- lucide-react@1.47.0:
- resolution: {integrity: sha512-o8C23aXpNQypRY73W7fW02EyvWJinEMXgKeGjFoKym0zj3Q73hD97A1IQps1g8C14HTGsOpZL0Am+xjfgFZAbg==}
+ lucide-react@1.54.0:
+ resolution: {integrity: sha512-kVmnVCBoLztTGe3S76xu8utwxijRLOinknNq9e8btZ0R2fm6WCgxY+weaLiA50odo/yi+apm/4B2A/LsFZhTrw==}
peerDependencies:
+ '@types/react': '*'
react: ^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0
+ peerDependenciesMeta:
+ '@types/react':
+ optional: true
magic-string@0.30.21:
resolution: {integrity: sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==}
@@ -5182,9 +5192,6 @@ packages:
micromark-util-symbol@2.0.1:
resolution: {integrity: sha512-vs5t8Apaud9N28kgCrRUdEed4UJ+wWNvicHLPxCa9ENlYuAY31M0ETy5y1vA33YoNPDFTghEbnh6efaE8h4x0Q==}
- micromark-util-types@2.0.2:
- resolution: {integrity: sha512-Yw0ECSpJoViF1qTU4DC6NwtC4aWGt1EkzaQB8KPPyCRR8z9TWeV0HbEFGTO+ZY1wB22zmxnJqhPyTpOVCpeHTA==}
-
micromark-util-types@2.0.3:
resolution: {integrity: sha512-oxB2Ik03hI0gv+VNn9tnh1t1YEe9MDPptViAEgfdf3YQHsn0pzGTgCdlSCJXcwhqm8phaEuM7zeEu3QQzVBrPg==}
@@ -6030,8 +6037,8 @@ packages:
resolution: {integrity: sha512-7++dFhtcx3353uBaq8DDR4NuxBetBzC7ZQOhmTQInHEd6bSrXdiEyzCvG07Z44UYdLShWUyXt5M/yhz8ekcb1A==}
engines: {node: '>=8'}
- shiki@4.4.3:
- resolution: {integrity: sha512-Mb/GvXPHBAXdgGIcnfU5L3ldpn1XcxrGkPHwqgRx17/I2XRfqlFKk2vGkHWINn1kdXvzJZeuO3is6I9KLPFm0g==}
+ shiki@4.5.0:
+ resolution: {integrity: sha512-OcRW72ngQvc+MSVWBRIovC/BTW589iUE/Vxav7VeM4RcY9MUjqB+IR6ILG1k9nuW6LiG/nct9uma4/MBtnZbmQ==}
engines: {node: '>=20'}
side-channel-list@1.0.1:
@@ -6443,10 +6450,6 @@ packages:
resolution: {integrity: sha512-4yqz8a3n5HmGTlsbADNtr/dJlhkh/55Rq798G6ibiULcXbDtaLpTl1pvdqcbFfeoj3iSi52lePFM7h9H21cw/A==}
engines: {node: '>=18.17'}
- undici@7.27.0:
- resolution: {integrity: sha512-+t2Z/GwkZQDtu00813aP66ygViGtPHKhhoFZpQKpKrE+9jIgES+Zw+mFNaDWOVRKiuJjuqKHzD3B1sfGg8+ZOQ==}
- engines: {node: '>=20.18.1'}
-
undici@7.29.1:
resolution: {integrity: sha512-RYONW2MeafgYlkVOKYKkA/Ag7BmXqgIWCa8t1m0JcxrQg9pI9lEqRhAOruOBCbAohOa/gkCF+iPi9hrgvTzu6Q==}
engines: {node: '>=20.18.1'}
@@ -7914,7 +7917,7 @@ snapshots:
optionalDependencies:
'@types/react': 19.3.0
- '@fumadocs/api-docs@0.2.8(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
+ '@fumadocs/api-docs@0.2.8(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
dependencies:
'@base-ui/react': 1.8.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
@@ -7922,10 +7925,10 @@ snapshots:
'@scalar/json-magic': 0.13.4
class-variance-authority: 0.7.1
cn: 0.2.6
- fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
- fumadocs-ui: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
+ fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
+ fumadocs-ui: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
github-slugger: 2.0.0
- lucide-react: 1.47.0(react@19.2.8)
+ lucide-react: 1.54.0(@types/react@19.3.0)(react@19.2.8)
react: 19.2.8
react-dom: 19.2.8(react@19.2.8)
optionalDependencies:
@@ -7934,10 +7937,10 @@ snapshots:
- '@date-fns/tz'
- date-fns
- '@fumadocs/json-schema@0.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
+ '@fumadocs/json-schema@0.3.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)':
dependencies:
'@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
- '@scalar/json-magic': 0.13.5
+ '@scalar/json-magic': 0.15.6
optionalDependencies:
react: 19.2.8
transitivePeerDependencies:
@@ -8793,7 +8796,7 @@ snapshots:
'@scalar/helpers@0.11.3': {}
- '@scalar/helpers@0.12.0': {}
+ '@scalar/helpers@0.16.2': {}
'@scalar/json-magic@0.13.4':
dependencies:
@@ -8801,19 +8804,19 @@ snapshots:
pathe: 2.0.3
yaml: 2.9.1
- '@scalar/json-magic@0.13.5':
+ '@scalar/json-magic@0.15.6':
dependencies:
- '@scalar/helpers': 0.12.0
+ '@scalar/helpers': 0.16.2
pathe: 2.0.3
undici: 7.29.1
yaml: 2.9.1
- '@scalar/openapi-types@0.9.6': {}
+ '@scalar/openapi-types@0.9.7': {}
- '@scalar/openapi-upgrader@0.2.17':
+ '@scalar/openapi-upgrader@0.4.3':
dependencies:
- '@scalar/helpers': 0.12.0
- '@scalar/openapi-types': 0.9.6
+ '@scalar/helpers': 0.16.2
+ '@scalar/openapi-types': 0.9.7
'@sec-ant/readable-stream@0.4.1': {}
@@ -8851,7 +8854,7 @@ snapshots:
p-filter: 4.1.0
semantic-release: 25.0.3(@typescript/typescript6@6.0.2)
tinyglobby: 0.2.17
- undici: 7.27.0
+ undici: 7.29.1
url-join: 5.0.0
transitivePeerDependencies:
- supports-color
@@ -8889,40 +8892,40 @@ snapshots:
transitivePeerDependencies:
- supports-color
- '@shikijs/core@4.4.3':
+ '@shikijs/core@4.5.0':
dependencies:
- '@shikijs/primitive': 4.4.3
- '@shikijs/types': 4.4.3
+ '@shikijs/primitive': 4.5.0
+ '@shikijs/types': 4.5.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.5
hast-util-to-html: 9.0.5
- '@shikijs/engine-javascript@4.4.3':
+ '@shikijs/engine-javascript@4.5.0':
dependencies:
- '@shikijs/types': 4.4.3
+ '@shikijs/types': 4.5.0
'@shikijs/vscode-textmate': 10.0.2
oniguruma-to-es: 4.3.6
- '@shikijs/engine-oniguruma@4.4.3':
+ '@shikijs/engine-oniguruma@4.5.0':
dependencies:
- '@shikijs/types': 4.4.3
+ '@shikijs/types': 4.5.0
'@shikijs/vscode-textmate': 10.0.2
- '@shikijs/langs@4.4.3':
+ '@shikijs/langs@4.5.0':
dependencies:
- '@shikijs/types': 4.4.3
+ '@shikijs/types': 4.5.0
- '@shikijs/primitive@4.4.3':
+ '@shikijs/primitive@4.5.0':
dependencies:
- '@shikijs/types': 4.4.3
+ '@shikijs/types': 4.5.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.5
- '@shikijs/themes@4.4.3':
+ '@shikijs/themes@4.5.0':
dependencies:
- '@shikijs/types': 4.4.3
+ '@shikijs/types': 4.5.0
- '@shikijs/types@4.4.3':
+ '@shikijs/types@4.5.0':
dependencies:
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.5
@@ -10279,6 +10282,8 @@ snapshots:
cn@0.3.3: {}
+ cn@0.4.0: {}
+
collapse-white-space@2.1.0: {}
color-convert@1.9.3:
@@ -11066,7 +11071,7 @@ snapshots:
fsevents@2.3.3:
optional: true
- fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4):
+ fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4):
dependencies:
'@fumari/image-size': 0.1.1
estree-util-value-to-estree: 3.5.0
@@ -11080,7 +11085,7 @@ snapshots:
remark-gfm: 4.0.1
remark-rehype: 11.1.2
scroll-into-view-if-needed: 3.1.0
- shiki: 4.4.3
+ shiki: 4.5.0
tinyglobby: 0.2.17
unified: 11.0.5
unist-util-visit: 5.1.0
@@ -11094,21 +11099,21 @@ snapshots:
'@types/hast': 3.0.5
'@types/mdast': 4.0.4
'@types/react': 19.3.0
- lucide-react: 1.47.0(react@19.2.8)
+ lucide-react: 1.54.0(@types/react@19.3.0)(react@19.2.8)
react: 19.2.8
react-dom: 19.2.8(react@19.2.8)
zod: 4.5.4
transitivePeerDependencies:
- supports-color
- fumadocs-mdx@15.4.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react@19.2.8)(rolldown@1.2.8)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.21.0)(yaml@2.9.1)):
+ fumadocs-mdx@15.4.0(@types/mdast@4.0.4)(@types/mdx@2.0.14)(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react@19.2.8)(rolldown@1.2.8)(vite@8.2.2(@types/node@24.13.4)(esbuild@0.28.2)(jiti@2.7.0)(tsx@4.21.0)(yaml@2.9.1)):
dependencies:
'@mdx-js/mdx': 3.1.1
'@standard-schema/spec': 1.1.0
chokidar: 5.0.0
esbuild: 0.28.2
estree-util-value-to-estree: 3.5.0
- fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
+ fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
github-slugger: 2.0.0
magic-string: 1.2.3
mdast-util-mdx: 3.0.0
@@ -11133,28 +11138,28 @@ snapshots:
transitivePeerDependencies:
- supports-color
- fumadocs-openapi@12.1.1(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
+ fumadocs-openapi@12.4.1(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3))(react-dom@19.2.8(react@19.2.8))(react@19.2.8):
dependencies:
'@base-ui/react': 1.8.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
- '@fumadocs/json-schema': 0.2.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
+ '@fumadocs/json-schema': 0.3.0(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@fumari/json-schema-ts': 1.0.2
'@fumari/stf': 1.1.1(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
- '@scalar/json-magic': 0.13.5
- '@scalar/openapi-upgrader': 0.2.17
+ '@scalar/json-magic': 0.15.6
+ '@scalar/openapi-upgrader': 0.4.3
chokidar: 5.0.0
class-variance-authority: 0.7.1
- cn: 0.3.3
- fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
- fumadocs-ui: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
+ cn: 0.4.0
+ fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
+ fumadocs-ui: 16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3)
github-slugger: 2.0.0
hast-util-to-jsx-runtime: 2.3.6
- lucide-react: 1.47.0(react@19.2.8)
+ lucide-react: 1.54.0(@types/react@19.3.0)(react@19.2.8)
react: 19.2.8
react-dom: 19.2.8(react@19.2.8)
remark: 15.0.1
remark-rehype: 11.1.2
- shiki: 4.4.3
+ shiki: 4.5.0
yaml: 2.9.1
optionalDependencies:
'@types/react': 19.3.0
@@ -11163,7 +11168,7 @@ snapshots:
- date-fns
- supports-color
- fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3):
+ fumadocs-ui@16.15.17(@types/mdx@2.0.14)(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(fumadocs-core@16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(tailwindcss@4.3.3):
dependencies:
'@fuma-translate/react': 1.0.2(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
'@fumadocs/tailwind': 0.1.2(tailwindcss@4.3.3)
@@ -11179,8 +11184,8 @@ snapshots:
'@radix-ui/react-tabs': 1.1.21(@types/react-dom@19.3.0(@types/react@19.3.0))(@types/react@19.3.0)(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
class-variance-authority: 0.7.1
cn: 0.3.3
- fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.47.0(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
- lucide-react: 1.47.0(react@19.2.8)
+ fumadocs-core: 16.15.17(@mdx-js/mdx@3.1.1)(@tanstack/react-router@1.170.33(react-dom@19.2.8(react@19.2.8))(react@19.2.8))(@types/estree-jsx@1.0.5)(@types/hast@3.0.5)(@types/mdast@4.0.4)(@types/react@19.3.0)(lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8))(react-dom@19.2.8(react@19.2.8))(react@19.2.8)(zod@4.5.4)
+ lucide-react: 1.54.0(@types/react@19.3.0)(react@19.2.8)
motion: 13.4.4(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
next-themes: 0.4.6(react-dom@19.2.8(react@19.2.8))(react@19.2.8)
react: 19.2.8
@@ -11188,7 +11193,7 @@ snapshots:
react-remove-scroll: 2.7.2(@types/react@19.3.0)(react@19.2.8)
rehype-raw: 7.0.0
scroll-into-view-if-needed: 3.1.0
- shiki: 4.4.3
+ shiki: 4.5.0
unist-util-visit: 5.1.0
optionalDependencies:
'@types/mdx': 2.0.14
@@ -12096,9 +12101,11 @@ snapshots:
dependencies:
yallist: 3.1.1
- lucide-react@1.47.0(react@19.2.8):
+ lucide-react@1.54.0(@types/react@19.3.0)(react@19.2.8):
dependencies:
react: 19.2.8
+ optionalDependencies:
+ '@types/react': 19.3.0
magic-string@0.30.21:
dependencies:
@@ -12334,7 +12341,7 @@ snapshots:
micromark-util-character: 2.1.1
micromark-util-sanitize-uri: 2.0.1
micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm-footnote@2.1.0:
dependencies:
@@ -12345,7 +12352,7 @@ snapshots:
micromark-util-normalize-identifier: 2.0.1
micromark-util-sanitize-uri: 2.0.1
micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm-strikethrough@2.1.0:
dependencies:
@@ -12354,7 +12361,7 @@ snapshots:
micromark-util-classify-character: 2.0.1
micromark-util-resolve-all: 2.0.1
micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm-table@2.1.1:
dependencies:
@@ -12362,11 +12369,11 @@ snapshots:
micromark-factory-space: 2.0.1
micromark-util-character: 2.1.1
micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm-tagfilter@2.0.0:
dependencies:
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm-task-list-item@2.1.0:
dependencies:
@@ -12374,7 +12381,7 @@ snapshots:
micromark-factory-space: 2.0.1
micromark-util-character: 2.1.1
micromark-util-symbol: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-gfm@3.0.0:
dependencies:
@@ -12385,7 +12392,7 @@ snapshots:
micromark-extension-gfm-tagfilter: 2.0.0
micromark-extension-gfm-task-list-item: 2.1.0
micromark-util-combine-extensions: 2.0.1
- micromark-util-types: 2.0.2
+ micromark-util-types: 2.0.3
micromark-extension-mdx-expression@3.0.1:
dependencies:
@@ -12550,8 +12557,6 @@ snapshots:
micromark-util-symbol@2.0.1: {}
- micromark-util-types@2.0.2: {}
-
micromark-util-types@2.0.3: {}
micromark@4.0.2:
@@ -13505,14 +13510,14 @@ snapshots:
shebang-regex@3.0.0: {}
- shiki@4.4.3:
+ shiki@4.5.0:
dependencies:
- '@shikijs/core': 4.4.3
- '@shikijs/engine-javascript': 4.4.3
- '@shikijs/engine-oniguruma': 4.4.3
- '@shikijs/langs': 4.4.3
- '@shikijs/themes': 4.4.3
- '@shikijs/types': 4.4.3
+ '@shikijs/core': 4.5.0
+ '@shikijs/engine-javascript': 4.5.0
+ '@shikijs/engine-oniguruma': 4.5.0
+ '@shikijs/langs': 4.5.0
+ '@shikijs/themes': 4.5.0
+ '@shikijs/types': 4.5.0
'@shikijs/vscode-textmate': 10.0.2
'@types/hast': 3.0.5
@@ -13968,8 +13973,6 @@ snapshots:
undici@6.26.0: {}
- undici@7.27.0: {}
-
undici@7.29.1: {}
unicode-emoji-modifier-base@1.0.0: {}
diff --git a/portal-template/src/components/api-markdown.tsx b/portal-template/src/components/api-markdown.tsx
index 884582c22..bf2c7c00f 100644
--- a/portal-template/src/components/api-markdown.tsx
+++ b/portal-template/src/components/api-markdown.tsx
@@ -17,7 +17,7 @@ const components = {
pre: CodeBlock
};
-/** The specification's descriptions as Fumadocs renders them, but for its `img: undefined`, which fails the page. */
+/** The specification's descriptions as Fumadocs renders them, but with the base on a root-relative image, which Fumadocs leaves out. */
export function ApiMarkdown({ md }: { md: string }) {
return {md};
}
diff --git a/portal-template/src/lib/request-examples.ts b/portal-template/src/lib/request-examples.ts
index 5f569431b..8fb76372e 100644
--- a/portal-template/src/lib/request-examples.ts
+++ b/portal-template/src/lib/request-examples.ts
@@ -1,5 +1,4 @@
-import type { ParameterObject } from 'fumadocs-openapi';
-import type { ExampleRequest, OperationParameters } from 'fumadocs-openapi/operation';
+import type { ExampleRequest, OperationParameter, OperationParameters } from 'fumadocs-openapi/operation';
import { isJsonObject } from './json';
export type RequestExample = Pick;
@@ -28,7 +27,7 @@ export class Parameter {
return groups.flatMap((group) => group.items.map((item) => Parameter.from(group.in, item, resolve)));
}
- private static from(location: Location, item: ParameterObject, resolve: Resolve): Parameter {
+ private static from(location: Location, item: OperationParameter, resolve: Resolve): Parameter {
const examples = Object.entries(item.examples ?? {})
.map(([id, example]): [string, unknown] => [id, resolve(example)])
.filter(isExampleEntry);
diff --git a/test/e2e/portal-build.test.ts b/test/e2e/portal-build.test.ts
index fb785eac9..8b974c78c 100644
--- a/test/e2e/portal-build.test.ts
+++ b/test/e2e/portal-build.test.ts
@@ -844,7 +844,7 @@ const stylesheetOf = (output: DirectoryPath) => {
expect(read('authentication/index.html')).to.match(/
]* src="\/api\/assets\/diagram[^"]*\.png"/);
});
- // Fumadocs' own renderer fails the whole page over an image in a description; `ApiMarkdown` stands in for it.
+ // Fumadocs renders a description's image without the path; `ApiMarkdown` gives it the path.
it('renders an image and a code block in a description, the image under the path', () => {
const page = read('api/apimatic-calculator/simple-calculator/Calculate/index.html');
diff --git a/test/portal-template/request-examples.test.ts b/test/portal-template/request-examples.test.ts
index 209e90651..5fa26c0b2 100644
--- a/test/portal-template/request-examples.test.ts
+++ b/test/portal-template/request-examples.test.ts
@@ -1,6 +1,5 @@
import { expect } from 'chai';
-import type { ParameterObject } from 'fumadocs-openapi';
-import type { OperationParameters } from 'fumadocs-openapi/operation';
+import type { OperationParameter, OperationParameters } from 'fumadocs-openapi/operation';
import { Parameter, requestExamples, type RequestExample } from '../../portal-template/src/lib/request-examples';
type Location = OperationParameters['in'];
@@ -8,7 +7,7 @@ type Location = OperationParameters['in'];
const example = (id: string): RequestExample => ({ id, name: id });
// Fumadocs groups an operation's parameters by location.
-const group = (location: Location, item: Omit): OperationParameters => ({
+const group = (location: Location, item: Omit): OperationParameters => ({
in: location,
items: [{ ...item, in: location }]
});