mirror of https://github.com/glitch-soc/mastodon
46 lines
1.1 KiB
JavaScript
46 lines
1.1 KiB
JavaScript
// @ts-check
|
|
|
|
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: {},
|
|
},
|
|
},
|
|
|
|
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'],
|
|
},
|
|
},
|
|
]);
|