Complete prepared presentation build and runtime integration
This commit is contained in:
@@ -23,6 +23,8 @@ import {
|
||||
type PackageArtifacts,
|
||||
} from "../src/execution-world/index.js";
|
||||
import { validateWorkspaceRevision } from "../src/capability-model/index.js";
|
||||
import { presentationDeclarations, preparationArtifact } from "../src/react-build/declarations.js";
|
||||
import { compileQueryComposition } from "../src/query/composition.js";
|
||||
|
||||
const source = { repository: "https://example.test/components.git", commit: "a".repeat(40) };
|
||||
const contract = (name: string) => {
|
||||
@@ -58,6 +60,13 @@ const compilePackage = (body?: string) =>
|
||||
const workspace = (presentation = 'presentation Card id "presentation:card" for Data using UI.Card;') => {
|
||||
const pkg = compilePackage();
|
||||
assert.ok(pkg.ok && pkg.resource.kind === "package", JSON.stringify(pkg.diagnostics));
|
||||
const preparation = presentationDeclarations('{"modules":{"Card":{"inputs":[]}}}', pkg.resource.revision, [
|
||||
...interfaces.values(),
|
||||
]);
|
||||
pkg.resource.revision.buildArtifacts = { [preparationArtifact]: preparation.artifact };
|
||||
pkg.resource.revision.queryCompositions = preparation.compositions.map((entry) =>
|
||||
compileQueryComposition(entry, new Map()),
|
||||
);
|
||||
return compileCapabilitySource(
|
||||
`workspace Example id "workspace:example" revision "workspace:example@1" commit "${source.commit}" {
|
||||
import interface Data; import interface Other; import interface View; import package UI;
|
||||
|
||||
Reference in New Issue
Block a user