n/prefer-global/url

April 30, 2026 ยท View on GitHub

๐Ÿ“ Enforce either URL or require("url").URL.

The URL class of url module is defined as a global variable.

console.log(URL === require("url").URL) //โ†’ true

It will be readable if we use either URL consistently.

๐Ÿ“– Rule Details

This rule enforces which URL we should use.

Options

This rule has a string option.

{
    "n/prefer-global/url": ["error", "always" | "never"]
}
  • "always" (default) ... enforces to use the global variable URL rather than require("url").URL.
  • "never" ... enforces to use require("url").URL rather than the global variable URL.

always

Examples of ๐Ÿ‘Ž incorrect code for this rule:

/*eslint n/prefer-global/url: [error]*/

const { URL } = require("url")
const u = new URL(s)

Examples of ๐Ÿ‘ correct code for this rule:

/*eslint n/prefer-global/url: [error]*/

const u = new URL(s)

never

Examples of ๐Ÿ‘Ž incorrect code for the "never" option:

/*eslint n/prefer-global/url: [error, never]*/

const u = new URL(s)

Examples of ๐Ÿ‘ correct code for the "never" option:

/*eslint n/prefer-global/url: [error, never]*/

const { URL } = require("url")
const u = new URL(s)

๐Ÿ”Ž Implementation