diff options
author | toasted-nutbread <toasted-nutbread@users.noreply.github.com> | 2024-02-14 22:26:29 -0500 |
---|---|---|
committer | GitHub <noreply@github.com> | 2024-02-15 03:26:29 +0000 |
commit | 6bf7b0055765c4f2011c9614753d6714dc09be65 (patch) | |
tree | 0e782ae66556eaa61a34d9f32d77c831b2443ce5 /.eslintrc.json | |
parent | 7a4096240ce4faf70a785d047945388baa0daab3 (diff) |
Eslint rule updates (#673)
* Install unicorn
* Add rules
* Fix issues
* Install sonarjs
* Set up rules
* Fix issues
* Install eslint-plugin-import and fix import extensions
* Simplify permitted error names
Diffstat (limited to '.eslintrc.json')
-rw-r--r-- | .eslintrc.json | 107 |
1 files changed, 105 insertions, 2 deletions
diff --git a/.eslintrc.json b/.eslintrc.json index 32bbdaec..30d495d2 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -32,7 +32,10 @@ "jsonc", "unused-imports", "@typescript-eslint", - "@stylistic" + "@stylistic", + "unicorn", + "sonarjs", + "import" ], "ignorePatterns": [ "/ext/lib/", @@ -247,7 +250,107 @@ "eslint-comments/no-unused-disable": "error", - "unused-imports/no-unused-imports": "error" + "unused-imports/no-unused-imports": "error", + + "import/extensions": ["error", "ignorePackages"], + + "unicorn/catch-error-name": ["error", {"ignore": ["^(e|error2?)$"]}], + "unicorn/custom-error-definition": "error", + "unicorn/empty-brace-spaces": "error", + "unicorn/error-message": "error", + "unicorn/expiring-todo-comments": "error", + "unicorn/explicit-length-check": "error", + "unicorn/new-for-builtins": "error", + "unicorn/no-abusive-eslint-disable": "error", + "unicorn/no-array-for-each": "error", + "unicorn/no-array-method-this-argument": "error", + "unicorn/no-array-push-push": "error", + "unicorn/no-array-reduce": "error", + "unicorn/no-console-spaces": "error", + "unicorn/no-document-cookie": "error", + "unicorn/no-empty-file": "error", + "unicorn/no-hex-escape": "error", + "unicorn/no-instanceof-array": "error", + "unicorn/no-invalid-remove-event-listener": "error", + "unicorn/no-lonely-if": "error", + "unicorn/no-nested-ternary": "error", + "unicorn/no-new-buffer": "error", + "unicorn/no-object-as-default-parameter": "error", + "unicorn/no-static-only-class": "error", + "unicorn/no-thenable": "error", + "unicorn/no-unnecessary-await": "error", + "unicorn/no-unnecessary-polyfills": "error", + "unicorn/no-unreadable-array-destructuring": "error", + "unicorn/no-unreadable-iife": "error", + "unicorn/no-useless-fallback-in-spread": "error", + "unicorn/no-useless-length-check": "error", + "unicorn/no-useless-promise-resolve-reject": "error", + "unicorn/no-useless-spread": "error", + "unicorn/no-useless-switch-case": "error", + "unicorn/no-useless-undefined": "error", + "unicorn/no-zero-fractions": "error", + "unicorn/prefer-array-find": "error", + "unicorn/prefer-array-flat": "error", + "unicorn/prefer-array-flat-map": "error", + "unicorn/prefer-array-index-of": "error", + "unicorn/prefer-array-some": "error", + "unicorn/prefer-date-now": "error", + "unicorn/prefer-default-parameters": "error", + "unicorn/prefer-dom-node-dataset": "error", + "unicorn/prefer-dom-node-text-content": "error", + "unicorn/prefer-event-target": "error", + "unicorn/prefer-export-from": "error", + "unicorn/prefer-includes": "error", + "unicorn/prefer-keyboard-event-key": "error", + "unicorn/prefer-logical-operator-over-ternary": "error", + "unicorn/prefer-modern-math-apis": "error", + "unicorn/prefer-module": "error", + "unicorn/prefer-native-coercion-functions": "error", + "unicorn/prefer-negative-index": "error", + "unicorn/prefer-number-properties": "error", + "unicorn/prefer-object-from-entries": "error", + "unicorn/prefer-prototype-methods": "error", + "unicorn/prefer-reflect-apply": "error", + "unicorn/prefer-regexp-test": "error", + "unicorn/prefer-set-has": "error", + "unicorn/prefer-set-size": "error", + "unicorn/prefer-spread": "error", + "unicorn/prefer-string-starts-ends-with": "error", + "unicorn/prefer-string-trim-start-end": "error", + "unicorn/prefer-switch": "error", + "unicorn/prefer-ternary": "error", + "unicorn/relative-url-style": "error", + "unicorn/require-array-join-separator": "error", + "unicorn/require-number-to-fixed-digits-argument": "error", + "unicorn/template-indent": "error", + "unicorn/throw-new-error": "error", + + "sonarjs/max-switch-cases": "error", + "sonarjs/no-all-duplicated-branches": "error", + "sonarjs/no-collapsible-if": "error", + "sonarjs/no-collection-size-mischeck": "error", + "sonarjs/no-duplicated-branches": "error", + "sonarjs/no-element-overwrite": "error", + "sonarjs/no-empty-collection": "error", + "sonarjs/no-extra-arguments": "error", + "sonarjs/no-gratuitous-expressions": "error", + "sonarjs/no-identical-conditions": "error", + "sonarjs/no-identical-expressions": "error", + "sonarjs/no-identical-functions": "error", + "sonarjs/no-ignored-return": "error", + "sonarjs/no-inverted-boolean-check": "error", + "sonarjs/no-one-iteration-loop": "error", + "sonarjs/no-redundant-boolean": "error", + "sonarjs/no-redundant-jump": "error", + "sonarjs/no-same-line-conditional": "error", + "sonarjs/no-unused-collection": "error", + "sonarjs/no-use-of-empty-return-value": "error", + "sonarjs/no-useless-catch": "error", + "sonarjs/non-existent-operator": "error", + "sonarjs/prefer-immediate-return": "error", + "sonarjs/prefer-object-literal": "error", + "sonarjs/prefer-single-boolean-return": "error", + "sonarjs/prefer-while": "error" }, "overrides": [ { |