Skip to main content

no-var-requires

Disallow require statements except in import statements.

In other words, the use of forms such as var foo = require("foo") are banned. Instead use ES6 style imports or import foo = require("foo") imports.

.eslintrc.cjs
module.exports = {
"rules": {
"@typescript-eslint/no-var-requires": "error"
}
};
Try this rule in the playground ↗

Examples

var foo = require('foo');
const foo = require('foo');
let foo = require('foo');
Open in Playground

Options

This rule is not configurable.

When Not To Use It

If your project frequently uses older CommonJS requires, then this rule might not be applicable to you. If only a subset of your project uses requires then you might consider using ESLint disable comments for those specific situations instead of completely disabling this rule.

Resources