From b804d20da79397bb1b405ec83be0935618a9d58b Mon Sep 17 00:00:00 2001 From: Vincent Koc Date: Sun, 7 Jun 2026 03:59:03 +0200 Subject: [PATCH] refactor(test): share channel contract file discovery --- scripts/lib/channel-contract-test-plan.mjs | 26 +++------------------- 1 file changed, 3 insertions(+), 23 deletions(-) diff --git a/scripts/lib/channel-contract-test-plan.mjs b/scripts/lib/channel-contract-test-plan.mjs index 03a2ce12b396..cfba8949bb3d 100644 --- a/scripts/lib/channel-contract-test-plan.mjs +++ b/scripts/lib/channel-contract-test-plan.mjs @@ -1,29 +1,9 @@ // Builds balanced Vitest shard plans for channel plugin contract tests. -import { spawnSync } from "node:child_process"; -import { existsSync, readdirSync } from "node:fs"; -import { join, relative } from "node:path"; +import { relative } from "node:path"; +import { listTrackedTestFiles } from "./list-test-files.mjs"; function listContractTestFiles(rootDir = "src/channels/plugins/contracts") { - const result = spawnSync("git", ["ls-files", "--", rootDir], { - encoding: "utf8", - stdio: ["ignore", "pipe", "ignore"], - }); - if (result.status === 0) { - return result.stdout - .split("\n") - .map((line) => line.trim().replaceAll("\\", "/")) - .filter((line) => line.endsWith(".test.ts")) - .toSorted((a, b) => a.localeCompare(b)); - } - - if (!existsSync(rootDir)) { - return []; - } - - return readdirSync(rootDir, { withFileTypes: true }) - .filter((entry) => entry.isFile() && entry.name.endsWith(".test.ts")) - .map((entry) => join(rootDir, entry.name).replaceAll("\\", "/")) - .toSorted((a, b) => a.localeCompare(b)); + return listTrackedTestFiles(rootDir); } const CONTRACT_FILE_WEIGHTS = new Map([