118 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
			
		
		
	
	
			118 lines
		
	
	
	
		
			4.5 KiB
		
	
	
	
		
			JSON
		
	
	
	
	
	
| {
 | |
|     "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 <https://www.gnu.org/licenses/>.",
 | |
|                 ""
 | |
|             ],
 | |
|             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"],
 | |
|         "@typescript-eslint/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"
 | |
|     }
 | |
| }
 |