Comments (21)
There ought to be a way to add esprima linting to jscs: cf jscs-dev/node-jscs#708.
I tried adding ecmaScript: {..., "jsx": true}
to the .eslintrc
- didn't seem to work out of the box. More details on eslint and JSX here.
from standard.
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.
from standard.
@gaearon agreed. Do you have any experience making JSX linters work here, like I looked into above? Help would be great.
from standard.
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 standard
though..
from standard.
Validated using "jsx":true
in the "ecmaFeatures"
section of .eslintrc works great, however its not as clear with jscs. I couldn't find any explicit options.
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:
Error: Unsupported rules: disallowOperatorBeforeLineBreak, requireSpacesInForStatement
So... once #45 is done and only eslint remains, jsx support should be possible.
from standard.
+1 if this gets resolved I can tell folks to use this in my upcoming workshop at FluentConf.
from standard.
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!
from standard.
@feross Here's mine: https://github.com/BeagleLab/beagle/tree/master/js
Already standardized.
from standard.
@feross also adding you to the little demo app I started on for fluent.
from standard.
Looks like jscs should support jsx now, but its not yet been pushed to npm.
jscs-dev/node-jscs#1132
from standard.
OK, so this works, however it depends on jscs in github. The trick is using esprima-fb
Detailed by jscs contributor here:
jscs-dev/node-jscs#1131
from standard.
https://github.com/BeagleLab/beagle/blob/master/js/views/graphModal.jsx
old n busted:
Error: Use JavaScript Standard Style (https://github.com/feross/standard)
../beagle/js/views/graphModal.jsx:2:4: Modal is defined but never used
../beagle/js/views/graphModal.jsx:3:4: PublicationList is defined but never used
../beagle/js/views/graphModal.jsx:7:18: Missing space before function parentheses.
../beagle/js/views/graphModal.jsx:9:7: Unexpected token <
../beagle/js/views/graphModal.jsx:26:0: Multiple blank lines not allowed.
new hotness:
node bin/cmd.js ../beagle/js/views/graphModal.jsx
Error: Use JavaScript Standard Style (https://github.com/feross/standard)
../beagle/js/views/graphModal.jsx:2:4: Modal is defined but never used
../beagle/js/views/graphModal.jsx:3:4: PublicationList is defined but never used
../beagle/js/views/graphModal.jsx:7:18: Missing space before function parentheses.
../beagle/js/views/graphModal.jsx:26:0: Multiple blank lines not allowed.
from standard.
Just published 3.1.0
with JSX and React support.
In order to get things like proper detection of used variables inside of JSX, I added eslint-plugin-react. Like with [email protected], 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! 👍
from standard.
@Flet thanks for looking into this - looks like we were working in parallel :)
from standard.
woot! thanks @feross @Flet you're awesome.
from standard.
Excellent! Good call on the eslint-plugin-react include :)
from standard.
Just released 3.1.1 to automatically lint files that match **/*.jsx
in addition to the default of **/*.js
. #68
from standard.
@HenrikJoreteg The eslint issue I mentioned (eslint/eslint#2060) is fixed and released now :)
from standard.
just noticed that, thanks @feross :)
from standard.
Works for me! Thanks all!
from standard.
Works great for my React projects!
from standard.
Related Issues (20)
- Formatting code will make it unreadable
- Expanding Rostislav and I's contribution, into core
- TS-Standart Changed My Code and Throwing Error
- Create a tutorial to use Standard together with Husky
- Eslint v9 support HOT 2
- Add a lock file HOT 3
- Could you please paste the result of the `npm ls eslint` command? HOT 1
- Remove the lock-threads workflow
- Comments bring issues/PRs onto the project board HOT 1
- tittle
- space-unary-ops errors on `new Class()` syntax HOT 4
- Maintenance & Governance of standard HOT 47
- Format using a formatter instead of ESLint formatting rules HOT 15
- inline link with @ in Super to have link inline or below not above HOT 1
- Tags isn't exported with Export .md or HTML HOT 1
- Ctrl+Shift+E to open/close tag page isn't working HOT 2
- `standard.lintFiles()` doesn't use `process.cwd()` HOT 5
- RFC: eslint-config-standard-with-typescript to depart from standard HOT 19
- Rule suggestion: no-constant-binary-expression
- Linting in precommit hooks says File not found
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from standard.