TypeScript is now officially 10 years old

This page summarizes the projects mentioned and recommended in the original post on news.ycombinator.com

Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers
Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.
www.nutrient.io
featured
CodeRabbit: AI Code Reviews for Developers
Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.
coderabbit.ai
featured
  1. Visual Studio Code

    Visual Studio Code

    https://github.com/microsoft/vscode/blob/main/src/vs/editor/...

    The typings on the class variables are useful to have. There are also typings on the function signatures, not a huge deal.

    In the method bodies there are almost no typings as all of it is already inferred. Seems pretty readable to me.

  2. Nutrient

    Nutrient – The #1 PDF SDK Library, trusted by 10K+ developers. Other PDF SDKs promise a lot - then break. Laggy scrolling, poor mobile UX, tons of bugs, and lack of support cost you endless frustrations. Nutrient’s SDK handles billion-page workloads - so you don’t have to debug PDFs. Used by ~1 billion end users in more than 150 different countries.

    Nutrient logo
  3. TypeScript

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

  4. proposal-type-annotations

    ECMAScript proposal for type syntax that is erased - Stage 1

    > There's even the future possibility of much of its type syntax being absorbed back into JavaScript: https://github.com/tc39/proposal-type-annotations

    ... as comments. Which superficially resemble the syntax of type hints but do nothing. Which has to be one of the worst language design decisions of all time.

  5. tsc-esm-fix

    Make Typescript projects compatible with esm/mjs requirements

    Probably because it compiles them to a pre-standard ES5-compatible implementation based on good ol' `Foo.prototype`. And since they've already handled them one way, they can't become spec-compliant without breaking backwards compatibility.

    The other place where this shines through particularly egregiously is the support of ESM static import/export. Everybody's build tools been compiling that back down to CJS so hard that Node.js 16+ introduced intentional incompatibilities between CJS and ESM modes just to get people to finally switch to the standards-compliant module system. So you end up in a situation where the library is written in TypeScript with ESM syntax but the only available browser build is a CJS blob which completely defeats the main touted benefit of static imports/exports, namely dead code elimination...

    So you decide what the hell, let's switch TSC to ESM and moduleResolution node16, and end up having to use something like https://github.com/antongolub/tsc-esm-fix because the only allowed fix for TSC doing the wrong thing is at the completely wrong level - https://www.typescriptlang.org/docs/handbook/esm-node.html - if you don't see what's wrong with that, you're one of today's lucky 10000...

  6. rescript

    ReScript is a robustly typed language that compiles to efficient and human-readable JavaScript.

    There (kind of) is another option. It is called Rescript. But to be honest will probably never take off... :(

    https://rescript-lang.org/

  7. CodeRabbit

    CodeRabbit: AI Code Reviews for Developers. Revolutionize your code reviews with AI. CodeRabbit offers PR summaries, code walkthroughs, 1-click suggestions, and AST-based analysis. Boost productivity and code quality across all major languages with each PR.

    CodeRabbit logo
NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • 7 practices I learned while developing applications with API Gateway service integrations

    2 projects | dev.to | 11 Jul 2024
  • Filtering TypeScript value types

    2 projects | dev.to | 29 Jun 2023
  • Slack Next-gen Platform - The Simplest "Hello World"

    5 projects | dev.to | 21 Dec 2022
  • Scripting with VSCode Tasks and Typescript

    2 projects | dev.to | 16 Nov 2022
  • React intellisense alternating between "x={}" and "y", have posted on their github but not getting a fix :(

    3 projects | /r/vscode | 17 Aug 2022