blob: 3520593eef28584c7d619ebb438bfea27b6b33ee [file] [log] [blame]
import eslintConfigPrettier from "eslint-config-prettier";
import stylistic from "@stylistic/eslint-plugin";
import eslint from "@eslint/js";
import tseslint from "typescript-eslint";
import stylisticJs from "@stylistic/eslint-plugin-js";
import { type FlatESLintConfig } from "eslint-define-config";
const config: FlatESLintConfig[] = [
eslintConfigPrettier,
eslint.configs.recommended,
stylisticJs.configs["disable-legacy"],
...tseslint.configs.recommended,
stylistic.configs.customize({
indent: 4,
quotes: "double",
semi: true,
braceStyle: "1tbs",
arrowParens: true,
}),
{
rules: {
"no-console": "warn",
"@typescript-eslint/no-unused-vars": [
"error",
{
args: "all",
argsIgnorePattern: "^_",
caughtErrors: "all",
caughtErrorsIgnorePattern: "^_",
destructuredArrayIgnorePattern: "^_",
varsIgnorePattern: "^_",
ignoreRestSiblings: true,
},
],
// the following stylistic lints conflict with prettier
"@stylistic/operator-linebreak": "off",
"@stylistic/indent-binary-ops": "off",
"@stylistic/indent": "off",
"@stylistic/brace-style": "off",
"@stylistic/quotes": "off",
},
},
{
ignores: ["out/", ".vscode-test/", "node_modules/"],
},
];
export default config;
OSZAR »