-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy patheslint.config.js
41 lines (39 loc) · 1.13 KB
/
eslint.config.js
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
41
const globals = require('globals');
const configAckamaBase = require('./index');
const configAckamaJest = require('./jest');
const configAckamaTypeScript = require('./typescript');
/** @type {import('eslint').Linter.FlatConfig[]} */
const config = [
{ name: 'custom: files', files: ['**/*.{js,jsx,cjs,mjs,ts,tsx,cts,mts}'] },
.../** @type {import('eslint').Linter.FlatConfig[]} */ (configAckamaBase),
.../** @type {import('eslint').Linter.FlatConfig[]} */ (
configAckamaTypeScript
),
{
name: 'custom: options',
languageOptions: {
parserOptions: { project: true },
globals: globals.node
}
},
.../** @type {import('eslint').Linter.FlatConfig[]} */ (configAckamaJest).map(
c => ({ ...c, files: ['**/*.spec.*'] })
),
{
name: 'custom: JavaScript scripts',
files: ['**/*.js'],
languageOptions: { sourceType: 'script' },
rules: {
'@typescript-eslint/no-require-imports': 'off',
'@typescript-eslint/no-var-requires': 'off'
}
},
{
name: 'custom: declaration files',
files: ['**/*.d.ts'],
rules: {
'max-classes-per-file': 'off'
}
}
];
module.exports = config;