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
JSX support #47
Comments
There ought to be a way to add esprima linting to jscs: cf jscs-dev/node-jscs#708. I tried adding |
Disabling linting for JSX blocks is a mistaken approach. You won't catch potential issues in them, and constants you use there will appear unused to the linter. The right approach is to use JSX-aware linter, or pipe compiled JSX to linter. |
@gaearon agreed. Do you have any experience making JSX linters work here, like I looked into above? Help would be great. |
Wrote an article on teaching ESLint to parse ES6/JSX/some ES7 with Babel a few days ago: https://medium.com/@dan_abramov/lint-like-it-s-2015-6987d44c5b48 It won't help you with |
Validated using In searching around their issues, it looks like some folks are suggessing using jsxcs as an alternative. running jsxcs with the current rc file does not show a promising result:
So... once #45 is done and only eslint remains, jsx support should be possible. |
For #47. Not complete until jscs (which doesn't support jsx) is removed.
For #47. Not complete until jscs (which doesn't support jsx) is removed.
For #47. Not complete until jscs (which doesn't support jsx) is removed.
+1 if this gets resolved I can tell folks to use this in my upcoming workshop at FluentConf. |
I'll take another look at adding support for JSX. Can someone point me to a couple repos with JSX in them? If they already use standard style, even better! |
@feross Here's mine: https://github.com/BeagleLab/beagle/tree/master/js Already standardized. |
@feross also adding you to the little demo app I started on for fluent. |
Looks like jscs should support jsx now, but its not yet been pushed to npm. |
OK, so this works, however it depends on jscs in github. The trick is using Detailed by jscs contributor here: |
https://github.com/BeagleLab/beagle/blob/master/js/views/graphModal.jsx old n busted:
new hotness:
|
This commit makes jscs correctly parse JSX without errors. (issue #47). eslint already parses JSX correctly.
Just published In order to get things like proper detection of used variables inside of JSX, I added eslint-plugin-react. Like with standard@1.0.0, let's start with all React rules enabled and relax them as necessary. Open a new issue if you think a rule is too aggressive. @HenrikJoreteg, note: I noticed an eslint bug that crashes standard while trying to check your demo app. Here's the eslint issue: eslint/eslint#2060 This isn't related to JSX support :) I think this issue can be closed now! 👍 |
@Flet thanks for looking into this - looks like we were working in parallel :) |
Excellent! Good call on the eslint-plugin-react include :) |
Just released 3.1.1 to automatically lint files that match |
@HenrikJoreteg The eslint issue I mentioned (eslint/eslint#2060) is fixed and released now :) |
just noticed that, thanks @feross :) |
Works for me! Thanks all! |
Works great for my React projects! |
So, I'm trying to use standard on .jsx files. And I run into an issue where I can't use
//jscs:disable
and/* eslint-disable */
, because they still depend on the AST parser and will throw an error if they can't parse the JSX templating.Example file:
What do you think about this? I could potentially use
fs.readFileSync(__dirname, '/form-template.jsx')
and pipe the rendering jsx template through that, but that seems messy. Do you think there would be a way of using standard on these files, otherwise?The text was updated successfully, but these errors were encountered: