Skip to content

Commit e25e376

Browse files
authored
Merge branch 'master' into aryanshah/add_hooks
2 parents 99559a8 + 84ba19a commit e25e376

File tree

13 files changed

+418
-148
lines changed

13 files changed

+418
-148
lines changed

.eslintignore

Lines changed: 0 additions & 13 deletions
This file was deleted.

.eslintrc.js

Lines changed: 0 additions & 25 deletions
This file was deleted.

eslint.config.js

Lines changed: 150 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,150 @@
1+
const { FlatCompat } = require("@eslint/eslintrc");
2+
const js = require("@eslint/js");
3+
const tsParser = require("@typescript-eslint/parser");
4+
const react = require("eslint-plugin-react");
5+
const reactHooks = require("eslint-plugin-react-hooks");
6+
const typescript = require("@typescript-eslint/eslint-plugin");
7+
const storybook = require("eslint-plugin-storybook");
8+
const globals = require("globals");
9+
10+
const compat = new FlatCompat({
11+
baseDirectory: __dirname,
12+
recommendedConfig: js.configs.recommended,
13+
allConfig: js.configs.all
14+
});
15+
16+
module.exports = [
17+
// Global ignores
18+
{
19+
ignores: [
20+
"**/node_modules/**",
21+
"**/dist/**",
22+
"**/*.md",
23+
"**/jest.config.js",
24+
"**/vite.config.ts",
25+
"**/.eslintrc.cjs",
26+
"**/site/**",
27+
"apps/next-12/**",
28+
"**/.yarnrc.yml",
29+
"**/.eslintrc.*js",
30+
"**/*.config.*js",
31+
"**/eslint-config-sistent/**",
32+
"apps/design-system/**",
33+
"examples/**",
34+
"**/build/**",
35+
"**/coverage/**",
36+
]
37+
},
38+
39+
// Test files configuration
40+
{
41+
files: ["**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**/*.{js,jsx,ts,tsx}"],
42+
43+
languageOptions: {
44+
globals: {
45+
...globals.browser,
46+
...globals.node,
47+
...globals.jest,
48+
React: "readonly",
49+
JSX: "readonly",
50+
NodeJS: "readonly",
51+
},
52+
parser: tsParser,
53+
ecmaVersion: "latest",
54+
sourceType: "module",
55+
parserOptions: {
56+
requireConfigFile: false,
57+
ecmaFeatures: {
58+
jsx: true,
59+
},
60+
},
61+
},
62+
63+
plugins: {
64+
react,
65+
"react-hooks": reactHooks,
66+
"@typescript-eslint": typescript,
67+
storybook,
68+
},
69+
70+
rules: {
71+
// ESLint recommended rules
72+
...js.configs.recommended.rules,
73+
74+
// TypeScript recommended rules
75+
...typescript.configs.recommended.rules,
76+
77+
// React hooks recommended rules
78+
...reactHooks.configs.recommended.rules,
79+
80+
// Storybook recommended rules
81+
...storybook.configs.recommended.rules,
82+
},
83+
84+
settings: {
85+
react: {
86+
version: "detect",
87+
},
88+
},
89+
90+
linterOptions: {
91+
reportUnusedDisableDirectives: true,
92+
},
93+
},
94+
95+
// Main configuration - matches old .eslintrc.js
96+
{
97+
files: ["**/*.{js,jsx,ts,tsx}"],
98+
ignores: ["**/*.test.{js,jsx,ts,tsx}", "**/__tests__/**/*.{js,jsx,ts,tsx}"],
99+
100+
languageOptions: {
101+
globals: {
102+
...globals.browser,
103+
...globals.node,
104+
React: "readonly",
105+
JSX: "readonly",
106+
NodeJS: "readonly",
107+
},
108+
parser: tsParser,
109+
ecmaVersion: "latest",
110+
sourceType: "module",
111+
parserOptions: {
112+
requireConfigFile: false,
113+
ecmaFeatures: {
114+
jsx: true,
115+
},
116+
},
117+
},
118+
119+
plugins: {
120+
react,
121+
"react-hooks": reactHooks,
122+
"@typescript-eslint": typescript,
123+
storybook,
124+
},
125+
126+
rules: {
127+
// ESLint recommended rules
128+
...js.configs.recommended.rules,
129+
130+
// TypeScript recommended rules
131+
...typescript.configs.recommended.rules,
132+
133+
// React hooks recommended rules
134+
...reactHooks.configs.recommended.rules,
135+
136+
// Storybook recommended rules
137+
...storybook.configs.recommended.rules,
138+
},
139+
140+
settings: {
141+
react: {
142+
version: "detect",
143+
},
144+
},
145+
146+
linterOptions: {
147+
reportUnusedDisableDirectives: true,
148+
},
149+
}
150+
];

0 commit comments

Comments
 (0)