prepack VS ember-render-modifiers

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

prepack

A JavaScript bundle optimizer. (by facebookarchive)

ember-render-modifiers

Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415 (by emberjs)
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
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured
prepack ember-render-modifiers
8 3
14,385 87
- -
0.0 6.0
over 3 years ago 4 months ago
JavaScript JavaScript
GNU General Public License v3.0 or later MIT License
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

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

What are some alternatives?

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

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

realworld - SvelteKit implementation of the RealWorld app

svelte-native - Svelte controlling native components via Nativescript

opennextjs-netlify - Open Next.js adapter for Netlify

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

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
Stream - Scalable APIs for Chat, Feeds, Moderation, & Video.
Stream helps developers build engaging apps that scale to millions with performant and flexible Chat, Feeds, Moderation, and Video APIs and SDKs powered by a global edge network and enterprise-grade infrastructure.
getstream.io
featured

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