Skip to content

Commit 6096342

Browse files
author
Bilal-S
committed
eslint v9 changes
1 parent 11f986f commit 6096342

File tree

21 files changed

+266
-258
lines changed

21 files changed

+266
-258
lines changed

package.json

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -10,12 +10,12 @@
1010
"lint": "markdownlint --config linters/.markdownlint.json README.md */README.md",
1111
"pretest": "npm run --silent lint",
1212
"test": "npm run --silent test:config && npm run --silent test:config:base",
13-
"test:config": "cd packages/eslint-config-airbnb; npm test",
14-
"test:config:base": "cd packages/eslint-config-airbnb-base; npm test",
13+
"test:config": "cd packages/eslint-config-airbnb && npm test",
14+
"test:config:base": "cd packages/eslint-config-airbnb-base && npm test",
1515
"pretravis": "npm run --silent lint",
1616
"travis": "npm run --silent travis:config && npm run --silent travis:config:base",
17-
"travis:config": "cd packages/eslint-config-airbnb; npm run travis",
18-
"travis:config:base": "cd packages/eslint-config-airbnb-base; npm run travis"
17+
"travis:config": "cd packages/eslint-config-airbnb && npm run travis",
18+
"travis:config:base": "cd packages/eslint-config-airbnb-base && npm run travis"
1919
},
2020
"repository": {
2121
"type": "git",

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

Lines changed: 0 additions & 10 deletions
This file was deleted.
Lines changed: 14 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,14 @@
1+
const globals = require('globals');
2+
const airbnbBase = require('./index');
3+
4+
module.exports = [
5+
{
6+
...airbnbBase,
7+
languageOptions: {
8+
...airbnbBase.languageOptions,
9+
globals: {
10+
...globals.node,
11+
},
12+
},
13+
},
14+
];
Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -1,17 +1,33 @@
1+
const stylisticJs = require('@stylistic/eslint-plugin-js');
2+
const importPlugin = require('eslint-plugin-import');
3+
const bestPractices = require('./rules/best-practices');
4+
const errors = require('./rules/errors');
5+
const node = require('./rules/node');
6+
const style = require('./rules/style');
7+
const variables = require('./rules/variables');
8+
const es6 = require('./rules/es6');
9+
const imports = require('./rules/imports');
10+
const strict = require('./rules/strict');
11+
112
module.exports = {
2-
extends: [
3-
'./rules/best-practices',
4-
'./rules/errors',
5-
'./rules/node',
6-
'./rules/style',
7-
'./rules/variables',
8-
'./rules/es6',
9-
'./rules/imports',
10-
'./rules/strict',
11-
].map(require.resolve),
12-
parserOptions: {
13-
ecmaVersion: 2018,
14-
sourceType: 'module',
13+
plugins: {
14+
'@stylistic/js': stylisticJs,
15+
import: importPlugin,
16+
},
17+
languageOptions: {
18+
parserOptions: {
19+
ecmaVersion: 2022,
20+
sourceType: 'module',
21+
},
22+
},
23+
rules: {
24+
...bestPractices.rules,
25+
...errors.rules,
26+
...node.rules,
27+
...style.rules,
28+
...variables.rules,
29+
...es6.rules,
30+
...imports.rules,
31+
...strict.rules,
1532
},
16-
rules: {},
1733
};

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

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,14 @@ module.exports = {
44
'./rules/errors',
55
'./rules/node',
66
'./rules/style',
7-
'./rules/variables'
7+
'./rules/variables',
88
].map(require.resolve),
99
env: {
1010
browser: true,
1111
node: true,
1212
amd: false,
1313
mocha: false,
14-
jasmine: false
14+
jasmine: false,
1515
},
1616
rules: {
1717
'comma-dangle': ['error', 'never'],
@@ -30,5 +30,5 @@ module.exports = {
3030
'no-var': 'off',
3131
'prefer-object-spread': 'off',
3232
strict: ['error', 'safe'],
33-
}
33+
},
3434
};

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

Lines changed: 10 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -18,12 +18,11 @@
1818
"./package.json": "./package.json"
1919
},
2020
"scripts": {
21-
"prelint": "eclint check $(git ls-files | xargs find 2> /dev/null | grep -vE 'node_modules|\\.git')",
22-
"lint": "eslint --report-unused-disable-directives .",
21+
"prelint": "eclint check \"**/*.js\"",
22+
"lint": "eslint .",
2323
"pretests-only": "node ./test/requires",
2424
"tests-only": "babel-tape-runner ./test/test-*.js",
25-
"prepublishOnly": "eslint-find-rules --unused && npm test && safe-publish-latest",
26-
"prepublish": "not-in-publish || npm run prepublishOnly",
25+
"prepublish": "not-in-publish || npm test",
2726
"pretest": "npm run --silent lint",
2827
"test": "npm run --silent tests-only",
2928
"pretravis": ":",
@@ -72,21 +71,22 @@
7271
"babel-preset-airbnb": "^4.5.0",
7372
"babel-tape-runner": "^3.0.0",
7473
"eclint": "^2.8.1",
75-
"eslint": "^7.32.0 || ^8.2.0",
76-
"eslint-find-rules": "^4.1.0",
74+
"eslint": "^9.8.0",
7775
"eslint-plugin-import": "^2.30.0",
7876
"in-publish": "^2.0.1",
79-
"safe-publish-latest": "^2.0.0",
80-
"tape": "^5.9.0"
77+
"safe-publish-latest": "^2.0.0"
8178
},
8279
"peerDependencies": {
83-
"eslint": "^7.32.0 || ^8.2.0",
80+
"eslint": "^9.8.0",
8481
"eslint-plugin-import": "^2.30.0"
8582
},
8683
"engines": {
8784
"node": "^10.12.0 || >=12.0.0"
8885
},
8986
"dependencies": {
90-
"confusing-browser-globals": "^1.0.11"
87+
"confusing-browser-globals": "^1.0.11",
88+
"globals": "^15.8.0",
89+
"@stylistic/eslint-plugin-js": "^2.4.0",
90+
"tape": "^5.9.0"
9191
}
9292
}

packages/eslint-config-airbnb-base/rules/best-practices.js

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -97,7 +97,7 @@ module.exports = {
9797
'arrowFunctions',
9898
'functions',
9999
'methods',
100-
]
100+
],
101101
}],
102102

103103
// disallow empty destructuring patterns
@@ -248,7 +248,7 @@ module.exports = {
248248
'response', // for Express responses
249249
'$scope', // for Angular 1 scopes
250250
'staticContext', // for ReactRouter context
251-
]
251+
],
252252
}],
253253

254254
// disallow usage of __proto__ property
@@ -419,6 +419,6 @@ module.exports = {
419419

420420
// require or disallow Yoda conditions
421421
// https://eslint.org/docs/rules/yoda
422-
yoda: 'error'
423-
}
422+
yoda: 'error',
423+
},
424424
};

packages/eslint-config-airbnb-base/rules/errors.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -185,5 +185,5 @@ module.exports = {
185185
// ensure that the results of typeof are compared against a valid string
186186
// https://eslint.org/docs/rules/valid-typeof
187187
'valid-typeof': ['error', { requireStringLiterals: true }],
188-
}
188+
},
189189
};

packages/eslint-config-airbnb-base/rules/es6.js

Lines changed: 6 additions & 6 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,14 @@
11
module.exports = {
22
env: {
3-
es6: true
3+
es6: true,
44
},
55
parserOptions: {
66
ecmaVersion: 6,
77
sourceType: 'module',
88
ecmaFeatures: {
99
generators: false,
10-
objectLiteralDuplicateProperties: false
11-
}
10+
objectLiteralDuplicateProperties: false,
11+
},
1212
},
1313

1414
rules: {
@@ -73,7 +73,7 @@ module.exports = {
7373
// https://eslint.org/docs/rules/no-restricted-imports
7474
'no-restricted-imports': ['off', {
7575
paths: [],
76-
patterns: []
76+
patterns: [],
7777
}],
7878

7979
// disallow to use this/super before super() calling in constructors.
@@ -180,6 +180,6 @@ module.exports = {
180180

181181
// enforce spacing around the * in yield* expressions
182182
// https://eslint.org/docs/rules/yield-star-spacing
183-
'yield-star-spacing': ['error', 'after']
184-
}
183+
'yield-star-spacing': ['error', 'after'],
184+
},
185185
};

packages/eslint-config-airbnb-base/rules/imports.js

Lines changed: 9 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -1,20 +1,20 @@
11
module.exports = {
22
env: {
3-
es6: true
3+
es6: true,
44
},
55
parserOptions: {
66
ecmaVersion: 6,
7-
sourceType: 'module'
7+
sourceType: 'module',
88
},
99
plugins: [
10-
'import'
10+
'import',
1111
],
1212

1313
settings: {
1414
'import/resolver': {
1515
node: {
16-
extensions: ['.mjs', '.js', '.json']
17-
}
16+
extensions: ['.mjs', '.js', '.json'],
17+
},
1818
},
1919
'import/extensions': [
2020
'.js',
@@ -91,7 +91,7 @@ module.exports = {
9191
'**/protractor.conf.js', // protractor config
9292
'**/protractor.conf.*.js', // protractor config
9393
'**/karma.conf.js', // karma config
94-
'**/.eslintrc.js' // eslint config
94+
'**/.eslintrc.js', // eslint config
9595
],
9696
optionalDependencies: false,
9797
}],
@@ -260,8 +260,9 @@ module.exports = {
260260
unusedExports: true,
261261
}],
262262

263-
// Reports the use of import declarations with CommonJS exports in any module except for the main module.
264-
// https://github.com/import-js/eslint-plugin-import/blob/1012eb951767279ce3b540a4ec4f29236104bb5b/docs/rules/no-import-module-exports.md
263+
// Reports the use of import declarations with CommonJS exports in any module
264+
// except for the main module.
265+
// https://github.com/import-js/eslint-plugin-import/blob/main/docs/rules/no-import-module-exports.md
265266
'import/no-import-module-exports': ['error', {
266267
exceptions: [],
267268
}],

0 commit comments

Comments
 (0)