forked from jestjs/jest
-
Notifications
You must be signed in to change notification settings - Fork 1
/
.eslintrc.js
127 lines (125 loc) · 3.39 KB
/
.eslintrc.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
/**
* Copyright (c) 2016-present, Facebook, Inc. All rights reserved.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*/
const customImportResolver = require.resolve('./eslintImportResolver');
module.exports = {
extends: [
'./packages/eslint-config-fb-strict/index.js',
'plugin:import/errors',
'prettier',
'prettier/flowtype',
],
overrides: [
// to make it more suitable for running on code examples in docs/ folder
{
files: ['*.md'],
rules: {
'arrow-body-style': 0,
'consistent-return': 0,
'flowtype/require-valid-file-annotation': 0,
'import/no-extraneous-dependencies': 0,
'import/no-unresolved': 0,
'jest/no-focused-tests': 0,
'jest/no-identical-title': 0,
'jest/valid-expect': 0,
'no-undef': 0,
'no-unused-vars': 0,
'prettier/prettier': 0,
'react/jsx-no-undef': 0,
'react/react-in-jsx-scope': 0,
'sort-keys': 0,
},
},
{
files: ['examples/**/*'],
rules: {
'babel/func-params-comma-dangle': 0,
'import/no-unresolved': [2, {ignore: ['^react-native$']}],
'import/order': 0,
},
},
{
files: ['scripts/**/*', 'e2e/**/*'],
rules: {
'babel/func-params-comma-dangle': 0,
},
},
{
files: 'types/**/*',
rules: {
'import/no-extraneous-dependencies': 0,
},
},
{
files: [
'e2e/__tests__/**/*',
'packages/babel-jest/**/*.test.js',
'packages/babel-plugin-jest-hoist/**/*.test.js',
'packages/babel-preset-jest/**/*.test.js',
'packages/eslint-config-fb-strict/**/*.test.js',
'packages/eslint-plugin-jest/**/*.test.js',
'packages/jest-changed-files/**/*.test.js',
'packages/jest-circus/**/*.test.js',
'packages/jest-diff/**/*.test.js',
'packages/jest-docblock/**/*.test.js',
'packages/jest-editor-support/**/*.test.js',
'packages/jest/**/*.test.js',
'packages/pretty-format/**/*.test.js',
],
rules: {
'flowtype/require-valid-file-annotation': [2, 'always'],
},
},
{
files: [
'website/**',
'**/__tests__/**',
'e2e/**',
'**/pretty-format/perf/**',
],
rules: {
'import/no-extraneous-dependencies': 0,
},
},
],
parser: 'babel-eslint',
plugins: ['markdown', 'import', 'prettier'],
rules: {
'arrow-body-style': 2,
'flowtype/boolean-style': 2,
'flowtype/no-primitive-constructor-types': 2,
'flowtype/require-valid-file-annotation': 2,
'import/no-duplicates': 2,
'import/no-extraneous-dependencies': [
2,
{
devDependencies: [
'**/__tests__/**',
'**/__mocks__/**',
'**/?(*.)(spec|test).js?(x)',
'scripts/**',
'eslintImportResolver.js',
'testSetupFile.js',
],
},
],
// This has to be disabled until all type and module imports are combined
// https://github.com/benmosher/eslint-plugin-import/issues/645
'import/order': 0,
'no-console': 0,
'no-unused-vars': 2,
'prettier/prettier': 2,
},
settings: {
'import/resolver': {
[customImportResolver]: {
moduleNameMapper: {
'^types/(.*)': './types/$1',
},
},
},
},
};