prepack VS rescript

Compare prepack vs rescript and see what are their differences.

prepack

A JavaScript bundle optimizer. (by facebookarchive)

rescript

ReScript is a robustly typed language that compiles to efficient and human-readable JavaScript. (by rescript-lang)
SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured
prepack rescript
8 107
14,385 7,111
- 0.6%
0.0 9.8
over 3 years ago 3 days ago
JavaScript ReScript
GNU General Public License v3.0 or later GNU General Public License v3.0 or later
The number of mentions indicates the total number of mentions that we've tracked plus the number of user suggested alternatives.
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.

prepack

Posts with mentions or reviews of prepack. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-12-24.
  • Ask HN: Interest in a Rust-Inspired Language Compiling to JavaScript?
    5 projects | news.ycombinator.com | 24 Dec 2023
    Hello HN,

    I'm considering the development of a new programming language, drawing inspiration from Rust's strengths, with a focus on compiling to JavaScript. Here what I'm considering are some key features:

    Strict Type System

    Algebraic Data Types

    *Unsafe Mode for JS/TS Interaction*: Facilitate direct interaction with existing JavaScript and TypeScript code.

    No Null Usage: Option/Result patterns to avoid null.

    Trait Implementation

    Backend Development Priority: Initially targeting server-side applications.

    Efficient Compiler Design: Including features like dead-code elimination and partial evaluation, similar to the approach of Prepack[0] (by Facebook).

    I believe this approach could bring significant benefits, especially with recent advancements like Uint8Array and worker threads.

    Would this be of interest to the community? Looking forward to your insights and discussion.

    [0] https://github.com/facebookarchive/prepack

  • Do any engines or optimizers product TS-specific performance gains?
    3 projects | /r/typescript | 24 Mar 2023
    You can still do optimisations based purely on Javascript semantics. This is similar to the first example you give with dead function elimination, and many minifiers do some amount of this already, but you can take it to some extremes. One example of this is the (no longer maintained) Prepack project from Facebook. The core idea is to evaluate as much Javascript as possible at compile time, with the expectation that the result will probably be smaller (albeit less human readable) than the initial code.
  • [AskJS] Are there JS minifiers that can compress the code by storing and reusing repeating property/method names and strings?
    1 project | /r/javascript | 12 Feb 2023
    It's no longer maintained, but I think prepack is roughly what you're looking for.
  • Can something like typescript or elm be AOT-compiled efficiently?
    5 projects | /r/node | 25 Nov 2022
  • React I Love You, But You're Bringing Me Down
    3 projects | /r/reactjs | 20 Sep 2022
    i've had code where it intentionally relied on the wrong behavior (missing hook dependencies) and when I fixed it it caused an unintentional bug (hook fired too often or sometimes infinite rerendering). Yes it is more of a bug in the code rather than React hooks issue but it is also really hard to fix/rewrite. while i'd love to jump on the hype train projects like https://github.com/facebookarchive/prepack and how concurrent mode is still experimental after five+ years doesn't give me a lot of confidence.
  • Memoirs of a lone JavaScript developer PART 2 : Svelte. An awful implementation of an old idea.
    6 projects | /r/u_liaguris | 17 Nov 2021
    Some real examples in JavaScript can be seen on Prepack[2]. Consequently it is natural to wonder whether we can AOT compile components of client side frameworks, to achieve a reduction in the final bundle size, but also to increase application execution speed.
  • React 18 is now in beta
    2 projects | news.ycombinator.com | 16 Nov 2021
    Less or more it’s likely to happen, and could have been expected 2-3 years ago.

    Especially with https://github.com/facebook/prepack. They want to eventually ship pre-compiled components rather than React.createElement() to end user

  • Vercel Welcomes Rich Harris, Creator of Svelte
    16 projects | news.ycombinator.com | 11 Nov 2021
    https://github.com/facebook/react/issues/7324

    I also think this is why facebook had been investing in `prepack` - https://github.com/facebook/prepack

rescript

Posts with mentions or reviews of rescript. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2025-04-28.
  • Welcome Sury - The fastest schema with next-gen DX 🚀
    9 projects | dev.to | 28 Apr 2025
    While the feedback was overwhelmingly positive, I noticed that despite having TypeScript support, many developers were hesitant simply because of "ReScript" in the name. So after months of dedicated development, I'm excited to present you Sury - a TypeScript-first schema validation library that brings all those amazing features while staying true to its ReScript roots 🔥
  • An Ode to TypeScript Enums
    9 projects | news.ycombinator.com | 2 Mar 2025
    When I see this it makes me want to run for ReasonML/ReScript/Elm/PureScript.

    Sum types (without payloads on the instances they are effectively enums) should not require a evening filling ceremonial dance event to define.

    https://reasonml.github.io/

    https://rescript-lang.org/

    https://elm-lang.org/

    https://www.purescript.org/

    (any I forgot?)

    It's nice that TS is a strict super set of JS... But that's about the only reason TS is nice. Apart from that the "being a strict super set" hampers TS is a million and one ways.

    To my JS is too broken to fix with a strict super set.

  • JavaScript schema library from the Future 🧬
    18 projects | dev.to | 21 Feb 2025
    Interestingly, you probably think that calling eval itself is slow, and I thought this myself. However, it was actually not as slow as I expected. For example, creating a simple nested object schema and calling the parser once happened to be 1.8 times faster with ReScript Schema using eval than Zod. I really put a lot of effort into making it as fast as possible, and I have to thank the ReScript language and the people behind it for allowing me to write very performant and safe code.
  • How Jane Street accidentally built a better build system for OCaml
    6 projects | news.ycombinator.com | 30 Jan 2025
  • If Not React, Then What?
    16 projects | news.ycombinator.com | 30 Nov 2024
  • OCaml Syntax Sucks
    5 projects | news.ycombinator.com | 24 Nov 2024
    Fortunately, the OCaml compiler is very modular, and there have been efforts to make things more... reasonable.

    - Reason, a different syntactic frontend for regular OCaml: https://reasonml.github.io/

    - ReScript, a language with OCaml semantics that compiles into: JS https://rescript-lang.org/ (I suppose it's a reincarnation of js-of-ocaml).

  • TypeScript's Lack of Naming Types and Type Conversion in Angular
    6 projects | dev.to | 17 Oct 2024
    Elm, ReScript, F#, Ocaml, Scala… it’s just normal to name your types, then use them places. In fact, you’ll often create the types _before_ the code, even if you’re not really practicing DDD (Domain Driven Design). Yes, you’ll do many after the fact when doing functions, or you start testing things and decide to change your design, and make new types. Either way, it’s just “the norm”. You then do the other norms like “name your function” and “name your variables”. I’m a bit confused why it’s only 2 out of 3 (variables and functions, not types) in this TypeScript Angular project. I’ll have to look at other internal Angular projects and see if it’s common there as well.
  • How I host Elm web applications with GitHub Pages
    15 projects | dev.to | 17 Oct 2024
    A web application makes use of these same ingredients, i.e. HTML, CSS, and JavaScript, but it uses significantly more JavaScript. As the JavaScript powering your web application grows in size it can bring with it a variety of problems that a few languages, like TypeScript, ReScript, PureScript, and Elm, have attempted to solve. Each of the aforementioned compile to JavaScript languages have their pros and cons but it is beyond the scope of this article to get into those details. Suffice it to say, my preference is Elm. It is also not the goal of this article to convince you to use Elm but only to show you how Elm fits into the flow of creating a web application and hosting it on GitHub Pages. So let's continue by adding Elm to our project.
  • Node.js adds experimental support for TypeScript
    20 projects | news.ycombinator.com | 24 Jul 2024
  • Dealing with Unicode string, done right and better.
    8 projects | dev.to | 15 Jun 2024
    Since JavaScript doesn't have a pattern-matching like Rust, it could be hard to replicate the same logic. I used the ReScript compiler to maintain the original logic as much as possible. It made me able to port it confidently. Specifically check_pair function can be converted into this.

What are some alternatives?

When comparing prepack and rescript you can also consider the following projects:

react-plain - Helper functions for creating DOM elements in React without JSX

purescript - A strongly-typed language that compiles to JavaScript

realworld - SvelteKit implementation of the RealWorld app

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

opennextjs-netlify - Open Next.js adapter for Netlify

Fable: F# |> BABEL - F# to JavaScript, TypeScript, Python, Rust and Dart Compiler

SurveyJS - JavaScript Form Builder with No-Code UI & Built-In JSON Schema Editor
Keep full control over the data you collect and tailor the form builder’s entire look and feel to your users’ needs. SurveyJS works with React, Angular, Vue 3, and is compatible with any backend or auth system. Learn more.
surveyjs.io
featured
InfluxDB – Built for High-Performance Time Series Workloads
InfluxDB 3 OSS is now GA. Transform, enrich, and act on time series data directly in the database. Automate critical tasks and eliminate the need to move data externally. Download now.
www.influxdata.com
featured

Did you know that JavaScript is
the 3rd most popular programming language
based on number of references?