tslib

The runtime library that houses TypeScript's compiler helper functions so your emitted code stays small.

Library
npm
v2.8.1
1,345 stars
0BSD

Repository Health

Pre-computed score based on development activity, maintenance, community, maturity, and trend momentum. How we score it →
63 /100 Good
Development Activity 48
Maintenance 32
Community 84
Maturity 60
Momentum 28

Technical Analysis

AI-assessed by reading the actual repository — architecture, code quality, innovation, and documentation. How we score it →
81 /100 Excellent
Architecture 85
Code Quality 78
Innovation 82
Learning Curve 85

tslib is Microsoft’s runtime library containing every helper function the TypeScript compiler would otherwise inline into each emitted file - things like __extends, __assign, __awaiter, __decorate, and __spreadArray. When you enable the importHelpers compiler flag, TypeScript emits a single require(“tslib”) reference instead of redeclaring these helpers in every module.

The result is smaller output on average and less duplicated runtime code across a project or bundle. tslib ships in UMD, ES module, and native .mjs formats with full type declarations, has zero runtime dependencies, and is one of the most widely depended-upon packages in the JavaScript ecosystem.

What You Get

  • A single shared copy of all TypeScript helper functions (__extends, __assign, __awaiter, __decorate, __spreadArray, and more) instead of duplicated inline declarations in every emitted module.
  • Multiple distribution formats - UMD (tslib.js), ES modules (tslib.es6.js), and native ESM (tslib.es6.mjs) with a modules/ named-export layer - resolved automatically via the package.json exports map.
  • Complete TypeScript type declarations (tslib.d.ts) with JSDoc on every helper, so tooling and editors understand the runtime.
  • Zero runtime dependencies and a tree-shakeable, side-effect-free package that bundlers can prune down to only the helpers you actually use.

Common Use Cases

  • Reducing bundle size in libraries and applications by enabling importHelpers so helper code is shared rather than inlined per file.
  • Shipping npm libraries that downlevel modern syntax without bloating consumers with repeated helper boilerplate.
  • Providing the runtime helpers required by frameworks like Angular, which depend on tslib for their compiled output.
  • Standardizing helper emission across a large TypeScript monorepo so every package references one shared implementation.

Under The Hood

Architecture

tslib is organized around a single hand-authored source of truth: tslib.js defines every helper (__extends, __assign, __awaiter, __generator, __spreadArray, __decorate, __classPrivateFieldGet, __addDisposableResource, and the rest) inside a UMD wrapper that works under CommonJS, AMD, and global script loading. Parallel builds - tslib.es6.js and tslib.es6.mjs - expose the same helpers as ES modules, and a thin modules/index.js layer destructures the default export into individually named ESM exports so bundlers can tree-shake. The package.json exports map routes Node ESM, bundler module resolution, and legacy require() consumers to the correct artifact, while tslib.d.ts supplies types for all formats.

Tech Stack

The library is written in plain JavaScript and TypeScript declarations with zero runtime dependencies. It ships UMD, ESM, and native .mjs formats plus a complete .d.ts, coordinated through the package.json exports field and the sideEffects:false flag that marks it safe to prune. There is no heavy build toolchain - the distributed files are the source - and the code deliberately mirrors the helpers the TypeScript compiler emits so the two stay in lockstep.

Code Quality

Correctness is validated through integration tests rather than unit tests: the test/ directory runs the package through real consumers - Node ESM (exportStructure.test.js, rewriteRelativeImportExtension.test.js), plus webpack, rollup, and vite fixtures orchestrated by runTests.js - to confirm every module format resolves and every export is reachable across bundlers. Helper names follow TypeScript’s own emit conventions exactly, and each is documented with JSDoc in tslib.d.ts, keeping the public surface predictable.

API Design

The developer experience is intentionally invisible: users never call tslib helpers directly. Enabling the importHelpers compiler flag is the entire integration, after which TypeScript rewrites its emitted helper references to pull from tslib automatically. This zero-boilerplate design means the ergonomic surface is a single tsconfig option, while the fully typed, JSDoc-annotated declarations keep editors and type-checkers accurate for the rare cases where the helpers are referenced explicitly.

Used by 81 apps in this directory

TypeScript
91%
MIT

Super Productivity

Productivity · Project Management

23,103

A privacy-respecting, local-first task manager with built-in timeboxing, Pomodoro timer, and deep integrations for Jira, GitHub, GitLab, and CalDAV — no accounts, no data collection, ever.

View details
91
Repo Health
81
Technical
69
Dependency
Built with
TypeScript 91%
Updated 6 days ago
TypeScript
92%
MIT

SuperSplat

AI Design Tools · Design Tools

10,450

The free, browser-based 3D Gaussian Splat editor — inspect, edit, crop, optimize and publish splat scenes without installing anything.

View details
91
Repo Health
73
Technical
0
Dependency
Built with
TypeScript 92%
Updated 1 weeks ago
Python
71%
Apache 2.0

SurfSense

AI Assistants · Search

16,586

The open-source, unlimited NotebookLM alternative with real-time collaboration, a desktop app, and no vendor lock-in.

View details
88
Repo Health
71
Technical
66
Dependency
Built with
Python 71%
TypeScript 27%
Updated 6 days ago
TypeScript
97%
AGPL 3.0

Swetrix

Analytics

1,213

Privacy-first, cookieless web analytics with error tracking, session replays, and performance monitoring — self-host or use Cloud.

View details
87
Repo Health
71
Technical
66
Dependency
Built with
TypeScript 97%
Updated 1 weeks ago
Go
75%
AGPL 3.0

Teleport

Authentication · Security

21,016

Zero-trust infrastructure access platform that replaces credentials and VPNs with short-lived certificates, SSO, and identity-aware proxies for SSH, Kubernetes, databases, RDP, and AI agents.

View details
94
Repo Health
81
Technical
68
Dependency
Built with
Go 75%
TypeScript 16%
Updated 1 weeks ago
TypeScript
98%
Apache 2.0

TinaCMS

CMS

13,845

An open-source, Git-backed headless CMS that gives editors a live visual editing UI over Markdown, MDX, JSON, and YAML content while developers keep everything in version control.

View details
92
Repo Health
74
Technical
59
Dependency
Built with
TypeScript 98%
Updated 1 weeks ago
HTML
68%
AGPL 3.0

ToolJet

AI Agents · Low Code Platforms · No Code Platforms

41,123

Open-source AI-native platform to build and deploy internal tools, workflows, and AI agents with a visual drag-and-drop builder and 80+ data source integrations.

View details
94
Repo Health
81
Technical
63
Dependency
Built with
HTML 68%
JavaScript 20%
Updated 6 days ago
TypeScript
84%
Other

twenty

CRM

59,615

The open-source CRM you build, ship, and version like the rest of your stack — with customizable objects, AI agents, and a TypeScript SDK.

View details
92
Repo Health
82
Technical
64
Dependency
Built with
TypeScript 84%
MDX 14%
Updated 1 weeks ago
Go
98%
Other

Tyk API Gateway

Developer Tools · Devops

10,869

Cloud-native, high-performance open-source API gateway for REST, GraphQL, gRPC, and TCP — built in Go since 2014 with no feature lockout.

View details
97
Repo Health
78
Technical
67
Dependency
Built with
Go 98%
Updated 1 weeks ago

Join founders buildingwith open source

Opinionated takes, migration guides, cost-saving tips, and insights from the open source ecosystem.

Subscribe on Substack
Join 750+ subscribers