Skip to content

Commit 6b39438

Browse files
Fix crashing
1 parent 44aa041 commit 6b39438

3 files changed

Lines changed: 16 additions & 0 deletions

File tree

lib/utils/ember.js

Lines changed: 4 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -718,6 +718,10 @@ function isMultiLineFn(property, importedEmberName, importedObserverName) {
718718
}
719719

720720
function isFunctionExpression(property) {
721+
if (!property) {
722+
return false;
723+
}
724+
721725
return (
722726
types.isFunctionExpression(property) ||
723727
types.isArrowFunctionExpression(property) ||

pnpm-workspace.yaml

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,2 @@
1+
allowBuilds:
2+
esbuild: true

tests/lib/utils/ember-test.js

Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -1545,6 +1545,16 @@ describe('isRouteLifecycleHook', () => {
15451545
node = getProperty('test = { deactivate() {} }');
15461546
expect(emberUtils.isRouteLifecycleHook(node)).toBeTruthy();
15471547
});
1548+
1549+
it('should not crash when class field has no initializer', () => {
1550+
const classField = {
1551+
key: { name: 'beforeModel' },
1552+
value: null,
1553+
};
1554+
1555+
expect(() => emberUtils.isRouteLifecycleHook(classField)).not.toThrow();
1556+
expect(emberUtils.isRouteLifecycleHook(classField)).toBeFalsy();
1557+
});
15481558
});
15491559

15501560
describe('isActionsProp', () => {

0 commit comments

Comments
 (0)