{ "root": true, "parser": "@typescript-eslint/parser", "ignorePatterns": ["dist", "browser"], "plugins": [ "@typescript-eslint", "header", "simple-import-sort", "unused-imports", "path-alias" ], "settings": { "import/resolver": { "alias": { "map": [ ["@webpack", "./src/webpack"], ["@webpack/common", "./src/webpack/common"], ["@utils", "./src/utils"], ["@api", "./src/api"], ["@components", "./src/components"] ] } } }, "rules": { // Since it's only been a month and Vencord has already been stolen // by random skids who rebranded it to "AlphaCord" and erased all license // information "header/header": [ 2, "block", [ { "pattern": "!?", "template": " " }, " * Vencord, a modification for Discord's desktop app", { "pattern": " \\* Copyright \\(c\\) \\d{4}", "template": " * Copyright (c) 2023 Vendicated and contributors" }, " *", " * This program is free software: you can redistribute it and/or modify", " * it under the terms of the GNU General Public License as published by", " * the Free Software Foundation, either version 3 of the License, or", " * (at your option) any later version.", " *", " * This program is distributed in the hope that it will be useful,", " * but WITHOUT ANY WARRANTY; without even the implied warranty of", " * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the", " * GNU General Public License for more details.", " *", " * You should have received a copy of the GNU General Public License", " * along with this program. If not, see .", "" ], 2 ], "quotes": ["error", "double", { "avoidEscape": true }], "jsx-quotes": ["error", "prefer-double"], "no-mixed-spaces-and-tabs": "error", "indent": ["error", 4, { "SwitchCase": 1 }], "arrow-parens": ["error", "as-needed"], "eol-last": ["error", "always"], "func-call-spacing": ["error", "never"], "no-multi-spaces": "error", "no-trailing-spaces": "error", "no-whitespace-before-property": "error", "semi": ["error", "always"], "semi-style": ["error", "last"], "space-in-parens": ["error", "never"], "block-spacing": ["error", "always"], "object-curly-spacing": ["error", "always"], "eqeqeq": ["error", "always", { "null": "ignore" }], "spaced-comment": ["error", "always", { "markers": ["!"] }], "yoda": "error", "prefer-destructuring": ["error", { "object": true, "array": false }], "operator-assignment": ["error", "always"], "no-useless-computed-key": "error", "no-unneeded-ternary": ["error", { "defaultAssignment": false }], "no-invalid-regexp": "error", "no-constant-condition": ["error", { "checkLoops": false }], "no-duplicate-imports": "error", "no-extra-semi": "error", "dot-notation": "error", "no-useless-escape": [ "error", { "extra": "i" } ], "no-fallthrough": "error", "for-direction": "error", "no-async-promise-executor": "error", "no-cond-assign": "error", "no-dupe-else-if": "error", "no-duplicate-case": "error", "no-irregular-whitespace": "error", "no-loss-of-precision": "error", "no-misleading-character-class": "error", "no-prototype-builtins": "error", "no-regex-spaces": "error", "no-shadow-restricted-names": "error", "no-unexpected-multiline": "error", "no-unsafe-optional-chaining": "error", "no-useless-backreference": "error", "use-isnan": "error", "prefer-const": "error", "prefer-spread": "error", "simple-import-sort/imports": "error", "simple-import-sort/exports": "error", "unused-imports/no-unused-imports": "error", "path-alias/no-relative": "error" } }