Ember/5/App Controller Router Props

1.0.2Last update Jan 10, 2025
by@Codemod
Ember
migration

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