This repository has no description
3.6 kB
139 lines
1import js from '@eslint/js';
2import prettierPlugin from 'eslint-plugin-prettier';
3import tseslint from '@typescript-eslint/eslint-plugin';
4import tsparser from '@typescript-eslint/parser';
5
6export default [
7 js.configs.recommended,
8 {
9 ignores: [
10 'src/webapp/**',
11 'dist/**',
12 'node_modules/**',
13 'src/modules/atproto/infrastructure/lexicon/**',
14 ],
15 },
16 {
17 files: ['**/*.js'],
18 languageOptions: {
19 ecmaVersion: 2022,
20 sourceType: 'script',
21 globals: {
22 console: 'readonly',
23 process: 'readonly',
24 Buffer: 'readonly',
25 __dirname: 'readonly',
26 __filename: 'readonly',
27 module: 'readonly',
28 require: 'readonly',
29 exports: 'readonly',
30 global: 'readonly',
31 setTimeout: 'readonly',
32 },
33 },
34 plugins: {
35 prettier: prettierPlugin,
36 },
37 rules: {
38 'prettier/prettier': 'error',
39 'no-unused-vars': 'warn',
40 'no-console': 'warn',
41 },
42 },
43 {
44 files: ['**/*.ts'],
45 plugins: {
46 '@typescript-eslint': tseslint,
47 prettier: prettierPlugin,
48 },
49 languageOptions: {
50 parser: tsparser,
51 ecmaVersion: 2022,
52 sourceType: 'module',
53 globals: {
54 console: 'readonly',
55 process: 'readonly',
56 Buffer: 'readonly',
57 __dirname: 'readonly',
58 __filename: 'readonly',
59 module: 'readonly',
60 require: 'readonly',
61 exports: 'readonly',
62 global: 'readonly',
63 fetch: 'readonly',
64 // Jest globals
65 describe: 'readonly',
66 test: 'readonly',
67 it: 'readonly',
68 expect: 'readonly',
69 beforeAll: 'readonly',
70 beforeEach: 'readonly',
71 afterAll: 'readonly',
72 afterEach: 'readonly',
73 jest: 'readonly',
74 URLSearchParams: 'readonly',
75 setTimeout: 'readonly',
76 NodeJS: 'readonly',
77 clearTimeout: 'readonly',
78 setImmediate: 'readonly',
79 setInterval: 'readonly',
80 clearInterval: 'readonly',
81 URL: '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];