fluxflow-cli 1.18.22 → 1.18.23
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.
- package/dist/fluxflow.js +9 -4
- package/package.json +1 -1
package/dist/fluxflow.js
CHANGED
|
@@ -4300,6 +4300,7 @@ var init_search_keyword = __esm({
|
|
|
4300
4300
|
if (!keyword) return 'ERROR: Missing "keyword" argument.';
|
|
4301
4301
|
const isWindows = process.platform === "win32";
|
|
4302
4302
|
const excludes = ["node_modules", ".git", "dist", ".next", ".gemini"];
|
|
4303
|
+
const currentFolder = path13.basename(process.cwd());
|
|
4303
4304
|
let command = "";
|
|
4304
4305
|
if (file) {
|
|
4305
4306
|
if (isWindows) {
|
|
@@ -4310,7 +4311,7 @@ var init_search_keyword = __esm({
|
|
|
4310
4311
|
} else {
|
|
4311
4312
|
if (isWindows) {
|
|
4312
4313
|
const excludePattern = excludes.join("|").replace(/\./g, "\\.");
|
|
4313
|
-
command = `powershell -NoProfile -Command "Get-ChildItem -Path . -Recurse -File -ErrorAction SilentlyContinue | Where-Object {
|
|
4314
|
+
command = `powershell -NoProfile -Command "Get-ChildItem -Path . -Recurse -File -ErrorAction SilentlyContinue | Where-Object { $_.FullName -notmatch '${currentFolder}.*\\\\(${excludePattern})' } | Select-String -Pattern '${keyword}' -ErrorAction SilentlyContinue | Select-Object -First 150 | ForEach-Object { '{0}|{1}' -f $_.Path, $_.LineNumber }"`;
|
|
4314
4315
|
} else {
|
|
4315
4316
|
const excludeDirArgs = excludes.map((d) => `--exclude-dir="${d}"`).join(" ");
|
|
4316
4317
|
command = `grep -rnI ${excludeDirArgs} "${keyword}" . | head -n 150`;
|
|
@@ -4366,8 +4367,12 @@ var init_search_keyword = __esm({
|
|
|
4366
4367
|
lineNum = lineNum;
|
|
4367
4368
|
}
|
|
4368
4369
|
if (!filePath || !lineNum) return null;
|
|
4369
|
-
const
|
|
4370
|
-
const
|
|
4370
|
+
const absoluteFilePath = path13.resolve(process.cwd(), filePath).toLowerCase().replace(/\\/g, "/");
|
|
4371
|
+
const pathSegments = absoluteFilePath.split("/");
|
|
4372
|
+
const currentFolderLower = currentFolder.toLowerCase();
|
|
4373
|
+
const folderIndex = pathSegments.lastIndexOf(currentFolderLower);
|
|
4374
|
+
const relativeSegments = folderIndex !== -1 ? pathSegments.slice(folderIndex + 1) : pathSegments;
|
|
4375
|
+
const isNoise = excludes.some((ex) => relativeSegments.includes(ex.toLowerCase()));
|
|
4371
4376
|
if (isNoise) return null;
|
|
4372
4377
|
return `${filePath} ${lineNum}`;
|
|
4373
4378
|
}).filter(Boolean);
|
|
@@ -4376,7 +4381,7 @@ var init_search_keyword = __esm({
|
|
|
4376
4381
|
|
|
4377
4382
|
`;
|
|
4378
4383
|
output += matches.join("\n");
|
|
4379
|
-
if (matches.length
|
|
4384
|
+
if (matches.length >= 150) {
|
|
4380
4385
|
output += "\n\n... (Truncated to first 150 matches)";
|
|
4381
4386
|
}
|
|
4382
4387
|
resolve(output);
|