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',
|
||
|
|
},
|
||
|
|
},
|
||
|
|
]
|