Hegel – An advanced static type checker for JavaScript

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

SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.
surveyjs.io
featured
InfluxDB - Power Real-Time Data Analytics at Scale
Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
www.influxdata.com
featured
  • Hegel

    Discontinued An advanced static type checker

  • unfortunately, the project is on pause for the time being [1]

    [1]: https://github.com/JSMonk/hegel/issues/355#issuecomment-1075...

  • Yup

    Dead simple Object schema validation

  • https://deepkit.io/ may be of interest to you! It deeply patches the TS type compiler to make all types visible at runtime, enabling a lot of annotation-style workflows and dependency injection possible completely within the type annotation system: https://docs.deepkit.io/english/runtime-types.html

    Previous discussion: https://news.ycombinator.com/item?id=31663298 - it's downright mindblowing that all this seems to be the work of primarily a single developer.

    For a less intrusive solution, https://github.com/jquense/yup is a great library to reach for whenever you're defining the shape of a network-transmitted object and don't want to introduce compilation stages.

  • SurveyJS

    Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App. With SurveyJS form UI libraries, you can build and style forms in a fully-integrated drag & drop form builder, render them in your JS app, and store form submission data in any backend, inc. PHP, ASP.NET Core, and Node.js.

    SurveyJS logo
  • marshal.ts

    A new full-featured and high-performance TypeScript framework

  • https://deepkit.io/ may be of interest to you! It deeply patches the TS type compiler to make all types visible at runtime, enabling a lot of annotation-style workflows and dependency injection possible completely within the type annotation system: https://docs.deepkit.io/english/runtime-types.html

    Previous discussion: https://news.ycombinator.com/item?id=31663298 - it's downright mindblowing that all this seems to be the work of primarily a single developer.

    For a less intrusive solution, https://github.com/jquense/yup is a great library to reach for whenever you're defining the shape of a network-transmitted object and don't want to introduce compilation stages.

  • TypeScript

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

  • The GPs request is a very fair one. Typeguards are 10% of starting the solution.

    What everyone wants: Autogenerated type guards by class.

    What everyone gets: “Remains out of scope.”

    https://github.com/microsoft/TypeScript/issues/15265

  • zod

    TypeScript-first schema validation with static type inference

  • Seamless runtime checks are fully supported via zod.

    https://github.com/colinhacks/zod

    You’re welcome.

    (I use this library every day. It has changed my life.)

  • spartan-schema

    Ultra-minimal JSON schemas with Typescript inference

  • In the same vein, shameless plug for my own library, Spartan Schema:

    https://github.com/ar-nelson/spartan-schema

    It does the same thing as Zod, but is much smaller/simpler and its types always have a JSON representation.

  • Sanctuary

    :see_no_evil: Refuge from unsafe JavaScript

  • I wonder if this will be something that functional libraries like Ramda [1] or Sanctuary [2] will be able to benefit from.

    One of the reasons these libraries don't work so well with TS is that it doesn't have ML-style whole program inference and hence doesn't work so well with patterns like currying. Hegel seems more capable in that regard.

    [1] https://ramdajs.com/

    [2] https://github.com/sanctuary-js/sanctuary

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • ramda

    :ram: Practical functional Javascript

  • I wonder if this will be something that functional libraries like Ramda [1] or Sanctuary [2] will be able to benefit from.

    One of the reasons these libraries don't work so well with TS is that it doesn't have ML-style whole program inference and hence doesn't work so well with patterns like currying. Hegel seems more capable in that regard.

    [1] https://ramdajs.com/

    [2] https://github.com/sanctuary-js/sanctuary

  • slonik

    A Node.js PostgreSQL client with runtime and build time type safety, and composable SQL.

  • flow-runtime

    A runtime type system for JavaScript with full Flow compatibility.

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 Tricks I wish I knew when I learned TypeScript

    12 projects | news.ycombinator.com | 12 Oct 2021
  • How to set up a new project using Yarn

    5 projects | dev.to | 8 May 2024
  • Stories Behind ZenStack V2!

    3 projects | dev.to | 29 Apr 2024
  • NestJS tip: how to change HTTP server timeouts

    1 project | dev.to | 6 Apr 2024
  • Type-Safe Fetch with Next.js, Strapi, and OpenAPI

    8 projects | dev.to | 2 Apr 2024