Skip to content

Commit

Permalink
fix(eslint-plugin): [no-require-imports] report only global require (
Browse files Browse the repository at this point in the history
  • Loading branch information
rafaelss95 committed Sep 21, 2021
1 parent 9e98b8f commit 8aa87a1
Show file tree
Hide file tree
Showing 2 changed files with 18 additions and 7 deletions.
20 changes: 13 additions & 7 deletions packages/eslint-plugin/src/rules/no-require-imports.ts
@@ -1,4 +1,4 @@
import { TSESTree } from '@typescript-eslint/experimental-utils';
import { ASTUtils, TSESTree } from '@typescript-eslint/experimental-utils';
import * as util from '../util';

export default util.createRule({
Expand All @@ -18,13 +18,19 @@ export default util.createRule({
defaultOptions: [],
create(context) {
return {
'CallExpression > Identifier[name="require"]'(
node: TSESTree.Identifier,
'CallExpression[callee.name="require"]'(
node: TSESTree.CallExpression,
): void {
context.report({
node: node.parent!,
messageId: 'noRequireImports',
});
const variable = ASTUtils.findVariable(context.getScope(), 'require');

// ignore non-global require usage as it's something user-land custom instead
// of the commonjs standard
if (!variable?.identifiers.length) {
context.report({
node,
messageId: 'noRequireImports',
});
}
},
TSExternalModuleReference(node): void {
context.report({
Expand Down
5 changes: 5 additions & 0 deletions packages/eslint-plugin/tests/rules/no-require-imports.test.ts
Expand Up @@ -17,6 +17,11 @@ ruleTester.run('no-require-imports', rule, {
'import lib9 = lib2.anotherSubImport;',
"import lib10 from 'lib10';",
"var lib3 = load?.('not_an_import');",
`
import { createRequire } from 'module';
const require = createRequire();
require('remark-preset-prettier');
`,
],
invalid: [
{
Expand Down

0 comments on commit 8aa87a1

Please sign in to comment.