diff --git a/packages/validators/src/index.test.ts b/packages/validators/src/index.test.ts index 304cc8a..dc5547b 100644 --- a/packages/validators/src/index.test.ts +++ b/packages/validators/src/index.test.ts @@ -14,6 +14,10 @@ describe("LogicSRC validators", () => { expect(validate("task", data).ok).toBe(true); }); + it("parses JSON files case-insensitively by extension", () => { + expect(parseDocument('{"ok":true}', "TASK.JSON")).toEqual({ ok: true }); + }); + it("rejects a task without a DID", () => { const result = validate("task", { type: "logicsrc.task", diff --git a/packages/validators/src/index.ts b/packages/validators/src/index.ts index 6ea71b2..f5c226a 100644 --- a/packages/validators/src/index.ts +++ b/packages/validators/src/index.ts @@ -18,7 +18,7 @@ export function createValidator() { } export function parseDocument(input: string, fileName = "document") { - if (fileName.endsWith(".json")) { + if (fileName.toLowerCase().endsWith(".json")) { return JSON.parse(input) as unknown; }