ember/require-super-in-lifecycle-hooks
January 29, 2026 ยท View on GitHub
๐ผ This rule is enabled in the โ
recommended config.
๐ง This rule is automatically fixable by the --fix CLI option.
Call super in lifecycle hooks.
When overriding lifecycle hooks inside Ember Components, Controllers, Routes, Mixins, or Services, it is necessary to include a call to super.
Examples
Examples of incorrect code for this rule:
import Component from '@ember/component';
export default Component.extend({
init() {
this.set('items', []);
},
});
import Component from '@ember/component';
export default Component.extend({
didInsertElement() {
// ...
},
});
import Component from '@ember/component';
class Foo extends Component {
init() {
// ...
}
}
Examples of correct code for this rule:
import Component from '@ember/component';
export default Component.extend({
init(...args) {
this._super(...args);
this.set('items', []);
},
});
import Component from '@ember/component';
export default Component.extend({
didInsertElement(...args) {
this._super(...args);
// ...
},
});
import Component from '@ember/component';
class Foo extends Component {
init(...args) {
super.init(...args);
// ...
}
}
import Component from '@ember/component';
class Foo extends Component {
didInsertElement(...args) {
super.didInsertElement(...args);
// ...
}
}
Configuration
| Name | Description | Type | Default |
|---|---|---|---|
checkInitOnly | Whether the rule should only check the init lifecycle hook and not other lifecycle hooks. | Boolean | false |
checkNativeClasses | Whether the rule should check lifecycle hooks in native classes (in addition to classic classes). | Boolean | true |