Bug Report
inFolder() is ignored for distance metric summaries and HTML export. Expected metrics(...).inFolder("src/lib/**").distance() to analyze only matching files, but summary() / exportAsHTML() include all eligible files from the tsconfig project.
Steps to Reproduce
- Create files in two folders, e.g.
src/lib/a.ts and src/http/b.ts.
- Run
metrics("src/tsconfig.json").inFolder("src/lib/**").distance().summary().
- Observe
totalFiles includes files outside src/lib/**.
Environment
- OS: macOS 15.7.4
- Node.js: 24.17.0
- ArchUnitTS: 2.3.3
- Testing Framework: Vitest 4.1.10
Code Sample
// src/lib/a.ts
export class A {}
// src/http/b.ts
export class B {}
// test
import { metrics } from "archunit";
import { expect, it } from "vitest";
it("filters distance metrics by folder", async () => {
const summary = await metrics("src/tsconfig.json")
.inFolder("src/lib/**")
.distance()
.summary();
expect(summary.totalFiles).toBe(1);
});
Bug Report
inFolder()is ignored for distance metric summaries and HTML export. Expectedmetrics(...).inFolder("src/lib/**").distance()to analyze only matching files, butsummary()/exportAsHTML()include all eligible files from the tsconfig project.Steps to Reproduce
src/lib/a.tsandsrc/http/b.ts.metrics("src/tsconfig.json").inFolder("src/lib/**").distance().summary().totalFilesincludes files outsidesrc/lib/**.Environment
Code Sample