dependabit / manifest/src / writeManifest
Function: writeManifest()
ts
function writeManifest(
path,
manifest,
options?): Promise<{
validationErrors?: string[];
}>;Defined in: packages/manifest/src/manifest.ts:54
Serialises a manifest to pretty-printed JSON and writes it to disk.
Parameters
| Parameter | Type | Description |
|---|---|---|
path | string | Destination file path. |
manifest | { dependencies: { accessMethod: "context7" | "arxiv" | "openapi" | "github-api" | "http"; auth?: { secretEnvVar?: string; type: "token" | "oauth" | "basic" | "none"; }; changeHistory: { detectedAt: string; falsePositive: boolean; issueNumber?: number; newVersion?: string; oldVersion?: string; severity: "breaking" | "major" | "minor"; }[]; currentStateHash: string; currentVersion?: string; description?: string; detectedAt: string; detectionConfidence: number; detectionMethod: | "llm-analysis" | "manual" | "package-json" | "requirements-txt" | "code-comment"; id: string; lastChanged?: string; lastChecked: string; monitoring?: { checkFrequency: "hourly" | "daily" | "weekly" | "monthly"; enabled: boolean; ignoreChanges: boolean; severityOverride?: "breaking" | "major" | "minor"; }; name: string; referencedIn: { context?: string; file: string; line?: number; }[]; type: | "reference-implementation" | "schema" | "documentation" | "research-paper" | "api-example" | "other"; url: string; }[]; generatedAt: string; generatedBy: { action: string; llmModel?: string; llmProvider: string; version: string; }; repository: { branch: string; commit: string; name: string; owner: string; }; statistics: { averageConfidence: number; byAccessMethod: Record<string, number>; byDetectionMethod: Record<string, number>; byType: Record<string, number>; falsePositiveRate?: number; totalDependencies: number; }; version: "1.0.0"; } | Manifest object to write. |
manifest.dependencies | { accessMethod: "context7" | "arxiv" | "openapi" | "github-api" | "http"; auth?: { secretEnvVar?: string; type: "token" | "oauth" | "basic" | "none"; }; changeHistory: { detectedAt: string; falsePositive: boolean; issueNumber?: number; newVersion?: string; oldVersion?: string; severity: "breaking" | "major" | "minor"; }[]; currentStateHash: string; currentVersion?: string; description?: string; detectedAt: string; detectionConfidence: number; detectionMethod: | "llm-analysis" | "manual" | "package-json" | "requirements-txt" | "code-comment"; id: string; lastChanged?: string; lastChecked: string; monitoring?: { checkFrequency: "hourly" | "daily" | "weekly" | "monthly"; enabled: boolean; ignoreChanges: boolean; severityOverride?: "breaking" | "major" | "minor"; }; name: string; referencedIn: { context?: string; file: string; line?: number; }[]; type: | "reference-implementation" | "schema" | "documentation" | "research-paper" | "api-example" | "other"; url: string; }[] | - |
manifest.generatedAt? | string | - |
manifest.generatedBy? | { action: string; llmModel?: string; llmProvider: string; version: string; } | - |
manifest.generatedBy.action? | string | - |
manifest.generatedBy.llmModel? | string | - |
manifest.generatedBy.llmProvider? | string | - |
manifest.generatedBy.version? | string | - |
manifest.repository? | { branch: string; commit: string; name: string; owner: string; } | - |
manifest.repository.branch? | string | - |
manifest.repository.commit? | string | - |
manifest.repository.name? | string | - |
manifest.repository.owner? | string | - |
manifest.statistics? | { averageConfidence: number; byAccessMethod: Record<string, number>; byDetectionMethod: Record<string, number>; byType: Record<string, number>; falsePositiveRate?: number; totalDependencies: number; } | - |
manifest.statistics.averageConfidence? | number | - |
manifest.statistics.byAccessMethod? | Record<string, number> | - |
manifest.statistics.byDetectionMethod? | Record<string, number> | - |
manifest.statistics.byType? | Record<string, number> | - |
manifest.statistics.falsePositiveRate? | number | - |
manifest.statistics.totalDependencies? | number | - |
manifest.version? | "1.0.0" | - |
options? | { strict?: boolean; } | Optional write behaviour overrides. |
options.strict? | boolean | - |
Returns
Promise<{ validationErrors?: string[]; }>
An object that may contain validationErrors if the manifest has schema violations and strict is false.
Remarks
The directory is created recursively if it does not exist. When strict is false (the default) the file is written even if validation fails; validation errors are returned in the result so callers can surface them as warnings.
Throws
Only when options.strict is true and the manifest fails validation.
Pitfalls
- Writing a manifest with
strict: falsecan persist invalid data that later fails to parse. Preferstrict: truein production pipelines.