From bd3fd72f4443c8a9c07d8948047d17b16dc7637a Mon Sep 17 00:00:00 2001 From: fisker Cheung Date: Tue, 16 Jun 2026 04:56:55 +0800 Subject: [PATCH] Enable `unicorn/no-negated-array-predicate` rule (#19369) Co-authored-by: autofix-ci[bot] <114827586+autofix-ci[bot]@users.noreply.github.com> --- eslint.config.js | 1 - scripts/format-test-lint.js | 4 ++-- src/language-js/print/call-arguments.js | 2 +- src/language-js/print/member-chain.js | 6 +++--- src/language-markdown/embed.js | 10 ++++++---- src/language-markdown/utilities.js | 2 +- 6 files changed, 13 insertions(+), 12 deletions(-) diff --git a/eslint.config.js b/eslint.config.js index a08ec294e..e2067808d 100644 --- a/eslint.config.js +++ b/eslint.config.js @@ -324,7 +324,6 @@ const configs = [ "unicorn/no-unreadable-object-destructuring": "off", "unicorn/no-unreadable-new-expression": "off", "unicorn/prefer-unicode-code-point-escapes": "off", - "unicorn/no-negated-array-predicate": "off", "unicorn/no-break-in-nested-loop": "off", "unicorn/prefer-early-return": "off", "unicorn/no-undeclared-class-members": "off", diff --git a/scripts/format-test-lint.js b/scripts/format-test-lint.js index d5605ec76..d77c837d6 100644 --- a/scripts/format-test-lint.js +++ b/scripts/format-test-lint.js @@ -25,8 +25,8 @@ async function* checkDirectory(directory) { ok: directory === FORMAT_TEST_DIRECTORY || files.some((file) => file.name === ".not-test-directory") || - !files.some( - (file) => file.isFile() && file.name !== TEST_SCRIPT_FILE_NAME, + files.every( + (file) => !(file.isFile() && file.name !== TEST_SCRIPT_FILE_NAME), ) || files.some( (file) => file.isFile() && file.name === TEST_SCRIPT_FILE_NAME, diff --git a/src/language-js/print/call-arguments.js b/src/language-js/print/call-arguments.js index 6c03cb1eb..6d8258f74 100644 --- a/src/language-js/print/call-arguments.js +++ b/src/language-js/print/call-arguments.js @@ -398,7 +398,7 @@ function isValidHookCallbackAndDepsFormat(args, baseIndex) { getFunctionParameters(maybeArrowFunction).length === 0 && maybeArrowFunction.body.type === "BlockStatement" && maybeDepsArray.type === "ArrayExpression" && - !args.some((arg) => hasComment(arg)) + args.every((arg) => !hasComment(arg)) ); } diff --git a/src/language-js/print/member-chain.js b/src/language-js/print/member-chain.js index b59ac9779..284025500 100644 --- a/src/language-js/print/member-chain.js +++ b/src/language-js/print/member-chain.js @@ -347,7 +347,7 @@ function printMemberChain(path, options, print) { if ( groups.length <= cutoff && !nodeHasComment && - !groups.some((g) => g.at(-1).hasTrailingEmptyLine) + groups.every((g) => !g.at(-1).hasTrailingEmptyLine) ) { if (isLongCurriedCallExpression(path)) { return oneLine; @@ -396,8 +396,8 @@ function printMemberChain(path, options, print) { if ( nodeHasComment || (callExpressions.length > 2 && - callExpressions.some( - (expr) => !expr.arguments.every((arg) => isSimpleCallArgument(arg)), + callExpressions.some((expr) => + expr.arguments.some((arg) => !isSimpleCallArgument(arg)), )) || printedGroups.slice(0, -1).some(willBreak) || lastGroupWillBreakAndOtherCallsHaveFunctionArguments() diff --git a/src/language-markdown/embed.js b/src/language-markdown/embed.js index 7e0d8aea8..fa1a86ee6 100644 --- a/src/language-markdown/embed.js +++ b/src/language-markdown/embed.js @@ -91,11 +91,13 @@ function validateImportExport(ast, type) { // https://github.com/mdx-js/mdx/blob/3430138958c9c0344ecad9d59e0d6b5d72bedae3/packages/remark-mdx/extract-imports-and-exports.js#L16 if ( - !body.every( + body.some( (node) => - node.type === "ImportDeclaration" || - node.type === "ExportDefaultDeclaration" || - node.type === "ExportNamedDeclaration", + !( + node.type === "ImportDeclaration" || + node.type === "ExportDefaultDeclaration" || + node.type === "ExportNamedDeclaration" + ), ) ) { throw new Error(`Unexpected '${type}' in MDX.`); diff --git a/src/language-markdown/utilities.js b/src/language-markdown/utilities.js index d5be83624..82e5eed59 100644 --- a/src/language-markdown/utilities.js +++ b/src/language-markdown/utilities.js @@ -165,7 +165,7 @@ function splitText(text) { lastNode?.type === "word" && !isBetween(KIND_NON_CJK, KIND_CJK_PUNCTUATION) && // disallow leading/trailing full-width whitespace - ![lastNode.value, node.value].some((value) => /\u3000/.test(value)) + [lastNode.value, node.value].every((value) => !/\u3000/.test(value)) ) { nodes.push({ type: "whitespace", value: "" }); }