eslint-config-airbnb-extended 2.0.0-beta-2 → 2.0.0-beta-3
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/@types/legacy.d.ts +1 -1
- package/dist/legacy/configs/react/typescript.js +24 -12
- package/dist/legacy/configs/typescript/config.js +2 -0
- package/dist/legacy/rules/imports.js +4 -26
- package/dist/legacy/rules/react/react.js +1 -1
- package/dist/legacy/rules/typescript/typescript.js +6 -28
- package/dist/legacy/rules/typescript/typescriptSettings.js +27 -0
- package/package.json +1 -1
package/dist/@types/legacy.d.ts
CHANGED
|
@@ -4,7 +4,7 @@
|
|
|
4
4
|
export declare const rules: {
|
|
5
5
|
readonly base: Record<"strict" | "imports" | "variables" | "bestPractices" | "errors" | "es6" | "style" | "node", import("eslint").Linter.Config>;
|
|
6
6
|
readonly react: Record<"base" | "jsxA11y" | "hooks", import("eslint").Linter.Config>;
|
|
7
|
-
readonly typescript: Record<"overrides" | "base", import("eslint").Linter.Config>;
|
|
7
|
+
readonly typescript: Record<"overrides" | "base" | "settings", import("eslint").Linter.Config>;
|
|
8
8
|
};
|
|
9
9
|
export declare const configs: {
|
|
10
10
|
readonly base: Record<"recommended" | "typescript" | "legacy", import("eslint").Linter.Config[]>;
|
|
@@ -3,23 +3,13 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
3
3
|
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
const
|
|
6
|
+
const typescript_1 = __importDefault(require("../../../legacy/configs/base/typescript"));
|
|
7
7
|
const utils_1 = require("../../../utils");
|
|
8
8
|
const legacyReactTypescriptConfig = [
|
|
9
|
-
...
|
|
9
|
+
...typescript_1.default,
|
|
10
10
|
{
|
|
11
11
|
name: 'airbnb/config/react-configurations/typescript/legacy',
|
|
12
12
|
files: utils_1.tsFiles,
|
|
13
|
-
settings: {
|
|
14
|
-
// Append 'ts' extensions to Airbnb 'import/resolver' setting
|
|
15
|
-
// Prepend 'mjs' to match shared config
|
|
16
|
-
// Original: ['.js', '.jsx', '.json']
|
|
17
|
-
'import/resolver': {
|
|
18
|
-
node: {
|
|
19
|
-
extensions: ['.mjs', '.js', '.jsx', '.json', '.ts', '.tsx', '.d.ts'],
|
|
20
|
-
},
|
|
21
|
-
},
|
|
22
|
-
},
|
|
23
13
|
rules: {
|
|
24
14
|
// Append 'tsx' to Airbnb 'react/jsx-filename-extension' rule
|
|
25
15
|
// Original: ['.jsx']
|
|
@@ -31,5 +21,27 @@ const legacyReactTypescriptConfig = [
|
|
|
31
21
|
],
|
|
32
22
|
},
|
|
33
23
|
},
|
|
24
|
+
{
|
|
25
|
+
name: 'airbnb/config/react-configurations/typescript-settings/legacy',
|
|
26
|
+
files: utils_1.allFiles,
|
|
27
|
+
settings: {
|
|
28
|
+
// Apply special parsing for TypeScript files
|
|
29
|
+
'import/parsers': {
|
|
30
|
+
'@typescript-eslint/parser': utils_1.tsExtensionsWithReactDTS,
|
|
31
|
+
},
|
|
32
|
+
// Append 'ts' extensions to Airbnb 'import/resolver' setting
|
|
33
|
+
// Prepend 'mjs' to match shared config
|
|
34
|
+
// Original: ['.js', '.jsx', '.json']
|
|
35
|
+
'import/resolver': {
|
|
36
|
+
node: {
|
|
37
|
+
extensions: [...utils_1.tsExtensionsWithReactDTS, '.json'],
|
|
38
|
+
},
|
|
39
|
+
typescript: true,
|
|
40
|
+
},
|
|
41
|
+
// Append 'ts' extensions to Airbnb 'import/extensions' setting
|
|
42
|
+
// Original: ['.js', '.mjs', '.jsx']
|
|
43
|
+
'import/extensions': utils_1.tsExtensionsWithReactDTS,
|
|
44
|
+
},
|
|
45
|
+
},
|
|
34
46
|
];
|
|
35
47
|
exports.default = legacyReactTypescriptConfig;
|
|
@@ -5,8 +5,10 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const typescript_1 = __importDefault(require("../../../legacy/rules/typescript/typescript"));
|
|
7
7
|
const typescriptOverrides_1 = __importDefault(require("../../../legacy/rules/typescript/typescriptOverrides"));
|
|
8
|
+
const typescriptSettings_1 = __importDefault(require("../../../legacy/rules/typescript/typescriptSettings"));
|
|
8
9
|
const legacyTypescriptConfig = {
|
|
9
10
|
base: typescript_1.default,
|
|
10
11
|
overrides: typescriptOverrides_1.default,
|
|
12
|
+
settings: typescriptSettings_1.default,
|
|
11
13
|
};
|
|
12
14
|
exports.default = legacyTypescriptConfig;
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const globals_1 = __importDefault(require("globals"));
|
|
7
|
+
const getDevDepsList_1 = __importDefault(require("../../helpers/getDevDepsList"));
|
|
7
8
|
const utils_1 = require("../../utils");
|
|
8
9
|
// eslint-disable-next-line @typescript-eslint/no-require-imports, unicorn/prefer-module
|
|
9
10
|
const plugin = require('eslint-plugin-import');
|
|
@@ -23,10 +24,10 @@ const legacyImportsRules = {
|
|
|
23
24
|
settings: {
|
|
24
25
|
'import/resolver': {
|
|
25
26
|
node: {
|
|
26
|
-
extensions: [
|
|
27
|
+
extensions: [...utils_1.jsExtensions, '.json'],
|
|
27
28
|
},
|
|
28
29
|
},
|
|
29
|
-
'import/extensions':
|
|
30
|
+
'import/extensions': utils_1.jsExtensionsWithReact,
|
|
30
31
|
'import/core-modules': [],
|
|
31
32
|
'import/ignore': ['node_modules', String.raw `\.(coffee|scss|css|less|hbs|svg|json)$`],
|
|
32
33
|
},
|
|
@@ -68,30 +69,7 @@ const legacyImportsRules = {
|
|
|
68
69
|
'import/no-extraneous-dependencies': [
|
|
69
70
|
'error',
|
|
70
71
|
{
|
|
71
|
-
devDependencies:
|
|
72
|
-
'test/**', // tape, common npm pattern
|
|
73
|
-
'tests/**', // also common npm pattern
|
|
74
|
-
'spec/**', // mocha, rspec-like pattern
|
|
75
|
-
'**/__tests__/**', // jest pattern
|
|
76
|
-
'**/__mocks__/**', // jest pattern
|
|
77
|
-
'test.{js,jsx}', // repos with a single test file
|
|
78
|
-
'test-*.{js,jsx}', // repos with multiple top-level test files
|
|
79
|
-
'**/*{.,_}{test,spec}.{js,jsx}', // tests where the extension or filename suffix denotes that it is a test
|
|
80
|
-
'**/jest.config.js', // jest config
|
|
81
|
-
'**/jest.setup.js', // jest setup
|
|
82
|
-
'**/vue.config.js', // vue-cli config
|
|
83
|
-
'**/webpack.config.js', // webpack config
|
|
84
|
-
'**/webpack.config.*.js', // webpack config
|
|
85
|
-
'**/rollup.config.js', // rollup config
|
|
86
|
-
'**/rollup.config.*.js', // rollup config
|
|
87
|
-
'**/gulpfile.js', // gulp config
|
|
88
|
-
'**/gulpfile.*.js', // gulp config
|
|
89
|
-
'**/Gruntfile{,.js}', // grunt config
|
|
90
|
-
'**/protractor.conf.js', // protractor config
|
|
91
|
-
'**/protractor.conf.*.js', // protractor config
|
|
92
|
-
'**/karma.conf.js', // karma config
|
|
93
|
-
'**/.eslintrc.js', // eslint config
|
|
94
|
-
],
|
|
72
|
+
devDependencies: (0, getDevDepsList_1.default)(utils_1.jsExtensions.map((ext) => ext.slice(1)).join(',')),
|
|
95
73
|
optionalDependencies: false,
|
|
96
74
|
},
|
|
97
75
|
],
|
|
@@ -4,6 +4,7 @@ var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
|
4
4
|
};
|
|
5
5
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
6
|
const typescript_eslint_1 = require("typescript-eslint");
|
|
7
|
+
const getDevDepsList_1 = __importDefault(require("../../../helpers/getDevDepsList"));
|
|
7
8
|
const best_practices_1 = __importDefault(require("../../../legacy/rules/best-practices"));
|
|
8
9
|
const errors_1 = __importDefault(require("../../../legacy/rules/errors"));
|
|
9
10
|
const es6_1 = __importDefault(require("../../../legacy/rules/es6"));
|
|
@@ -29,25 +30,6 @@ const legacyTypescriptBaseRules = {
|
|
|
29
30
|
projectService: true,
|
|
30
31
|
},
|
|
31
32
|
},
|
|
32
|
-
settings: {
|
|
33
|
-
// Apply special parsing for TypeScript files
|
|
34
|
-
'import/parsers': {
|
|
35
|
-
'@typescript-eslint/parser': ['.ts', '.tsx', '.d.ts'],
|
|
36
|
-
},
|
|
37
|
-
// Append 'ts' extensions to Airbnb 'import/resolver' setting
|
|
38
|
-
// Original: ['.mjs', '.js', '.json']
|
|
39
|
-
'import/resolver': {
|
|
40
|
-
node: {
|
|
41
|
-
extensions: ['.mjs', '.js', '.json', '.ts', '.d.ts'],
|
|
42
|
-
},
|
|
43
|
-
typescript: true,
|
|
44
|
-
},
|
|
45
|
-
// Append 'ts' extensions to Airbnb 'import/extensions' setting
|
|
46
|
-
// Original: ['.js', '.mjs', '.jsx']
|
|
47
|
-
'import/extensions': ['.js', '.mjs', '.jsx', '.ts', '.tsx', '.d.ts'],
|
|
48
|
-
// Resolve type definition packages
|
|
49
|
-
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
|
|
50
|
-
},
|
|
51
33
|
rules: {
|
|
52
34
|
// Replace Airbnb 'brace-style' rule with '@typescript-eslint' version
|
|
53
35
|
// https://github.com/typescript-eslint/typescript-eslint/blob/master/packages/eslint-plugin/docs/rules/brace-style.md
|
|
@@ -238,15 +220,11 @@ const legacyTypescriptBaseRules = {
|
|
|
238
220
|
// Append 'ts' and 'tsx' extensions to Airbnb 'import/no-extraneous-dependencies' rule
|
|
239
221
|
// https://github.com/benmosher/eslint-plugin-import/blob/master/docs/rules/no-extraneous-dependencies.md
|
|
240
222
|
'import/no-extraneous-dependencies': [
|
|
241
|
-
|
|
242
|
-
|
|
243
|
-
|
|
244
|
-
|
|
245
|
-
|
|
246
|
-
toAppend.push(devDepWithTs);
|
|
247
|
-
}
|
|
248
|
-
return [...result, ...toAppend];
|
|
249
|
-
}, []) }),
|
|
223
|
+
'error',
|
|
224
|
+
{
|
|
225
|
+
devDependencies: (0, getDevDepsList_1.default)([...utils_1.jsExtensions, ...utils_1.tsExtensions].map((ext) => ext.slice(1)).join(',')),
|
|
226
|
+
optionalDependencies: false,
|
|
227
|
+
},
|
|
250
228
|
],
|
|
251
229
|
},
|
|
252
230
|
};
|
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
const utils_1 = require("../../../utils");
|
|
4
|
+
const legacyTypescriptSettingsRules = {
|
|
5
|
+
name: 'airbnb/config/typescript/settings/legacy',
|
|
6
|
+
files: utils_1.allFiles,
|
|
7
|
+
settings: {
|
|
8
|
+
// Apply special parsing for TypeScript files
|
|
9
|
+
'import/parsers': {
|
|
10
|
+
'@typescript-eslint/parser': utils_1.tsExtensionsResolver,
|
|
11
|
+
},
|
|
12
|
+
// Append 'ts' extensions to Airbnb 'import/resolver' setting
|
|
13
|
+
// Original: ['.mjs', '.js', '.json']
|
|
14
|
+
'import/resolver': {
|
|
15
|
+
node: {
|
|
16
|
+
extensions: [...utils_1.tsExtensionsResolver, '.json'],
|
|
17
|
+
},
|
|
18
|
+
typescript: true,
|
|
19
|
+
},
|
|
20
|
+
// Append 'ts' extensions to Airbnb 'import/extensions' setting
|
|
21
|
+
// Original: ['.js', '.mjs', '.jsx']
|
|
22
|
+
'import/extensions': utils_1.tsExtensionsResolver,
|
|
23
|
+
// Resolve type definition packages
|
|
24
|
+
'import/external-module-folders': ['node_modules', 'node_modules/@types'],
|
|
25
|
+
},
|
|
26
|
+
};
|
|
27
|
+
exports.default = legacyTypescriptSettingsRules;
|