prepack VS jsx

Compare prepack vs jsx and see what are their differences.

prepack

A JavaScript bundle optimizer. (by facebookarchive)

jsx

The JSX specification is a XML-like syntax extension to ECMAScript. (by facebook)
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
prepack jsx
8 14
14,385 1,945
- 0.2%
0.0 0.0
about 2 years ago 5 months ago
JavaScript HTML
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

jsx

Posts with mentions or reviews of jsx. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-05-12.
  • I am having to pass down 8+ props even for simple components. What are some common ways to mitigate this? (Typescript)
    2 projects | /r/reactjs | 12 May 2023
    Svelte syntax? Yes, there is upcoming initiative JSX 2.0 which includes shorthands like that. However, have no idea whether it will be released any time soon. So let's say "this is part of React/JSX 1.0" (shrugging)
  • Why TypeScript is the better JavaScript
    2 projects | dev.to | 7 May 2023
    Inherent support for JSX in the language itself
  • Node.js やReact、ESM、Viteの説明
    7 projects | dev.to | 21 Jan 2023
    JavaScript + HTML(DOM)= JSX
  • Alpine.js
    17 projects | news.ycombinator.com | 13 Jan 2023
    FWIW, the className prop is a React thing not a JSX thing. Other libraries which use JSX will happily accept a plain class prop. The React limitation is abstraction leakage: props are not attributes, they map to DOM properties.

    But to the point that JSX is a DSL, that limitation is specifically because React itself is very tightly coupled to DOM semantics… but JSX explicitly has no built in semantics[1].

    1: First sentence of https://facebook.github.io/jsx/ - “JSX is an XML-like syntax extension to ECMAScript without any defined semantics.”

  • React - Introducing JSX
    2 projects | dev.to | 6 Sep 2022
    JSX stands for 'JavaScript XML' and is a syntax extension for JavaScript. It is used to create DOM elements that are then rendered in the React DOM. Although it looks like HTML, it is actually an XML-like syntax specifically written for use in React. Interestingly, JSX is not valid JavaScript either. JSX needs to be compiled by a tool like Babel to be translated into regular JavaScript that a browser can understand. Put simply, JSX describes what the UI should look like, and React takes care of properly rendering it.
  • Web lagnunages to learn
    3 projects | /r/learnprogramming | 29 Jul 2022
  • My thoughts on Mithril.js
    7 projects | dev.to | 3 May 2022
    Alternatively, you can use JSX syntax (like with React), but then you need build-tools.
  • Incrementally adopting TypeScript in a create-react-app project
    6 projects | dev.to | 11 Jan 2022
    Note: For React component files (JSX) we'll use .tsx to maintain JSX support and for non React files we'll use the .ts file extension. However, if you want you could still use .ts file extension for React components without any problem.
  • Sciter, the 5 MB Electron alternative, has switched to JavaScript
    16 projects | news.ycombinator.com | 30 Dec 2021
    I’m concerned that you’re falling into the same trap here with integrating your own variant of JSX, and mulling over adding more things like hyphens in unquoted object literal keys.

    JSX is popular enough that it’s safe, ECMAScript isn’t going to break it, but your alterations to JSX are already significantly incompatible: you have being equivalent to JSX("input", {"class": "search"}, null), but the JSX everyone else is using has that equivalent to JSX(input.search, {}, null). I’m not certain if your JSX syntax is supposed to be able to be used with React code or anything else that uses JSX syntax, but if yes then it’ll be broken in a significant number of cases so that it’s worse than useless, and if no, well, it’s going to be misleading, and what if JSX did get merged into ECMAScript in some form? Then you’d be incompatible with ECMAScript again.

    Same deal with hyphens in unquoted object literal keys: it’s not part of ECMAScript now, but just because it’d be a syntax error now doesn’t mean it always will be. Decorators in TypeScript are a good example of things going badly wrong even when an extremely popular project is involved.

    I say: if you want to go JavaScript, go JavaScript, maaaaaybe plus standard JSX conforming with <https://facebook.github.io/jsx/>, and no further. Even if what you do is obviously superior, &c. &c. I’d apply the same reasoning on your fork of CSS: you introduced it for a good reason back then, but now it’s just friction, even if it’s a little better in a vacuum (and maybe it is in parts, maybe it isn’t in other parts).

  • Do you think HTML is a programming language
    3 projects | /r/ProgrammerHumor | 24 Dec 2021
    Then it might be time for a pull request which identifies these parts as JSX.

What are some alternatives?

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

react-18 - Workgroup for React 18 release.

htm - Hyperscript Tagged Markup: JSX alternative using standard tagged templates, with compiler support.

SvelteKit - web development, streamlined

React - The library for web and native user interfaces.

next-runtime - The Next.js Runtime allows Next.js to run on Netlify with zero configuration

joystick - A full-stack JavaScript framework for building stable, easy-to-maintain apps and websites.

denoflare - Develop, test, and deploy Cloudflare Workers with Deno.

solid-realworld - A Solid Implementation of the Realworld Example App

vite - Next generation frontend tooling. It's fast!

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

ember-render-modifiers - Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415