Skip to content

dependabit / manifest/src / createEmptyManifest

Function: createEmptyManifest()

ts
function createEmptyManifest(options): {
  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";
};

Defined in: packages/manifest/src/manifest.ts:367

Creates a minimal, valid manifest with an empty dependencies array.

Parameters

ParameterType
options{ action?: string; branch: string; commit: string; llmModel?: string; llmProvider?: string; name: string; owner: string; version?: string; }
options.action?string
options.branchstring
options.commitstring
options.llmModel?string
options.llmProvider?string
options.namestring
options.ownerstring
options.version?string

Returns

ts
{
  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";
}

A new DependencyManifest with zeroed statistics.

NameTypeDefault valueDefined in
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; }[]-packages/manifest/src/schema.ts:145
generatedAtstring-packages/manifest/src/schema.ts:130
generatedBy{ action: string; llmModel?: string; llmProvider: string; version: string; }-packages/manifest/src/schema.ts:131
generatedBy.actionstring-packages/manifest/src/schema.ts:132
generatedBy.llmModel?string-packages/manifest/src/schema.ts:135
generatedBy.llmProviderstring-packages/manifest/src/schema.ts:134
generatedBy.versionstring-packages/manifest/src/schema.ts:133
repository{ branch: string; commit: string; name: string; owner: string; }-packages/manifest/src/schema.ts:138
repository.branchstring-packages/manifest/src/schema.ts:141
repository.commitstring-packages/manifest/src/schema.ts:142
repository.namestring-packages/manifest/src/schema.ts:140
repository.ownerstring-packages/manifest/src/schema.ts:139
statistics{ averageConfidence: number; byAccessMethod: Record<string, number>; byDetectionMethod: Record<string, number>; byType: Record<string, number>; falsePositiveRate?: number; totalDependencies: number; }-packages/manifest/src/schema.ts:147
statistics.averageConfidencenumber-packages/manifest/src/schema.ts:152
statistics.byAccessMethodRecord<string, number>-packages/manifest/src/schema.ts:150
statistics.byDetectionMethodRecord<string, number>-packages/manifest/src/schema.ts:151
statistics.byTypeRecord<string, number>-packages/manifest/src/schema.ts:149
statistics.falsePositiveRate?number-packages/manifest/src/schema.ts:153
statistics.totalDependenciesnumber-packages/manifest/src/schema.ts:148
version"1.0.0"ManifestVersionSchemapackages/manifest/src/schema.ts:129

Remarks

Use this as the starting point when generating a manifest from scratch (e.g. on first run in a new repository).

Example

ts
const manifest = createEmptyManifest({
  owner: 'my-org', name: 'my-repo',
  branch: 'main', commit: 'abc123',
});
await writeManifest('.dependabit/manifest.json', manifest);

Released under the MIT License.