n/prefer-global/timers
April 30, 2026 ยท View on GitHub
๐ Enforce either global timer functions or require("timers").
The timer functions clearImmediate, clearInterval, clearTimeout, setImmediate, setInterval, and setTimeout are defined as global variables but are also available in the timers module.
console.log(setTimeout === require("timers").setTimeout) //โ true
It will be readable if we use either consistently.
๐ Rule Details
This rule enforces which timer functions we should use.
Options
This rule has a string option.
{
"n/prefer-global/timers": ["error", "always" | "never"]
}
"always"(default) ... enforces to use the global timer functions rather thanrequire("timers").*."never"... enforces to userequire("timers").*rather than the global timer functions.
always
Examples of ๐ incorrect code for this rule:
/*eslint n/prefer-global/timers: [error]*/
const { setTimeout } = require("timers")
setTimeout(() => {}, 1000)
Examples of ๐ correct code for this rule:
/*eslint n/prefer-global/timers: [error]*/
setTimeout(() => {}, 1000)
never
Examples of ๐ incorrect code for the "never" option:
/*eslint n/prefer-global/timers: [error, never]*/
setTimeout(() => {}, 1000)
Examples of ๐ correct code for the "never" option:
/*eslint n/prefer-global/timers: [error, never]*/
const { setTimeout } = require("timers")
setTimeout(() => {}, 1000)