close

no-new-require

Unreleased

Configuration

rslint.config.ts
import { defineConfig } from '@rslint/core';

export default defineConfig([
  {
    plugins: ['node'],
    rules: {
      'node/no-new-require': 'error',
    },
  },
]);

Disallow using require as a constructor.

Rule Details

new require('app-header') constructs require itself. To construct the value exported by a module, call require first and then use new on its result.

Examples of incorrect code for this rule:

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

Examples of correct code for this rule:

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

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

This rule checks the identifier's name, including locally declared variables named require. Member access such as new loader.require() is allowed.

Options

This rule has no options and does not provide automatic fixes or suggestions.

Original Documentation