-
Notifications
You must be signed in to change notification settings - Fork 4
Expand file tree
/
Copy patheslint.config.mjs
More file actions
81 lines (80 loc) · 1.89 KB
/
eslint.config.mjs
File metadata and controls
81 lines (80 loc) · 1.89 KB
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
import { defineConfig, globalIgnores } from 'eslint/config';
import { fixupPluginRules } from '@eslint/compat';
import markdown from '@eslint/markdown';
import tsEslint from 'typescript-eslint';
import ymlEslint from 'eslint-plugin-yml';
import json from '@eslint/json';
import jsEslint from '@eslint/js';
import reactHooks from 'eslint-plugin-react-hooks';
import reactEslint from 'eslint-plugin-react';
import reactNativeEslint from 'eslint-plugin-react-native';
export default defineConfig([
{
settings: {
react: {
version: 'detect',
},
},
files: ['**/*.{ts,tsx}'],
plugins: {
tsEslint,
jsEslint,
reactEslint,
'react-hooks': reactHooks,
'react-native': fixupPluginRules({
rules: reactNativeEslint.rules,
}),
},
extends: [
jsEslint.configs.recommended,
tsEslint.configs.recommended,
reactEslint.configs.flat.recommended,
reactHooks.configs.flat.recommended,
],
rules: {
...reactNativeEslint.configs.all.rules,
'@typescript-eslint/no-require-imports': [
'error',
{ allow: ['/*\\.png$'] },
],
},
},
{
files: ['**/*.{mjs}'],
plugins: { jsEslint },
extends: [jsEslint.configs.recommended],
},
{
files: ['**/*.md'],
plugins: { markdown },
processor: 'markdown/markdown',
},
{
files: ['**/*.ymlEslint'],
plugins: { ymlEslint },
extends: [ymlEslint.configs['flat/recommended']],
},
{
files: ['**/*.json'],
plugins: { json },
language: 'json/jsonc',
},
globalIgnores([
'.yarn/*',
'assets/*',
'coverage/*',
'example/.expo/*',
'example/.yarn/*',
'example/assets/*',
'example/node_modules/*',
'example/.gitignore',
'example/yarn.lock',
'node_modules/*',
'.gitignore',
'.npmignore',
'.prettierignore',
'.yarnrc.yml',
'LICENSE',
'yarn.lock',
]),
]);