Skip to content

fix(cli): pass pluginInstances to getPluginConfig to support non-array plugins#1384

Merged
sserrata merged 1 commit intomainfrom
fix/non-array-plugin-config
Apr 2, 2026
Merged

fix(cli): pass pluginInstances to getPluginConfig to support non-array plugins#1384
sserrata merged 1 commit intomainfrom
fix/non-array-plugin-config

Conversation

@sserrata
Copy link
Copy Markdown
Member

@sserrata sserrata commented Apr 2, 2026

Summary

  • Fixes a TypeError when plugins in docusaurus.config.ts contains non-array entries (e.g. function plugins). getPluginConfig was iterating the raw plugins array and accessing data[1].id, which throws when data is a function.
  • Since pluginInstances is already filtered to only docusaurus-plugin-openapi-docs tuples at each call site, passing it instead of the raw plugins array is both correct and safe.
  • Also prevents a subtle bug where another plugin sharing the same ID as the openapi-docs plugin could be matched incorrectly.

Fixes #1246
Closes #1263

Test plan

  • Verify gen-api-docs, clean-api-docs, gen-api-docs:version, and clean-api-docs:version commands work correctly when docusaurus.config.ts contains a function plugin alongside the openapi-docs plugin
  • Verify normal operation (single and multiple openapi-docs plugin instances) is unaffected

🤖 Generated with Claude Code

…y plugins (#1246)

Passing the raw `plugins` array to `getPluginConfig` caused a TypeError
when `plugins` contained non-array entries (e.g. function plugins), as
`data[1]` would be undefined. Since `pluginInstances` is already filtered
to only `docusaurus-plugin-openapi-docs` tuples, passing it instead is
both correct and safe. Also prevents incorrect matches when another plugin
shares the same ID as the openapi-docs plugin.

Fixes #1246
Closes #1263

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

Size Change: 0 B

Total Size: 2.26 MB

ℹ️ View Unchanged
Filename Size
demo/.docusaurus/codeTranslations.json 2 B
demo/.docusaurus/docusaurus.config.mjs 16.1 kB
demo/.docusaurus/globalData.json 68.6 kB
demo/.docusaurus/i18n.json 372 B
demo/.docusaurus/registry.js 99.3 kB
demo/.docusaurus/routes.js 93.8 kB
demo/.docusaurus/routesChunkNames.json 39 kB
demo/.docusaurus/site-metadata.json 1.57 kB
demo/build/assets/css/styles.********.css 171 kB
demo/build/assets/js/main.********.js 669 kB
demo/build/assets/js/runtime~main.********.js 23.1 kB
demo/build/index.html 95.8 kB
demo/build/petstore/add-pet/index.html 30 kB
demo/build/petstore/create-user/index.html 24.7 kB
demo/build/petstore/create-users-with-array-input/index.html 24.8 kB
demo/build/petstore/create-users-with-list-input/index.html 24.8 kB
demo/build/petstore/delete-order/index.html 24.6 kB
demo/build/petstore/delete-pet/index.html 24.8 kB
demo/build/petstore/delete-user/index.html 25 kB
demo/build/petstore/find-pets-by-status/index.html 25.5 kB
demo/build/petstore/find-pets-by-tags/index.html 26.2 kB
demo/build/petstore/get-inventory/index.html 23.8 kB
demo/build/petstore/get-order-by-id/index.html 24.8 kB
demo/build/petstore/get-pet-by-id/index.html 25.6 kB
demo/build/petstore/get-user-by-name/index.html 25.1 kB
demo/build/petstore/login-user/index.html 25.7 kB
demo/build/petstore/logout-user/index.html 24.4 kB
demo/build/petstore/new-pet/index.html 25 kB
demo/build/petstore/pet/index.html 23.2 kB
demo/build/petstore/place-order/index.html 24.1 kB
demo/build/petstore/schemas/apiresponse/index.html 25.3 kB
demo/build/petstore/schemas/cat/index.html 39.1 kB
demo/build/petstore/schemas/category/index.html 26.3 kB
demo/build/petstore/schemas/dog/index.html 39.3 kB
demo/build/petstore/schemas/honeybee/index.html 39.4 kB
demo/build/petstore/schemas/id/index.html 23.4 kB
demo/build/petstore/schemas/order/index.html 27.4 kB
demo/build/petstore/schemas/pet/index.html 38.9 kB
demo/build/petstore/schemas/tag/index.html 24.7 kB
demo/build/petstore/schemas/user/index.html 40.8 kB
demo/build/petstore/store/index.html 22.2 kB
demo/build/petstore/subscribe-to-the-store-events/index.html 30.9 kB
demo/build/petstore/swagger-petstore-yaml/index.html 30.9 kB
demo/build/petstore/update-pet-with-form/index.html 25 kB
demo/build/petstore/update-pet/index.html 25.4 kB
demo/build/petstore/update-user/index.html 25 kB
demo/build/petstore/upload-file/index.html 24.8 kB
demo/build/petstore/user/index.html 22.9 kB

compressed-size-action

@github-actions
Copy link
Copy Markdown

github-actions bot commented Apr 2, 2026

Visit the preview URL for this PR (updated for commit 64e7653):

https://docusaurus-openapi-36b86--pr1384-qenbr4eq.web.app

(expires Thu, 09 Apr 2026 18:16:12 GMT)

🔥 via Firebase Hosting GitHub Action 🌎

Sign: bf293780ee827f578864d92193b8c2866acd459f

@sserrata sserrata merged commit 7309c09 into main Apr 2, 2026
16 of 17 checks passed
@sserrata sserrata deleted the fix/non-array-plugin-config branch April 2, 2026 18:21
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.

gen-api-docs command doesn't support non-array plugins

1 participant