HackerReposA FIELD GUIDE TO OPEN SOURCE
ProSponsor the shelf♧ 0
← Back to top all-time
microsoft
TypeScript
Go2014–2026
microsoft / TypeScript

TypeScript

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

464Distinct people
615Mentions
4Explicit recommenders
111.8KGitHub stars
REPOSITORY AT A GLANCE

What to know before exploring

What it is

TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

GitHub

Where it is used

No documented product use was verified in the last source check.

What people are saying

I can't give advice about the trademark, other than that I've been through this kind of thing before and it sucks. What I can say... is that I love what you've been doing on…

btown used a recommendation phrase. 4 indexed comments match. This is a phrase match, not a verdict.

No classified warning is attached to this page. Read the discussions before treating silence as approval.

Also in these discussions

Mentioned in the same Hacker News threads. That is not proof they are substitutes.

This week on Hacker News

Nov 7–Nov 14 UTC · Direct repository links and separately labeled related project stories. Indexed through 11/14/2026, 12:24:10 PM UTC.

No direct repository links were found in the indexed HN discussions over the past seven days. Older discussions are available below.

Mentions over time

HN mentions by year615 dated mentions

Observed mentions: 2014-07-23 18:39:36 UTC to 2026-10-20 16:30:17 UTC.

0204060802014-01-01 00:00:00 UTC to 2015-01-01 00:00:00 UTC (exclusive): 4 mentions; 1 submissions, 3 comments20142015-01-01 00:00:00 UTC to 2016-01-01 00:00:00 UTC (exclusive): 40 mentions; 6 submissions, 34 comments2016-01-01 00:00:00 UTC to 2017-01-01 00:00:00 UTC (exclusive): 69 mentions; 10 submissions, 59 comments2017-01-01 00:00:00 UTC to 2018-01-01 00:00:00 UTC (exclusive): 61 mentions; 6 submissions, 55 comments2018-01-01 00:00:00 UTC to 2019-01-01 00:00:00 UTC (exclusive): 47 mentions; 5 submissions, 42 comments2019-01-01 00:00:00 UTC to 2020-01-01 00:00:00 UTC (exclusive): 64 mentions; 10 submissions, 54 comments2020-01-01 00:00:00 UTC to 2021-01-01 00:00:00 UTC (exclusive): 51 mentions; 11 submissions, 40 comments20202021-01-01 00:00:00 UTC to 2022-01-01 00:00:00 UTC (exclusive): 52 mentions; 5 submissions, 47 comments2022-01-01 00:00:00 UTC to 2023-01-01 00:00:00 UTC (exclusive): 79 mentions; 6 submissions, 73 comments2023-01-01 00:00:00 UTC to 2024-01-01 00:00:00 UTC (exclusive): 70 mentions; 9 submissions, 61 comments2024-01-01 00:00:00 UTC to 2025-01-01 00:00:00 UTC (exclusive): 28 mentions; 5 submissions, 23 comments2025-01-01 00:00:00 UTC to 2026-01-01 00:00:00 UTC (exclusive): 40 mentions; 2 submissions, 38 comments2026-01-01 00:00:00 UTC to 2027-01-01 00:00:00 UTC (exclusive): 10 mentions; 2 submissions, 8 comments. Incomplete calendar period.2026*

* An incomplete calendar period is marked with an outlined bar. Its count is not directly comparable with a full period.

Counts come from the repository’s dated source evidence. Index cutoff: 2026-11-02 08:16:59 UTC.

View mention counts and date ranges
UTC ranges include their start and exclude their end. Select a period to filter the source evidence.
PeriodStart (UTC)End (exclusive, UTC)MentionsSubmissionsComments
20142014-01-01 00:00:00 UTC2015-01-01 00:00:00 UTC413
20152015-01-01 00:00:00 UTC2016-01-01 00:00:00 UTC40634
20162016-01-01 00:00:00 UTC2017-01-01 00:00:00 UTC691059
20172017-01-01 00:00:00 UTC2018-01-01 00:00:00 UTC61655
20182018-01-01 00:00:00 UTC2019-01-01 00:00:00 UTC47542
20192019-01-01 00:00:00 UTC2020-01-01 00:00:00 UTC641054
20202020-01-01 00:00:00 UTC2021-01-01 00:00:00 UTC511140
20212021-01-01 00:00:00 UTC2022-01-01 00:00:00 UTC52547
20222022-01-01 00:00:00 UTC2023-01-01 00:00:00 UTC79673
20232023-01-01 00:00:00 UTC2024-01-01 00:00:00 UTC70961
20242024-01-01 00:00:00 UTC2025-01-01 00:00:00 UTC28523
20252025-01-01 00:00:00 UTC2026-01-01 00:00:00 UTC40238
2026 (partial)2026-01-01 00:00:00 UTC2027-01-01 00:00:00 UTC1028

From the project README

An excerpt from the repository, fetched Nov 12, 2026.

Read the project’s introduction
TypeScript TypeScript is a language for application-scale JavaScript. TypeScript adds optional types to JavaScript that support tools for large-scale JavaScript applications for any browser, for any host, on any OS. TypeScript compiles to readable, standards-based JavaScript. Try it out at the playground, and stay up to date via our blog and Twitter account. Find others who are using TypeScript at our community page. Installing For the latest stable version: npm install -D typescript For our nightly builds: npm install -D typescript@next Contribute There are many ways to contribute to TypeScript. Submit bugs and help us verify fixes as they are checked in. Review the source code changes. Engage with other TypeScript users and developers on StackOverflow. Help each other in the TypeScript Community Discord. Join the #typescript discussion on Twitter. Contribute bug fixes. This project has adopted the Microsoft Open Source Code of Conduct. For more information see the Code of Conduct FAQ or contact opencode@microsoft.com with any additional questions or comments. Documentation TypeScript in 5 minutes Programming handbook Homepage Roadmap For details on our planned features and future direction, please refer to our roadmap.
Read the full README on GitHub

What Hacker News says

615 sources
If I recall correctly, a few of both - there were instances where some work could be done more lazily/minimally (https://github.com/microsoft/TypeScript/pull/64476), and there were instances where we changed our allocation patterns and played around with some struct layouts. We originally strived not to drastically reorganize our data structures to make things easier to port, and we have more flexibility now. We're continuing to experiment more here.
In Tsrs: A Port of TypeScript to Rust
The relevant points have already been made: (1) LSP is a JSON-RPC protocol, not a CLI app, and (2) Language Servers that implement LSP often utilize AST manipulation, even the resultant manipulations are exposed to the client via character ranges. Still, these links may be of interest: TypeScript’s language-service implementation of the “Move to file” refactor: https://github.com/microsoft/TypeScript/blob/main/src/servic... Documentation for how `typescript-language-server` exposes that refactor as an opt-in code action: https://github.com/typescript-language-server/typescript-lan... `ast-grep`, an AST-based search and transformation tool that may be closer in spirit to the cli functionality you describe, albeit more general-purpose: https://github.com/ast-grep/ast-grep
In Interview with Boris Cherny [video]
EDIT: previously the example in the parent comment was: type NewType<T> = T & { __brand__ : Symbol } --- This seems wrong; the type spelled `Symbol` refers to the boxed interface for symbols[0]. I suspect you meant to write `unique symbol` there, but it can't be used in that position. I'm not sure if `NewType` in your comment is supposed to stand in for a specific newtype (in which case it probably doesn't need to be generic[1]) or if it's supposed to be a general-purpose type constructor for any newtype (in which case it should take a second type parameter to let me distinguish e.g. `EmailAddress` from `Password`[2]). The use of `unique symbol`s is also only really necessary if you want to keep the brand private to force users to go through a validation function or whatnot, otherwise you can just use string literal types. I agree thes
Read the rest
e incantations aren't big problems (it all falls out naturally from knowledge of TypeScript's type system, and can be abstracted away as per my comment in [2]), but the fact that you goofed in the very comment where you were trying to make that point is causing me to second-guess myself. [0]: https://github.com/microsoft/TypeScript/blob/v6.0.3/src/lib/... [1]: https://tsplay.dev/N7rvBw [2]: https://tsplay.dev/Ndep0m
In A couple million lines of Haskell: Production engineering at Mercury
I'm using vscode for couple of years now. I have disabled all AI related features with "chat.disableAIFeatures" option and it worked really well in my case. But I was convinced by this article to checkout zed mainly tempted by the promise of much better performance because it is written in native language instead of javascript. So to test it out I've opened https://github.com/microsoft/TypeScript/blob/main/src/compil... file and zed after "ctrl + o" command frizzed. Also when scrolling this file in zed there is noticeable drop in FPS, where in vscode scroll with checker.ts file opened is very smooth. So I guess I'm staying with vscode :)
In I switched from VSCode to Zed
JSDoc works great for buildless application setups! One downside is that if you publish a library to npm you still need a build step to generate .d.ts files from your JSDoc type annotations so that npm shows a "TS" badge on the npm package page. This also seems to apply to VSCode's intellisense which keeps trying to poke you to "try to install @types/jsdoc-typed-package to get type information". Other JS ecosystem tooling also doesn't seem to process JSDoc types at all such as jsdocs.io or tsdocs.dev. So for libraries we're stuck with .d.ts generation via "tsc --allowJs --checkJs --declaration ..." even if it's all JS. npm displays packages with bundled TypeScript declarations https://github.blog/changelog/2020-12-16-npm-displays-packag... JSDoc-typed node modules require special configuration in consumers to be useful https://github.com/
Read the rest
In JSDoc is TypeScript
counterpoint: JSDoc is not typescript If you define a type in a file with @typedef, it is automatically exported and there is nothing you can do to control that: https://github.com/microsoft/TypeScript/issues/46011 I tried making a library this way and lacking control over the visibility of the exported types was really painful; it made my intellisense awful because every type I defined at the root was exported from the library
In JSDoc is TypeScript

Showing the 15 most recent of 615 sources. Enable JavaScript to search and browse every indexed mention.

MAKE YOURSELF AT HOME

A few shortcuts

/
Search the collection
?
Open this guide
Esc
Close dialogs and navigation

Your saved repositories and interests stay in this browser.