rage-framework/eslint.config.ts

58 lines
1.6 KiB
TypeScript
Raw Normal View History

import globals from 'globals'
import pluginJs from '@eslint/js'
import tseslint from 'typescript-eslint'
import type { Linter } from 'eslint'
export default [
{
ignores: ['**/.*/*', '**/dist/*', '**/node_modules/*', '*.config.*'],
},
pluginJs.configs.recommended,
...(tseslint.configs.recommended as Linter.Config[]),
{
name: 'global',
rules: {
'@typescript-eslint/no-explicit-any': 'off',
'@typescript-eslint/no-unused-vars': [
'warn',
{
argsIgnorePattern: '^_',
varsIgnorePattern: '^_',
caughtErrorsIgnorePattern: '^_',
},
],
'@typescript-eslint/ban-ts-comment': 'off',
'@typescript-eslint/ban-types': 'off',
'consistent-return': 'off',
'no-empty': 'off',
},
},
{
name: 'browser/rpc',
files: ['browser/src/*.{ts,js}', 'rpc/src/*.{ts,js}'],
languageOptions: {
globals: { ...globals.browser, ...globals.node, ...globals.es2022 },
},
},
{
name: 'cli',
files: ['cli/src/*.{ts,js}'],
languageOptions: {
globals: { ...globals.node, ...globals.es2024 },
ecmaVersion: 2024,
},
},
{
name: 'client/server/shared',
files: [
'client/**/*.{ts,js}',
'server/**/*.{ts,js}',
'shared/**/*.{ts,js}',
],
languageOptions: {
globals: { ...globals.node, ...globals.es2022 },
},
},
] satisfies Linter.Config[]