Skip to content

Commit 6c670a1

Browse files
committed
Fix loading rules when using Jest
req-all relies on `require.extensions` under the hood, which gets modified by Jest, so loading rules in Jest (e.g. via ESLint Node.js API) doesn't work, it just results in an empty object. Since we're loading our own files, we don't need some complicated logic to do this, we can roll our own.
1 parent 205861e commit 6c670a1

2 files changed

Lines changed: 8 additions & 4 deletions

File tree

index.js

Lines changed: 7 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,9 +1,14 @@
11
'use strict';
22

3-
const reqAll = require('req-all');
43
const createIndex = require('create-eslint-index');
4+
const fs = require('fs');
5+
const path = require('path');
56

6-
const rules = reqAll('rules', {camelize: false});
7+
const rules = {};
8+
for (const file of fs.readdirSync(`${__dirname}/rules`)) {
9+
const ruleName = path.basename(file, path.extname(file));
10+
rules[ruleName] = require(`./rules/${ruleName}`)
11+
}
712

813
const externalRecommendedRules = {
914
'no-var': 'error'

package.json

Lines changed: 1 addition & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -42,8 +42,7 @@
4242
"dependencies": {
4343
"create-eslint-index": "^1.0.0",
4444
"eslint-ast-utils": "^1.0.0",
45-
"lodash": "^4.13.1",
46-
"req-all": "^0.1.0"
45+
"lodash": "^4.13.1"
4746
},
4847
"devDependencies": {
4948
"ava": "^0.17.0",

0 commit comments

Comments
 (0)