VibeGame / eslint.config.js
dylanebert
refactor
bc7e9cd
import js from "@eslint/js";
import tseslint from "@typescript-eslint/eslint-plugin";
import tsparser from "@typescript-eslint/parser";
import prettierConfig from "eslint-config-prettier";
import importPlugin from "eslint-plugin-import";
import prettier from "eslint-plugin-prettier";
export default [
js.configs.recommended,
{
files: ["**/*.ts", "**/*.tsx"],
languageOptions: {
parser: tsparser,
parserOptions: {
ecmaVersion: "latest",
sourceType: "module",
},
globals: {
console: "readonly",
window: "readonly",
document: "readonly",
HTMLElement: "readonly",
HTMLCanvasElement: "readonly",
KeyboardEvent: "readonly",
MouseEvent: "readonly",
WheelEvent: "readonly",
requestAnimationFrame: "readonly",
cancelAnimationFrame: "readonly",
performance: "readonly",
process: "readonly",
WebSocket: "readonly",
setTimeout: "readonly",
clearTimeout: "readonly",
setInterval: "readonly",
clearInterval: "readonly",
sessionStorage: "readonly",
localStorage: "readonly",
AbortController: "readonly",
AbortSignal: "readonly",
DOMParser: "readonly",
Document: "readonly",
Element: "readonly",
HTMLCollectionOf: "readonly",
},
},
plugins: {
"@typescript-eslint": tseslint,
prettier: prettier,
import: importPlugin,
},
rules: {
...tseslint.configs.recommended.rules,
...prettierConfig.rules,
"prettier/prettier": "error",
"@typescript-eslint/no-unused-vars": [
"error",
{ argsIgnorePattern: "^_", varsIgnorePattern: "^_" },
],
"@typescript-eslint/explicit-function-return-type": "off",
"@typescript-eslint/explicit-module-boundary-types": "off",
"@typescript-eslint/no-explicit-any": "warn",
"no-console": "off",
},
},
{
ignores: ["dist/**", "node_modules/**"],
},
];