42 lines
1.3 KiB
TypeScript
42 lines
1.3 KiB
TypeScript
/** Relevant file categories projected from the complete artifact inventory. */
|
|
export type JavaScriptArtifactFileKind =
|
|
| "package-json"
|
|
| "json"
|
|
| "javascript"
|
|
| "html"
|
|
| "source-map"
|
|
| "native-addon";
|
|
|
|
/** One content-addressed local artifact file and its text availability. */
|
|
export interface JavaScriptArtifactFile {
|
|
readonly path: string;
|
|
readonly container_sha256: string;
|
|
readonly sha256: string;
|
|
readonly bytes: number;
|
|
readonly inventory_artifact_id: string;
|
|
readonly kind: JavaScriptArtifactFileKind;
|
|
readonly unpacked: boolean;
|
|
readonly text:
|
|
| { readonly included: true; readonly value: string }
|
|
| {
|
|
readonly included: false;
|
|
readonly reason: "not-applicable" | "invalid-utf8";
|
|
};
|
|
}
|
|
|
|
/** One filesystem-backed ASAR nested beneath a directory input. */
|
|
export interface JavaScriptArtifactContainer {
|
|
readonly path: string;
|
|
readonly sha256: string;
|
|
readonly bytes: number;
|
|
readonly inventory_artifact_id: string;
|
|
}
|
|
|
|
/** Deterministic relevant-file projection plus explicit omissions. */
|
|
export interface JavaScriptArtifactFileSet {
|
|
readonly files: readonly JavaScriptArtifactFile[];
|
|
readonly containers: readonly JavaScriptArtifactContainer[];
|
|
readonly text_bytes_read: number;
|
|
readonly invalid_utf8_files: number;
|
|
}
|