From fdf97a878487d4076c56c1b5429e739d33f2c422 Mon Sep 17 00:00:00 2001 From: Peter Steinberger Date: Thu, 23 Apr 2026 05:30:32 +0100 Subject: [PATCH] chore: enable additional oxlint rules --- .oxlintrc.json | 29 ++++++++++++++++++++++++++++- test/scripts/oxlint-config.test.ts | 27 +++++++++++++++++++++++++++ 2 files changed, 55 insertions(+), 1 deletion(-) diff --git a/.oxlintrc.json b/.oxlintrc.json index eb7a8aade31..07548f1cf3e 100644 --- a/.oxlintrc.json +++ b/.oxlintrc.json @@ -25,15 +25,21 @@ "eslint/no-sequences": "error", "eslint/no-self-compare": "error", "eslint/no-shadow": "off", + "eslint/no-var": "error", "eslint/no-useless-call": "error", "eslint/no-useless-computed-key": "error", "eslint/no-useless-concat": "error", "eslint/no-useless-constructor": "error", "eslint/no-warning-comments": "error", "eslint/no-unmodified-loop-condition": "error", + "eslint/no-new-wrappers": "error", + "eslint/no-else-return": "error", + "eslint/no-case-declarations": "error", "eslint/prefer-exponentiation-operator": "error", "eslint/prefer-numeric-literals": "error", + "eslint/radix": "error", "eslint/unicode-bom": "error", + "eslint/yoda": "error", "import/no-absolute-path": "error", "import/no-empty-named-blocks": "error", "import/no-self-import": "error", @@ -61,12 +67,20 @@ "typescript/no-useless-default-assignment": "error", "typescript/prefer-return-this-type": "error", "typescript/prefer-find": "error", + "typescript/prefer-function-type": "error", + "typescript/prefer-includes": "error", "typescript/prefer-reduce-type-parameter": "error", "typescript/prefer-ts-expect-error": "error", "unicorn/consistent-date-clone": "error", + "unicorn/consistent-empty-array-spread": "error", "unicorn/consistent-function-scoping": "off", "unicorn/consistent-template-literal-escape": "error", "unicorn/no-console-spaces": "error", + "unicorn/no-length-as-slice-end": "error", + "unicorn/no-instanceof-array": "error", + "unicorn/no-negation-in-equality-check": "error", + "unicorn/no-new-buffer": "error", + "unicorn/no-typeof-undefined": "error", "unicorn/no-unnecessary-array-flat-depth": "error", "unicorn/no-unnecessary-array-splice-count": "error", "unicorn/no-unnecessary-slice-end": "error", @@ -75,12 +89,25 @@ "unicorn/prefer-date-now": "error", "unicorn/prefer-dom-node-text-content": "error", "unicorn/prefer-keyboard-event-key": "error", + "unicorn/prefer-array-some": "error", + "unicorn/prefer-math-min-max": "error", + "unicorn/prefer-node-protocol": "error", + "unicorn/prefer-number-properties": "error", "unicorn/prefer-negative-index": "error", "unicorn/prefer-optional-catch-binding": "error", + "unicorn/prefer-prototype-methods": "error", + "unicorn/prefer-regexp-test": "error", "unicorn/prefer-set-size": "error", + "unicorn/prefer-string-slice": "error", "unicorn/require-array-join-separator": "error", + "unicorn/require-number-to-fixed-digits-argument": "error", "unicorn/require-post-message-target-origin": "error", - "unicorn/throw-new-error": "error" + "unicorn/throw-new-error": "error", + "vitest/no-import-node-test": "error", + "vitest/consistent-vitest-vi": "error", + "vitest/prefer-called-once": "error", + "vitest/prefer-called-times": "error", + "vitest/prefer-expect-type-of": "error" }, "ignorePatterns": [ "assets/", diff --git a/test/scripts/oxlint-config.test.ts b/test/scripts/oxlint-config.test.ts index 1be8ceef936..5493c950281 100644 --- a/test/scripts/oxlint-config.test.ts +++ b/test/scripts/oxlint-config.test.ts @@ -21,9 +21,15 @@ const ZERO_BASELINE_RULES = [ "eslint/no-regex-spaces", "eslint/no-sequences", "eslint/no-self-compare", + "eslint/no-var", + "eslint/no-new-wrappers", + "eslint/no-else-return", + "eslint/no-case-declarations", "eslint/prefer-exponentiation-operator", "eslint/prefer-numeric-literals", + "eslint/radix", "eslint/unicode-bom", + "eslint/yoda", "import/no-absolute-path", "import/no-empty-named-blocks", "import/no-self-import", @@ -34,18 +40,39 @@ const ZERO_BASELINE_RULES = [ "typescript/no-non-null-asserted-nullish-coalescing", "typescript/no-unnecessary-qualifier", "typescript/prefer-find", + "typescript/prefer-function-type", + "typescript/prefer-includes", "typescript/prefer-reduce-type-parameter", "typescript/prefer-return-this-type", "unicorn/consistent-date-clone", + "unicorn/consistent-empty-array-spread", "unicorn/consistent-template-literal-escape", "unicorn/no-console-spaces", + "unicorn/no-length-as-slice-end", + "unicorn/no-instanceof-array", + "unicorn/no-negation-in-equality-check", + "unicorn/no-new-buffer", + "unicorn/no-typeof-undefined", "unicorn/no-useless-error-capture-stack-trace", + "unicorn/prefer-array-some", "unicorn/prefer-dom-node-text-content", "unicorn/prefer-keyboard-event-key", + "unicorn/prefer-math-min-max", "unicorn/prefer-negative-index", + "unicorn/prefer-node-protocol", + "unicorn/prefer-number-properties", "unicorn/prefer-optional-catch-binding", + "unicorn/prefer-prototype-methods", + "unicorn/prefer-regexp-test", + "unicorn/prefer-string-slice", "unicorn/require-array-join-separator", + "unicorn/require-number-to-fixed-digits-argument", "unicorn/throw-new-error", + "vitest/no-import-node-test", + "vitest/consistent-vitest-vi", + "vitest/prefer-called-once", + "vitest/prefer-called-times", + "vitest/prefer-expect-type-of", ]; function readJson(path: string): unknown {