Files
recap/node_modules/@start9labs/start-sdk/package/lib/manifest/setupManifest.d.ts
T

29 lines
1.5 KiB
TypeScript

import * as T from '../../../base/lib/types';
import { ImageId, VolumeId } from '../../../base/lib/types';
import { SDKManifest, SDKImageInputSpec } from '../../../base/lib/types/ManifestTypes';
import { VersionGraph } from '../version/VersionGraph';
/**
* @description Use this function to define critical information about your package
*
* @param manifest Static properties of the package
*/
export declare function setupManifest<Id extends string, VolumesTypes extends VolumeId, Manifest extends {
id: Id;
volumes: VolumesTypes[];
} & SDKManifest>(manifest: Manifest & SDKManifest): Manifest;
/**
* Build the final publishable manifest by combining the SDK manifest definition
* with version graph metadata, OS version, SDK version, and computed fields
* (migration ranges, hardware requirements, alerts, etc.).
*
* @param versions - The service's VersionGraph, used to extract the current version, release notes, and migration ranges
* @param manifest - The SDK manifest definition (from `setupManifest`)
* @returns A fully resolved Manifest ready for packaging
*/
export declare function buildManifest<Id extends string, Version extends string, Dependencies extends Record<string, unknown>, VolumesTypes extends VolumeId, ImagesTypes extends ImageId, Manifest extends {
dependencies: Dependencies;
id: Id;
images: Record<ImagesTypes, SDKImageInputSpec>;
volumes: VolumesTypes[];
}>(versions: VersionGraph<Version>, manifest: SDKManifest & Manifest): Manifest & T.Manifest;