Files
paperclip/scripts/dev-runner-paths.mjs
2026-03-23 16:57:33 -05:00

39 lines
884 B
JavaScript

const testDirectoryNames = new Set([
"__tests__",
"_tests",
"test",
"tests",
]);
const ignoredTestConfigBasenames = new Set([
"jest.config.cjs",
"jest.config.js",
"jest.config.mjs",
"jest.config.ts",
"playwright.config.ts",
"vitest.config.ts",
]);
export function shouldTrackDevServerPath(relativePath) {
const normalizedPath = String(relativePath).replaceAll("\\", "/").replace(/^\.\/+/, "");
if (normalizedPath.length === 0) return false;
const segments = normalizedPath.split("/");
const basename = segments.at(-1) ?? normalizedPath;
if (segments.includes(".paperclip")) {
return false;
}
if (ignoredTestConfigBasenames.has(basename)) {
return false;
}
if (segments.some((segment) => testDirectoryNames.has(segment))) {
return false;
}
if (/\.(test|spec)\.[^/]+$/i.test(basename)) {
return false;
}
return true;
}