Yup is a schema validation and parsing library written in TypeScript that enables runtime value validation and transformation. The library allows developers to define schemas that can parse input values, transform them to match expected formats, and assert that values conform to specified shapes. According to the README, Yup schemas are designed to be extremely expressive, supporting everything from simple data models to complex, interdependent validations and value transformations.
The library emphasizes several core capabilities. It provides a concise yet expressive schema interface that can model both simple and complex data structures. Yup includes powerful TypeScript support that allows developers to infer static types directly from schemas or ensure that schemas correctly implement specified types. The library has built-in async validation support, enabling it to handle both server-side and client-side validation scenarios equally well. Yup is extensible, allowing developers to add custom type-safe methods and schemas. The library also provides rich error details to facilitate debugging and is compatible with the Standard Schema specification.
Schemas in Yup are constructed by chaining together methods that combine parsing actions, which perform transformations, with assertions that test the input value. Developers can validate input values to parse them and run configured assertions, or they can use schemas to coerce or cast input values into correct types with optional transformations without running assertions. For cases where input values are already known to be properly formatted, Yup supports strict validation mode that avoids the overhead of parsing logic.
The repository shows significant maintenance activity with jquense as the primary maintainer, accounting for 98 tracked events. Additional contributors include DaddyWarbucks with 14 events and thany with 7 events. The project has been linked by GitGenius to major repositories including microsoft/vscode, microsoft/typescript, and rust-lang/rust through overlapping contributors, indicating its influence across significant open-source projects.
Issue and pull request response latency data shows a median response time of 9134 hours with a mean of 18988.7 hours across 174 tracked items, reflecting the project's mature status and the maintainer's approach to issue management. The most frequently tracked issue labels are bug and needs repro, suggesting the project maintains focus on reproducible bug reports and defect resolution.
The repository represents version 1.0.0 of Yup, with documentation for pre-v1 versions available separately. The library is classified across multiple domains including javascript, form validation, API validation, object validation, type checking, data validation, and schema validation, reflecting its broad applicability across different validation scenarios and use cases in modern JavaScript and TypeScript applications.