Skip to content

URL Function Undefined #1116

@AxelNielsen-dev

Description

@AxelNielsen-dev

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-docs plugin, URL is properly defined.
  • This issue occurs when customizing the ApiItem component 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

  • URL is undefined inside the customized ApiItem component from the docusaurus-openapi-docs plugin. It is probably same for other components.
  • URL is defined correctly when using the standard DocItemLayout from @docusaurus/theme-classic.

Possible solution

The URL constructor may be overwritten or removed by some internal logic in the plugin.

Steps to reproduce

  1. Copy the ApiItem folder from docusaurus-theme-openapi-docs/src/theme into yoursrc/theme folder.
  2. Inside src/theme/ApiItem/Layout.js, add:
console.log("URL:", URL);
  1. Run the project.
  2. Observe that URL is undefined.

Compare without the plugin

  1. Uninstall the docusaurus-openapi-docs plugin.
  2. Copy the DocItem folder from @docusaurus/theme-classic/lib/theme/DocItem/Layout into src/theme.
  3. Add the same console log inside the component.
  4. Observe that URL is 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

No one assigned

    Labels

    bugSomething isn't workingreviewing 👀Undergoing manual audit to determine if issue should still be active

    Type

    No type
    No fields configured for issues without a type.

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions