ember-render-modifiers VS prepack

Compare ember-render-modifiers vs prepack and see what are their differences.

ember-render-modifiers

Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415 (by emberjs)

prepack

A JavaScript bundle optimizer. (by facebookarchive)
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
ember-render-modifiers prepack
3 8
82 14,385
- -
4.4 0.0
11 months ago about 2 years ago
JavaScript JavaScript
MIT License 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.

ember-render-modifiers

Posts with mentions or reviews of ember-render-modifiers. We have used some of these posts to build our list of alternatives and similar projects. The last one was on 2023-02-02.
  • The road from Ember classic to Glimmer components
    5 projects | dev.to | 2 Feb 2023
    A second issue was that lifecycle hooks that depended on this wrapping element no longer got invoked. Those lifecycle events contain the Element reference, e.g. didInsertElement. To migrate these we made use of the render-modifiers package. Ever since Glimmer and Octane, there are new ways to encapsulate this logic like using the constructor and destructor, writing custom modifiers, or using resources. For the sake of limiting the scope we opted to keep this a separate effort.
  • Working with Excel Worksheet in Ember
    2 projects | /r/emberjs | 14 Mar 2022
    To call a setup/init function after the wrapper component was rendered you could make use of the ember-render-modifiers addon (https://github.com/emberjs/ember-render-modifiers).
  • Vercel Welcomes Rich Harris, Creator of Svelte
    16 projects | news.ycombinator.com | 11 Nov 2021
    What I like about Ember is that it gives a lot of rigid structure that, at least at one point, made it comparatively easy to work on multiple Ember based projects and be productive sooner.

    As you've pointed out, a problem with that project is that there's a ton of intimate knowledge for how things work under the hood or why things are the way they are. They also seem to oscillate between opting for simplicity and opting for complexity and magic.

    One example would be the latest version of Ember which doesn't even ship with `@ember/render-modifiers` by default despite how everyone will end up installing it anyway because it's necessary; they were talking about providing an alternative based on the actor model, despite modifiers being far easier to understand, somehow they are still wrong:

    > Either way, we recommend using these modifiers with caution. They are very useful for quickly bridging the gap between classic components and Glimmer components, but they are still generally an anti-pattern.

    https://github.com/emberjs/ember-render-modifiers

    Why on earth did they reinvent components and ship them without providing the supposedly correct way of interacting with their lifecycle? You actually have to install a separate add-on to develop a production-ready app with Ember, which completely flies in the face of the idea that you can run `ember new` and have pretty much everything you need.

    Strangely (an thankfully), the RFC for the needlessly complicated alternative for lifecycle interaction is effectively stalled:

    https://github.com/emberjs/rfcs/pull/567

    By their own language, the only official way to interact with component/element lifecycle is an antipattern.

    /rant

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

What are some alternatives?

When comparing ember-render-modifiers and prepack you can also consider the following projects:

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

react-18 - Workgroup for React 18 release.

SvelteKit - web development, streamlined

tauri - Build smaller, faster, and more secure desktop applications with a web frontend.

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

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

jsx - The JSX specification is a XML-like syntax extension to ECMAScript.

svelte-native - Svelte controlling native components via Nativescript

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