For AI agents: the complete documentation index is available at https://rslint.rs/llms.txt, the full documentation bundle is available at https://rslint.rs/llms-full.txt, and this page is available as Markdown at https://rslint.rs/rules/node/no-new-require.md.
close

no-new-require

Added in v0.9.3

Configuration

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

export default defineConfig([
  nodePlugin.configs.recommended,
  {
    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