ianstormtaylor/superstruct
A simple and composable way to validate data in JavaScript (and TypeScript). observed · 2026-08-28
Health v2 · maintenance only
23/100
- Activity 0
- Release rhythm 8
- Longevity 100
How is this computed?
round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10) — computed 2026-09-02. Adoption (stars, forks) is never an input.
- gap_med: n/a
- age_days: 3205
- days_rel: n/a
- days_push: 701
- n_releases_24m: 0
Adoption not part of the score
7134 stars · 223 forks observed · 2026-08-28
What it is AI-extracted, prompt v1, taxonomy v1, 2026-08-29, confidence not recorded
Superstruct is a JavaScript and TypeScript library for defining data schemas (structs) and validating arbitrary data against them at runtime. It offers a composable, TypeScript-inspired API with detailed error reporting, data coercion, and custom validators.
Use cases
- validate request bodies in a REST or GraphQL API
- validate JSON data parsed from untrusted input
- define runtime-checked interfaces for TypeScript data
- coerce input data with default values before validation
- validate nested objects and arrays with custom validators
- check configuration files or environment data shapes
When to choose
- you need runtime validation of arbitrary input in JavaScript or TypeScript
- you want detailed, human-readable validation errors
- you prefer a small, composable schema API inspired by TypeScript types
- you need to validate and coerce data with defaults
When to avoid
- you only need compile-time type checking with no runtime validation
- you need extremely high-performance validation of huge datasets
- your team is standardized on another validator like Zod or Joi and interop matters
Facets
library · maturity stable
serialization developer-tools developer-tools web-development apis browser cross-platform runtime-validation schema-validation typescript data-validation type-safety nodejs
5 sources
- readme: https://github.com/ianstormtaylor/superstruct · fetched 2026-08-28 · 315e20d2a0e3
- homepage: https://docs.superstructjs.org · fetched 2026-08-29 · 449af5074b11
- site_page: https://docs.superstructjs.org/guides/01-getting-started · fetched 2026-08-29 · fc2176dc4b55
- site_page: https://docs.superstructjs.org/resources/faq · fetched 2026-08-29 · 7803fe428772
- registry_npm: https://registry.npmjs.org/superstruct · fetched 2026-08-29 · 4ab251387d77
Member repositories
| Repository | Role | Health v2 |
|---|---|---|
| ianstormtaylor/superstruct | main | 23 |
For agents
markdown · JSON · MCP: product_card(name="ianstormtaylor/superstruct")
Data as of 2026-08-30T08:39:29.467469+00:00 · Report a problem