11{
2- "extends" : [
3- " next/core-web-vitals" ,
4- " airbnb" ,
5- " airbnb-typescript" ,
6- " prettier" ,
7- " plugin:@typescript-eslint/recommended"
8- ],
9- "plugins" : [" react" , " @typescript-eslint" , " prettier" ],
10- "env" : {
11- "browser" : true ,
12- "es2023" : true ,
13- "node" : true
14- },
15- "parser" : " @typescript-eslint/parser" ,
16- "parserOptions" : {
17- "project" : " ./tsconfig.json" ,
18- "ecmaFeatures" : {
19- "jsx" : true
20- },
21- "ecmaVersion" : " latest" ,
22- "sourceType" : " module"
23- },
24- "rules" : {
25- "@typescript-eslint/no-misused-promises" : [
26- " error" ,
27- {
28- "checksConditionals" : false ,
29- "checksVoidReturn" : false
30- }
31- ],
32- "no-underscore-dangle" : " off" ,
33- "react/react-in-jsx-scope" : " off" ,
34- "react/prop-types" : " off" ,
35- "react/require-default-props" : " off" ,
36- "react/default-props-match-prop-types" : " off" ,
37- "react/jsx-props-no-spreading" : " off" ,
38- "import/prefer-default-export" : " off" ,
39- "no-param-reassign" : " off" ,
40- "import/no-extraneous-dependencies" : [
41- " error" ,
42- {
43- "devDependencies" : [
44- " **/*.test.ts" ,
45- " **/*.test.tsx" ,
46- " **/playwright.config.ts" ,
47- " tests/**/*"
48- ]
49- }
50- ],
51- "import/extensions" : [
52- " error" ,
53- " ignorePackages" ,
54- {
55- "ts" : " never" ,
56- "tsx" : " never"
57- }
58- ],
59- "import/no-unresolved" : " error" ,
60- "consistent-return" : " off" ,
61- "arrow-body-style" : " off" ,
62- "prefer-arrow-callback" : " off" ,
63- "react/jsx-filename-extension" : [" error" , { "extensions" : [" .tsx" , " .jsx" ] }],
64- "react/function-component-definition" : [
65- " error" ,
66- {
67- "namedComponents" : " arrow-function" ,
68- "unnamedComponents" : " arrow-function"
69- }
70- ],
71- "prettier/prettier" : " warn" ,
72- "jsx-a11y/anchor-is-valid" : [
73- " error" ,
74- {
75- "components" : [" Link" ],
76- "specialLink" : [" hrefLeft" , " hrefRight" ],
77- "aspects" : [" invalidHref" , " preferButton" ]
78- }
79- ],
80- "jsx-a11y/label-has-associated-control" : [
81- " error" ,
82- {
83- "required" : {
84- "some" : [" nesting" , " id" ]
85- }
86- }
87- ],
88- "jsx-a11y/control-has-associated-label" : " off" ,
89- "@next/next/no-img-element" : " off" ,
90- "react/no-danger" : " off" ,
91- "no-void" : [" error" , { "allowAsStatement" : true }]
2+ "extends" : [
3+ " next/core-web-vitals" ,
4+ " airbnb" ,
5+ " airbnb-typescript" ,
6+ " plugin:@typescript-eslint/recommended" ,
7+ " prettier"
8+ ],
9+ "plugins" : [" react" , " @typescript-eslint" ],
10+ "env" : {
11+ "browser" : true ,
12+ "es2023" : true ,
13+ "node" : true
14+ },
15+ "parser" : " @typescript-eslint/parser" ,
16+ "parserOptions" : {
17+ "project" : " ./tsconfig.json" ,
18+ "ecmaFeatures" : {
19+ "jsx" : true
9220 },
93- "settings" : {
94- "react" : {
95- "version" : " detect"
96- },
97- "import/resolver" : {
98- "typescript" : {},
99- "node" : {
100- "extensions" : [" .js" , " .jsx" , " .ts" , " .tsx" ]
101- }
21+ "ecmaVersion" : " latest" ,
22+ "sourceType" : " module"
23+ },
24+ "rules" : {
25+ "complexity" : [" warn" , { "max" : 10 }],
26+ "@typescript-eslint/no-misused-promises" : [
27+ " error" ,
28+ {
29+ "checksConditionals" : false ,
30+ "checksVoidReturn" : false
31+ }
32+ ],
33+ "no-underscore-dangle" : " off" ,
34+ "react/react-in-jsx-scope" : " off" ,
35+ "react/prop-types" : " off" ,
36+ "react/require-default-props" : " off" ,
37+ "react/default-props-match-prop-types" : " off" ,
38+ "react/jsx-props-no-spreading" : " off" ,
39+ "import/prefer-default-export" : " off" ,
40+ "no-param-reassign" : " off" ,
41+ "import/no-extraneous-dependencies" : [
42+ " error" ,
43+ {
44+ "devDependencies" : [
45+ " **/*.test.ts" ,
46+ " **/*.test.tsx" ,
47+ " **/playwright.config.ts" ,
48+ " tests/**/*"
49+ ]
50+ }
51+ ],
52+ "import/extensions" : [
53+ " error" ,
54+ " ignorePackages" ,
55+ {
56+ "ts" : " never" ,
57+ "tsx" : " never"
58+ }
59+ ],
60+ "import/no-unresolved" : " error" ,
61+ "consistent-return" : " off" ,
62+ "arrow-body-style" : " off" ,
63+ "prefer-arrow-callback" : " off" ,
64+ "react/jsx-filename-extension" : [" error" , { "extensions" : [" .tsx" , " .jsx" ] }],
65+ "react/function-component-definition" : [
66+ " error" ,
67+ {
68+ "namedComponents" : " arrow-function" ,
69+ "unnamedComponents" : " arrow-function"
70+ }
71+ ],
72+ "jsx-a11y/anchor-is-valid" : [
73+ " error" ,
74+ {
75+ "components" : [" Link" ],
76+ "specialLink" : [" hrefLeft" , " hrefRight" ],
77+ "aspects" : [" invalidHref" , " preferButton" ]
78+ }
79+ ],
80+ "jsx-a11y/label-has-associated-control" : [
81+ " error" ,
82+ {
83+ "required" : {
84+ "some" : [" nesting" , " id" ]
10285 }
86+ }
87+ ],
88+ "jsx-a11y/control-has-associated-label" : " off" ,
89+ "@next/next/no-img-element" : " off" ,
90+ "react/no-danger" : " off" ,
91+ "no-void" : [" error" , { "allowAsStatement" : true }]
92+ },
93+ "settings" : {
94+ "react" : {
95+ "version" : " detect"
10396 },
104- "overrides" : [
105- {
106- "files" : [" *.js" ],
107- "rules" : {
108- "@typescript-eslint/no-unsafe-assignment" : " off" ,
109- "@typescript-eslint/no-var-requires" : " off" ,
110- "@typescript-eslint/no-unsafe-call" : " off" ,
111- "@typescript-eslint/no-unsafe-member-access" : " off" ,
112- "@typescript-eslint/no-unsafe-return" : " off"
113- }
114- }
115- ]
116- }
97+ "import/resolver" : {
98+ "typescript" : {},
99+ "node" : {
100+ "extensions" : [" .js" , " .jsx" , " .ts" , " .tsx" ]
101+ }
102+ }
103+ },
104+ "overrides" : [
105+ {
106+ "files" : [" *.js" ],
107+ "rules" : {
108+ "@typescript-eslint/no-unsafe-assignment" : " off" ,
109+ "@typescript-eslint/no-var-requires" : " off" ,
110+ "@typescript-eslint/no-unsafe-call" : " off" ,
111+ "@typescript-eslint/no-unsafe-member-access" : " off" ,
112+ "@typescript-eslint/no-unsafe-return" : " off"
113+ }
114+ }
115+ ]
116+ }
0 commit comments