#18200·oxc

linter: unicorn(unicorn/no-array-method-this-argument) false-positive detection

Author: isniferCreated Jan 18, 2026Updated Sep 17, 2026
LabelsA-linter

What version of Oxlint are you using?

1.39.0

What command did you run?

VSCode Extension

What does your .oxlintrc.json config file look like?

{
  "$schema": "./node_modules/oxlint/configuration_schema.json",
  "plugins": ["unicorn", "typescript", "oxc", "import", "react", "react-perf", "promise", "node"],
  "categories": {},
  "rules": {
    "array-callback-return": "error",
    "array-type": "warn",
    "arrow-body-style": ["warn", "as-needed"],
    "block-scoped-var": "error",
    "constructor-super": "warn",
    "curly": ["error", "multi-line"],
    "default-case-last": "error",
    "default-param-last": "error",
    "eqeqeq": ["error", "always", { "null": "ignore" }],
    "for-direction": "warn",
    "guard-for-in": "error",
    "import/default": "warn",
    "import/export": "error",
    "import/exports-last": "warn",
    "import/first": ["error", "absolute-first"],
    "import/named": "error",
    "import/namespace": "error",
    "import/no-absolute-path": "error",
    "import/no-amd": "error",
    "import/no-anonymous-default-export": "error",
    "import/no-cycle": "error",
    "import/no-duplicates": "error",
    "import/no-empty-named-blocks": "error",
    "import/no-mutable-exports": "error",
    "jsx-a11y/img-redundant-alt": "error",
    "node/no-process-env": "warn",
    "no-alert": "error",
    "no-array-constructor": "error",
    "no-async-promise-executor": "warn",
    "no-bitwise": "error",
    "no-caller": "warn",
    "no-class-assign": "warn",
    "no-compare-neg-zero": "warn",
    "no-cond-assign": "warn",
    "no-const-assign": "warn",
    "no-constant-binary-expression": "warn",
    "no-constant-condition": "warn",
    "no-constructor-return": "error",
    "no-control-regex": "warn",
    "no-debugger": "warn",
    "no-delete-var": "warn",
    "no-dupe-class-members": "warn",
    "no-dupe-else-if": "warn",
    "no-dupe-keys": "warn",
    "no-duplicate-case": "warn",
    "no-else-return": "error",
    "no-empty-character-class": "warn",
    "no-empty-pattern": "warn",
    "no-empty-static-block": "warn",
    "no-eval": "warn",
    "no-ex-assign": "warn",
    "no-extend-native": "error",
    "no-extra-boolean-cast": "warn",
    "no-fallthrough": "error",
    "no-func-assign": "warn",
    "no-global-assign": "warn",
    "no-import-assign": "warn",
    "no-invalid-regexp": "warn",
    "no-irregular-whitespace": "warn",
    "no-iterator": "error",
    "no-lonely-if": "error",
    "no-loss-of-precision": "warn",
    "no-new-native-nonconstructor": "warn",
    "no-nonoctal-decimal-escape": "warn",
    "no-obj-calls": "warn",
    "no-param-reassign": "error",
    "no-return-assign": "error",
    "no-self-assign": "warn",
    "no-setter-return": "warn",
    "no-shadow-restricted-names": "warn",
    "no-sparse-arrays": "warn",
    "no-template-curly-in-string": "warn",
    "no-throw-literal": "warn",
    "no-this-before-super": "warn",
    "no-unassigned-vars": "warn",
    "no-unneeded-ternary": "error",
    "no-unreachable": "error",
    "no-unsafe-finally": "warn",
    "no-unsafe-negation": "warn",
    "no-unsafe-optional-chaining": "warn",
    "no-unused-expressions": "warn",
    "no-unused-labels": "warn",
    "no-unused-private-class-members": "warn",
    "no-unused-vars": "warn",
    "no-useless-backreference": "warn",
    "no-useless-catch": "warn",
    "no-useless-computed-key": "error",
    "no-useless-concat": "warn",
    "no-useless-escape": "warn",
    "no-useless-rename": "warn",
    "no-useless-return": "warn",
    "no-with": "warn",
    "prefer-template": "warn",
    "preserve-caught-error": "warn",
    "require-yield": "warn",
    "use-isnan": "warn",
    "valid-typeof": "warn",
    "oxc/bad-array-method-on-arguments": "warn",
    "oxc/bad-char-at-comparison": "warn",
    "oxc/bad-comparison-sequence": "warn",
    "oxc/bad-min-max-func": "warn",
    "oxc/bad-object-literal-comparison": "warn",
    "oxc/bad-replace-all-arg": "warn",
    "oxc/branches-sharing-code": "warn",
    "oxc/const-comparisons": "warn",
    "oxc/double-comparisons": "error",
    "oxc/erasing-op": "warn",
    "oxc/misrefactored-assign-op": "warn",
    "oxc/missing-throw": "warn",
    "oxc/no-accumulating-spread": "error",
    "oxc/no-const-enum": "error",
    "oxc/number-arg-out-of-range": "warn",
    "oxc/only-used-in-recursion": "warn",
    "oxc/uninvoked-array-callback": "warn",
    "promise/no-multiple-resolved": "error",
    "promise/no-new-statics": "error",
    "promise/no-return-in-finally": "error",
    "promise/param-names": "error",
    "promise/valid-params": "error",
    "react/button-has-type": "warn",
    "react/jsx-boolean-value": "error",
    "react/jsx-fragments": "warn",
    "react/jsx-key": "error",
    "react/jsx-no-duplicate-props": "error",
    "react/jsx-no-useless-fragment": "error",
    "react/jsx-pascal-case": "error",
    "react/jsx-props-no-spread-multi": "error",
    "react/no-children-prop": "error",
    "react/no-danger-with-children": "error",
    "react/self-closing-comp": "error",
    "react-perf/jsx-no-new-array-as-prop": "error",
    "react-perf/jsx-no-new-object-as-prop": "warn",
    "typescript/await-thenable": "warn",
    "typescript/no-array-delete": "warn",
    "typescript/no-base-to-string": "warn",
    "typescript/no-deprecated": "warn",
    "typescript/no-duplicate-enum-values": "warn",
    "typescript/no-duplicate-type-constituents": "warn",
    "typescript/no-dynamic-delete": "error",
    "typescript/no-extra-non-null-assertion": "warn",
    "typescript/no-floating-promises": "warn",
    "typescript/no-for-in-array": "warn",
    "typescript/no-implied-eval": "warn",
    "typescript/no-inferrable-types": "warn",
    "typescript/no-meaningless-void-operator": "warn",
    "typescript/no-misused-new": "warn",
    "typescript/no-misused-spread": "warn",
    "typescript/no-non-null-asserted-optional-chain": "warn",
    "typescript/no-redundant-type-constituents": "warn",
    "typescript/no-this-alias": "warn",
    "typescript/no-unnecessary-boolean-literal-compare": "warn",
    "typescript/no-unnecessary-parameter-property-assignment": "warn",
    "typescript/no-unsafe-declaration-merging": "warn",
    "typescript/no-unsafe-unary-minus": "warn",
    "typescript/no-useless-empty-export": "warn",
    "typescript/no-wrapper-object-types": "warn",
    "typescript/prefer-as-const": "warn",
    "typescript/prefer-for-of": "warn",
    "typescript/prefer-includes": "warn",
    "typescript/prefer-optional-chain": "warn",
    "typescript/prefer-ts-expect-error": "error",
    "typescript/require-array-sort-compare": "warn",
    "typescript/restrict-template-expressions": "warn",
    "typescript/switch-exhaustiveness-check": "error",
    "typescript/triple-slash-reference": "warn",
    "typescript/unbound-method": "warn",
    "unicorn/catch-error-name": "warn",
    "unicorn/consistent-function-scoping": "error",
    "unicorn/consistent-date-clone": "error",
    "unicorn/consistent-empty-array-spread": "error",
    "unicorn/consistent-existence-index-check": "error",
    "unicorn/empty-brace-spaces": "warn",
    "unicorn/error-message": "error",
    "unicorn/new-for-builtins": "error",
    "unicorn/no-accessor-recursion": "error",
    "unicorn/no-array-for-each": "warn",
    "unicorn/no-array-method-this-argument": "error",
    "unicorn/no-await-in-promise-methods": "warn",
    "unicorn/no-empty-file": "warn",
    "unicorn/no-immediate-mutation": "warn",
    "unicorn/no-instanceof-array": "error",
    "unicorn/no-instanceof-builtins": "error",
    "unicorn/no-invalid-fetch-options": "warn",
    "unicorn/no-invalid-remove-event-listener": "warn",
    "unicorn/no-length-as-slice-end": "error",
    "unicorn/no-new-array": "warn",
    "unicorn/no-single-promise-in-promise-methods": "warn",
    "unicorn/no-thenable": "warn",
    "unicorn/no-unnecessary-await": "warn",
    "unicorn/no-useless-collection-argument": "warn",
    "unicorn/no-useless-fallback-in-spread": "warn",
    "unicorn/no-useless-length-check": "warn",
    "unicorn/no-useless-spread": "warn",
    "unicorn/no-zero-fractions": "error",
    "unicorn/prefer-array-find": "warn",
    "unicorn/prefer-bigint-literals": "warn",
    "unicorn/prefer-date-now": "warn",
    "unicorn/prefer-logical-operator-over-ternary": "warn",
    "unicorn/prefer-math-min-max": "warn",
    "unicorn/prefer-node-protocol": "warn",
    "unicorn/prefer-optional-catch-binding": "warn",
    "unicorn/prefer-set-size": "warn",
    "unicorn/prefer-string-starts-ends-with": "warn",
    "unicorn/require-number-to-fixed-digits-argument": "error",
    "unicorn/switch-case-braces": "error"
  },
  "settings": {
    "jsx-a11y": {
      "polymorphicPropName": null,
      "components": {},
      "attributes": {}
    },
    "next": {
      "rootDir": []
    },
    "react": {
      "formComponents": [],
      "linkComponents": [],
      "version": null
    },
    "jsdoc": {
      "ignorePrivate": false,
      "ignoreInternal": false,
      "ignoreReplacesDocs": true,
      "overrideReplacesDocs": true,
      "augmentsExtendsReplacesDocs": false,
      "implementsReplacesDocs": false,
      "exemptDestructuredRootsFromChecks": false,
      "tagNamePreference": {}
    },
    "vitest": {
      "typecheck": false
    }
  },
  "env": {
    "builtin": true
  },
  "globals": {},
  "ignorePatterns": []
}

What happened?

Any method called the same as Array.prototype methods produces this error, for example — find on any Mongoose model or handcrafted method as attached

function test() {
  const a = {
    find: (condition: (item: any) => boolean, projection: { [key: string]: 1 }) => {
      return []
    },
  }

  const b = a.find(item => item, { shareModelId: 1 })
  //               ^
  // Avoid using 'thisArg' with array iteration methods
  // help: Use arrow functions or lexical scoping instead of passing 'thisArg' as a second argument
  // to array methods like map, filter, etc.oxceslint-plugin-unicorn(no-array-method-this-argument)
}