Reusable TypeScript validation library using Zod schemas
npm install @fieldtest/validation-libA TypeScript validation library that works with both Astro and Next.js applications, building on top of Zod and integrated with @docs-score/core.
- Framework Agnostic: Works with both Astro and Next.js
- Zod Integration: Built on top of Zod for powerful schema validation
- @docs-score/core Integration: Leverages existing validation from @docs-score/core
- CLI Interface: Command-line tools for validation
- Common Schemas: Pre-built schemas for common validation needs
- Type Safety: Full TypeScript support with inferred types
``bashIf you're in the monorepo
pnpm add @fieldtest/validation-lib
Usage
$3
`typescript
import { validate, z } from '@fieldtest/validation-lib';const schema = z.object({
name: z.string().min(2),
email: z.string().email(),
age: z.number().min(18)
});
const userData = {
name: "Alice",
email: "alice@example.com",
age: 25
};
const [isValid, result] = validate(schema, userData);
if (isValid) {
console.log("Valid data:", result);
} else {
console.error("Invalid data:", result.errors);
}
`$3
`typescript
import { validate, DocumentSchema } from '@fieldtest/validation-lib';const document = {
title: "Getting Started",
url: "https://example.com/docs/getting-started",
headings: [
{ level: 1, text: "Getting Started" },
{ level: 2, text: "Installation" }
]
};
const [isValid, result] = validate(DocumentSchema, document);
if (!isValid) {
console.error("Invalid document structure");
}
`$3
`typescript
import { scanSite } from '@docs-score/core';
import { validate, ScanOptionsSchema } from '@fieldtest/validation-lib';const options = {
entry: "https://example.com",
maxDepth: 3,
concurrency: 5
};
const [isValid, validatedOptions] = validate(ScanOptionsSchema, options);
if (isValid) {
const results = await scanSite(validatedOptions);
console.log(
Scanned ${results.pages.length} pages);
}
`$3
`bash
Validate a URL
npx validate url https://example.com --depth 3 --concurrency 5 --output results.jsonValidate a configuration file
npx validate config ./config.json --schema ValidationConfig
`API Reference
$3
-
validate
- validateAsync
- formatZodError(error: z.ZodError): string$3
-
URLSchema: Validates URLs
- EmailSchema: Validates email addresses
- DocumentSchema: Validates document structure
- ValidationConfigSchema: Validates configuration files
- ScanOptionsSchema`: Validates @docs-score/core scan optionsMIT