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

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

ember-no-implicit-this-codemod

Template codemod for refactoring from `{{foo}}` to `{{this.foo}}` (by ember-codemods)

ember-render-modifiers

Implements did-insert / did-update / will-destroy modifiers for emberjs/rfcs#415 (by emberjs)
Our great sponsors
  • SurveyJS - Open-Source JSON Form Builder to Create Dynamic Forms Right in Your App
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
ember-no-implicit-this-codemod ember-render-modifiers
1 3
16 82
- -
6.0 4.4
14 days ago 11 months ago
TypeScript JavaScript
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-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.

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 ember-no-implicit-this-codemod and ember-render-modifiers you can also consider the following projects:

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

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

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 ๐Ÿ˜

SvelteKit - web development, streamlined

glint - TypeScript powered tooling for Glimmer templates

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

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 โ€” ๐Ÿ‘