Files
Portfolio/scripts/build-contract.d.mts

41 lines
1.3 KiB
TypeScript

import type { ViteManifest } from './prerender.mjs';
export interface ViteAssetClosure {
entryModule: string;
executableModules: string[];
modulePreloads: string[];
styles: string[];
viteAssets: string[];
}
export interface ArtifactContractFile {
path: string;
sha256: string;
}
export interface ArtifactContract extends ViteAssetClosure {
schema: 'portfolio-artifact-contract/v1';
buildId: string;
publicAssets: string[];
files: ArtifactContractFile[];
}
export interface BuildAuthority {
schema: 'portfolio-build-authority/v1';
viteManifest: ViteManifest;
artifactContract: ArtifactContract;
}
export function resolveViteAssetClosure(manifest: ViteManifest): ViteAssetClosure;
export function parseArtifactContract(input: unknown): ArtifactContract;
export function createArtifactContract(
closure: ViteAssetClosure,
publicManifest: { assets: ReadonlyArray<{ fileName: string }> },
digestByPath: Readonly<Record<string, string>>,
buildId: string,
): ArtifactContract;
export function serializeArtifactContract(contract: ArtifactContract): string;
export function createBuildAuthority(viteManifest: ViteManifest, artifactContract: ArtifactContract): BuildAuthority;
export function parseBuildAuthority(input: unknown): BuildAuthority;
export function serializeBuildAuthority(authority: BuildAuthority): string;