mattpocock/ts-reset

A 'CSS reset' for TypeScript, improving types for common JavaScript API's

View on GitHub ↗Jump to charts ↓Open shareable report

Summary Information

Updated 51 minutes ago
Added to GitGenius on June 9th, 2026
Created on February 19th, 2023
Open Issues & Pull Requests: 54 (+0)
Number of forks: 142
Total Stargazers: 8,578 (+0)
Total Subscribers: 21 (+0)

Issue Activity (beta)

Open issues: 28
New in 7 days: 0
Closed in 7 days: 0
Avg open age: 939 days
Stale 30+ days: 27
Stale 90+ days: 26

Recent activity

Opened in 7 days: 0
Closed in 7 days: 0
Comments in 7 days: 0
Events in 7 days: 0

Top labels

  • needs-triage (26)
  • enhancement (25)
  • bug (6)
  • wontfix (5)

Most active issues this week

No issue events were indexed in the last 7 days.

Repository Insights (GitGenius)

Median issue/PR response: 28.7 hours
Mean response time: 55.0 days
90th percentile: 166.9 days
Tracked items: 56

Most active contributors

Sign in to see contributor activity.

How this project is maintained

Around half of the issues opened in the past year never receive a reply. 100% of open issues come from outside the core team, so the backlog reflects real-world use rather than internal planning. Only 4% of issues opened in the past year have been closed. Three people close 89% of everything that gets resolved.

Detailed Description

ts-reset is a TypeScript utility library designed to improve and fix the type definitions for common JavaScript APIs, functioning as a "CSS reset" for TypeScript's built-in type system. Created by Matt Pocock, the project addresses recurring pain points where TypeScript's default type annotations create friction for developers working with standard JavaScript functionality.

The core purpose of ts-reset is to override and enhance TypeScript's native type definitions to provide more accurate and ergonomic typing. Without ts-reset, developers encounter several well-known typing issues: the `.json()` method in fetch requests and `JSON.parse()` both return the `any` type, which defeats type safety; the `.filter(Boolean)` pattern fails to properly narrow array types as developers intuitively expect; and `array.includes()` has overly restrictive typing that breaks on readonly arrays and creates unnecessary friction. By importing ts-reset, these issues are systematically resolved. The `.json()` and `JSON.parse()` methods return `unknown` instead of `any`, providing proper type safety while requiring explicit type assertions. The `.filter(Boolean)` method now behaves exactly as developers expect when filtering out falsy values. The `array.includes()` method is widened to work more ergonomically across different array types, including readonly arrays.

The repository is classified across multiple TypeScript-focused categories including type safety, type definitions, utility types, type enhancements, type fixes, type overrides, type improvements, and type customization. This breadth of classification reflects the project's comprehensive approach to improving TypeScript's type system across numerous APIs and patterns.

Activity data shows that ts-reset maintains active engagement with its user base.

This network positioning indicates that ts-reset sits within the broader TypeScript tooling ecosystem and benefits from cross-pollination with official TypeScript development and related tools.

The official documentation is hosted on Total TypeScript, Matt Pocock's educational platform focused on advanced TypeScript knowledge. This integration suggests ts-reset is positioned not just as a utility library but as part of a broader educational initiative to improve TypeScript literacy and best practices within the developer community. The project's straightforward value proposition—smoothing over hard edges in TypeScript's type system just as CSS resets smooth over browser inconsistencies—makes it immediately understandable to developers familiar with web development fundamentals.

ts-reset
by
mattpocockmattpocock/ts-reset

Repository Details

Fetching additional details & charts...