The road from Ember classic to Glimmer components

This page summarizes the projects mentioned and recommended in the original post on dev.to

SaaSHub - Software Alternatives and Reviews
SaaSHub helps you find the best software and product alternatives
www.saashub.com
featured
  1. glint

    TypeScript powered tooling for Glimmer templates

    In 2022 Ember acknowledged official TypeScript support with a dedicated core team. Glimmer components unlock the full potential of TypeScript support in Ember. Template type checking with Glint is also under active development. Exciting!

  2. SaaSHub

    SaaSHub - Software Alternatives and Reviews. SaaSHub helps you find the best software and product alternatives

    SaaSHub logo
  3. rfcs

    RFCs for changes to Ember (by emberjs)

    Ember.js development doesn’t stagnate. Progress is already being made for new improvements to the current component model. The RFC for first-class component templates has been accepted and merged in 2022 and will provide new benefits to Ember users. By first adopting Glimmer components, we’re prepared for what’s coming next.

  4. ember-native-class-codemod

    A codemod-cli project for converting Ember objects to es6 native classes

    Ember provides a codemod to convert object syntax to class syntax. This has saved us a tremendous amount of time. By doing this our development experience also greatly improved.

  5. ember-no-implicit-this-codemod

    Template codemod for refactoring from `{{foo}}` to `{{this.foo}}`

    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.

  6. ember-render-modifiers

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

    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.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts

  • It’s Time to Separate: Lint and Format

    11 projects | dev.to | 2 Jun 2025
  • It's Time to Separate: Lint and Test

    6 projects | dev.to | 13 Jun 2025
  • JavaScript Client-Side Frameworks: A Comprehensive Guide🚀

    1 project | dev.to | 10 Jun 2024
  • Support for in/inter page linking / scrolling in EmberJS

    2 projects | dev.to | 31 Jan 2024
  • 🎉 The JS representation of Template Tag has moved to Final Comment Period! This RFC coincidentally exposes a much nicer runtime compiler API! (so I'm interested in this for my REPL, tutorial, and docs sites)

    1 project | /r/emberjs | 3 Jun 2023

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