TypeScript please give us types

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

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
SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  • zod

    TypeScript-first schema validation with static type inference

    I was perfectly satisfied with using https://zod.dev for some runtime validation, and found it really cool that I didn't have to define some nominal type off to the side and could instead just say what I meant inline using a fluent API.

  • 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
  • TypeScript

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

    Emitting types would run counter to several of TypeScript's Design Goals [0]. In particular, it would violate:

    > 3. Impose no runtime overhead on emitted programs.

    > 9. Use a consistent, fully erasable, structural type system.

    It's also explicitly called out as a non-goal in that doc:

    > 5. Add or rely on run-time type information in programs, or emit different code based on the results of the type system. Instead, encourage programming patterns that do not require run-time metadata.

    > 6. Provide additional runtime functionality or libraries. Instead, use TypeScript to describe existing libraries.

    [0] https://github.com/Microsoft/TypeScript/wiki/TypeScript-Desi...

  • typescript-needs-types

    TypeScript please give us types.

  • fartscroll.js

    Discontinued You want fart noises as you scroll? We've got you covered.

    We have types at home.

    My litmus test regarding whether I can even consider using a library in production is: does it have more stars than fartscroll.js?

    https://github.com/theonion/fartscroll.js/tree/master

    Most of the entries there are below that number, which begs the question: is this really that much of a problem that it mandates the drastic changes required?

    I actually don't know if it's even doable, considering TS's structural type system, where the answer to the question "what type is X?" is not straightforward.

  • reflect-metadata

    Prototype for a Metadata Reflection API for ECMAScript

  • arktype

    TypeScript's 1:1 validator, optimized from editor to runtime

    Since it's not explicitly listed there, I feel I should shout out David Blass and his incredibly cool ArkType project: https://github.com/arktypeio/arktype

    He sometimes (used to?) streams himself working on twitch and it's a really comfy place to hang out: https://www.twitch.tv/arktypeio

  • marshal.ts

    A new full-featured and high-performance TypeScript framework

    Deepkit (listed in the article) is a fascinating project and really deserves to be more popular.

    It also demonstrates that what is being asked for is actually practical.

    https://deepkit.io/

  • SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  • ferocity

    Write Java expression trees, statements, methods and classes with a LISP-like internal DSL

    but you can't have an overload that takes two differently parameterized expressions, this lets you write Java code in a lisp-like syntax that can be metaprogrammed on:

    https://github.com/paulhoule/ferocity/blob/main/ferocity-std...

    that project got me thinking a lot about the various ways types manifest in Java and I made the discovery that when you add Expression types you practically discover an extended type systems where there are many things that are implied by the existence of ordinary Java types.

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

  • TypeScript Essentials: Distinguishing Types with Branding

    2 projects | news.ycombinator.com | 24 Apr 2024
  • Parsing URL Search Parameters with Zod 💎

    2 projects | dev.to | 7 Sep 2023
  • Introdução ao TypeScript

    3 projects | dev.to | 27 Jul 2023
  • Why doesn't TypeScript properly type Object.keys?

    7 projects | news.ycombinator.com | 24 Jun 2023
  • Why nodejs engineers prefer express over nestjs? although nestjs forces good practice and proper architecture and it seems to be a right choice for complex and enterprise applications like asp.net and Spring. What are the limitations of nestjs compared to express?

    3 projects | /r/node | 26 May 2023

Did you konow that TypeScript is
the 2nd most popular programming language
based on number of metions?