You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
49 lines
1.2 KiB
49 lines
1.2 KiB
// @ts-check |
|
|
|
import path from 'node:path'; |
|
|
|
import globals from 'globals'; |
|
import tseslint from 'typescript-eslint'; |
|
|
|
// eslint-disable-next-line import/no-relative-packages -- Must import from the root |
|
import { baseConfig } from '../eslint.config.mjs'; |
|
|
|
export default tseslint.config([ |
|
baseConfig, |
|
{ |
|
languageOptions: { |
|
globals: globals.node, |
|
|
|
parser: tseslint.parser, |
|
ecmaVersion: 2021, |
|
sourceType: 'module', |
|
}, |
|
|
|
settings: { |
|
'import/ignore': ['node_modules', '\\.(json)$'], |
|
'import/resolver': { |
|
typescript: { |
|
project: path.resolve(import.meta.dirname, './tsconfig.json'), |
|
}, |
|
}, |
|
}, |
|
|
|
rules: { |
|
// In the streaming server we need to delete some variables to ensure |
|
// garbage collection takes place on the values referenced by those objects; |
|
// The alternative is to declare the variable as nullable, but then we need |
|
// to assert it's in existence before every use, which becomes much harder |
|
// to maintain. |
|
'no-delete-var': 'off', |
|
|
|
'import/no-extraneous-dependencies': [ |
|
'error', |
|
{ |
|
devDependencies: ['**/*.config.mjs'], |
|
}, |
|
], |
|
|
|
'import/extensions': ['error', 'always'], |
|
}, |
|
}, |
|
]);
|
|
|