Ember
migration
byCodemod

Ember/5/App Controller Router Props

/icons/calendar.svg

Last update

Jan 10, 2025

This codemod replaces all occurrences of this.currentRouteName with this.router.currentRouteName and this.currentPath with this.router.currentPath.

Before

import Controller from "@ember/controller";
import fetch from "fetch";
export default Controller.extend({
store: service("store"),
actions: {
sendPayload() {
fetch("/endpoint", {
method: "POST",
body: JSON.stringify({
route: this.currentRouteName,
}),
});
},
},
});

After

import Controller from "@ember/controller";
import fetch from "fetch";
export default Controller.extend({
router: service("router"),
store: service("store"),
actions: {
sendPayload() {
fetch("/endpoint", {
method: "POST",
body: JSON.stringify({
route: this.router.currentRouteName,
}),
});
},
},
});

Build custom codemods

Use AI-powered codemod studio and automate undifferentiated tasks for yourself, colleagues or the community

background illustrationGet Started Now