type-challenges
Collection of TypeScript type challenges with online judge
Type Challenges: TypeScript exercises with a judge
A collection of TypeScript type challenges paired with an online judge, meant to teach the type system by doing. The README frames it as a way to understand types, write your own utilities, or just have fun.
Why the challenges exist
The intro makes the case that high-quality types can help improve a project's maintainability while avoiding potential bugs. The project is aimed at helping developers understand how the type system works, write their own utilities, or just have fun with the challenges. The online judge pairs practice material with a way to check solutions, which is what makes it usable as a learning loop rather than a static list of exercises. The challenges themselves are hosted on the project's homepage at tsch.js.org.
The community angle
Beyond the exercises, the project is trying to form a community where people can ask questions and get answers to problems they have faced in the real world, and those questions may become part of the challenges themselves. That turns the repository into both a practice space and a source of community-driven exercises. The project has drawn tens of thousands of stars, and its issue tracker carries a very large number of open issues, which fits a project built around questions from developers.
Useful companions
The README mentions existing type utility libraries you can use, such as type-fest. It also lists stale packages that are not actively maintained but can still be referenced, like utility-types, ts-toolbelt, and SimplyTyped. The project is TypeScript with an MIT license and a homepage at tsch.js.org. For developers already comfortable with TypeScript, the challenges are pitched as a way to go deeper into the type system.
Community notes