diff --git a/lib/rules/invalid-regex-rule.js b/lib/rules/invalid-regex-rule.js index 540ec8b..59bfdcb 100644 --- a/lib/rules/invalid-regex-rule.js +++ b/lib/rules/invalid-regex-rule.js @@ -105,8 +105,8 @@ function createReplacement(replacement) { return () => undefined } -function checkPatterns(fileName, source, patterns, report) { - patterns.forEach(pattern => shouldCheck(pattern.files, fileName) && +function checkPatterns(fileNames, source, patterns, report) { + patterns.forEach(pattern => shouldCheck(pattern.files, fileNames) && checkRegex(source, pattern, createReplacement(pattern.details.replacement), report)) } diff --git a/lib/rules/required-regex-rule.js b/lib/rules/required-regex-rule.js index 99d7d5b..8eb301a 100644 --- a/lib/rules/required-regex-rule.js +++ b/lib/rules/required-regex-rule.js @@ -6,9 +6,9 @@ const { shouldCheck } = require('../utils/check-utils.js') const { REGEX_FLAGS_FIELD_DEFINITION, FILES_FIELD_DEFINITION } = require('./common-fields-definitions.js') -function checkPatterns(fileName, source, patterns, report, node) { +function checkPatterns(fileNames, source, patterns, report, node) { patterns.forEach(pattern => { - if (shouldCheck(pattern.files, fileName) && !pattern.regex.test(source)) { + if (shouldCheck(pattern.files, fileNames) && !pattern.regex.test(source)) { report({ node, message: formatReportMessage( diff --git a/lib/utils/check-utils.js b/lib/utils/check-utils.js index 98acf52..7b3f125 100644 --- a/lib/utils/check-utils.js +++ b/lib/utils/check-utils.js @@ -3,9 +3,12 @@ /** * @param {{ignore: RegExp, inspect: RegExp} | false} [files] Patterns that indicate which files to inspect and which to ignore. - * @param {string} fileName Name of the file. + * @param {[string, string]} fileNames Name of the file in array, the original path followed by a separator unified path. * @returns {boolean} true if the file should be checked. */ -module.exports.shouldCheck = function (files, fileName) { - return !files || (!files.ignore.test(fileName) && files.inspect.test(fileName)) +module.exports.shouldCheck = function (files, fileNames) { + const [fileName, unfFileName] = fileNames + return !files || + (!(files.ignore.test(fileName) || files.ignore.test(unfFileName)) && + (files.inspect.test(fileName) || files.inspect.test(unfFileName))) } diff --git a/lib/utils/create-utils.js b/lib/utils/create-utils.js index 84123d6..fb1b9a2 100644 --- a/lib/utils/create-utils.js +++ b/lib/utils/create-utils.js @@ -8,8 +8,10 @@ module.exports.buildCreateFunction = function (checkPatterns) { return { Program: function (node) { const fileName = context.getFilename() - if (!options.ignoreFilePattern.test(context.getFilename())) { - checkPatterns(fileName, context.getSourceCode(node).getText(), options.patterns, context.report, node) + const unfFileName = fileName.replaceAll('\\', '/') + const fileNames = [fileName, unfFileName] + if (!(options.ignoreFilePattern.test(fileName) && options.ignoreFilePattern.test(unfFileName))) { + checkPatterns(fileNames, context.getSourceCode(node).getText(), options.patterns, context.report, node) } } }