wip:milestone 0 fixes
Some checks failed
CI/CD Pipeline / unit-tests (push) Failing after 1m16s
CI/CD Pipeline / integration-tests (push) Failing after 2m32s
CI/CD Pipeline / lint (push) Successful in 5m22s
CI/CD Pipeline / e2e-tests (push) Has been skipped
CI/CD Pipeline / build (push) Has been skipped

This commit is contained in:
2026-03-15 12:35:42 +02:00
parent 6708cf28a7
commit cffdf8af86
61266 changed files with 4511646 additions and 1938 deletions

View File

@@ -0,0 +1,13 @@
import { V8CoverageProvider } from './provider.js';
import 'vitest/coverage';
import 'vitest';
import 'vitest/node';
declare const _default: {
getProvider(): Promise<V8CoverageProvider>;
startCoverage(): void;
takeCoverage(): Promise<unknown>;
stopCoverage(): void;
};
export { _default as default };

View File

@@ -0,0 +1,54 @@
import inspector from 'node:inspector';
import { provider } from 'std-env';
const session = new inspector.Session();
function startCoverage() {
session.connect();
session.post("Profiler.enable");
session.post("Profiler.startPreciseCoverage", {
callCount: true,
detailed: true
});
}
async function takeCoverage() {
return new Promise((resolve, reject) => {
session.post("Profiler.takePreciseCoverage", async (error, coverage) => {
if (error)
return reject(error);
const result = coverage.result.filter(filterResult);
resolve({ result });
});
if (provider === "stackblitz")
resolve({ result: [] });
});
}
function stopCoverage() {
session.post("Profiler.stopPreciseCoverage");
session.post("Profiler.disable");
session.disconnect();
}
function filterResult(coverage) {
if (!coverage.url.startsWith("file://"))
return false;
if (coverage.url.includes("/node_modules/"))
return false;
return true;
}
var coverage = /*#__PURE__*/Object.freeze({
__proto__: null,
startCoverage: startCoverage,
stopCoverage: stopCoverage,
takeCoverage: takeCoverage
});
var index = {
...coverage,
async getProvider() {
const name = "./provider.js";
const { V8CoverageProvider } = await import(name);
return new V8CoverageProvider();
}
};
export { index as default };

View File

@@ -0,0 +1,41 @@
import { BaseCoverageProvider } from 'vitest/coverage';
import { CoverageProvider, AfterSuiteRunMeta, ReportContext, ResolvedCoverageOptions } from 'vitest';
import { Vitest } from 'vitest/node';
interface TestExclude {
new (opts: {
cwd?: string | string[];
include?: string | string[];
exclude?: string | string[];
extension?: string | string[];
excludeNodeModules?: boolean;
relativePath?: boolean;
}): {
shouldInstrument: (filePath: string) => boolean;
glob: (cwd: string) => Promise<string[]>;
};
}
type Options = ResolvedCoverageOptions<'v8'>;
type Filename = string;
type CoverageFilesByTransformMode = Record<AfterSuiteRunMeta['transformMode'], Filename[]>;
type ProjectName = NonNullable<AfterSuiteRunMeta['projectName']> | typeof DEFAULT_PROJECT;
declare const DEFAULT_PROJECT: unique symbol;
declare class V8CoverageProvider extends BaseCoverageProvider implements CoverageProvider {
name: string;
ctx: Vitest;
options: Options;
testExclude: InstanceType<TestExclude>;
coverageFiles: Map<ProjectName, CoverageFilesByTransformMode>;
coverageFilesDirectory: string;
pendingPromises: Promise<void>[];
initialize(ctx: Vitest): void;
resolveOptions(): Options;
clean(clean?: boolean): Promise<void>;
onAfterSuiteRun({ coverage, transformMode, projectName }: AfterSuiteRunMeta): void;
reportCoverage({ allTestsRun }?: ReportContext): Promise<void>;
private getUntestedFiles;
private getSources;
private convertCoverage;
}
export { V8CoverageProvider };

File diff suppressed because it is too large Load Diff