fix: harden prerender publication boundary
This commit is contained in:
40
scripts/build-contract.d.mts
Normal file
40
scripts/build-contract.d.mts
Normal file
@@ -0,0 +1,40 @@
|
||||
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;
|
||||
Reference in New Issue
Block a user