Ember
migration
byCodemod

Ember/5/App Controller Router Props

/icons/calendar.svg

Last update

Jul 24, 2024

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