forked from tyler-technologies-oss/forge
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy patheslint.config.mjs
More file actions
40 lines (39 loc) · 1.27 KB
/
Copy patheslint.config.mjs
File metadata and controls
40 lines (39 loc) · 1.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
import { defineConfig } from 'eslint/config';
import tylerPlugin from '@tylertech-eslint/eslint-plugin';
import pluginChaiFriendly from 'eslint-plugin-chai-friendly';
export default defineConfig([
{
name: 'Forge TypeScript files',
files: ['**/*.ts'],
extends: [tylerPlugin.configs.tsRecommended, tylerPlugin.configs.tsStylistic],
rules: {
'@typescript-eslint/no-explicit-any': 'off'
}
},
{
name: 'Forge JavaScript files',
files: ['**/*.js', '**/*.mjs'],
extends: [tylerPlugin.configs.recommended]
},
{
name: 'Modern tests (Web Test Runner + Mocha + Chai)',
files: ['src/**/*.test.ts'],
extends: [pluginChaiFriendly.configs.recommendedFlat],
rules: {
'@typescript-eslint/dot-notation': 'off',
'@typescript-eslint/no-non-null-assertion': 'off'
}
},
{
name: 'Legacy tests (Karma + Jasmine)',
files: ['src/test/**/*.ts'],
rules: {
'@typescript-eslint/explicit-function-return-type': 'off',
'@typescript-eslint/no-unused-vars': 'off',
'@typescript-eslint/consistent-type-assertions': 'off',
'@typescript-eslint/no-non-null-assertion': 'off',
'@typescript-eslint/dot-notation': 'off'
}
},
{ ignores: ['dist/**/*', 'src/dev/**/*', 'src/stories/**/*', '.storybook/**/*'] }
]);