UNPKG

eslint-config-noir

Version:
125 lines (124 loc) 4.57 kB
import plugin from "eslint-plugin-unicorn"; import { smartConfig } from "#utils"; const unicornRules = { "better-regex": "error", "catch-error-name": "error", "consistent-assert": "error", "consistent-date-clone": "error", "consistent-destructuring": "error", "consistent-empty-array-spread": "error", "consistent-existence-index-check": "error", "consistent-function-scoping": "error", "custom-error-definition": "error", "empty-brace-spaces": "error", "error-message": "error", "escape-case": "error", "explicit-length-check": "error", "filename-case": [ "error", { case: "kebabCase", multipleFileExtensions: false, }, ], "new-for-builtins": "error", "no-abusive-eslint-disable": "error", "no-accessor-recursion": "error", "no-anonymous-default-export": "error", "no-array-for-each": "error", "no-array-method-this-argument": "error", "no-await-expression-member": "error", "no-await-in-promise-methods": "error", "no-console-spaces": "error", "no-document-cookie": "error", "no-empty-file": "error", "no-for-loop": "error", "no-hex-escape": "error", "no-instanceof-builtins": "error", "no-invalid-fetch-options": "error", "no-invalid-remove-event-listener": "error", "no-lonely-if": "error", "no-named-default": "error", "no-negated-condition": "error", "no-negation-in-equality-check": "error", "no-new-array": "error", "no-new-buffer": "error", "no-process-exit": "error", "no-single-promise-in-promise-methods": "error", "no-static-only-class": "error", "no-typeof-undefined": "error", "no-unnecessary-array-flat-depth": "error", "no-unnecessary-array-splice-count": "error", "no-unnecessary-await": "error", "no-unnecessary-slice-end": "error", "no-unreadable-array-destructuring": "error", "no-unreadable-iife": "error", "no-useless-length-check": "error", "no-useless-promise-resolve-reject": "error", "no-useless-spread": "error", "no-useless-switch-case": "error", "no-useless-undefined": "error", "no-zero-fractions": "error", "number-literal-case": "error", "numeric-separators-style": "error", "prefer-add-event-listener": "error", "prefer-array-find": "error", "prefer-array-flat-map": "error", "prefer-array-flat": "error", "prefer-array-index-of": "error", "prefer-array-some": "error", "prefer-at": "error", "prefer-blob-reading-methods": "error", "prefer-code-point": "error", "prefer-date-now": "error", "prefer-default-parameters": "error", "prefer-dom-node-append": "error", "prefer-dom-node-remove": "error", "prefer-export-from": ["error", { ignoreUsedVariables: true }], "prefer-global-this": "error", "prefer-import-meta-properties": "error", "prefer-includes": "error", "prefer-json-parse-buffer": "error", "prefer-keyboard-event-key": "error", "prefer-logical-operator-over-ternary": "error", "prefer-math-min-max": "error", "prefer-math-trunc": "error", "prefer-modern-dom-apis": "error", "prefer-modern-math-apis": "error", "prefer-module": "error", "prefer-native-coercion-functions": "error", "prefer-negative-index": "error", "prefer-node-protocol": "error", "prefer-number-properties": "error", "prefer-object-from-entries": "error", "prefer-optional-catch-binding": "error", "prefer-prototype-methods": "error", "prefer-query-selector": "error", "prefer-reflect-apply": "error", "prefer-regexp-test": "error", "prefer-set-has": "error", "prefer-set-size": "error", "prefer-spread": "error", "prefer-string-raw": "error", "prefer-string-replace-all": "error", "prefer-string-slice": "error", "prefer-string-starts-ends-with": "error", "prefer-string-trim-start-end": "error", "prefer-structured-clone": "error", "prefer-switch": "error", "prefer-ternary": "error", "prefer-type-error": "error", "prevent-abbreviations": "error", "require-array-join-separator": "error", "require-number-to-fixed-digits-argument": "error", "require-post-message-target-origin": "error", "text-encoding-identifier-case": "error", "throw-new-error": "error", }; const rules = Object.fromEntries(Object.entries(unicornRules).map(([key, value]) => [`unicorn/${key}`, value])); export const unicorn = smartConfig({ plugins: { unicorn: plugin, }, rules, });