diff --git a/examples/typescript-sql-on-fhir/generate.ts b/examples/typescript-sql-on-fhir/generate.ts index 32b5a4bb7..269e15040 100644 --- a/examples/typescript-sql-on-fhir/generate.ts +++ b/examples/typescript-sql-on-fhir/generate.ts @@ -3,6 +3,9 @@ import { APIBuilder, prettyReport } from "../../src/api/builder"; const builder = new APIBuilder() .throwException() .typescript({ withDebugComment: false, generateProfile: false }) + // The IG references R5 core resources (e.g. ViewDefinition's base chain reaches Library) + // but doesn't declare an hl7.fhir.r5.core dependency, so add it explicitly to resolve them. + .fromPackage("hl7.fhir.r5.core", "5.0.0") .fromPackageRef("https://build.fhir.org/ig/FHIR/sql-on-fhir-v2/package.tgz") .outputTo("./examples/typescript-sql-on-fhir/fhir-types") .introspection({ typeTree: "tree.yaml" }) diff --git a/test/api/write-generator/multi-package/sql-on-fhir.test.ts b/test/api/write-generator/multi-package/sql-on-fhir.test.ts index 0c2bd7228..2f99142bb 100644 --- a/test/api/write-generator/multi-package/sql-on-fhir.test.ts +++ b/test/api/write-generator/multi-package/sql-on-fhir.test.ts @@ -5,10 +5,13 @@ import { mkSilentLogger } from "@typeschema-test/utils"; /** * Tests for SQL-on-FHIR package. - * The SQL-on-FHIR package depends on hl7.fhir.r5.core. + * The IG targets FHIR R5 and references R5 core resources (e.g. the ViewDefinition base + * chain reaches `Library`), but its package does not declare an `hl7.fhir.r5.core` + * dependency — so we add it explicitly, otherwise those R5 bases fail to resolve. */ describe("SQL-on-FHIR", async () => { const packageUrl = "https://build.fhir.org/ig/FHIR/sql-on-fhir-v2/package.tgz"; + const r5Core = { name: "hl7.fhir.r5.core", version: "5.0.0" }; const treeShakeConfig = { "org.sql-on-fhir.ig": { @@ -22,6 +25,7 @@ describe("SQL-on-FHIR", async () => { describe("TypeScript Generation", async () => { const result = await new APIBuilder({ logger: mkSilentLogger() }) + .fromPackage(r5Core.name, r5Core.version) .fromPackageRef(packageUrl) .typeSchema({ treeShake: treeShakeConfig }) .typescript({ inMemoryOnly: true }) @@ -57,6 +61,7 @@ describe("SQL-on-FHIR", async () => { describe("Python Generation", async () => { const result = await new APIBuilder({ logger: mkSilentLogger() }) + .fromPackage(r5Core.name, r5Core.version) .fromPackageRef(packageUrl) .typeSchema({ treeShake: treeShakeConfig, promoteLogical: promoteLogicalConfig }) .python({ inMemoryOnly: true }) @@ -87,6 +92,7 @@ describe("SQL-on-FHIR", async () => { describe("C# Generation", async () => { const result = await new APIBuilder({ logger: mkSilentLogger() }) + .fromPackage(r5Core.name, r5Core.version) .fromPackageRef(packageUrl) .typeSchema({ treeShake: treeShakeConfig, promoteLogical: promoteLogicalConfig }) .csharp({ inMemoryOnly: true })