Closed chmanie closed 9 years ago
I'm getting that error for all classes
specifically classes are "defined but never used" warning is coming up
+1 Got the same errors regarding "defined but never used"
Also having this problem. I have a module that exports a class (export default class SomeClass
) and a utility module that individually exports named functions (export function someHelper...
). It doesn't like either one.
This seems to dupe https://github.com/babel/babel-eslint/issues/8.
Can you please verify that this issue still exists on 3.0.1?
I'm still seeing this with babel-eslint
@3.0.1.
However, when using eslint-plugin-react
with babel-eslint
, I don't have these issues any longer.
Confirmed still seeing this issue with babel-eslint@3.0.1
and eslint@0.19.0
.
I am also seeing this issue with babel-eslint@3.0.1
and eslint@0.19.0
. Looks like this also came up before with eslint but was fixed there: https://github.com/eslint/eslint/issues/1534
Similar to @cemckinley, I'm seeing this with babel-eslint@3.1.1
and eslint@0.20.0
.
'use strict';
import React from 'react';
import Router from 'react-router';
import CreateSpace from 'apps/CreateSpace';
import MySpaces from 'apps/MySpaces';
import SpaceDirectory from 'apps/SpaceDirectory';
const { Route, NotFoundRoute, DefaultRoute, Link, RouteHandler } = Router;
if (__DEV__) {
require('../scss/dev.scss');
}
const App = React.createClass({
render() {
return (
<RouteHandler />
);
}
});
const NotFound = React.createClass({
render() {
const divstyle = {
textAlign: 'center',
paddingTop: '35px'
};
const imgstyle = {
width: '25%'
};
return (
<div style={divstyle}>
<img style={imgstyle} src="/images/sadpanda.svg" alt="The panda is sad because it couldn't find the page you wanted" />
<h2>Page Not Found</h2>
<p>Oops, we couldn't find that page.</p>
</div>
);
}
});
const route_base_path = __DEV__ ? '/' : '/canvasspaces';
const routes = (
<Route name="app" path={route_base_path} handler={App}>
<Route name="create_space" handler={CreateSpace} />
<Route name="my_spaces" handler={MySpaces} />
<Route name="space_directory" handler={SpaceDirectory} />
<DefaultRoute handler={MySpaces} />
<NotFoundRoute handler={NotFound}/>
</Route>
);
Router.run(routes, Router.HistoryLocation, (Handler) => {
React.render(<Handler/>, document.getElementById('CanvasSpacesApp'));
});
export default App;
9:8 error Route is defined but never used no-unused-vars
9:15 error NotFoundRoute is defined but never used no-unused-vars
9:30 error DefaultRoute is defined but never used no-unused-vars
9:44 error Link is defined but never used no-unused-vars
9:50 error RouteHandler is defined but never used no-unused-vars
55:44 error Handler is defined but never used no-unused-vars
✖ 6 problems (6 errors, 0 warnings)
My .eslintrc
file:
{
"parser": "babel-eslint",
"env": {
"browser": true,
"node": true,
"es6": true
},
"globals": {
"__DEV__": true
},
"rules": {
"quotes": [2, "single"],
"eol-last": [1],
"no-mixed-requires": [0],
"no-underscore-dangle": [0],
"camelcase": [0]
}
}
However, when using eslint-plugin-react with babel-eslint, I don't have these issues any longer.
eh? is that a solution? I stopped noticing the errors when I included the react-plugin, but haven't worked on anything this week.
Yup, it's the solution. Use the eslint-plugin-react rules if you're using JSX. It can't really be fixed on the babel-eslint
side.
It seems the eslint react plugin fixes this error, but it exists outside of react projects.
Something as simple as
class Item {
constructor() {
this.id = 0;
}
}
Will produce this error, it doesn't have to extend a React component. Pulling in the eslint react plugin to solve the issue when I'm not using react seems like a lazy work around.
Can you reproduce with the regular parser, maybe an eslint issue. But, if you export the class it should be fixed.
I'm running into this issue with a regular ES6 class.
Yes, me too. I am using the class only in the ReactDOM.render() method. I wonder if this bug was reintroduced in the last upgrade. For the time being I had to disable the "no-unused-vars" rule.
Can one of you please open a new bug with an example and the according eslintrc file. Thanks.
Hi, sorry for not answering before, I will do it :)
I investigated the bug and it seems to be an eslint issue. I still have the same problem if I use:
parserOptions: { "ecmaVersion": 6, "sourceType": "module", "ecmaFeatures": { "jsx": true } },
instead of:
parser: 'babel-eslint',
In case it can help someone, my issue was resolved here: https://github.com/eslint/eslint/issues/6303
index_es6.js (using the react 0.13 syntax)
eslint output (using eslint-babel):
index_es5.js
eslint output (using eslint-babel):
Is this an issue or am I doing something stupid here?