Skip to content
Switch branches/tags
Go to file
Cannot retrieve contributors at this time
48 lines (31 sloc) 1.09 KB


disallow new operators with calls to require

The require function is used to include modules that exist in separate files, such as:

var appHeader = require('app-header');

Some modules return a constructor which can potentially lead to code such as:

var appHeader = new require('app-header');

Unfortunately, this introduces a high potential for confusion since the code author likely meant to write:

var appHeader = new (require('app-header'));

For this reason, it is usually best to disallow this particular expression.

📖 Rule Details

This rule aims to eliminate use of the new require expression.

Examples of incorrect code for this rule:

/*eslint node/no-new-require: "error"*/

var appHeader = new require('app-header');

Examples of correct code for this rule:

/*eslint node/no-new-require: "error"*/

var AppHeader = require('app-header');
var appHeader = new AppHeader();

🔎 Implementation