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