70 lines
1.8 KiB
JavaScript
70 lines
1.8 KiB
JavaScript
const { FlatCompat } = require("@eslint/eslintrc")
|
|
const js = require("@eslint/js")
|
|
const tsParser = require("@typescript-eslint/parser")
|
|
const typescriptEslintPlugin = require("@typescript-eslint/eslint-plugin")
|
|
const prettierPlugin = require("eslint-plugin-prettier")
|
|
const globals = require("globals")
|
|
|
|
const compat = new FlatCompat({
|
|
baseDirectory: __dirname,
|
|
recommendedConfig: js.configs.recommended,
|
|
allConfig: js.configs.all,
|
|
})
|
|
|
|
module.exports = [
|
|
{
|
|
ignores: [
|
|
"dist/**",
|
|
"node_modules/**",
|
|
"**/*.d.ts",
|
|
"eslint.config.cjs",
|
|
".prettierrc.cjs",
|
|
"src/bootstrap-code/**",
|
|
],
|
|
},
|
|
...compat.extends(
|
|
"eslint:recommended",
|
|
"plugin:prettier/recommended",
|
|
"plugin:@typescript-eslint/eslint-recommended",
|
|
"plugin:@typescript-eslint/recommended"
|
|
),
|
|
{
|
|
files: ["**/*.ts", "**/*.js"],
|
|
linterOptions: {
|
|
reportUnusedDisableDirectives: false,
|
|
},
|
|
languageOptions: {
|
|
parser: tsParser,
|
|
sourceType: "module",
|
|
ecmaVersion: 2021,
|
|
globals: {
|
|
...globals.node,
|
|
...globals.jest,
|
|
...globals.browser,
|
|
},
|
|
},
|
|
plugins: {
|
|
"@typescript-eslint": typescriptEslintPlugin,
|
|
prettier: prettierPlugin,
|
|
},
|
|
rules: {
|
|
semi: [2, "never"],
|
|
"prettier/prettier": ["warn", { semi: false, trailingComma: "es5" }],
|
|
"no-undef": "off",
|
|
"@typescript-eslint/no-explicit-any": "off",
|
|
"@typescript-eslint/no-non-null-assertion": "off",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{
|
|
args: "all",
|
|
argsIgnorePattern: "^_",
|
|
caughtErrors: "all",
|
|
caughtErrorsIgnorePattern: "^_",
|
|
destructuredArrayIgnorePattern: "^_",
|
|
varsIgnorePattern: "^_",
|
|
ignoreRestSiblings: true,
|
|
},
|
|
],
|
|
},
|
|
},
|
|
]
|