import { error, warn } from '../constants'; import { UnicornRules } from 'eslint-define-config/src/rules/unicorn'; const suggest = (suggest: string) => ({ suggest, fix: false }); // https://github.com/sindresorhus/eslint-plugin-unicorn/tree/28e7498ad06679bb92343db53bb40a7b5ba2990a export const unicornRules: Partial = { 'unicorn/better-regex': error, 'unicorn/consistent-function-scoping': warn, 'unicorn/escape-case': error, 'unicorn/no-array-for-each': warn, 'unicorn/no-array-method-this-argument': error, 'unicorn/no-array-push-push': warn, 'unicorn/no-console-spaces': warn, 'unicorn/no-for-loop': warn, 'unicorn/no-instanceof-array': error, 'unicorn/no-lonely-if': warn, 'unicorn/no-static-only-class': error, 'unicorn/no-typeof-undefined': error, // 'unicorn/no-unused-properties': warn, 'unicorn/no-useless-fallback-in-spread': error, 'unicorn/no-useless-promise-resolve-reject': error, 'unicorn/no-useless-spread': error, 'unicorn/no-useless-switch-case': error, // https://github.com/prettier/eslint-config-prettier/issues/51 // 'unicorn/number-literal-case': error, 'unicorn/prefer-array-find': error, 'unicorn/prefer-array-flat-map': error, 'unicorn/prefer-array-some': error, 'unicorn/prefer-at': error, 'unicorn/prefer-blob-reading-methods': error, 'unicorn/prefer-date-now': error, 'unicorn/prefer-default-parameters': warn, 'unicorn/prefer-dom-node-dataset': error, 'unicorn/prefer-dom-node-remove': error, 'unicorn/prefer-export-from': [error, { ignoreUsedVariables: false }], 'unicorn/prefer-includes': error, 'unicorn/prefer-keyboard-event-key': warn, 'unicorn/prefer-logical-operator-over-ternary': warn, 'unicorn/prefer-math-trunc': error, 'unicorn/prefer-modern-math-apis': error, 'unicorn/prefer-negative-index': error, 'unicorn/prefer-node-protocol': error, 'unicorn/prefer-object-from-entries': error, 'unicorn/prefer-optional-catch-binding': error, 'unicorn/prefer-reflect-apply': error, 'unicorn/prefer-regexp-test': error, 'unicorn/prefer-set-has': warn, 'unicorn/prefer-string-slice': error, 'unicorn/prefer-string-starts-ends-with': warn, 'unicorn/prefer-string-trim-start-end': error, 'unicorn/prefer-ternary': warn, 'unicorn/string-content': [ warn, { patterns: { '->': suggest('→'), '=>': suggest('⇒'), '<-': suggest('←'), '<=': suggest('≤'), '>=': suggest('≥'), '!=': suggest('≠'), '<=>': suggest('⇔'), '\\.\\.\\.': suggest('…'), "'s ": suggest('’s '), }, }, ], 'unicorn/template-indent': warn, };