Fix ignore patterns

This commit is contained in:
Andras Schmelczer 2025-05-24 13:21:37 +01:00
parent 287a4e15b4
commit b17f34d402
No known key found for this signature in database
GPG key ID: FC8F2C3D3D1A718C
4 changed files with 30 additions and 2 deletions

View file

@ -0,0 +1,10 @@
import { Logger } from "../tracing/logger";
import { globsToRegex } from "./globs-to-regexes";
describe("globsToRegexes", () => {
it("basicExample", async () => {
const regex = globsToRegex([".git/**"], new Logger())[0];
expect(regex.test(".git/objects/object")).toBeTruthy();
});
});

View file

@ -0,0 +1,16 @@
import { makeRe } from "minimatch";
import { Logger } from "../tracing/logger";
export function globsToRegex(globs: string[], logger: Logger): RegExp[] {
return globs
.map((pattern) => {
const result = makeRe(pattern);
if (result === false) {
logger.warn(
`Failed to parse ${pattern}' as a glob pattern, skipping it`
);
}
return result;
})
.filter((pattern) => pattern !== false);
}