@typeslayer/validate
Validation schemas and utilities for TypeScript compiler trace analysis. This package provides comprehensive Zod-based schema validation (and types!!) for trace events, type metrics, and analysis results.
Usage
CLI
Validate compiler output files directly:
npx @typeslayer/validate --trace ./trace.json
npx @typeslayer/validate --types ./types.json
Trace JSON Validation
import { traceJsonSchema, type TraceEvent } from "@typeslayer/validate";
const events: TraceEvent[] = traceJsonSchema.parse(jsonData);
import { createReadStream } from "fs";
import { validateTraceJson } from "@typeslayer/validate/node";
const stream = createReadStream("trace.json");
const events = await validateTraceJson(stream);
Types JSON Validation
import { typesJsonSchema, type TypesJsonSchema } from "@typeslayer/validate";
const types: TypesJsonSchema = typesJsonSchema.parse(jsonData);
CPU Profile Validation
import { tscCpuProfileSchema } from "@typeslayer/validate";
const profile = tscCpuProfileSchema.parse(jsonData);
Exports
- Main export (
@typeslayer/validate): Browser-compatible validation schemas
traceJsonSchema - Validates TypeScript trace events
typesJsonSchema - Validates type information
tscCpuProfileSchema - Validates CPU profile data
- Node export (
@typeslayer/validate/node): Node.js-specific utilities
validateTraceJson() - Stream-based trace validation
readTraceJson() - Read and parse trace.json files
TypeScript Support
Full TypeScript support with type inference from schemas:
import type { TraceEvent } from "@typeslayer/validate";
function processEvent(event: TraceEvent) {
switch (event.name) {
case "createSourceFile":
console.log("Creating source file:", event.args.path);
break;
}
}