fix(openontology): resolve manifest directories on Windows

This commit is contained in:
RissRIce 2026-07-30 16:35:29 -06:00
parent f9ebf9b342
commit bc0fc40831
2 changed files with 9 additions and 2 deletions

View file

@ -1,5 +1,5 @@
import { existsSync, readFileSync } from "node:fs";
import { isAbsolute, join, resolve } from "node:path";
import { dirname, isAbsolute, join, resolve } from "node:path";
import { parse as parseYaml } from "yaml";
import { canonicalObject, digest, packageDigest } from "./canonical.js";
import { OPENONTOLOGY_VERSION } from "./types.js";
@ -75,7 +75,7 @@ function loadFromDir(dirOrFile: string): LoadedPackage {
? base
: findManifest(base);
const dir = manifestPath.slice(0, manifestPath.lastIndexOf("/")) || ".";
const dir = dirname(manifestPath);
const manifest = canonicalObject(parseFile(manifestPath) as Manifest);
if (manifest?.kind !== "OntologyPackage") {

View file

@ -48,6 +48,13 @@ describe("init + validate", () => {
expect(pkg.files.map((f) => f.path)).toContain("data/claims.ndjson");
});
it("loads a package from an explicit manifest path", () => {
const { dir } = scaffold();
const pkg = loadOntologyPackage(join(dir, "openontology.yaml"));
expect(pkg.dir).toBe(dir);
expect(pkg.manifest.id).toBe("test-ecosystem");
});
it("builds a deterministic digest that survives a rebuild", () => {
const { pkg } = scaffold();
const first = buildOntologyPackage(pkg);