From cf8a2be632faf11fe11fc74f63d97c52e4159b07 Mon Sep 17 00:00:00 2001 From: bkellam Date: Tue, 25 Nov 2025 23:15:29 -0800 Subject: [PATCH] allow list --- packages/backend/src/zoekt.ts | 5 ++++- packages/shared/src/env.server.ts | 3 +++ 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/packages/backend/src/zoekt.ts b/packages/backend/src/zoekt.ts index 9f65f473..68af1160 100644 --- a/packages/backend/src/zoekt.ts +++ b/packages/backend/src/zoekt.ts @@ -1,5 +1,5 @@ import { Repo } from "@sourcebot/db"; -import { createLogger } from "@sourcebot/shared"; +import { createLogger, env } from "@sourcebot/shared"; import { exec } from "child_process"; import { INDEX_CACHE_DIR } from "./constants.js"; import { Settings } from "./types.js"; @@ -11,6 +11,8 @@ export const indexGitRepository = async (repo: Repo, settings: Settings, revisio const { path: repoPath } = getRepoPath(repo); const shardPrefix = getShardPrefix(repo.orgId, repo.id); + const largeFileGlobPatterns = env.ALWAYS_INDEX_FILE_PATTERNS?.split(',').map(pattern => pattern.trim()) ?? []; + const command = [ 'zoekt-git-index', '-allow_missing_branches', @@ -21,6 +23,7 @@ export const indexGitRepository = async (repo: Repo, settings: Settings, revisio `-tenant_id ${repo.orgId}`, `-repo_id ${repo.id}`, `-shard_prefix ${shardPrefix}`, + ...largeFileGlobPatterns.map((pattern) => `-large_file ${pattern}`), repoPath ].join(' '); diff --git a/packages/shared/src/env.server.ts b/packages/shared/src/env.server.ts index 919a5884..f9c63f9c 100644 --- a/packages/shared/src/env.server.ts +++ b/packages/shared/src/env.server.ts @@ -219,6 +219,9 @@ export const env = createEnv({ // Configure the default maximum number of search results to return by default. DEFAULT_MAX_MATCH_COUNT: numberSchema.default(10_000), + + // A comma separated list of glob patterns that shwould always be indexed regardless of their size. + ALWAYS_INDEX_FILE_PATTERNS: z.string().optional(), }, runtimeEnv, emptyStringAsUndefined: true,