From 65dd82a4037e92667d430ae853b8726bbfb49c9c Mon Sep 17 00:00:00 2001 From: Denis Pushkarev Date: Tue, 2 Jul 2024 20:04:52 +0700 Subject: [PATCH] enable `eslint` `no-else-return` `allowElseIf: false` option --- packages/core-js-compat/compat.js | 3 ++- packages/core-js/modules/es.string.replace-all.js | 7 ++----- packages/core-js/modules/web.url.constructor.js | 12 +++++++++--- tests/eslint/eslint.config.js | 2 +- 4 files changed, 14 insertions(+), 10 deletions(-) diff --git a/packages/core-js-compat/compat.js b/packages/core-js-compat/compat.js index b179e7fdff64..d325e28c24e7 100644 --- a/packages/core-js-compat/compat.js +++ b/packages/core-js-compat/compat.js @@ -19,7 +19,8 @@ function getModules(filter) { if (typeof filter == 'string') { if (has(entries, filter)) return entries[filter]; return atLeastSomeModules(allModules.filter(it => it.startsWith(filter)), filter); - } else if (filter instanceof RegExp) return atLeastSomeModules(allModules.filter(it => filter.test(it)), filter); + } + if (filter instanceof RegExp) return atLeastSomeModules(allModules.filter(it => filter.test(it)), filter); throwInvalidFilter(filter); } diff --git a/packages/core-js/modules/es.string.replace-all.js b/packages/core-js/modules/es.string.replace-all.js index 84b1726f660a..6904d7ff4673 100644 --- a/packages/core-js/modules/es.string.replace-all.js +++ b/packages/core-js/modules/es.string.replace-all.js @@ -35,11 +35,8 @@ $({ target: 'String', proto: true }, { if (!~indexOf(flags, 'g')) throw new $TypeError('`.replaceAll` does not allow non-global regexes'); } replacer = getMethod(searchValue, REPLACE); - if (replacer) { - return call(replacer, searchValue, O, replaceValue); - } else if (IS_PURE && IS_REG_EXP) { - return replace(toString(O), searchValue, replaceValue); - } + if (replacer) return call(replacer, searchValue, O, replaceValue); + if (IS_PURE && IS_REG_EXP) return replace(toString(O), searchValue, replaceValue); } string = toString(O); searchString = toString(searchValue); diff --git a/packages/core-js/modules/web.url.constructor.js b/packages/core-js/modules/web.url.constructor.js index 7c2a99e8f7f4..90ec3dd726d9 100644 --- a/packages/core-js/modules/web.url.constructor.js +++ b/packages/core-js/modules/web.url.constructor.js @@ -209,15 +209,19 @@ var findLongestZeroSequence = function (ipv6) { // https://url.spec.whatwg.org/#host-serializing var serializeHost = function (host) { var result, index, compress, ignore0; + // ipv4 if (typeof host == 'number') { result = []; for (index = 0; index < 4; index++) { unshift(result, host % 256); host = floor(host / 256); - } return join(result, '.'); + } + return join(result, '.'); + } + // ipv6 - } else if (typeof host == 'object') { + if (typeof host == 'object') { result = ''; compress = findLongestZeroSequence(host); for (index = 0; index < 8; index++) { @@ -232,7 +236,9 @@ var serializeHost = function (host) { } } return '[' + result + ']'; - } return host; + } + + return host; }; var C0ControlPercentEncodeSet = {}; diff --git a/tests/eslint/eslint.config.js b/tests/eslint/eslint.config.js index b023aa264ff8..5de34f06633a 100644 --- a/tests/eslint/eslint.config.js +++ b/tests/eslint/eslint.config.js @@ -172,7 +172,7 @@ const base = { // disallow deletion of variables 'no-delete-var': ERROR, // disallow else after a return in an if - 'no-else-return': ERROR, + 'no-else-return': [ERROR, { allowElseIf: false }], // disallow empty statements 'no-empty': ERROR, // disallow empty functions, except for standalone funcs/arrows