yeknal 1.1.7 → 1.1.8

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (2) hide show
  1. package/bin/yeknal.js +2 -2
  2. package/package.json +1 -1
package/bin/yeknal.js CHANGED
@@ -1448,8 +1448,8 @@ async function checkFrontendSecurity(projectDir, fileContents) {
1448
1448
  if (/new\s+Function\s*\([^)]*(?:req\.|res\.|params|query|body|input|user|data)/.test(line)) {
1449
1449
  evalIssues.push({ file: relPath(projectDir, filePath), line: idx + 1, message: "new Function() with dynamic argument" });
1450
1450
  }
1451
- // setTimeout/setInterval with a string argument containing a variable
1452
- if (/(?:setTimeout|setInterval)\s*\(\s*(?!['"`])/.test(line) && !/(?:setTimeout|setInterval)\s*\(\s*(?:function|\()/.test(line)) {
1451
+ // setTimeout/setInterval with a string literal as first argument (the actual eval-like risk)
1452
+ if (/(?:setTimeout|setInterval)\s*\(\s*['"`]/.test(line)) {
1453
1453
  evalIssues.push({ file: relPath(projectDir, filePath), line: idx + 1, message: "setTimeout/setInterval with string argument" });
1454
1454
  }
1455
1455
  });
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "yeknal",
3
- "version": "1.1.7",
3
+ "version": "1.1.8",
4
4
  "description": "CLI to fetch markdown templates and sync AI agent skills",
5
5
  "main": "bin/yeknal.js",
6
6
  "bin": {