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)
}
Source: oxc-project/oxc