This repository has no description
3.7 kB
140 lines
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 ],
18 },
19 {
20 files: ['**/*.js'],
21 languageOptions: {
22 ecmaVersion: 2022,
23 sourceType: 'script',
24 globals: {
25 console: 'readonly',
26 process: 'readonly',
27 Buffer: 'readonly',
28 __dirname: 'readonly',
29 __filename: 'readonly',
30 module: 'readonly',
31 require: 'readonly',
32 exports: 'readonly',
33 global: 'readonly',
34 setTimeout: 'readonly',
35 },
36 },
37 plugins: {
38 prettier: prettierPlugin,
39 },
40 rules: {
41 'prettier/prettier': 'error',
42 'no-unused-vars': 'warn',
43 'no-console': 'warn',
44 },
45 },
46 {
47 files: ['**/*.ts'],
48 plugins: {
49 '@typescript-eslint': tseslint,
50 prettier: prettierPlugin,
51 },
52 languageOptions: {
53 parser: tsparser,
54 ecmaVersion: 2022,
55 sourceType: 'module',
56 globals: {
57 console: 'readonly',
58 process: 'readonly',
59 Buffer: 'readonly',
60 __dirname: 'readonly',
61 __filename: 'readonly',
62 module: 'readonly',
63 require: 'readonly',
64 exports: 'readonly',
65 global: 'readonly',
66 fetch: 'readonly',
67 // Jest globals
68 describe: 'readonly',
69 test: 'readonly',
70 it: 'readonly',
71 expect: 'readonly',
72 beforeAll: 'readonly',
73 beforeEach: 'readonly',
74 afterAll: 'readonly',
75 afterEach: 'readonly',
76 jest: 'readonly',
77 URLSearchParams: 'readonly',
78 setTimeout: 'readonly',
79 NodeJS: 'readonly',
80 clearTimeout: 'readonly',
81 setImmediate: 'readonly',
82 },
83 },
84 rules: {
85 'prettier/prettier': 'error',
86 'no-unused-vars': 'off', // Turn off base rule
87 '@typescript-eslint/no-unused-vars': 'warn',
88 'no-console': 'warn',
89 },
90 },
91 {
92 files: ['**/*.test.ts', '**/*.spec.ts'],
93 languageOptions: {
94 parser: tsparser,
95 ecmaVersion: 2022,
96 sourceType: 'module',
97 globals: {
98 console: 'readonly',
99 process: 'readonly',
100 Buffer: 'readonly',
101 __dirname: 'readonly',
102 __filename: 'readonly',
103 module: 'readonly',
104 require: 'readonly',
105 exports: 'readonly',
106 global: 'readonly',
107 fetch: 'readonly',
108 // Jest globals
109 describe: 'readonly',
110 test: 'readonly',
111 it: 'readonly',
112 expect: 'readonly',
113 beforeAll: 'readonly',
114 beforeEach: 'readonly',
115 afterAll: 'readonly',
116 afterEach: 'readonly',
117 jest: 'readonly',
118 // Browser globals for e2e tests using Playwright
119 document: 'readonly',
120 window: 'readonly',
121 navigator: 'readonly',
122 location: 'readonly',
123 setTimeout: 'readonly',
124 NodeJS: 'readonly',
125 clearTimeout: 'readonly',
126 },
127 },
128 plugins: {
129 '@typescript-eslint': tseslint,
130 prettier: prettierPlugin,
131 },
132 rules: {
133 'prettier/prettier': 'error',
134 'no-unused-vars': 'off',
135 '@typescript-eslint/no-unused-vars': 'warn',
136 'no-console': 'warn',
137 },
138 },
139 ...storybook.configs['flat/recommended'],
140];