mirror of
https://github.com/C4illin/ConvertX.git
synced 2025-11-01 04:23:32 +00:00
47 lines
1.5 KiB
JavaScript
47 lines
1.5 KiB
JavaScript
/** @type {import("eslint").Linter.Config} */
|
|
const config = {
|
|
root: true,
|
|
parser: "@typescript-eslint/parser",
|
|
plugins: ["isaacscript", "import"],
|
|
extends: [
|
|
"plugin:@typescript-eslint/recommended-type-checked",
|
|
"plugin:@typescript-eslint/stylistic-type-checked",
|
|
"plugin:prettier/recommended",
|
|
],
|
|
parserOptions: {
|
|
ecmaVersion: "latest",
|
|
sourceType: "module",
|
|
tsconfigRootDir: __dirname,
|
|
project: ["./tsconfig.json"],
|
|
},
|
|
overrides: [
|
|
// Template files don't have reliable type information
|
|
{
|
|
extends: ["plugin:@typescript-eslint/disable-type-checked"],
|
|
},
|
|
],
|
|
rules: {
|
|
// These off/not-configured-the-way-we-want lint rules we like & opt into
|
|
"@typescript-eslint/no-explicit-any": "error",
|
|
"@typescript-eslint/no-unused-vars": [
|
|
"error",
|
|
{ argsIgnorePattern: "^_", destructuredArrayIgnorePattern: "^_" },
|
|
],
|
|
"@typescript-eslint/consistent-type-imports": [
|
|
"error",
|
|
{ prefer: "type-imports", fixStyle: "inline-type-imports" },
|
|
],
|
|
"import/consistent-type-specifier-style": ["error", "prefer-inline"],
|
|
|
|
// For educational purposes we format our comments/jsdoc nicely
|
|
"isaacscript/complete-sentences-jsdoc": "warn",
|
|
"isaacscript/format-jsdoc-comments": "warn",
|
|
|
|
// These lint rules don't make sense for us but are enabled in the preset configs
|
|
"@typescript-eslint/no-confusing-void-expression": "off",
|
|
"@typescript-eslint/restrict-template-expressions": "off",
|
|
},
|
|
};
|
|
|
|
module.exports = config;
|