forked from robhogan/metro
-
Notifications
You must be signed in to change notification settings - Fork 0
/
.eslintrc.js
78 lines (74 loc) · 1.8 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
/**
* Copyright (c) Meta Platforms, Inc. and affiliates.
*
* This source code is licensed under the MIT license found in the
* LICENSE file in the root directory of this source tree.
*
* @format
*/
'use strict';
const path = require('path');
require('eslint-plugin-lint').load(path.join(__dirname, 'eslint-rules'));
module.exports = {
env: {
node: true,
},
extends: ['eslint-config-fb-strict', 'plugin:prettier/recommended'],
plugins: ['babel', 'flowtype', 'import', 'lint', 'prettier'],
parser: 'babel-eslint',
rules: {
'babel/quotes': ['error', 'single', 'avoid-escape'],
'consistent-return': 'error',
'import/no-extraneous-dependencies': 'error',
'lint/extra-arrow-initializer': 'off',
'lint/strictly-null': 'warn',
'max-len': 'off',
'no-alert': 'error',
'no-console': 'error',
'no-unused-vars': 'error',
'no-var': 'off',
'prefer-const': ['warn', {destructuring: 'all'}],
quotes: 'off',
'sort-keys': 'off',
'flowtype/object-type-delimiter': 'off',
},
overrides: [
{
files: ['flow-typed/**/*.js'],
rules: {
'babel/quotes': 'off',
'lint/flow-function-shape': 'off',
},
},
{
files: ['packages/metro-source-map/**/*.js'],
rules: {
'operator-assignment': ['error', 'never'],
},
env: {
node: true,
},
},
{
files: ['scripts/**/*.js'],
rules: {
'babel/func-params-comma-dangle': 'off',
'import/no-extraneous-dependencies': 'off',
},
},
{
files: ['**/__tests__/**/*.js'],
env: {
jest: true,
},
rules: {
'babel/quotes': [
'error',
'single',
{avoidEscape: true, allowTemplateLiterals: true},
],
quotes: 'off',
},
},
],
};