no-var-requires
Disallow
require
statements except in import statements.
✅
Extending "plugin:@typescript-eslint/recommended"
in an ESLint configuration enables this rule.
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"
}
};
Examples
- ❌ Incorrect
- ✅ Correct
var foo = require('foo');
const foo = require('foo');
let foo = require('foo');
import foo = require('foo');
require('foo');
import foo from 'foo';
This rule is not configurable.
Options
When Not To Use It
If you don't care about using newer module syntax, then you will not need this rule.