fix: use plugin instances instead of raw plugins array to prevent eror when getting plugin config#1263
Closed
letiescanciano wants to merge 3 commits intoPaloAltoNetworks:mainfrom
Closed
fix: use plugin instances instead of raw plugins array to prevent eror when getting plugin config#1263letiescanciano wants to merge 3 commits intoPaloAltoNetworks:mainfrom
letiescanciano wants to merge 3 commits intoPaloAltoNetworks:mainfrom
Conversation
…or when getting plugin config When plugins are defined as functions in Docusaurus config, getPluginConfig crashes trying to access data[1].id on non-array entries. By passing pluginInstances (pre-filtered for docusaurus-plugin-openapi-docs) instead of the raw plugins array, we ensure only valid array-formatted plugins are processed. Fixes PaloAltoNetworks#1246
Export getPluginConfig and getPluginInstances to enable unit testing. Add comprehensive test coverage including edge cases and integration tests to verify the bug fix where plugin instances must be filtered before getting plugin config.
Member
|
Hi @letiescanciano, just a heads up that builds are failing with your changes. |
Member
|
@dependabot rebase |
sserrata
reviewed
Apr 2, 2026
Member
sserrata
left a comment
There was a problem hiding this comment.
Fix looks correct — passing pluginInstances (pre-filtered to docusaurus-plugin-openapi-docs tuples) instead of the raw plugins array prevents the TypeError when non-array plugins (e.g. function plugins) are present in the config. Also catches the edge case where another plugin shares the same ID as the openapi-docs plugin. Good test coverage. Will merge once CI is green.
Member
|
CI is failing due to two TypeScript implicit - const plugins = [];
+ const plugins: any[] = [];- const pluginInstances = [];
+ const pluginInstances: any[] = [];Lines 40 and 133 in |
sserrata
added a commit
that referenced
this pull request
Apr 2, 2026
…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>
2 tasks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
When plugins are defined as functions in Docusaurus config,
getPluginConfigcrashes trying to access data[1].id on non-array entries. By passingpluginInstances(pre-filtered fordocusaurus-plugin-openapi-docs) instead of the raw plugins array, we ensure only valid array-formatted plugins are processed.Motivation and Context
Fixes #1246
How Has This Been Tested?
Types of changes
Checklist