Skip to content

Commit 396166b

Browse files
1peteljharb
authored andcommitted
[eslint config] [*] [fix] ensure whitespace entry point is compatible with node 4
1 parent 40dbeac commit 396166b

File tree

6 files changed

+35
-21
lines changed

6 files changed

+35
-21
lines changed

packages/eslint-config-airbnb-base/.eslintrc

+3-1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
"rules": {
44
// disable requiring trailing commas because it might be nice to revert to
55
// being JSON at some point, and I don't want to make big changes now.
6-
"comma-dangle": 0
6+
"comma-dangle": 0,
7+
// we support node 4
8+
"prefer-destructuring": 0,
79
},
810
}

packages/eslint-config-airbnb-base/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -68,6 +68,7 @@
6868
},
6969
"dependencies": {
7070
"eslint-restricted-globals": "^0.1.1",
71+
"object.assign": "^4.1.0",
7172
"object.entries": "^1.0.4"
7273
}
7374
}

packages/eslint-config-airbnb-base/whitespace.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
const baseConfig = require('.');
2+
const assign = require('object.assign');
23
const entries = require('object.entries');
3-
const { CLIEngine } = require('eslint');
4+
const CLIEngine = require('eslint').CLIEngine;
45

56
function onlyErrorOnRules(rulesToError, config) {
6-
const errorsOnly = { ...config };
7+
const errorsOnly = assign({}, config);
78
const cli = new CLIEngine({ baseConfig: config, useEslintrc: false });
89
const baseRules = cli.getConfigForFile('./').rules;
910

10-
entries(baseRules).forEach(([key, value]) => {
11-
if (rulesToError.indexOf(key) === -1) {
12-
if (Array.isArray(value)) {
13-
errorsOnly.rules[key] = ['warn'].concat(value.slice(1));
14-
} else if (typeof value === 'number') {
15-
errorsOnly.rules[key] = 1;
11+
entries(baseRules).forEach((rule) => {
12+
const ruleName = rule[0];
13+
const ruleConfig = rule[1];
14+
15+
if (rulesToError.indexOf(ruleName) === -1) {
16+
if (Array.isArray(ruleConfig)) {
17+
errorsOnly.rules[ruleName] = ['warn'].concat(ruleConfig.slice(1));
18+
} else if (typeof ruleConfig === 'number') {
19+
errorsOnly.rules[ruleName] = 1;
1620
} else {
17-
errorsOnly.rules[key] = 'warn';
21+
errorsOnly.rules[ruleName] = 'warn';
1822
}
1923
}
2024
});

packages/eslint-config-airbnb/.eslintrc

+4-2
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,8 @@
33
"rules": {
44
// disable requiring trailing commas because it might be nice to revert to
55
// being JSON at some point, and I don't want to make big changes now.
6-
"comma-dangle": 0
7-
}
6+
"comma-dangle": 0,
7+
// we support node 4
8+
"prefer-destructuring": 0,
9+
},
810
}

packages/eslint-config-airbnb/package.json

+1
Original file line numberDiff line numberDiff line change
@@ -50,6 +50,7 @@
5050
"homepage": "https://github.com/airbnb/javascript",
5151
"dependencies": {
5252
"eslint-config-airbnb-base": "^12.1.0",
53+
"object.assign": "^4.1.0",
5354
"object.entries": "^1.0.4"
5455
},
5556
"devDependencies": {

packages/eslint-config-airbnb/whitespace.js

+13-9
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,24 @@
11
const baseConfig = require('.');
2+
const assign = require('object.assign');
23
const entries = require('object.entries');
3-
const { CLIEngine } = require('eslint');
4+
const CLIEngine = require('eslint').CLIEngine;
45

56
function onlyErrorOnRules(rulesToError, config) {
6-
const errorsOnly = { ...config };
7+
const errorsOnly = assign({}, config);
78
const cli = new CLIEngine({ baseConfig: config, useEslintrc: false });
89
const baseRules = cli.getConfigForFile('./').rules;
910

10-
entries(baseRules).forEach(([key, value]) => {
11-
if (rulesToError.indexOf(key) === -1) {
12-
if (Array.isArray(value)) {
13-
errorsOnly.rules[key] = ['warn'].concat(value.slice(1));
14-
} else if (typeof value === 'number') {
15-
errorsOnly.rules[key] = 1;
11+
entries(baseRules).forEach((rule) => {
12+
const ruleName = rule[0];
13+
const ruleConfig = rule[1];
14+
15+
if (rulesToError.indexOf(ruleName) === -1) {
16+
if (Array.isArray(ruleConfig)) {
17+
errorsOnly.rules[ruleName] = ['warn'].concat(ruleConfig.slice(1));
18+
} else if (typeof ruleConfig === 'number') {
19+
errorsOnly.rules[ruleName] = 1;
1620
} else {
17-
errorsOnly.rules[key] = 'warn';
21+
errorsOnly.rules[ruleName] = 'warn';
1822
}
1923
}
2024
});

0 commit comments

Comments
 (0)