Skip to content

URL Function Undefined #1116

Open
Open
@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 working

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions