mirror of
https://github.com/morluto/rea.git
synced 2026-10-27 01:45:32 +00:00
62 lines
2.2 KiB
TypeScript
62 lines
2.2 KiB
TypeScript
import type {
|
|
JavaScriptSourceRange,
|
|
JavaScriptStaticAnalysis,
|
|
} from "../domain/javascriptStaticAnalysisTypes.js";
|
|
import type { JavaScriptArtifactFile } from "./JavaScriptArtifactFiles.js";
|
|
|
|
/** Parsed package metadata used only for static entrypoint discovery. */
|
|
export interface JavaScriptPackageObservation {
|
|
readonly path: string;
|
|
readonly sha256: string;
|
|
readonly status: "included" | "invalid" | "unavailable";
|
|
readonly name: string | null;
|
|
readonly version: string | null;
|
|
readonly main: string | null;
|
|
readonly renderer: string | null;
|
|
readonly limitation: string | null;
|
|
}
|
|
|
|
/** One HTML script source observed without building or executing a DOM. */
|
|
export interface JavaScriptHtmlScriptObservation {
|
|
readonly html_path: string;
|
|
readonly script_path: string;
|
|
readonly location: JavaScriptSourceRange;
|
|
}
|
|
|
|
/** One original source declared by an approved local source map. */
|
|
export interface JavaScriptSourceMapOriginal {
|
|
readonly source: string;
|
|
readonly content: string | null;
|
|
readonly content_sha256: string | null;
|
|
}
|
|
|
|
/** Bounded local source-map parse result. */
|
|
export interface JavaScriptSourceMapObservation {
|
|
readonly path: string;
|
|
readonly sha256: string;
|
|
readonly status: "included" | "truncated" | "invalid" | "not-approved";
|
|
readonly sources: readonly JavaScriptSourceMapOriginal[];
|
|
readonly omitted_sources: number | null;
|
|
readonly limitation: string | null;
|
|
}
|
|
|
|
/** One relevant file plus optional AST-only JavaScript facts. */
|
|
export interface AnalyzedJavaScriptArtifactFile {
|
|
readonly file: JavaScriptArtifactFile;
|
|
readonly javascript: JavaScriptStaticAnalysis | null;
|
|
}
|
|
|
|
/** Complete bounded static-analysis projection before graph construction. */
|
|
export interface JavaScriptArtifactAnalysis {
|
|
readonly files: readonly AnalyzedJavaScriptArtifactFile[];
|
|
readonly packages: readonly JavaScriptPackageObservation[];
|
|
readonly html_scripts: readonly JavaScriptHtmlScriptObservation[];
|
|
readonly source_maps: readonly JavaScriptSourceMapObservation[];
|
|
readonly visited_ast_nodes: number;
|
|
readonly findings: number;
|
|
readonly modules: number;
|
|
readonly parse_failures: number;
|
|
readonly truncated_scopes: number;
|
|
readonly limitations: readonly string[];
|
|
}
|