Generate bulletproof runtime type validation from your existing TypeScript interfaces. No manual schema writing, no decorators, just your TypeScript types.
Automatically generates JSON Schema validators from TypeScript interfaces
Full TypeScript support with type inference and type guards
File-based caching with MD5 change detection for faster subsequent builds
Add validation rules directly in your TypeScript code using comments
export interface IUser {
/**
* @pattern ^[a-fA-F0-9]{24}$
*/
id: string;
/**
* @format email
*/
email: string;
/**
* @minimum 0
* @maximum 150
*/
age: number;
roles: string[];
}
Get up and running in minutes
# Using yarn (recommended)
yarn add --dev ts-runtime-validation
yarn add ajv
# Using npm
npm install --save-dev ts-runtime-validation
npm install ajv
# Generate validators
npx ts-runtime-validation
# With performance options
npx ts-runtime-validation --cache --progress
import { isValidSchema } from './validation';
if (isValidSchema(data, "#/definitions/IUser")) {
// data is now typed as IUser ✅
console.log(data.email);
}
Built for speed and developer experience
Concurrent file processing for improved performance
MD5-based file change detection with intelligent caching
Tree-shaking friendly exports and minified output
Visual feedback for long-running operations
Everything you need to get started
Supported validation constraints:
@minLength
, @maxLength
, @pattern
, @format
@minimum
, @maximum
, @multipleOf
@minItems
, @maxItems
, @uniqueItems
Performance and configuration options:
--cache
Enable incremental builds--progress
Show progress bars--minify
Compress output files--tree-shaking
Optimize exports--lazy-load
Defer validator initJoin developers using ts-runtime-validation to generate type-safe validators from their existing TypeScript code.