78 lines
2.0 KiB
TypeScript
78 lines
2.0 KiB
TypeScript
import { defineConfig, globalIgnores } from "eslint/config";
|
|
import prettier from "eslint-plugin-prettier";
|
|
import path from "node:path";
|
|
import { fileURLToPath } from "node:url";
|
|
import js from "@eslint/js";
|
|
import { FlatCompat } from "@eslint/eslintrc";
|
|
import base from "@whiskeysockets/eslint-config";
|
|
|
|
|
|
const __filename = fileURLToPath(import.meta.url);
|
|
const __dirname = path.dirname(__filename);
|
|
const compat = new FlatCompat({
|
|
baseDirectory: __dirname,
|
|
recommendedConfig: js.configs.recommended,
|
|
allConfig: js.configs.all
|
|
});
|
|
|
|
export default defineConfig([globalIgnores([
|
|
"src/Tests/*",
|
|
"**/lib",
|
|
"**/coverage",
|
|
"**/*.lock",
|
|
"**/.eslintrc.json",
|
|
"src/WABinary/index.ts",
|
|
"**/WAProto",
|
|
"Example/Example.ts",
|
|
"**/docs",
|
|
"**/proto-extract",
|
|
]),
|
|
...base,
|
|
{
|
|
extends: [
|
|
...compat.extends("plugin:@typescript-eslint/recommended"),
|
|
...compat.extends("plugin:@typescript-eslint/recommended-requiring-type-checking"),
|
|
...compat.extends("plugin:prettier/recommended"),
|
|
],
|
|
|
|
|
|
plugins: {
|
|
prettier,
|
|
},
|
|
|
|
languageOptions: {
|
|
ecmaVersion: 5,
|
|
sourceType: "module",
|
|
|
|
parserOptions: {
|
|
project: "./tsconfig.json",
|
|
},
|
|
},
|
|
|
|
rules: {
|
|
camelcase: "off",
|
|
indent: "off",
|
|
|
|
"@typescript-eslint/no-explicit-any": ["warn", {
|
|
ignoreRestArgs: true,
|
|
}],
|
|
|
|
"@typescript-eslint/no-inferrable-types": ["warn"],
|
|
"@typescript-eslint/no-redundant-type-constituents": ["warn"],
|
|
"@typescript-eslint/no-unnecessary-type-assertion": ["warn"],
|
|
"no-restricted-syntax": "off",
|
|
"keyword-spacing": "off",
|
|
"implicit-arrow-linebreak": ["off"],
|
|
|
|
"space-before-function-paren": ["error", {
|
|
anonymous: "always",
|
|
named: "never",
|
|
asyncArrow: "always",
|
|
}],
|
|
"@typescript-eslint/no-floating-promises": "error",
|
|
"@typescript-eslint/no-unused-vars": ["error", {
|
|
caughtErrors: "none",
|
|
}],
|
|
},
|
|
}]);
|