From cd4fc7fad0ae8a7664c5228fbbd0b9545bd1a60b Mon Sep 17 00:00:00 2001 From: Meta Vens Date: Fri, 10 Jul 2026 10:26:27 +0100 Subject: [PATCH] Resolve exported fixtures through owner roots --- tools/parity/export-fixture.mjs | 11 ++++++----- 1 file changed, 6 insertions(+), 5 deletions(-) diff --git a/tools/parity/export-fixture.mjs b/tools/parity/export-fixture.mjs index 9fd34cf..ce32736 100644 --- a/tools/parity/export-fixture.mjs +++ b/tools/parity/export-fixture.mjs @@ -1,9 +1,10 @@ import { mkdir, readFile, writeFile } from "node:fs/promises"; import path from "node:path"; -import { fileURLToPath } from "node:url"; -import { compileEveDsl } from "../../web/eve-dsl.js"; +import { fileURLToPath, pathToFileURL } from "node:url"; const repoRoot = path.resolve(path.dirname(fileURLToPath(import.meta.url)), "../.."); +const kernelRoot = path.resolve(process.env.EVE_KERNEL_ROOT || "E:\\Projects\\Eve"); +const { compileEveDsl } = await import(pathToFileURL(path.join(kernelRoot, "web/eve-dsl.js"))); const manifest = JSON.parse(await readFile(path.join(repoRoot, "tools/parity/parity-manifest.json"), "utf8")); const fixtureId = process.argv[2] || "cultui-inspector"; @@ -18,7 +19,7 @@ if (!fixture) { throw new Error(`Unknown parity fixture: ${fixtureId}`); } -const surface = await loadSurface(fixture.surface); +const surface = await loadSurface(fixture, fixture.surface); surface.fixtureId = fixture.id; surface.values ||= surface.mesh?.snapshot?.() || {}; delete surface.mesh; @@ -27,8 +28,8 @@ await mkdir(path.dirname(outputPath), { recursive: true }); await writeFile(outputPath, `${JSON.stringify(surface, null, 2)}\n`); console.log(outputPath); -async function loadSurface(surface) { - const absolutePath = path.join(repoRoot, surface.path); +async function loadSurface(owner, surface) { + const absolutePath = path.resolve(repoRoot, owner.sourceRoot || ".", surface.path); const source = await readFile(absolutePath, "utf8"); if (surface.transport === "local-eve-dsl") return compileEveDsl(source); if (surface.transport === "local-json") return JSON.parse(source);