Skip to content

Commit b77e14f

Browse files
authored
Merge pull request #931 from bmish/no-unnecessary-route-path-option-fix-spread
Fix spread syntax crash in `no-unnecessary-route-path-option` rule
2 parents f0fdaa8 + 27b51d9 commit b77e14f

File tree

2 files changed

+8
-2
lines changed

2 files changed

+8
-2
lines changed

lib/rules/no-unnecessary-route-path-option.js

Lines changed: 6 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -69,7 +69,12 @@ function hasPropertyWithKeyName(objectExpression, keyName) {
6969
}
7070

7171
function getPropertyByKeyName(objectExpression, keyName) {
72-
return objectExpression.properties.find((property) => property.key.name === keyName);
72+
return objectExpression.properties.find(
73+
(property) =>
74+
types.isProperty(property) &&
75+
types.isIdentifier(property.key) &&
76+
property.key.name === keyName
77+
);
7378
}
7479

7580
function pathMatchesRouteName(path, routeName) {

tests/lib/rules/no-unnecessary-route-path-option.js

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -11,11 +11,12 @@ const { ERROR_MESSAGE } = rule;
1111
// Tests
1212
//------------------------------------------------------------------------------
1313

14-
const ruleTester = new RuleTester();
14+
const ruleTester = new RuleTester({ parser: require.resolve('babel-eslint') });
1515
ruleTester.run('no-unnecessary-route-path-option', rule, {
1616
valid: [
1717
'this.route("blog");',
1818
'this.route("blog", function() {});',
19+
'this.route("blog", { ...foo });',
1920
'this.route("blog", { path: undefined });',
2021
'this.route("blog", { path: "" });',
2122
'this.route("blog", { path: "/" });',

0 commit comments

Comments
 (0)