@lzehrung/codegraph-core 2.3.2 → 2.3.3

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 (67) hide show
  1. package/dist/agent/query-index/content.d.ts.map +1 -1
  2. package/dist/agent/query-index/content.js +4 -1
  3. package/dist/agent/query-index/content.js.map +1 -1
  4. package/dist/agent/query-index/update.js +2 -2
  5. package/dist/agent/query-index/update.js.map +1 -1
  6. package/dist/agent/query-index/workerPool.d.ts +22 -0
  7. package/dist/agent/query-index/workerPool.d.ts.map +1 -1
  8. package/dist/agent/query-index/workerPool.js +31 -1
  9. package/dist/agent/query-index/workerPool.js.map +1 -1
  10. package/dist/duplicate-identifier-ranges.d.ts +5 -0
  11. package/dist/duplicate-identifier-ranges.d.ts.map +1 -0
  12. package/dist/duplicate-identifier-ranges.js +1500 -0
  13. package/dist/duplicate-identifier-ranges.js.map +1 -0
  14. package/dist/duplicate-token-normalization.d.ts.map +1 -1
  15. package/dist/duplicate-token-normalization.js +15 -1
  16. package/dist/duplicate-token-normalization.js.map +1 -1
  17. package/dist/duplicates/unitCache.d.ts +1 -1
  18. package/dist/duplicates/unitCache.d.ts.map +1 -1
  19. package/dist/duplicates/unitCache.js +5 -1
  20. package/dist/duplicates/unitCache.js.map +1 -1
  21. package/dist/indexer/build-cache/manifest.d.ts.map +1 -1
  22. package/dist/indexer/build-cache/manifest.js +25 -7
  23. package/dist/indexer/build-cache/manifest.js.map +1 -1
  24. package/dist/indexer/build-cache/module-cache.d.ts.map +1 -1
  25. package/dist/indexer/build-cache/module-cache.js +29 -14
  26. package/dist/indexer/build-cache/module-cache.js.map +1 -1
  27. package/dist/indexer/build-cache/project-snapshot.d.ts.map +1 -1
  28. package/dist/indexer/build-cache/project-snapshot.js +4 -1
  29. package/dist/indexer/build-cache/project-snapshot.js.map +1 -1
  30. package/dist/indexer/build-index.d.ts.map +1 -1
  31. package/dist/indexer/build-index.js +25 -9
  32. package/dist/indexer/build-index.js.map +1 -1
  33. package/dist/indexer/build-workers.d.ts +5 -2
  34. package/dist/indexer/build-workers.d.ts.map +1 -1
  35. package/dist/indexer/build-workers.js +5 -3
  36. package/dist/indexer/build-workers.js.map +1 -1
  37. package/dist/indexer/finalize.d.ts +2 -1
  38. package/dist/indexer/finalize.d.ts.map +1 -1
  39. package/dist/indexer/finalize.js +3 -2
  40. package/dist/indexer/finalize.js.map +1 -1
  41. package/dist/indexer/types.d.ts +1 -1
  42. package/dist/indexer/types.d.ts.map +1 -1
  43. package/dist/util/bloomFilter.d.ts +1 -1
  44. package/dist/util/bloomFilter.d.ts.map +1 -1
  45. package/dist/util/bloomFilter.js +2 -1
  46. package/dist/util/bloomFilter.js.map +1 -1
  47. package/dist/util/git.d.ts +2 -18
  48. package/dist/util/git.d.ts.map +1 -1
  49. package/dist/util/git.js +23 -6
  50. package/dist/util/git.js.map +1 -1
  51. package/dist/util/identifiers.d.ts +0 -6
  52. package/dist/util/identifiers.d.ts.map +1 -1
  53. package/dist/util/identifiers.js +0 -6
  54. package/dist/util/identifiers.js.map +1 -1
  55. package/dist/util/projectFiles.d.ts +46 -5
  56. package/dist/util/projectFiles.d.ts.map +1 -1
  57. package/dist/util/projectFiles.js +227 -94
  58. package/dist/util/projectFiles.js.map +1 -1
  59. package/dist/worker/nativeExtractWorker.d.ts +8 -0
  60. package/dist/worker/nativeExtractWorker.d.ts.map +1 -1
  61. package/dist/worker/nativeExtractWorker.js +25 -2
  62. package/dist/worker/nativeExtractWorker.js.map +1 -1
  63. package/dist/worker/nativeWorkerPool.d.ts +2 -0
  64. package/dist/worker/nativeWorkerPool.d.ts.map +1 -1
  65. package/dist/worker/nativeWorkerPool.js +13 -1
  66. package/dist/worker/nativeWorkerPool.js.map +1 -1
  67. package/package.json +2 -2
@@ -11,7 +11,7 @@ export { isRelativePathInside, matchesDiscoveryGlob } from "./discoveryPath.js";
11
11
  import { PROJECT_FILE_DEFINITIONS, } from "./projectFiles/definitions.js";
12
12
  import { trimToNull } from "./projectFiles/parsers.js";
13
13
  import { mapLimitSemaphore } from "./concurrency.js";
14
- import { isGitProjectRootIgnored, isGitRepo, listGitExcludeFiles, listGitSubmoduleDirectories, listTrackedFiles, listUntrackedFiles, } from "./git.js";
14
+ import { getGitRepositoryRoot, isGitProjectRootIgnored, isGitRepo, listGitExcludeFiles, listGitSubmoduleDirectories, listTrackedFiles, listUntrackedFiles, } from "./git.js";
15
15
  export const DEFAULT_PROJECT_FILE_IGNORES = [
16
16
  "**/node_modules/**",
17
17
  "**/.git/**",
@@ -188,7 +188,12 @@ function parseGitignoreRule(baseDir, rawLine) {
188
188
  matches,
189
189
  };
190
190
  }
191
- const EMPTY_GITIGNORE_INDEX = { hasRules: false, byBaseDir: new Map() };
191
+ const EMPTY_GITIGNORE_INDEX = {
192
+ hasRules: false,
193
+ repositoryRoots: [],
194
+ repositoryAliases: [],
195
+ byBaseDir: new Map(),
196
+ };
192
197
  /**
193
198
  * Parse `.gitignore` rules from an already-discovered set of `.gitignore` files.
194
199
  *
@@ -198,22 +203,36 @@ const EMPTY_GITIGNORE_INDEX = { hasRules: false, byBaseDir: new Map() };
198
203
  * child negation could re-include files. Depth-first ordering also keeps the "last match
199
204
  * wins" order deeper files depend on, and drops the locale sensitivity of `localeCompare`.
200
205
  */
201
- async function buildGitignoreIndex(sources) {
206
+ async function buildGitignoreIndex(sources, repositoryRoots = [], repositoryAliases = []) {
202
207
  const sorted = [...sources]
203
- .map(({ file, baseDir }) => ({ file: normalizePath(file), baseDir: normalizePath(baseDir) }))
208
+ .map(({ file, baseDir, repositoryRoot, priority }) => ({
209
+ file: normalizePath(file),
210
+ baseDir: normalizePath(baseDir),
211
+ priority: priority ?? 2,
212
+ ...(repositoryRoot === undefined ? {} : { repositoryRoot: normalizePath(repositoryRoot) }),
213
+ }))
204
214
  .sort((left, right) => {
205
- const leftFile = left.file;
206
- const rightFile = right.file;
207
- const depthDelta = leftFile.split("/").length - rightFile.split("/").length;
208
- if (depthDelta !== 0)
209
- return depthDelta;
210
- if (leftFile < rightFile)
215
+ const baseDepthDelta = left.baseDir.split("/").length - right.baseDir.split("/").length;
216
+ if (baseDepthDelta !== 0)
217
+ return baseDepthDelta;
218
+ const priorityDelta = left.priority - right.priority;
219
+ if (priorityDelta !== 0)
220
+ return priorityDelta;
221
+ if (left.file < right.file)
211
222
  return -1;
212
- return leftFile > rightFile ? 1 : 0;
223
+ return left.file > right.file ? 1 : 0;
213
224
  });
214
- const gitignoreIndex = { hasRules: false, byBaseDir: new Map() };
215
- for (const { file, baseDir } of sorted) {
216
- if (isIgnoredByGitignore(file, gitignoreIndex)) {
225
+ const gitignoreIndex = {
226
+ hasRules: false,
227
+ repositoryRoots: Array.from(new Set(repositoryRoots.map(normalizePath))).sort((left, right) => right.length - left.length),
228
+ repositoryAliases: Array.from(new Map(repositoryAliases.map(({ path: aliasPath, repositoryRoot }) => [
229
+ fileIdentityKey(aliasPath),
230
+ { path: normalizePath(aliasPath), repositoryRoot: normalizePath(repositoryRoot) },
231
+ ])).values()).sort((left, right) => right.path.length - left.path.length),
232
+ byBaseDir: new Map(),
233
+ };
234
+ for (const { file, baseDir, repositoryRoot } of sorted) {
235
+ if (isIgnoredByGitignore(path.dirname(file), gitignoreIndex, true)) {
217
236
  continue;
218
237
  }
219
238
  let raw;
@@ -232,7 +251,7 @@ async function buildGitignoreIndex(sources) {
232
251
  if (existing)
233
252
  existing.rules.push(rule);
234
253
  else
235
- gitignoreIndex.byBaseDir.set(baseKey, { baseDir, rules: [rule] });
254
+ gitignoreIndex.byBaseDir.set(baseKey, { baseDir, repositoryRoot, rules: [rule] });
236
255
  gitignoreIndex.hasRules = true;
237
256
  }
238
257
  }
@@ -277,9 +296,12 @@ async function loadGitignoreIndexForRootAliases(projectRoot) {
277
296
  * `path.relative` and normalization work; on the same project that repetition was the
278
297
  * dominant remaining cost, at 2.6s of a 3.8s discovery.
279
298
  */
280
- function isIgnoredByGitignore(absolutePath, gitignoreIndex) {
299
+ function isIgnoredByGitignore(absolutePath, gitignoreIndex, isDirectory = false) {
281
300
  if (!gitignoreIndex.hasRules)
282
301
  return false;
302
+ const owningRepositoryRoot = gitignoreIndex.repositoryRoots.find((root) => isFilePathWithinRoot(root, absolutePath)) ??
303
+ gitignoreIndex.repositoryAliases.find(({ path: aliasPath }) => isFilePathWithinRoot(aliasPath, absolutePath))
304
+ ?.repositoryRoot;
283
305
  const chain = [];
284
306
  let current = normalizePath(path.dirname(absolutePath));
285
307
  for (;;) {
@@ -294,6 +316,11 @@ function isIgnoredByGitignore(absolutePath, gitignoreIndex) {
294
316
  let ignored = false;
295
317
  for (let depth = chain.length - 1; depth >= 0; depth -= 1) {
296
318
  const group = chain[depth];
319
+ if (group.repositoryRoot !== undefined &&
320
+ owningRepositoryRoot !== undefined &&
321
+ fileIdentityKey(group.repositoryRoot) !== fileIdentityKey(owningRepositoryRoot)) {
322
+ continue;
323
+ }
297
324
  const relativePath = path.relative(group.baseDir, absolutePath);
298
325
  if (!isRelativePathInside(relativePath)) {
299
326
  continue;
@@ -301,10 +328,11 @@ function isIgnoredByGitignore(absolutePath, gitignoreIndex) {
301
328
  const normalizedRelativePath = normalizePath(relativePath);
302
329
  const hasSeparator = normalizedRelativePath.includes("/");
303
330
  for (const rule of group.rules) {
304
- if (rule.dirOnly && !hasSeparator) {
331
+ if (rule.dirOnly && !hasSeparator && !isDirectory) {
305
332
  continue;
306
333
  }
307
- if (rule.matches(normalizedRelativePath)) {
334
+ const matchesDirectory = isDirectory && rule.dirOnly && rule.matches(`${normalizedRelativePath}/.directory`);
335
+ if (rule.matches(normalizedRelativePath) || matchesDirectory) {
308
336
  ignored = !rule.negated;
309
337
  }
310
338
  }
@@ -350,65 +378,91 @@ function collectCandidateAncestorDirectories(root, files) {
350
378
  }
351
379
  return directories;
352
380
  }
353
- /**
354
- * Locate the `.gitignore` files that can affect `files`, plus Git's other ignore sources.
355
- *
356
- * Filtering the candidate listing for `.gitignore` would miss a `.gitignore` that is
357
- * itself ignored; Git still reads those, and tracked files matching their rules must
358
- * still be excluded. Probing the candidates' ancestor directories finds them without
359
- * reintroducing a full-tree walk. `.git/info/exclude` and `core.excludesFile` are
360
- * included so the index is authoritative for every source Git consults: paths that do
361
- * not come from Git, such as entries behind a directory symlink, are then filtered by
362
- * the same rules Git applied to the candidate listing.
363
- */
364
- async function findGitIgnoreSources(root, files) {
365
- const directories = collectCandidateAncestorDirectories(root, files);
366
- const present = await mapLimitSemaphore(directories, REALPATH_FILTER_CONCURRENCY, async (directory) => {
367
- const candidate = normalizePath(path.join(directory, ".gitignore"));
368
- try {
369
- return (await fsp.stat(candidate)).isFile() ? { file: candidate, baseDir: directory } : null;
370
- }
371
- catch {
372
- return null;
373
- }
374
- });
375
- const sources = present.filter((entry) => entry !== null);
376
- sources.push(...(await listGitExcludeFiles(root)));
381
+ async function findGitIgnoreSources(sourceRoots, files) {
382
+ const roots = Array.from(new Map(sourceRoots.map(({ path: sourceRoot, repositoryRoot }) => [
383
+ fileIdentityKey(sourceRoot),
384
+ { path: normalizePath(sourceRoot), repositoryRoot: normalizePath(repositoryRoot) },
385
+ ])).values());
386
+ const sources = [];
387
+ for (const { path: sourceRoot, repositoryRoot } of roots) {
388
+ const directories = collectCandidateAncestorDirectories(sourceRoot, files.filter((file) => isFilePathWithinRoot(sourceRoot, file)));
389
+ const present = await mapLimitSemaphore(directories, REALPATH_FILTER_CONCURRENCY, async (directory) => {
390
+ const candidate = normalizePath(path.join(directory, ".gitignore"));
391
+ try {
392
+ return (await fsp.stat(candidate)).isFile()
393
+ ? { file: candidate, baseDir: directory, repositoryRoot, priority: 2 }
394
+ : null;
395
+ }
396
+ catch {
397
+ return null;
398
+ }
399
+ });
400
+ sources.push(...present.filter((entry) => entry !== null));
401
+ sources.push(...(await listGitExcludeFiles(sourceRoot)).map((source) => ({
402
+ ...source,
403
+ repositoryRoot: source.baseDir,
404
+ })));
405
+ }
377
406
  return sources;
378
407
  }
379
408
  /**
380
409
  * Enumerate candidate project files through Git, or `null` when Git cannot answer.
381
410
  *
382
- * Tracked plus untracked-but-not-ignored files are exactly the working-tree files Git
383
- * treats as part of the project. Any Git failure returns `null` and discovery falls back
384
- * to scanning the filesystem.
385
- *
386
- * Submodules need explicit handling or their contents vanish from the index: the
387
- * superproject records only a gitlink. Tracked files come from `--recurse-submodules`,
388
- * which cannot combine with `--others`, so untracked files are listed per submodule
389
- * directory, including submodules nested inside submodules.
390
- *
391
- * A root that Git itself ignores falls back to scanning. Enumerating it through Git
392
- * would return only tracked files and silently drop the rest, which would make a
393
- * directory the caller named explicitly look nearly empty.
411
+ * Tracked plus untracked-but-not-ignored files are Git candidates. Submodule files retain
412
+ * their own repository boundary, and source roots cover logical and physical aliases.
394
413
  */
395
414
  async function listGitCandidateFiles(root, logLevel) {
396
415
  try {
397
- if (!(await isGitRepo(root)))
416
+ const realRoot = normalizePath(await fsp.realpath(root));
417
+ const gitRoot = (await isGitRepo(root)) ? root : realRoot;
418
+ if (!(await isGitRepo(gitRoot)))
419
+ return null;
420
+ if (await isGitProjectRootIgnored(realRoot))
398
421
  return null;
399
- if (await isGitProjectRootIgnored(root))
422
+ const gitRepositoryRoot = await getGitRepositoryRoot(gitRoot);
423
+ if (!gitRepositoryRoot)
400
424
  return null;
401
425
  const [tracked, untracked, submoduleDirectories] = await Promise.all([
402
- listTrackedFiles(root, { recurseSubmodules: true, ...(logLevel === undefined ? {} : { logLevel }) }),
403
- listUntrackedFiles(root, { respectGitignore: true }),
404
- listGitSubmoduleDirectories(root, { recurse: true }),
426
+ listTrackedFiles(gitRoot, { recurseSubmodules: true, ...(logLevel === undefined ? {} : { logLevel }) }),
427
+ listUntrackedFiles(gitRoot, { respectGitignore: true }),
428
+ listGitSubmoduleDirectories(gitRoot, { recurse: true }),
405
429
  ]);
406
- const submoduleUntracked = await Promise.all(submoduleDirectories.map(async (directory) => await listUntrackedFiles(directory, { respectGitignore: true })));
407
- // Sorted so discovery order is reproducible rather than an artifact of how three
408
- // separate Git listings happened to be concatenated. Callers that surface results
409
- // in discovery order then behave the same way on every machine.
410
- const files = Array.from(new Set([...tracked, ...untracked, ...submoduleUntracked.flat()])).sort();
411
- return { files, gitignoreFiles: await findGitIgnoreSources(root, files) };
430
+ const submoduleRoots = await Promise.all(submoduleDirectories.map(async (logicalPath) => ({
431
+ logicalPath: normalizePath(logicalPath),
432
+ physicalPath: normalizePath(await fsp.realpath(logicalPath).catch(() => logicalPath)),
433
+ })));
434
+ const submoduleUntracked = await Promise.all(submoduleRoots.map(async ({ physicalPath }) => await listUntrackedFiles(physicalPath, { respectGitignore: true })));
435
+ const rawFiles = Array.from(new Set([...tracked, ...untracked, ...submoduleUntracked.flat()])).sort();
436
+ const needsLogicalRemap = normalizePath(gitRoot) !== normalizePath(root);
437
+ const files = Array.from(new Set(rawFiles.map((file) => needsLogicalRemap && isFilePathWithinRoot(realRoot, file)
438
+ ? normalizePath(path.resolve(root, path.relative(realRoot, file)))
439
+ : normalizePath(file)))).sort();
440
+ const physicalFiles = normalizePath(root) === realRoot
441
+ ? []
442
+ : (await mapLimitSemaphore(files, REALPATH_FILTER_CONCURRENCY, async (file) => {
443
+ try {
444
+ return normalizePath(await fsp.realpath(file));
445
+ }
446
+ catch {
447
+ return null;
448
+ }
449
+ })).filter((file) => file !== null);
450
+ const gitignoreRoots = [gitRepositoryRoot, ...submoduleRoots.map(({ physicalPath }) => physicalPath)].map(normalizePath);
451
+ const sourceRoots = [
452
+ { path: root, repositoryRoot: gitRepositoryRoot },
453
+ { path: realRoot, repositoryRoot: gitRepositoryRoot },
454
+ { path: gitRepositoryRoot, repositoryRoot: gitRepositoryRoot },
455
+ ...submoduleRoots.flatMap(({ logicalPath, physicalPath }) => [
456
+ { path: logicalPath, repositoryRoot: physicalPath },
457
+ { path: physicalPath, repositoryRoot: physicalPath },
458
+ ]),
459
+ ];
460
+ return {
461
+ files,
462
+ gitignoreFiles: await findGitIgnoreSources(sourceRoots, [...rawFiles, ...files, ...physicalFiles]),
463
+ gitignoreRoots,
464
+ gitignoreAliases: sourceRoots,
465
+ };
412
466
  }
413
467
  catch (error) {
414
468
  logWithLevel(logLevel, "debug", `Git discovery unavailable for ${root}: ${stringifyUnknown(error)}`);
@@ -416,6 +470,12 @@ async function listGitCandidateFiles(root, logLevel) {
416
470
  }
417
471
  }
418
472
  export async function listProjectFiles(projectRoot, patterns = DEFAULT_PROJECT_PATTERNS, options) {
473
+ return await listProjectFilesInternal(projectRoot, patterns, options);
474
+ }
475
+ export async function listProjectFilesWithGitCandidates(projectRoot, patterns = DEFAULT_PROJECT_PATTERNS, options) {
476
+ return await listProjectFilesInternal(projectRoot, patterns, options);
477
+ }
478
+ async function listProjectFilesInternal(projectRoot, patterns = DEFAULT_PROJECT_PATTERNS, options) {
419
479
  const root = await ensureDirectoryReadable(projectRoot, "Project root");
420
480
  const globRoot = options?.globRoot ? await ensureDirectoryReadable(options.globRoot, "Glob root") : root;
421
481
  const includeGlobs = (options?.includeGlobs ?? []).map(normalizeGlobPattern).filter(Boolean);
@@ -448,12 +508,17 @@ export async function listProjectFiles(projectRoot, patterns = DEFAULT_PROJECT_P
448
508
  // `Intermediate/` tree, and discovery took 26.1s. Git lists 4,010 in about 111ms.
449
509
  // An aliased root or a gitignore-root override means Git's notion of the project is
450
510
  // not this call's, so those fall back to the scan.
451
- const gitCandidates = useGitignore && options?.gitignoreRoot === undefined && normalizePath(realRoot) === normalizePath(root)
452
- ? await listGitCandidateFiles(root, options?.logLevel)
453
- : null;
511
+ const attemptedGitCandidates = useGitignore && options?.gitignoreRoot === undefined && normalizePath(realRoot) === normalizePath(root);
512
+ const gitCandidates = attemptedGitCandidates ? await listGitCandidateFiles(root, options?.logLevel) : null;
513
+ // Report only when this call actually asked Git, including a null result. Callers that
514
+ // already enumerated candidates (build-index) can hand the same set to metadata discovery
515
+ // and skip a second Git spawn; omitting the callback keeps prior caller behavior.
516
+ if (attemptedGitCandidates) {
517
+ options?.onGitCandidatesDiscovered?.(gitCandidates);
518
+ }
454
519
  let gitignoreIndex = EMPTY_GITIGNORE_INDEX;
455
520
  if (useGitignore && gitCandidates) {
456
- gitignoreIndex = await buildGitignoreIndex(gitCandidates.gitignoreFiles);
521
+ gitignoreIndex = await buildGitignoreIndex(gitCandidates.gitignoreFiles, gitCandidates.gitignoreRoots, gitCandidates.gitignoreAliases);
457
522
  }
458
523
  else if (useGitignore) {
459
524
  const gitignoreRoot = options?.gitignoreRoot
@@ -740,33 +805,104 @@ async function buildProjectFileInfo(def, filePath) {
740
805
  };
741
806
  }
742
807
  export async function discoverProjectFiles(projectRoot, options) {
808
+ return await discoverProjectFilesInternal(projectRoot, options);
809
+ }
810
+ export async function discoverProjectFilesWithGitCandidates(projectRoot, options) {
811
+ return await discoverProjectFilesInternal(projectRoot, options);
812
+ }
813
+ async function discoverProjectFilesInternal(projectRoot, options) {
743
814
  const root = await ensureDirectoryReadable(projectRoot, "Project root");
744
815
  try {
745
816
  const realRoot = await fsp.realpath(root);
746
- const allPatterns = PROJECT_FILE_DEFINITIONS.flatMap((def) => def.patterns.map(toProjectGlob));
747
- const matches = await fg(allPatterns, {
748
- cwd: root,
749
- absolute: true,
750
- dot: true,
751
- followSymbolicLinks: false,
752
- ignore: DEFAULT_PROJECT_FILE_IGNORES,
753
- markDirectories: true,
754
- onlyFiles: false,
755
- });
756
- const linkedMatches = await listEntriesFromSafeSymlinkDirectories(root, realRoot, allPatterns, DEFAULT_PROJECT_FILE_IGNORES, {
757
- markDirectories: true,
758
- onlyFiles: false,
759
- ...(options?.knownSymlinkDirectories !== undefined
760
- ? { knownSymlinkDirectories: options.knownSymlinkDirectories }
761
- : {}),
762
- ...(options?.onSymlinkDirectoriesDiscovered
763
- ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered }
764
- : {}),
765
- });
766
- const rootSafeMatches = await filterRealPathsWithinRoot([...matches, ...linkedMatches].map((match) => (match.endsWith("/") ? match.slice(0, -1) : match)), realRoot);
767
817
  const projectFileDefinitionMatchers = PROJECT_FILE_DEFINITIONS.map((definition) => definition.patterns.map((pattern) => pattern.includes("*") || pattern.includes("?")
768
818
  ? new RegExp("^" + pattern.replace(/\./g, "\\.").replace(/\*/g, ".*") + "$")
769
819
  : undefined));
820
+ const matchesDefinition = (fileName, definitionIndex) => {
821
+ const definition = PROJECT_FILE_DEFINITIONS[definitionIndex];
822
+ return definition.patterns.some((pattern, patternIndex) => {
823
+ const matcher = projectFileDefinitionMatchers[definitionIndex][patternIndex];
824
+ return matcher ? matcher.test(fileName) : pattern === fileName;
825
+ });
826
+ };
827
+ let gitCandidates;
828
+ if (options?.knownGitCandidates !== undefined) {
829
+ gitCandidates = options.knownGitCandidates;
830
+ }
831
+ else {
832
+ gitCandidates = await listGitCandidateFiles(root, options?.logLevel);
833
+ }
834
+ options?.onGitCandidatesDiscovered?.(gitCandidates);
835
+ let rootSafeMatches;
836
+ if (gitCandidates) {
837
+ const gitignoreIndex = await buildGitignoreIndex(gitCandidates.gitignoreFiles, gitCandidates.gitignoreRoots, gitCandidates.gitignoreAliases);
838
+ const defaultIgnoreMatchers = DEFAULT_PROJECT_FILE_IGNORES.map((globPattern) => picomatch(globPattern, { dot: true }));
839
+ const filterGitIgnoredEntries = (entries, directoryKeys = new Set()) => entries
840
+ .map(({ path: filePath, realPath }) => ({ filePath: normalizePath(filePath), realPath }))
841
+ .filter(({ filePath, realPath }) => {
842
+ const isDirectory = directoryKeys.has(fileIdentityKey(filePath));
843
+ const rootRelative = normalizePath(path.relative(root, filePath));
844
+ if (!isRelativePathInside(rootRelative))
845
+ return false;
846
+ if (defaultIgnoreMatchers.some((matcher) => matcher(rootRelative)))
847
+ return false;
848
+ if (isIgnoredByGitignore(filePath, gitignoreIndex, isDirectory))
849
+ return false;
850
+ return normalizePath(realPath) === filePath || !isIgnoredByGitignore(realPath, gitignoreIndex, isDirectory);
851
+ })
852
+ .map(({ filePath }) => filePath);
853
+ const symlinkOptions = {
854
+ candidatePaths: gitCandidates.files,
855
+ ...(options?.knownSymlinkDirectories !== undefined
856
+ ? { knownSymlinkDirectories: options.knownSymlinkDirectories }
857
+ : {}),
858
+ ...(options?.onSymlinkDirectoriesDiscovered
859
+ ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered }
860
+ : {}),
861
+ };
862
+ const safeSymlinkDirectories = await resolveSafeSymlinkDirectories(root, realRoot, DEFAULT_PROJECT_FILE_IGNORES, symlinkOptions);
863
+ const allPatterns = PROJECT_FILE_DEFINITIONS.flatMap((definition) => definition.patterns.map(toProjectGlob));
864
+ const linkedMatches = await listEntriesFromSafeSymlinkDirectories(root, realRoot, allPatterns, DEFAULT_PROJECT_FILE_IGNORES, {
865
+ markDirectories: true,
866
+ onlyFiles: false,
867
+ resolvedSafeSymlinkDirectories: safeSymlinkDirectories,
868
+ });
869
+ const rootSafeCandidateEntries = await filterRealPathsWithinRootEntries(gitCandidates.files, realRoot);
870
+ const filteredFiles = filterGitIgnoredEntries(rootSafeCandidateEntries);
871
+ const fileMatches = filteredFiles.filter((file) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "file" && matchesDefinition(path.basename(file), definitionIndex)));
872
+ const rawCandidateDirectories = collectCandidateAncestorDirectories(root, rootSafeCandidateEntries.map(({ path: filePath }) => filePath));
873
+ const candidateDirectoryKeys = new Set(rawCandidateDirectories.map(fileIdentityKey));
874
+ const safeSymlinkDirectoryKeys = new Set(safeSymlinkDirectories.map(fileIdentityKey));
875
+ const directoryMatches = [
876
+ ...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(rawCandidateDirectories, realRoot), candidateDirectoryKeys),
877
+ ...filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(safeSymlinkDirectories, realRoot), safeSymlinkDirectoryKeys),
878
+ ].filter((directory) => PROJECT_FILE_DEFINITIONS.some((definition, definitionIndex) => definition.kind === "dir" && matchesDefinition(path.basename(directory), definitionIndex)));
879
+ const linkedDirectoryKeys = new Set(linkedMatches.filter((match) => match.endsWith("/")).map((match) => fileIdentityKey(match.slice(0, -1))));
880
+ const rootSafeLinked = filterGitIgnoredEntries(await filterRealPathsWithinRootEntries(linkedMatches.map((match) => (match.endsWith("/") ? match.slice(0, -1) : match)), realRoot), linkedDirectoryKeys);
881
+ rootSafeMatches = [...fileMatches, ...directoryMatches, ...rootSafeLinked];
882
+ }
883
+ else {
884
+ const allPatterns = PROJECT_FILE_DEFINITIONS.flatMap((definition) => definition.patterns.map(toProjectGlob));
885
+ const matches = await fg(allPatterns, {
886
+ cwd: root,
887
+ absolute: true,
888
+ dot: true,
889
+ followSymbolicLinks: false,
890
+ ignore: DEFAULT_PROJECT_FILE_IGNORES,
891
+ markDirectories: true,
892
+ onlyFiles: false,
893
+ });
894
+ const linkedMatches = await listEntriesFromSafeSymlinkDirectories(root, realRoot, allPatterns, DEFAULT_PROJECT_FILE_IGNORES, {
895
+ markDirectories: true,
896
+ onlyFiles: false,
897
+ ...(options?.knownSymlinkDirectories !== undefined
898
+ ? { knownSymlinkDirectories: options.knownSymlinkDirectories }
899
+ : {}),
900
+ ...(options?.onSymlinkDirectoriesDiscovered
901
+ ? { onSymlinkDirectoriesDiscovered: options.onSymlinkDirectoriesDiscovered }
902
+ : {}),
903
+ });
904
+ rootSafeMatches = await filterRealPathsWithinRoot([...matches, ...linkedMatches].map((match) => (match.endsWith("/") ? match.slice(0, -1) : match)), realRoot);
905
+ }
770
906
  const entries = [];
771
907
  const matchTasks = rootSafeMatches.map(async (cleanMatch) => {
772
908
  const stats = await fsp.stat(cleanMatch);
@@ -778,10 +914,7 @@ export async function discoverProjectFiles(projectRoot, options) {
778
914
  continue;
779
915
  if (!isDir && def.kind !== "file")
780
916
  continue;
781
- const matchesPattern = def.patterns.some((pattern, patternIndex) => {
782
- const matcher = projectFileDefinitionMatchers[definitionIndex][patternIndex];
783
- return matcher ? matcher.test(fileName) : pattern === fileName;
784
- });
917
+ const matchesPattern = matchesDefinition(fileName, definitionIndex);
785
918
  if (matchesPattern) {
786
919
  entries.push(await buildProjectFileInfo(def, cleanMatch));
787
920
  }
@@ -1 +1 @@
1
- {"version":3,"file":"projectFiles.js","sourceRoot":"","sources":["../../src/util/projectFiles.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"projectFiles.js","sourceRoot":"","sources":["../../src/util/projectFiles.ts"],"names":[],"mappings":"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"}
@@ -1,5 +1,11 @@
1
1
  import type { CompactQueryResults, NativeBinding, NativeFallbackReason, NativeQueryResults, NativeSyntaxTree, NativeWorkerBindingHandoff } from "../native/contracts.js";
2
2
  import type { NativeBindingLoadResult } from "../native/bindingLoader.js";
3
+ export type NativeBloomFilterPayload = {
4
+ bits: Uint8Array;
5
+ size: number;
6
+ hashCount: number;
7
+ itemCount: number;
8
+ };
3
9
  export type NativeExtractLimits = {
4
10
  /** Maximum UTF-8 source bytes accepted before native parsing. Default: 8 MiB. */
5
11
  maxSourceBytes?: number | undefined;
@@ -10,6 +16,7 @@ export type NativeExtractTask = {
10
16
  source?: string | undefined;
11
17
  /** Omit the source from the result only when the caller supplied the exact source above. */
12
18
  includeSourceInResult?: boolean | undefined;
19
+ includeBloomFilter?: boolean | undefined;
13
20
  importsQuery: string;
14
21
  exportsQuery: string;
15
22
  localsQuery: string;
@@ -24,6 +31,7 @@ export type NativeExtractResult = {
24
31
  nativeResults: NativeQueryResults | null;
25
32
  compactResults: CompactQueryResults | null;
26
33
  syntaxTree: NativeSyntaxTree | null;
34
+ bloomFilter?: NativeBloomFilterPayload;
27
35
  fallbackReason?: NativeFallbackReason;
28
36
  error?: string;
29
37
  };
@@ -1 +1 @@
1
- {"version":3,"file":"nativeExtractWorker.d.ts","sourceRoot":"","sources":["../../src/worker/nativeExtractWorker.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"nativeExtractWorker.d.ts","sourceRoot":"","sources":["../../src/worker/nativeExtractWorker.ts"],"names":[],"mappings":"AAMA,OAAO,KAAK,EACV,mBAAmB,EACnB,aAAa,EACb,oBAAoB,EACpB,kBAAkB,EAClB,gBAAgB,EAChB,0BAA0B,EAC3B,MAAM,wBAAwB,CAAC;AAOhC,OAAO,KAAK,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAI1E,MAAM,MAAM,wBAAwB,GAAG;IACrC,IAAI,EAAE,UAAU,CAAC;IACjB,IAAI,EAAE,MAAM,CAAC;IACb,SAAS,EAAE,MAAM,CAAC;IAClB,SAAS,EAAE,MAAM,CAAC;CACnB,CAAC;AAeF,MAAM,MAAM,mBAAmB,GAAG;IAChC,iFAAiF;IACjF,cAAc,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;CACrC,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG;IAC9B,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,4FAA4F;IAC5F,qBAAqB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC5C,kBAAkB,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAEzC,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,EAAE,MAAM,CAAC;IACrB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,OAAO,CAAC,EAAE,OAAO,GAAG,SAAS,CAAC;IAC9B,MAAM,CAAC,EAAE,mBAAmB,GAAG,SAAS,CAAC;CAC1C,CAAC;AAEF,MAAM,MAAM,mBAAmB,GAAG;IAChC,QAAQ,EAAE,MAAM,CAAC;IACjB,UAAU,EAAE,MAAM,CAAC;IACnB,MAAM,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IAC5B,aAAa,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACzC,cAAc,EAAE,mBAAmB,GAAG,IAAI,CAAC;IAC3C,UAAU,EAAE,gBAAgB,GAAG,IAAI,CAAC;IACpC,WAAW,CAAC,EAAE,wBAAwB,CAAC;IACvC,cAAc,CAAC,EAAE,oBAAoB,CAAC;IACtC,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,MAAM,MAAM,sBAAsB,GAAG;IACnC,KAAK,EAAE,iBAAiB,EAAE,CAAC;CAC5B,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,OAAO,EAAE,mBAAmB,EAAE,CAAC;CAChC,CAAC;AAEF,eAAO,MAAM,wBAAwB,KAAK,CAAC;AAC3C,OAAO,EAAE,kCAAkC,EAAE,MAAM,wBAAwB,CAAC;AAE5E;;;;GAIG;AACH,eAAO,MAAM,+BAA+B,QAAkB,CAAC;AAE/D;;;GAGG;AACH,eAAO,MAAM,kCAAkC,SAAU,CAAC;AAC1D,eAAO,MAAM,kCAAkC,MAAM,CAAC;AAQtD,KAAK,mBAAmB,GAAG;IACzB,WAAW,EAAE,MAAM,uBAAuB,CAAC,aAAa,CAAC,CAAC;IAC1D,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,QAAQ,EAAE,cAAc,KAAK,OAAO,CAAC,MAAM,CAAC,CAAC;IAC1E,QAAQ,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,KAAK,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC5D,CAAC;AAEF,MAAM,MAAM,eAAe,GAAG,CAAC,IAAI,EAAE,iBAAiB,KAAK,OAAO,CAAC,mBAAmB,CAAC,CAAC;AAExF;;;;;GAKG;AACH,wBAAgB,wBAAwB,CACtC,MAAM,GAAE,OAA+C,GACtD,0BAA0B,GAAG,IAAI,CAQnC;AAED,wBAAgB,qBAAqB,CACnC,aAAa,GAAE,OAA+C,GAC7D,uBAAuB,CAAC,aAAa,CAAC,CAkBxC;AA8BD,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,mBAAmB,GAAG,eAAe,CA0KhF;AAWD,wBAAsB,kBAAkB,CACtC,KAAK,EAAE,sBAAsB,EAC7B,OAAO,GAAE,eAA+B,GACvC,OAAO,CAAC,wBAAwB,CAAC,CAInC;AAED,wBAA8B,aAAa,CACzC,IAAI,EAAE,iBAAiB,GAAG,sBAAsB,GAC/C,OAAO,CAAC,mBAAmB,GAAG,wBAAwB,CAAC,CAGzD"}