Sets up ESLint 10 flat config with @typescript-eslint/no-floating-promises (error) and no-console (warn, allow warn/error). Fixes all floating promise errors in server routes, orchestrator reader cleanup, and frontend composables with void operator. Game engine files get warning-level for intentional fire-and-forget async. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
32 lines
791 B
JavaScript
32 lines
791 B
JavaScript
import tseslint from '@typescript-eslint/eslint-plugin'
|
|
import tsparser from '@typescript-eslint/parser'
|
|
|
|
export default [
|
|
{
|
|
ignores: ['**/dist/**', '**/node_modules/**', '**/*.js', '**/*.mjs', '**/*.cjs', '**/*.vue'],
|
|
},
|
|
{
|
|
files: ['**/*.ts'],
|
|
languageOptions: {
|
|
parser: tsparser,
|
|
parserOptions: {
|
|
projectService: true,
|
|
},
|
|
},
|
|
plugins: {
|
|
'@typescript-eslint': tseslint,
|
|
},
|
|
rules: {
|
|
'@typescript-eslint/no-floating-promises': 'error',
|
|
'no-console': ['warn', { allow: ['warn', 'error'] }],
|
|
},
|
|
},
|
|
// Frontend game engine: fire-and-forget async (audio, animations) is intentional
|
|
{
|
|
files: ['frontend/src/game/**/*.ts'],
|
|
rules: {
|
|
'@typescript-eslint/no-floating-promises': 'warn',
|
|
},
|
|
},
|
|
]
|