@cleocode/nexus 2026.9.17 → 2026.9.19
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/src/pipeline/filesystem-walker.d.ts +13 -0
- package/dist/src/pipeline/filesystem-walker.d.ts.map +1 -1
- package/dist/src/pipeline/filesystem-walker.js +179 -43
- package/dist/src/pipeline/filesystem-walker.js.map +1 -1
- package/dist/tsconfig.build.tsbuildinfo +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -56,6 +56,14 @@ export interface WalkOptions {
|
|
|
56
56
|
* instead of being read. Only a freshness check should pass this: an index
|
|
57
57
|
* build must hash what it parses. A metadata-preserving edit can defeat it,
|
|
58
58
|
* which is why the published generation still verifies by content.
|
|
59
|
+
*
|
|
60
|
+
* Passing it also selects the freshness walk (T12348): directories are read
|
|
61
|
+
* in parallel instead of through `fs.glob`, and `git check-ignore` is asked
|
|
62
|
+
* only about files absent from this map. A known file was judged not ignored
|
|
63
|
+
* when its generation was built, and in-repository `.gitignore`/`.cleoignore`
|
|
64
|
+
* rules are still re-evaluated in process for every path; what the walk no
|
|
65
|
+
* longer re-asks git is whether a change to `.git/info/exclude` or the global
|
|
66
|
+
* excludes file has since ignored an indexed file.
|
|
59
67
|
*/
|
|
60
68
|
knownFiles?: ReadonlyMap<string, KnownFileFingerprint>;
|
|
61
69
|
/** Called for every file whose bytes were actually read and hashed. */
|
|
@@ -76,6 +84,11 @@ export declare const GIT_IGNORE_TIMEOUT_ENV = "CLEO_NEXUS_GIT_TIMEOUT_MS";
|
|
|
76
84
|
* Files in excluded directories are skipped before stat is called.
|
|
77
85
|
* Files larger than {@link MAX_FILE_SIZE} are skipped after stat.
|
|
78
86
|
*
|
|
87
|
+
* When `options.knownFiles` is given the walk is a freshness check (T12348):
|
|
88
|
+
* directories are read in parallel, git is asked to classify only files absent
|
|
89
|
+
* from `knownFiles`, and stats run at higher concurrency — see
|
|
90
|
+
* {@link WalkOptions.knownFiles}.
|
|
91
|
+
*
|
|
79
92
|
* @param repoPath - Absolute path to the repository root
|
|
80
93
|
* @param onProgress - Optional progress callback invoked for each processed file
|
|
81
94
|
* @param onFileReport - Optional receiver for exclusion, size and stat outcomes
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"filesystem-walker.d.ts","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;;;;;GAoBG;AAOH,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAC;AAiEhE;;;;GAIG;AACH,MAAM,WAAW,WAAW;IAC1B,wEAAwE;IACxE,IAAI,EAAE,MAAM,CAAC;IACb,0BAA0B;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,4DAA4D;IAC5D,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,kDAAkD;IAClD,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;;OAGG;IACH,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAC;CACzB;AAED,iEAAiE;AACjE,MAAM,WAAW,oBAAoB;IACnC,kDAAkD;IAClD,IAAI,EAAE,MAAM,CAAC;IACb,iDAAiD;IACjD,OAAO,EAAE,MAAM,CAAC;IAChB,mCAAmC;IACnC,WAAW,EAAE,MAAM,CAAC;CACrB;AAED,iCAAiC;AACjC,MAAM,WAAW,WAAW;IAC1B;;;;;;;;;;;;;OAaG;IACH,UAAU,CAAC,EAAE,WAAW,CAAC,MAAM,EAAE,oBAAoB,CAAC,CAAC;IACvD,uEAAuE;IACvE,QAAQ,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;CACnC;AA0BD,4EAA4E;AAC5E,eAAO,MAAM,0BAA0B,QAAS,CAAC;AAEjD,oFAAoF;AACpF,eAAO,MAAM,8BAA8B,KAAK,CAAC;AAEjD,2DAA2D;AAC3D,eAAO,MAAM,oBAAoB,QAAS,CAAC;AAK3C,2EAA2E;AAC3E,eAAO,MAAM,sBAAsB,8BAA8B,CAAC;AAkRlE;;;;;;;;;;;;;;;;;;GAkBG;AACH,wBAAsB,mBAAmB,CACvC,QAAQ,EAAE,MAAM,EAChB,UAAU,CAAC,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,KAAK,IAAI,EACvE,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,oBAAoB,KAAK,IAAI,EACrD,oBAAoB,GAAE,SAAS,MAAM,EAAO,EAC5C,OAAO,GAAE,WAAgB,GACxB,OAAO,CAAC,WAAW,EAAE,CAAC,CAmKxB"}
|
|
@@ -33,6 +33,15 @@ import { detectLanguageFromPath } from './language-detection.js';
|
|
|
33
33
|
const MAX_FILE_SIZE = 512 * 1024;
|
|
34
34
|
/** Concurrency for stat calls (matches GitNexus READ_CONCURRENCY). */
|
|
35
35
|
const STAT_CONCURRENCY = 32;
|
|
36
|
+
/**
|
|
37
|
+
* Concurrency for a freshness walk's stat calls (T12348).
|
|
38
|
+
*
|
|
39
|
+
* A freshness check reads nothing but metadata for unchanged files, so its
|
|
40
|
+
* cost is one `stat` per indexed file; on a FUSE mount that is ~6 ms each when
|
|
41
|
+
* serialised. Keeping more requests in flight than the libuv pool has threads
|
|
42
|
+
* lets the pool (sized by the CLI shim) stay saturated.
|
|
43
|
+
*/
|
|
44
|
+
const FRESHNESS_STAT_CONCURRENCY = 256;
|
|
36
45
|
/**
|
|
37
46
|
* Directory names that are always excluded from repository scans.
|
|
38
47
|
*
|
|
@@ -203,9 +212,147 @@ function runGitCheckIgnore(repoPath, batch, timeout) {
|
|
|
203
212
|
maxBuffer: 4 * 1024 * 1024,
|
|
204
213
|
});
|
|
205
214
|
}
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
215
|
+
/**
|
|
216
|
+
* Collect candidate paths with `fs.glob` — the traversal an index build uses.
|
|
217
|
+
*
|
|
218
|
+
* Yields files AND directories that survive the default, nested-repository and
|
|
219
|
+
* ignore-rule exclusions; directories are dropped later, at stat time.
|
|
220
|
+
*/
|
|
221
|
+
async function collectPathsByGlob(repoPath, isExcluded, includedRepositories, onFileReport) {
|
|
222
|
+
const relativePaths = [];
|
|
223
|
+
for await (const entry of fs.glob('**/*', {
|
|
224
|
+
cwd: repoPath,
|
|
225
|
+
withFileTypes: true,
|
|
226
|
+
exclude: (candidate) => {
|
|
227
|
+
const absolutePath = path.join(candidate.parentPath, candidate.name);
|
|
228
|
+
const normalized = path.relative(repoPath, absolutePath).replace(/\\/g, '/');
|
|
229
|
+
const nestedRepository = (candidate.isDirectory() || candidate.isSymbolicLink()) &&
|
|
230
|
+
existsSync(path.join(absolutePath, '.git'));
|
|
231
|
+
const excluded = DEFAULT_EXCLUDED_DIRS.has(candidate.name) ||
|
|
232
|
+
(nestedRepository && !includedRepositories.includes(normalized));
|
|
233
|
+
if (excluded)
|
|
234
|
+
onFileReport?.({
|
|
235
|
+
path: normalized,
|
|
236
|
+
status: 'excluded',
|
|
237
|
+
reason: nestedRepository
|
|
238
|
+
? 'Nested repository requires explicit inclusion'
|
|
239
|
+
: 'Default excluded directory',
|
|
240
|
+
});
|
|
241
|
+
return excluded;
|
|
242
|
+
},
|
|
243
|
+
})) {
|
|
244
|
+
// Normalise to forward slashes
|
|
245
|
+
const relPath = path.relative(repoPath, path.join(entry.parentPath, entry.name));
|
|
246
|
+
const normalised = relPath.replace(/\\/g, '/');
|
|
247
|
+
// Native directory entries avoid a serial stat for every source; metadata
|
|
248
|
+
// and content hashes are still captured by the bounded batches below.
|
|
249
|
+
const isDirectory = entry.isSymbolicLink()
|
|
250
|
+
? (await fs.stat(path.join(repoPath, relPath))).isDirectory()
|
|
251
|
+
: entry.isDirectory();
|
|
252
|
+
if (!(await isExcluded(normalised, isDirectory))) {
|
|
253
|
+
relativePaths.push(normalised);
|
|
254
|
+
}
|
|
255
|
+
else {
|
|
256
|
+
onFileReport?.({ path: normalised, status: 'excluded', reason: 'Ignore rule' });
|
|
257
|
+
}
|
|
258
|
+
}
|
|
259
|
+
return relativePaths;
|
|
260
|
+
}
|
|
261
|
+
/**
|
|
262
|
+
* Collect the FILES {@link collectPathsByGlob} would yield, reading every
|
|
263
|
+
* directory in parallel (T12348).
|
|
264
|
+
*
|
|
265
|
+
* `fs.glob` reads one directory at a time and the nested-repository probe is a
|
|
266
|
+
* synchronous `existsSync` per directory, so on a FUSE mount the traversal
|
|
267
|
+
* alone measured 12–21 s for this repository; issuing the reads concurrently
|
|
268
|
+
* brings it under half a second there. The directory listing also answers the
|
|
269
|
+
* `.git` and ignore-file questions without further filesystem calls.
|
|
270
|
+
*
|
|
271
|
+
* It reproduces `fs.glob('**\/*')` as the index build observes it: dot entries
|
|
272
|
+
* are never visited, and a symbolic link to a directory contributes its
|
|
273
|
+
* immediate children but is not descended further. Directories themselves are
|
|
274
|
+
* not returned — the stat stage discards them — and a subtree whose directory
|
|
275
|
+
* is ignored is pruned, which is equivalent because {@link IgnoreEvaluator}
|
|
276
|
+
* excludes every path below an ignored ancestor.
|
|
277
|
+
*
|
|
278
|
+
* @param repoPath - Absolute repository root.
|
|
279
|
+
* @param isExcluded - Ignore-rule evaluator shared with the glob traversal.
|
|
280
|
+
* @param primeIgnoreFiles - Loads a directory's ignore files from its listing.
|
|
281
|
+
* @param includedRepositories - Nested repositories explicitly included.
|
|
282
|
+
* @param onFileReport - Receiver for exclusion outcomes. * @returns Repository-relative file paths, sorted.
|
|
283
|
+
*/
|
|
284
|
+
async function collectFilesInParallel(repoPath, isExcluded, primeIgnoreFiles, includedRepositories, onFileReport) {
|
|
285
|
+
const found = [];
|
|
286
|
+
const report = (relPath, reason) => onFileReport?.({ path: relPath, status: 'excluded', reason });
|
|
287
|
+
const acceptFile = async (relPath) => {
|
|
288
|
+
if (await isExcluded(relPath, false))
|
|
289
|
+
report(relPath, 'Ignore rule');
|
|
290
|
+
else
|
|
291
|
+
found.push(relPath);
|
|
292
|
+
};
|
|
293
|
+
// A link to a directory: glob yields the target's immediate children and
|
|
294
|
+
// stops there; a link to a file (or a dangling link) is a file candidate.
|
|
295
|
+
const visitLink = async (relPath) => {
|
|
296
|
+
const absolutePath = path.join(repoPath, relPath);
|
|
297
|
+
const target = await fs.stat(absolutePath).catch(() => null);
|
|
298
|
+
if (!target?.isDirectory())
|
|
299
|
+
return acceptFile(relPath);
|
|
300
|
+
if (existsSync(path.join(absolutePath, '.git')) && !includedRepositories.includes(relPath)) {
|
|
301
|
+
report(relPath, 'Nested repository requires explicit inclusion');
|
|
302
|
+
return;
|
|
303
|
+
}
|
|
304
|
+
if (await isExcluded(relPath, true)) {
|
|
305
|
+
report(relPath, 'Ignore rule');
|
|
306
|
+
return;
|
|
307
|
+
}
|
|
308
|
+
for (const child of await fs.readdir(absolutePath, { withFileTypes: true })) {
|
|
309
|
+
if (child.name.startsWith('.'))
|
|
310
|
+
continue;
|
|
311
|
+
const childPath = `${relPath}/${child.name}`;
|
|
312
|
+
const isDirectory = child.isSymbolicLink()
|
|
313
|
+
? ((await fs.stat(path.join(absolutePath, child.name)).catch(() => null))?.isDirectory() ??
|
|
314
|
+
false)
|
|
315
|
+
: child.isDirectory();
|
|
316
|
+
if (!isDirectory)
|
|
317
|
+
await acceptFile(childPath);
|
|
318
|
+
}
|
|
319
|
+
};
|
|
320
|
+
const visit = async (relDir) => {
|
|
321
|
+
const entries = await fs.readdir(relDir ? path.join(repoPath, relDir) : repoPath, {
|
|
322
|
+
withFileTypes: true,
|
|
323
|
+
});
|
|
324
|
+
const names = new Set(entries.map((entry) => entry.name));
|
|
325
|
+
if (relDir && names.has('.git') && !includedRepositories.includes(relDir)) {
|
|
326
|
+
report(relDir, 'Nested repository requires explicit inclusion');
|
|
327
|
+
return;
|
|
328
|
+
}
|
|
329
|
+
await primeIgnoreFiles(relDir, names);
|
|
330
|
+
const subdirectories = [];
|
|
331
|
+
await Promise.all(entries.map(async (entry) => {
|
|
332
|
+
if (entry.name.startsWith('.'))
|
|
333
|
+
return;
|
|
334
|
+
const relPath = relDir ? `${relDir}/${entry.name}` : entry.name;
|
|
335
|
+
if (DEFAULT_EXCLUDED_DIRS.has(entry.name)) {
|
|
336
|
+
report(relPath, 'Default excluded directory');
|
|
337
|
+
}
|
|
338
|
+
else if (entry.isSymbolicLink()) {
|
|
339
|
+
await visitLink(relPath);
|
|
340
|
+
}
|
|
341
|
+
else if (!entry.isDirectory()) {
|
|
342
|
+
await acceptFile(relPath);
|
|
343
|
+
}
|
|
344
|
+
else if (await isExcluded(relPath, true)) {
|
|
345
|
+
report(relPath, 'Ignore rule');
|
|
346
|
+
}
|
|
347
|
+
else {
|
|
348
|
+
subdirectories.push(relPath);
|
|
349
|
+
}
|
|
350
|
+
}));
|
|
351
|
+
await Promise.all(subdirectories.map(visit));
|
|
352
|
+
};
|
|
353
|
+
await visit('');
|
|
354
|
+
return found.sort();
|
|
355
|
+
}
|
|
209
356
|
/**
|
|
210
357
|
* Walk the repository directory tree and return a list of scanned files.
|
|
211
358
|
*
|
|
@@ -213,6 +360,11 @@ function runGitCheckIgnore(repoPath, batch, timeout) {
|
|
|
213
360
|
* Files in excluded directories are skipped before stat is called.
|
|
214
361
|
* Files larger than {@link MAX_FILE_SIZE} are skipped after stat.
|
|
215
362
|
*
|
|
363
|
+
* When `options.knownFiles` is given the walk is a freshness check (T12348):
|
|
364
|
+
* directories are read in parallel, git is asked to classify only files absent
|
|
365
|
+
* from `knownFiles`, and stats run at higher concurrency — see
|
|
366
|
+
* {@link WalkOptions.knownFiles}.
|
|
367
|
+
*
|
|
216
368
|
* @param repoPath - Absolute path to the repository root
|
|
217
369
|
* @param onProgress - Optional progress callback invoked for each processed file
|
|
218
370
|
* @param onFileReport - Optional receiver for exclusion, size and stat outcomes
|
|
@@ -262,49 +414,32 @@ export async function walkRepositoryPaths(repoPath, onProgress, onFileReport, in
|
|
|
262
414
|
}
|
|
263
415
|
return false;
|
|
264
416
|
}
|
|
265
|
-
|
|
266
|
-
|
|
267
|
-
|
|
268
|
-
|
|
269
|
-
|
|
270
|
-
|
|
271
|
-
|
|
272
|
-
|
|
273
|
-
|
|
274
|
-
|
|
275
|
-
|
|
276
|
-
|
|
277
|
-
|
|
278
|
-
onFileReport?.({
|
|
279
|
-
path: normalized,
|
|
280
|
-
status: 'excluded',
|
|
281
|
-
reason: nestedRepository
|
|
282
|
-
? 'Nested repository requires explicit inclusion'
|
|
283
|
-
: 'Default excluded directory',
|
|
284
|
-
});
|
|
285
|
-
return excluded;
|
|
286
|
-
},
|
|
287
|
-
})) {
|
|
288
|
-
// Normalise to forward slashes
|
|
289
|
-
const relPath = path.relative(repoPath, path.join(entry.parentPath, entry.name));
|
|
290
|
-
const normalised = relPath.replace(/\\/g, '/');
|
|
291
|
-
// Native directory entries avoid a serial stat for every source; metadata
|
|
292
|
-
// and content hashes are still captured by the bounded batches below.
|
|
293
|
-
const isDirectory = entry.isSymbolicLink()
|
|
294
|
-
? (await fs.stat(path.join(repoPath, relPath))).isDirectory()
|
|
295
|
-
: entry.isDirectory();
|
|
296
|
-
if (!(await isExcluded(normalised, isDirectory))) {
|
|
297
|
-
relativePaths.push(normalised);
|
|
298
|
-
}
|
|
299
|
-
else {
|
|
300
|
-
onFileReport?.({ path: normalised, status: 'excluded', reason: 'Ignore rule' });
|
|
301
|
-
}
|
|
417
|
+
/** Load a directory's ignore files, skipping the reads its listing rules out. */
|
|
418
|
+
async function primeIgnoreFiles(directory, names) {
|
|
419
|
+
if (!directory || nestedPatterns.has(directory))
|
|
420
|
+
return;
|
|
421
|
+
const [gitignore, cleoignore] = await Promise.all([
|
|
422
|
+
names.has('.gitignore')
|
|
423
|
+
? readIgnorePatterns(path.join(repoPath, directory, '.gitignore'))
|
|
424
|
+
: [],
|
|
425
|
+
names.has('.cleoignore')
|
|
426
|
+
? readIgnorePatterns(path.join(repoPath, directory, '.cleoignore'))
|
|
427
|
+
: [],
|
|
428
|
+
]);
|
|
429
|
+
nestedPatterns.set(directory, ignore().add([...gitignore, ...cleoignore]));
|
|
302
430
|
}
|
|
431
|
+
const knownFiles = options.knownFiles;
|
|
432
|
+
const relativePaths = knownFiles
|
|
433
|
+
? await collectFilesInParallel(repoPath, isExcluded, primeIgnoreFiles, includedRepositories, onFileReport)
|
|
434
|
+
: await collectPathsByGlob(repoPath, isExcluded, includedRepositories, onFileReport);
|
|
303
435
|
// Preserve the parent project binding while evaluating each explicitly included
|
|
304
436
|
// repository with its own Git configuration (including linked-worktree gitdirs).
|
|
305
437
|
const scopes = ['', ...includedRepositories].sort((a, b) => b.length - a.length);
|
|
306
438
|
const scopedPaths = new Map();
|
|
307
439
|
for (const file of relativePaths) {
|
|
440
|
+
// A known file was judged not ignored when its generation was built.
|
|
441
|
+
if (knownFiles?.has(file))
|
|
442
|
+
continue;
|
|
308
443
|
const scope = scopes.find((candidate) => !candidate || file.startsWith(`${candidate}/`)) ?? '';
|
|
309
444
|
const local = scope ? file.slice(scope.length + 1) : file;
|
|
310
445
|
const paths = scopedPaths.get(scope) ?? [];
|
|
@@ -328,8 +463,9 @@ export async function walkRepositoryPaths(repoPath, onProgress, onFileReport, in
|
|
|
328
463
|
const entries = [];
|
|
329
464
|
let processed = 0;
|
|
330
465
|
let skippedLarge = 0;
|
|
331
|
-
|
|
332
|
-
|
|
466
|
+
const concurrency = knownFiles ? FRESHNESS_STAT_CONCURRENCY : STAT_CONCURRENCY;
|
|
467
|
+
for (let start = 0; start < eligiblePaths.length; start += concurrency) {
|
|
468
|
+
const batch = eligiblePaths.slice(start, start + concurrency);
|
|
333
469
|
const results = await Promise.allSettled(batch.map(async (relPath) => {
|
|
334
470
|
const fullPath = path.join(repoPath, relPath);
|
|
335
471
|
const stat = await fs.stat(fullPath);
|
|
@@ -347,7 +483,7 @@ export async function walkRepositoryPaths(repoPath, onProgress, onFileReport, in
|
|
|
347
483
|
});
|
|
348
484
|
return null;
|
|
349
485
|
}
|
|
350
|
-
const known =
|
|
486
|
+
const known = knownFiles?.get(relPath);
|
|
351
487
|
let contentHash;
|
|
352
488
|
if (known && known.size === stat.size && known.mtimeMs === stat.mtimeMs) {
|
|
353
489
|
contentHash = known.contentHash;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"filesystem-walker.js","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"filesystem-walker.js","sourceRoot":"","sources":["../../../src/pipeline/filesystem-walker.ts"],"names":[],"mappings":"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"}
|