From 87753314b2514f29d925c48463a7c8e6e8b427c2 Mon Sep 17 00:00:00 2001 From: Richard Willis Date: Wed, 18 Mar 2015 19:27:43 +0000 Subject: [PATCH] Updated eslint (and other packages) and fixed linting errors. Linting of JSX & ES6 now working! --- app/components/App/App.jsx | 2 +- app/components/Body/Body.jsx | 2 +- app/components/Menu/Menu.jsx | 2 +- app/components/MenuItem/MenuItem.jsx | 4 +-- app/components/SelectedItem/SelectedItem.jsx | 2 +- app/components/SelectedList/SelectedList.jsx | 2 +- package.json | 29 ++++++++++++-------- 7 files changed, 24 insertions(+), 19 deletions(-) diff --git a/app/components/App/App.jsx b/app/components/App/App.jsx index c5fae35..3cc5669 100644 --- a/app/components/App/App.jsx +++ b/app/components/App/App.jsx @@ -31,7 +31,7 @@ export default class App extends React.Component { return { id: i, label: item - } + }; }) ); } diff --git a/app/components/Body/Body.jsx b/app/components/Body/Body.jsx index 72a9396..5f1078e 100644 --- a/app/components/Body/Body.jsx +++ b/app/components/Body/Body.jsx @@ -48,7 +48,7 @@ class Body extends React.Component { } } -Body.propTypes = { +Body.propTypes = { items: PropTypes.array.isRequired, selectedItems: PropTypes.array.isRequired }; diff --git a/app/components/Menu/Menu.jsx b/app/components/Menu/Menu.jsx index 5697c70..bd1fe32 100644 --- a/app/components/Menu/Menu.jsx +++ b/app/components/Menu/Menu.jsx @@ -28,7 +28,7 @@ class Menu extends React.Component { } } -Menu.propTypes = { +Menu.propTypes = { items: PropTypes.array.isRequired, onSelect: PropTypes.func.isRequired, onDeselect: PropTypes.func.isRequired diff --git a/app/components/MenuItem/MenuItem.jsx b/app/components/MenuItem/MenuItem.jsx index 4ab3d36..a745cce 100644 --- a/app/components/MenuItem/MenuItem.jsx +++ b/app/components/MenuItem/MenuItem.jsx @@ -16,7 +16,7 @@ class MenuItem extends React.Component { }; } - handleClick(e) { + handleClick() { console.log('You clicked on: %s', this.props.item.label); this.toggleSelected(); this.props[ @@ -50,7 +50,7 @@ class MenuItem extends React.Component { } } -MenuItem.propTypes = { +MenuItem.propTypes = { item: PropTypes.object.isRequired, onSelect: PropTypes.func.isRequired, onDeselect: PropTypes.func.isRequired diff --git a/app/components/SelectedItem/SelectedItem.jsx b/app/components/SelectedItem/SelectedItem.jsx index 3a3d26e..539e28b 100644 --- a/app/components/SelectedItem/SelectedItem.jsx +++ b/app/components/SelectedItem/SelectedItem.jsx @@ -14,7 +14,7 @@ class SelectedItem extends React.Component { } } -SelectedItem.propTypes = { +SelectedItem.propTypes = { item: PropTypes.object.isRequired }; diff --git a/app/components/SelectedList/SelectedList.jsx b/app/components/SelectedList/SelectedList.jsx index 080a899..4f9bad0 100644 --- a/app/components/SelectedList/SelectedList.jsx +++ b/app/components/SelectedList/SelectedList.jsx @@ -21,7 +21,7 @@ class SelectedList extends React.Component { } } -SelectedList.propTypes = { +SelectedList.propTypes = { items: PropTypes.array.isRequired }; diff --git a/package.json b/package.json index 3da14e3..ebf7c5b 100644 --- a/package.json +++ b/package.json @@ -11,39 +11,40 @@ "prerelease": "npm test", "prestart": "npm install", "prewebpack": "npm run clean", + "pretest": "npm run lint", "clean": "rm -rf $npm_package_config_build_dir && mkdir $npm_package_config_build_dir", "start": "NODE_ENV=development npm run webpack && npm run start-dev-server", "webpack": "webpack --colors --progress --config ./webpack.config.js", "start-dev-server": "webpack-dev-server --colors --port $npm_package_config_dev_port --content-base $npm_package_config_build_dir --config webpack.config.js --output-pathinfo --inline", "build": "NODE_ENV=production npm run webpack", - "lint": "eslint ./app", + "lint": "eslint --ext .js --ext .jsx ./app && echo No linting errors.", "test": "jest" }, "dependencies": { - "classnames": "^1.1.4", + "classnames": "^1.2.0", "flux": "^2.0.1", "normalize.css": "^3.0.2", - "react": "^0.13.0" + "react": "^0.13.1" }, "devDependencies": { "autoprefixer-core": "^5.1.7", - "babel-core": "^4.7.8", - "babel-eslint": "^2.0.0", + "babel-core": "^4.7.16", + "babel-eslint": "^2.0.2", "babel-jest": "^4.0.0", - "babel-loader": "^4.1.0", - "babel-runtime": "^4.7.8", + "babel-loader": "^4.2.0", + "babel-runtime": "^4.7.16", "css-loader": "^0.9.1", - "eslint": "^0.16.2", + "eslint": "^0.17.1", "extract-text-webpack-plugin": "^0.3.8", "file-loader": "^0.8.1", "html-loader": "^0.2.3", "jest-cli": "^0.4.0", "lodash": "^3.5.0", "postcss-loader": "^0.3.0", - "sass-loader": "^0.4.2", + "sass-loader": "^0.5.0", "style-loader": "^0.8.3", "template-html-loader": "0.0.3", - "webpack": "^1.7.2", + "webpack": "^1.7.3", "webpack-dev-server": "^1.7.0" }, "jest": { @@ -67,10 +68,14 @@ "node": ">=0.10.0" }, "eslintConfig": { - "parser": "babel-eslint", "env": { "browser": true, - "node": true + "node": true, + "es6": true + }, + "ecmaFeatures": { + "modules": true, + "jsx": true }, "globals": { "jest": true,