| 1 | import { cpSync, existsSync, mkdirSync } from "node:fs" |
| 2 | import { basename, dirname, join, relative } from "node:path" |
| 3 | import { runtimeperfDir, sanitize } from "./utils.mts" |
| 4 | |
| 5 | export const materializeFixture = (targetRoot, fixture) => { |
| 6 | const sourceDir = dirname(fixture.fixturePath) |
| 7 | const name = sanitize(relative(runtimeperfDir, sourceDir)) |
| 8 | const targetDir = join(targetRoot, "packages", "effect", ".runtimeperf-compare", name) |
| 9 | mkdirSync(dirname(targetDir), { recursive: true }) |
| 10 | if (!existsSync(targetDir)) { |
| 11 | cpSync(sourceDir, targetDir, { recursive: true }) |
| 12 | } |
| 13 | return join(targetDir, basename(fixture.fixturePath)) |
| 14 | } |