Setup ESLint
This commit is contained in:
parent
1436b120a0
commit
48a83e2078
7
.editorconfig
Normal file
7
.editorconfig
Normal file
|
@ -0,0 +1,7 @@
|
|||
root = true
|
||||
|
||||
[*]
|
||||
end_of_line = lf
|
||||
indent_style = space
|
||||
indent_size = 2
|
||||
insert_final_newline = true
|
250
.eslintrc.json
Normal file
250
.eslintrc.json
Normal file
|
@ -0,0 +1,250 @@
|
|||
{
|
||||
"root": true,
|
||||
"extends": ["eslint:recommended", "plugin:@typescript-eslint/recommended"],
|
||||
"parser": "@typescript-eslint/parser",
|
||||
"plugins": ["@typescript-eslint", "react"],
|
||||
"globals": {
|
||||
"powercord": true,
|
||||
"webpackChunkdiscord_app": true,
|
||||
"DiscordNative": false,
|
||||
"PowercordNative": false,
|
||||
"GLOBAL_ENV": true,
|
||||
"BigInt": false
|
||||
},
|
||||
"parserOptions": {
|
||||
"ecmaVersion": 2021,
|
||||
"sourceType": "script",
|
||||
"ecmaFeatures": {
|
||||
"jsx": true
|
||||
},
|
||||
"project": ["./tsconfig.json"]
|
||||
},
|
||||
"env": {
|
||||
"node": true,
|
||||
"es6": true,
|
||||
"browser": true
|
||||
},
|
||||
"rules": {
|
||||
"for-direction": [ "error" ],
|
||||
"getter-return": [ "error" ],
|
||||
"no-compare-neg-zero": [ "error" ],
|
||||
"no-cond-assign": [ "error" ],
|
||||
"no-constant-condition": [ "error" ],
|
||||
"no-control-regex": [ "error" ],
|
||||
"no-debugger": [ "error" ],
|
||||
"no-dupe-args": [ "error" ],
|
||||
"no-dupe-keys": [ "error" ],
|
||||
"no-duplicate-case": [ "error" ],
|
||||
"no-empty": [ "error", {
|
||||
"allowEmptyCatch": true
|
||||
}],
|
||||
"no-empty-character-class": [ "error" ],
|
||||
"no-extra-boolean-cast": [ "error" ],
|
||||
"@typescript-eslint/no-extra-semi": [ "error" ],
|
||||
"no-func-assign": [ "error" ],
|
||||
"no-invalid-regexp": [ "error" ],
|
||||
"no-irregular-whitespace": [ "error", {
|
||||
"skipStrings": true,
|
||||
"skipRegExps": true
|
||||
}],
|
||||
"no-obj-calls": [ "error" ],
|
||||
"no-regex-spaces": [ "error" ],
|
||||
"no-sparse-arrays": [ "error" ],
|
||||
"no-template-curly-in-string": [ "error" ],
|
||||
"no-unexpected-multiline": [ "error" ],
|
||||
"no-unreachable": [ "error" ],
|
||||
"no-unsafe-negation": [ "error" ],
|
||||
"use-isnan": [ "error" ],
|
||||
"valid-typeof": [ "error", {
|
||||
"requireStringLiterals": true
|
||||
}],
|
||||
"accessor-pairs": [ "error" ],
|
||||
"array-callback-return": [ "error", {
|
||||
"allowImplicit": true
|
||||
}],
|
||||
"curly": [ "error", "all" ],
|
||||
"dot-location": [ "error", "property" ],
|
||||
"@typescript-eslint/dot-notation": [ "error" ],
|
||||
"eqeqeq": [ "error", "always" ],
|
||||
"no-caller": [ "error" ],
|
||||
"no-case-declarations": [ "error" ],
|
||||
"no-else-return": [ "error", {
|
||||
"allowElseIf": true
|
||||
}],
|
||||
"@typescript-eslint/no-empty-function": [ "error" ],
|
||||
"@typescript-eslint/no-non-null-assertion": "off",
|
||||
"no-empty-pattern": [ "error" ],
|
||||
"no-eq-null": [ "error" ],
|
||||
"no-eval": [ "error" ],
|
||||
"no-extend-native": [ "error" ],
|
||||
"no-extra-bind": [ "error" ],
|
||||
"no-extra-label": [ "error" ],
|
||||
"no-fallthrough": [ "error" ],
|
||||
"no-floating-decimal": [ "error" ],
|
||||
"no-global-assign": [ "error" ],
|
||||
"no-lone-blocks": [ "error" ],
|
||||
"no-multi-spaces": [ "error", {
|
||||
"exceptions": {
|
||||
"Property": true,
|
||||
"BinaryExpression": false,
|
||||
"VariableDeclarator": true
|
||||
}
|
||||
}],
|
||||
"no-multi-str": [ "error" ],
|
||||
"no-new-func": [ "error" ],
|
||||
"no-new-wrappers": [ "error" ],
|
||||
"no-octal": [ "error" ],
|
||||
"no-octal-escape": [ "error" ],
|
||||
"@typescript-eslint/no-redeclare": [ "error", {
|
||||
"builtinGlobals": true
|
||||
}],
|
||||
"no-return-await": [ "error" ],
|
||||
"no-self-assign": [ "error", {
|
||||
"props": true
|
||||
}],
|
||||
"no-self-compare": [ "error" ],
|
||||
"no-sequences": [ "error" ],
|
||||
"no-unmodified-loop-condition": [ "error" ],
|
||||
"@typescript-eslint/no-unused-expressions": [ "error" ],
|
||||
"no-unused-labels": [ "error" ],
|
||||
"no-useless-call": [ "error" ],
|
||||
"no-useless-concat": [ "error" ],
|
||||
"no-useless-escape": [ "error" ],
|
||||
"no-useless-return": [ "error" ],
|
||||
"no-warning-comments": [ "warn" ],
|
||||
"no-with": [ "error" ],
|
||||
"prefer-promise-reject-errors": ["error", {
|
||||
"allowEmptyReject": true
|
||||
}],
|
||||
"radix": [ "error", "as-needed" ],
|
||||
"wrap-iife": [ "error" ],
|
||||
"yoda": [ "error" ],
|
||||
"no-delete-var": [ "error" ],
|
||||
"no-shadow-restricted-names": [ "error" ],
|
||||
"no-undef": [ "error" ],
|
||||
"no-undef-init": [ "error" ],
|
||||
"no-undefined": [ "error" ],
|
||||
"@typescript-eslint/no-unused-vars": [ "error" ],
|
||||
"@typescript-eslint/no-use-before-define": [ "error" ],
|
||||
"callback-return": [ "error" ],
|
||||
"handle-callback-err": [ "error" ],
|
||||
"no-buffer-constructor": [ "error" ],
|
||||
"@typescript-eslint/no-var-requires": [ "off" ],
|
||||
"no-mixed-requires": [ "error" ],
|
||||
"array-bracket-newline": [ "error", "consistent" ],
|
||||
"array-bracket-spacing": [ "error", "always" ],
|
||||
"block-spacing": [ "error", "always" ],
|
||||
"@typescript-eslint/brace-style": [ "error", "1tbs" ],
|
||||
"@typescript-eslint/comma-dangle": [ "error" ],
|
||||
"@typescript-eslint/comma-spacing": [ "error", {
|
||||
"before": false,
|
||||
"after": true
|
||||
}],
|
||||
"comma-style": [ "error" ],
|
||||
"computed-property-spacing": [ "error" ],
|
||||
"consistent-this": [ "error", "_this" ],
|
||||
"eol-last": [ "error", "always" ],
|
||||
"@typescript-eslint/func-call-spacing": [ "error", "never" ],
|
||||
"func-name-matching": [ "error", "always" ],
|
||||
"@typescript-eslint/indent": [ "error", 2, {
|
||||
"SwitchCase": 1
|
||||
}],
|
||||
"@typescript-eslint/keyword-spacing": [ "error" ],
|
||||
"@typescript-eslint/lines-between-class-members": [ "error", "always", {
|
||||
"exceptAfterSingleLine": true
|
||||
}],
|
||||
"max-statements-per-line": [ "error", {
|
||||
"max": 2
|
||||
}],
|
||||
// "multiline-comment-style": [ "error" ],
|
||||
"multiline-ternary": [ "error", "always-multiline" ],
|
||||
"new-cap": [ "error", {
|
||||
"newIsCap": true
|
||||
}],
|
||||
"new-parens": [ "error" ],
|
||||
"@typescript-eslint/no-array-constructor": [ "error" ],
|
||||
"no-mixed-operators": [ "error" ],
|
||||
"no-mixed-spaces-and-tabs": [ "error" ],
|
||||
"no-multiple-empty-lines": [ "error" ],
|
||||
"no-new-object": [ "error" ],
|
||||
"no-tabs": [ "error" ],
|
||||
"no-trailing-spaces": [ "error" ],
|
||||
"no-unneeded-ternary": [ "error" ],
|
||||
"no-whitespace-before-property": [ "error" ],
|
||||
"@typescript-eslint/object-curly-spacing": [ "error", "always" ],
|
||||
"object-property-newline": [ "error" ],
|
||||
"one-var-declaration-per-line": [ "error", "initializations" ],
|
||||
"operator-assignment": [ "error", "always" ],
|
||||
"operator-linebreak": [ "error", "after", {
|
||||
"overrides": {
|
||||
"?": "before",
|
||||
":": "before"
|
||||
}
|
||||
}],
|
||||
"padded-blocks": [ "error", "never" ],
|
||||
"quote-props": [ "error", "as-needed" ],
|
||||
"@typescript-eslint/quotes": [ "error", "single" ],
|
||||
"@typescript-eslint/semi": [ "error", "always" ],
|
||||
"semi-spacing": [ "error", {
|
||||
"before": false,
|
||||
"after": true
|
||||
}],
|
||||
"semi-style": [ "error", "last" ],
|
||||
"@typescript-eslint/space-before-blocks": [ "error", "always" ],
|
||||
"@typescript-eslint/space-before-function-paren": [ "error", "always" ],
|
||||
"space-in-parens": [ "error", "never" ],
|
||||
"@typescript-eslint/space-infix-ops": [ "error" ],
|
||||
"space-unary-ops": [ "error", {
|
||||
"words": true,
|
||||
"nonwords": false
|
||||
}],
|
||||
"spaced-comment": [ "error", "always" ],
|
||||
"switch-colon-spacing": [ "error", {
|
||||
"before": false,
|
||||
"after": true
|
||||
}],
|
||||
"template-tag-spacing": [ "error", "always" ],
|
||||
"wrap-regex": [ "error" ],
|
||||
"arrow-body-style": [ "error", "as-needed" ],
|
||||
"arrow-spacing": [ "error", {
|
||||
"before": true,
|
||||
"after": true
|
||||
}],
|
||||
"constructor-super": [ "error" ],
|
||||
"no-class-assign": [ "error" ],
|
||||
"no-const-assign": [ "error" ],
|
||||
"@typescript-eslint/no-dupe-class-members": [ "error" ],
|
||||
"no-new-symbol": [ "error" ],
|
||||
"no-this-before-super": [ "error" ],
|
||||
"no-useless-computed-key": [ "error" ],
|
||||
"@typescript-eslint/no-useless-constructor": [ "error" ],
|
||||
"no-var": [ "error" ],
|
||||
"object-shorthand": [ "error", "always" ],
|
||||
"prefer-arrow-callback": [ "error" ],
|
||||
"prefer-const": [ "error", {
|
||||
"destructuring": "all"
|
||||
}],
|
||||
"prefer-destructuring": ["error", {
|
||||
"VariableDeclarator": {
|
||||
"array": false,
|
||||
"object": true
|
||||
},
|
||||
"AssignmentExpression": {
|
||||
"array": true,
|
||||
"object": true
|
||||
}
|
||||
}, {
|
||||
"enforceForRenamedProperties": false
|
||||
}],
|
||||
"prefer-numeric-literals": [ "error" ],
|
||||
"prefer-rest-params": [ "error" ],
|
||||
"prefer-spread": [ "error" ],
|
||||
"prefer-template": [ "error" ],
|
||||
"rest-spread-spacing": [ "error", "never" ],
|
||||
"symbol-description": [ "error" ],
|
||||
"template-curly-spacing": [ "error", "never" ],
|
||||
"react/jsx-uses-react": "error",
|
||||
"react/jsx-uses-vars": 1,
|
||||
"linebreak-style": ["error", "unix"]
|
||||
}
|
||||
}
|
|
@ -13,9 +13,13 @@
|
|||
"devDependencies": {
|
||||
"@electron/asar": "^3.2.1",
|
||||
"@types/node": "^18.11.2",
|
||||
"@typescript-eslint/eslint-plugin": "^5.40.1",
|
||||
"@typescript-eslint/parser": "^5.40.1",
|
||||
"esbuild": "^0.15.11",
|
||||
"eslint": "^8.25.0",
|
||||
"eslint-plugin-react": "^7.31.10",
|
||||
"replugged": "replugged-org/replugged#rewrite",
|
||||
"tsx": "^3.10.3",
|
||||
"typescript": "^4.8.4",
|
||||
"replugged": "replugged-org/replugged#rewrite"
|
||||
"typescript": "^4.8.4"
|
||||
}
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue