import { defaultCoverageExclusions, defaultTestExclusions, defaultThresholds, mapThresholds, mergeThresholds, mergeVitestConfigs, scratchGlobalSetup, scratchSetupFiles, } from "./base.js";
export { defaultCoverageExclusions, defaultTestExclusions, defaultThresholds, mapThresholds, mergeThresholds, mergeVitestConfigs, scratchGlobalSetup, scratchSetupFiles, };
/**
 * Creates a Vitest configuration for Harper/Fabric projects.
 * @param options - Configuration options
 * @param options.thresholds - Coverage thresholds
 * @returns Vitest UserConfig object
 */
export const getHarperFabricVitestConfig = ({ thresholds, } = {}) => ({
    test: {
        setupFiles: [...scratchSetupFiles()],
        globalSetup: [...scratchGlobalSetup()],
        globals: true,
        environment: "node",
        include: ["tests/**/*.test.ts", "src/**/*.test.ts"],
        exclude: [...defaultTestExclusions],
        testTimeout: 10000,
        coverage: {
            provider: "v8",
            include: ["src/**/*.ts"],
            exclude: [
                ...defaultCoverageExclusions,
                "src/types/**",
                "src/web/**/*.ts",
            ],
            thresholds: mapThresholds(thresholds
                ? mergeThresholds(defaultThresholds, thresholds)
                : defaultThresholds),
        },
    },
});
//# sourceMappingURL=harper-fabric.js.map