ember-render-modifiers VS ember-no-implicit-this-codemod

Compare ember-render-modifiers vs ember-no-implicit-this-codemod and see what are their differences.

ember-render-modifiers

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

ember-no-implicit-this-codemod

Template codemod for refactoring from `{{foo}}` to `{{this.foo}}` (by ember-codemods)
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 ember-no-implicit-this-codemod
3 1
82 16
- -
4.4 6.0
11 months ago 19 days ago
JavaScript TypeScript
MIT License 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.

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

ember-no-implicit-this-codemod

Posts with mentions or reviews of ember-no-implicit-this-codemod. 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
    Glimmer component templates reflect this by using the @ prefix when using arguments and the this. prefixes when accessing properties of the backing class. This way of working is also supported in classic components, even though arguments are in the same scope as local properties. This means the migration is non blocking, and luckily thereโ€™s a codemod available for this as well. The codemod however canโ€™t make a distinction between arguments and local properties, and is something that will be cleaned up in a later phase.

What are some alternatives?

When comparing ember-render-modifiers and ember-no-implicit-this-codemod you can also consider the following projects:

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

ember-tailwind-codemod - Codemod for migrating to Tailwind utilities in Ember components

SvelteKit - web development, streamlined

putout - ๐ŸŠ Pluggable and configurable JavaScript Linter, code transformer and formatter, drop-in ESLint superpower replacement ๐Ÿ’ช with built-in support for js, jsx typescript, flow, markdown, yaml and json. Write declarative codemods in a simplest possible way ๐Ÿ˜

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

glint - TypeScript powered tooling for Glimmer templates

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

svelte-native - Svelte controlling native components via Nativescript

prepack - A JavaScript bundle optimizer.

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

react-use - React Hooks โ€” ๐Ÿ‘