|
| 1 | +import { defineConfig } from 'eslint/config' |
1 | 2 | import node from '@strv/eslint-config-node' |
2 | | -import nodeopt from '@strv/eslint-config-node/optional' |
| 3 | +import nodeoptional from '@strv/eslint-config-node/optional' |
3 | 4 | import nodestyle from '@strv/eslint-config-node/style' |
4 | 5 | import ts from '@strv/eslint-config-typescript' |
5 | | -import tsopt from '@strv/eslint-config-typescript/optional' |
| 6 | +import tsoptional from '@strv/eslint-config-typescript/optional' |
6 | 7 | import tsstyle from '@strv/eslint-config-typescript/style' |
7 | 8 |
|
8 | 9 | const globs = { |
9 | 10 | js: '**/*.js', |
| 11 | + cjs: '**/*.cjs', |
10 | 12 | mjs: '**/*.mjs', |
11 | 13 | ts: '**/*.ts', |
12 | | - testts: '**/*.test.ts', |
13 | 14 | dts: '**/*.d.ts', |
14 | 15 | } |
| 16 | +const ignores = [ |
| 17 | + globs.js, |
| 18 | + globs.dts, |
| 19 | + 'node_modules', |
| 20 | +] |
15 | 21 |
|
16 | | -/** @type {Array<import("eslint").Linter.Config>} */ |
17 | | -const config = [ |
18 | | - { linterOptions: { |
19 | | - reportUnusedDisableDirectives: true, |
20 | | - }, |
21 | | - ignores: [ |
22 | | - globs.js, |
23 | | - globs.dts, |
24 | | - 'node_modules', |
25 | | - ] }, |
26 | | - |
27 | | - { files: [globs.ts, globs.mjs], ...node }, |
28 | | - { files: [globs.ts, globs.mjs], ...nodeopt }, |
29 | | - { files: [globs.ts, globs.mjs], ...nodestyle }, |
30 | | - |
31 | | - { files: [globs.ts], ...ts }, |
32 | | - { files: [globs.ts], ...tsopt }, |
33 | | - { files: [globs.ts], ...tsstyle }, |
34 | | - |
35 | | - { files: [globs.mjs, globs.ts], |
| 22 | +export default defineConfig([ |
| 23 | + { ignores }, |
| 24 | + { files: [globs.ts, globs.mjs, globs.cjs, globs.js], |
| 25 | + extends: [ |
| 26 | + node, |
| 27 | + nodeoptional, |
| 28 | + nodestyle, |
| 29 | + ] }, |
| 30 | + { files: [globs.ts], |
| 31 | + extends: [ |
| 32 | + ts, |
| 33 | + tsoptional, |
| 34 | + tsstyle, |
| 35 | + ] }, |
| 36 | + { rules: { |
| 37 | + 'import/no-unresolved': 'off', |
| 38 | + } }, |
| 39 | + { files: ['**/*.test.ts'], |
36 | 40 | rules: { |
37 | | - // We depend on TypeScript and tests to catch unresolved module paths |
38 | | - 'import/no-unresolved': 'off', |
39 | | - 'import/no-extraneous-dependencies': ['error', { |
40 | | - devDependencies: [ |
41 | | - '*.config.{js,mjs}', |
42 | | - 'test/**', |
43 | | - ], |
44 | | - }], |
45 | | - } }, |
46 | | - { files: [globs.testts], |
47 | | - rules: { |
48 | | - 'id-length': 'off', |
49 | 41 | 'max-classes-per-file': 'off', |
50 | 42 | } }, |
51 | | -] |
52 | | - |
53 | | -export default config |
| 43 | +]) |
0 commit comments