type-compiler
Version:
A TypeScript compiler plugin for enhanced runtime type checking and analysis with Zod validation
50 lines • 1.46 kB
JSON
{
"compilerOptions": {
"target": "es2020",
"module": "commonjs",
"strict": true,
"outDir": "./dist",
"esModuleInterop": true,
"skipLibCheck": true,
"forceConsistentCasingInFileNames": true,
"plugins": [
{
"name": "type-compiler",
"generateZodSchemas": true,
"zodSchemaPrefix": "z",
"specialFieldValidators": {
"email": "z.string().email()",
"url": "z.string().url()",
"price": "z.number().positive()"
},
"contextualValidators": {
"User": {
"email": "z.string().email().endsWith('@company.com')",
"role": "z.enum(['admin', 'user', 'guest'])",
"status": "z.enum(['active', 'inactive'])"
},
"Customer": {
"email": "z.string().email()",
"type": "z.enum(['individual', 'business'])",
"status": "z.enum(['active', 'inactive', 'pending', 'suspended'])"
},
"^.*Product$": {
"pattern": true,
"fields": {
"price": "z.number().positive().min(0.01)",
"inventory": "z.number().int().min(0)"
}
},
"^(Admin|Super)User$": {
"pattern": true,
"fields": {
"permissions": "z.array(z.string()).min(1)"
}
}
}
}
]
},
"include": ["src/**/*.ts"],
"exclude": ["node_modules"]
}