This repository has no description
1// For more info, see https://github.com/storybookjs/eslint-plugin-storybook#configuration-flat-config-format
2import storybook from 'eslint-plugin-storybook';
3
4import js from '@eslint/js';
5import prettierPlugin from 'eslint-plugin-prettier';
6import tseslint from '@typescript-eslint/eslint-plugin';
7import tsparser from '@typescript-eslint/parser';
8
9export default [
10 js.configs.recommended,
11 {
12 ignores: [
13 'src/webapp/**',
14 'dist/**',
15 'node_modules/**',
16 'src/modules/atproto/infrastructure/lexicon/**',
17 'src/webapp/next-env.d.ts',
18 ],
19 },
20 {
21 files: ['**/*.js'],
22 languageOptions: {
23 ecmaVersion: 2022,
24 sourceType: 'script',
25 globals: {
26 console: 'readonly',
27 process: 'readonly',
28 Buffer: 'readonly',
29 __dirname: 'readonly',
30 __filename: 'readonly',
31 module: 'readonly',
32 require: 'readonly',
33 exports: 'readonly',
34 global: 'readonly',
35 setTimeout: 'readonly',
36 },
37 },
38 plugins: {
39 prettier: prettierPlugin,
40 },
41 rules: {
42 'prettier/prettier': 'error',
43 'no-unused-vars': 'warn',
44 'no-console': 'warn',
45 },
46 },
47 {
48 files: ['**/*.ts'],
49 plugins: {
50 '@typescript-eslint': tseslint,
51 prettier: prettierPlugin,
52 },
53 languageOptions: {
54 parser: tsparser,
55 ecmaVersion: 2022,
56 sourceType: 'module',
57 globals: {
58 console: 'readonly',
59 process: 'readonly',
60 Buffer: 'readonly',
61 __dirname: 'readonly',
62 __filename: 'readonly',
63 module: 'readonly',
64 require: 'readonly',
65 exports: 'readonly',
66 global: 'readonly',
67 fetch: 'readonly',
68 // Jest globals
69 describe: 'readonly',
70 test: 'readonly',
71 it: 'readonly',
72 expect: 'readonly',
73 beforeAll: 'readonly',
74 beforeEach: 'readonly',
75 afterAll: 'readonly',
76 afterEach: 'readonly',
77 jest: 'readonly',
78 URLSearchParams: 'readonly',
79 setTimeout: 'readonly',
80 NodeJS: 'readonly',
81 clearTimeout: 'readonly',
82 setImmediate: 'readonly',
83 setInterval: 'readonly',
84 clearInterval: 'readonly',
85 URL: 'readonly',
86 },
87 },
88 rules: {
89 'prettier/prettier': 'error',
90 'no-unused-vars': 'off', // Turn off base rule
91 '@typescript-eslint/no-unused-vars': 'warn',
92 'no-console': 'warn',
93 },
94 },
95 {
96 files: ['**/*.test.ts', '**/*.spec.ts'],
97 languageOptions: {
98 parser: tsparser,
99 ecmaVersion: 2022,
100 sourceType: 'module',
101 globals: {
102 console: 'readonly',
103 process: 'readonly',
104 Buffer: 'readonly',
105 __dirname: 'readonly',
106 __filename: 'readonly',
107 module: 'readonly',
108 require: 'readonly',
109 exports: 'readonly',
110 global: 'readonly',
111 fetch: 'readonly',
112 // Jest globals
113 describe: 'readonly',
114 test: 'readonly',
115 it: 'readonly',
116 expect: 'readonly',
117 beforeAll: 'readonly',
118 beforeEach: 'readonly',
119 afterAll: 'readonly',
120 afterEach: 'readonly',
121 jest: 'readonly',
122 // Browser globals for e2e tests using Playwright
123 document: 'readonly',
124 window: 'readonly',
125 navigator: 'readonly',
126 location: 'readonly',
127 setTimeout: 'readonly',
128 NodeJS: 'readonly',
129 clearTimeout: 'readonly',
130 },
131 },
132 plugins: {
133 '@typescript-eslint': tseslint,
134 prettier: prettierPlugin,
135 },
136 rules: {
137 'prettier/prettier': 'error',
138 'no-unused-vars': 'off',
139 '@typescript-eslint/no-unused-vars': 'warn',
140 'no-console': 'warn',
141 },
142 },
143 ...storybook.configs['flat/recommended'],
144];