Skip to content

Commit af8fba9

Browse files
committed
fix: remove global flag from usage regex patterns
- Fixes logic error where global regex with .test() causes intermittent false negatives - Global regexes maintain lastIndex across calls causing incorrect results - .test() only checks for existence, doesn't need global flag Addresses GitHub Actions CI reviewer feedback
1 parent 8e91ea9 commit af8fba9

1 file changed

Lines changed: 5 additions & 5 deletions

File tree

lib/patterns/slop-analyzers.js

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -1335,11 +1335,11 @@ function analyzeInfrastructureWithoutImplementation(rootPath, options = {}) {
13351335
// Pre-compile usage patterns once per variable for performance
13361336
const escapedVarName = escapeRegex(varName);
13371337
const usagePatterns = [
1338-
new RegExp(`\\b${escapedVarName}\\s*\\.\\w+`, 'g'), // varName.method()
1339-
new RegExp(`\\b${escapedVarName}\\s*\\[`, 'g'), // varName[prop]
1340-
new RegExp(`\\(.*\\b${escapedVarName}\\b.*\\)`, 'g'), // func(varName)
1341-
new RegExp(`\\b${escapedVarName}\\s*\\)`, 'g'), // func(arg, varName)
1342-
new RegExp(`return\\s+.*\\b${escapedVarName}\\b`, 'g') // return varName
1338+
new RegExp(`\\b${escapedVarName}\\s*\\.\\w+`), // varName.method()
1339+
new RegExp(`\\b${escapedVarName}\\s*\\[`), // varName[prop]
1340+
new RegExp(`\\(.*\\b${escapedVarName}\\b.*\\)`), // func(varName)
1341+
new RegExp(`\\b${escapedVarName}\\s*\\)`), // func(arg, varName)
1342+
new RegExp(`return\\s+.*\\b${escapedVarName}\\b`) // return varName
13431343
];
13441344

13451345
// Search for usage in all source files

0 commit comments

Comments
 (0)