45 lines
		
	
	
	
		
			1.1 KiB
		
	
	
	
		
			JavaScript
		
	
	
	
	
	
			
		
		
	
	
			45 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'],
 | |
|     },
 | |
|   },
 | |
| ]);
 |