-
Notifications
You must be signed in to change notification settings - Fork 295
Open
Labels
bugSomething isn't workingSomething isn't working
Description
Describe the bug
When using the docusaurus-openapi-docs plugin, the global URL constructor is undefined. This breaks code that depends on URL, such as the Microsoft Authentication Library for React (msal-react) loginPopup in my application.
Observations:
- When disabling the
docusaurus-openapi-docsplugin,URLis properly defined. - This issue occurs when customizing the
ApiItemcomponent in the plugin's theme.
Expected behavior
The global URL constructor should be defined and accessible in the same way as in a default Docusaurus environment.
Current behavior
URLis undefined inside the customizedApiItemcomponent from thedocusaurus-openapi-docsplugin. It is probably same for other components.URLis defined correctly when using the standardDocItemLayoutfrom@docusaurus/theme-classic.
Possible solution
The URL constructor may be overwritten or removed by some internal logic in the plugin.
Steps to reproduce
- Copy the
ApiItemfolder fromdocusaurus-theme-openapi-docs/src/themeinto yoursrc/themefolder. - Inside
src/theme/ApiItem/Layout.js, add:
console.log("URL:", URL);- Run the project.
- Observe that
URLis undefined.
Compare without the plugin
- Uninstall the
docusaurus-openapi-docsplugin. - Copy the
DocItemfolder from@docusaurus/theme-classic/lib/theme/DocItem/Layoutintosrc/theme. - Add the same console log inside the component.
- Observe that
URLis now correctly defined.
Console Output (with docusaurus-openapi-docs enabled):
URL: undefined
Console Output (with docusaurus-openapi-docs disabled):
URL: ƒ URL() { [native code] }
Context
This issue breaks Microsoft Authentication Library for React (msal-react) loginPopup method, which internally depends on URL. The issue blocks the authentication flow in my application.
Your Environment
- Version used:
docusaurus-openapi-docs(latest version at the time of writing) - Docusaurus version: 3.7.0
- Environment name and version: Chrome Version 134.0.6998.119 (Official Build) (arm64), Node.js v22.14.0
- Operating System and version: macOS Sequoia 15.0.1
Metadata
Metadata
Assignees
Labels
bugSomething isn't workingSomething isn't working