n/prefer-global/url-search-params

April 30, 2026 ยท View on GitHub

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

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

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

It will be readable if we use either URLSearchParams consistently.

๐Ÿ“– Rule Details

This rule enforces which URLSearchParams we should use.

Options

This rule has a string option.

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

always

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

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

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

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

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

const u = new URLSearchParams(s)

never

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

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

const u = new URLSearchParams(s)

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

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

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

๐Ÿ”Ž Implementation