ProjectAnalysis

tcmts.core.analyze.ProjectAnalysis · #pyps5jtm · type

import type { ProjectDef, WatchRecord } from "#codebase/tcmts/core/analyze";
import type { Diagnostic } from "#codebase/tcmts/core/program";
import type { TypeChecker } from "#codebase/tcmts/core/ts";
import type { Program as ts_Program } from "typescript/sync";

export interface ProjectAnalysis {
  program: ts_Program;
  checker: TypeChecker;
  diagnostics: Diagnostic[];
  errors: string[];
  warnings: string[];
  defs: ProjectDef[];
  watches: (WatchRecord & { file: string })[];
  /**
   * The exact version each pinned package range was checked against (`npm:ms@2` → `2.1.3`): definitions record
   * the range, the codebase's lock records versions.
   */
  packages: Record<string, string>;
  /** let the compilation analyzed go, once nothing more is asked of `program` and `checker` (a one-off's is kept until) */
  dispose?: () => void;
}

uses

used by