-
Notifications
You must be signed in to change notification settings - Fork 1k
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
fix(rw-eslint): Implement more specific checking on Routes #10404
Conversation
@@ -18,28 +42,42 @@ export const unsupportedRouteComponents = createRule({ | |||
unexpected: | |||
'Unexpected JSX element <{{name}}>. Only <Router>, <Route>, <Set>, <PrivateSet> and <Private> are allowed in the Routes file.', |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do we need to change the error message to be more specific too?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
No I don't think so, because the problem was that it was targetting all JSX Elements. The behaviour actually hasn't changed, just stops incorrectly targetting irrelavnt elements
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Only <Router>, <Route>, <Set>, <PrivateSet> and <Private> are allowed in the Routes file.
It's not true though, is it? You can have const AnotherThing = <Bazinga><p>Hello</p></Bazinga>
in your Routes file and it's still perfectly valid, right? We just want to warn against doing crazy things inside the <Router>
element itself, not the entire file.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh I see what you're saying!
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Updated!
packages/eslint-plugin/src/__tests__/unsupported-route-components.test.ts
Outdated
Show resolved
Hide resolved
Marking this one as next release major since it builds on #10266 and isn't trivial to cherry pick over |
Fixes #10383
See issue for more details.
This change does the following:
Routes
componentPoint (1) is the real fix. Technically, you could call your
Routes
component something else though, and this linter won't catch it - but it won't break either.