diff --git a/.babelrc b/.babelrc index 7b46c78d5..e1cde28fd 100644 --- a/.babelrc +++ b/.babelrc @@ -11,7 +11,8 @@ "useBuiltIns": true } ], - "react" + "react", + "es2015" ], "plugins": [ "syntax-dynamic-import", @@ -21,5 +22,10 @@ "spec": true } ] - ] + ], + "env": { + "test": { + "plugins": ["transform-es2015-modules-commonjs"] + } + } } diff --git a/.eslintrc.json b/.eslintrc.json index ba9f22d68..490b7c8b9 100644 --- a/.eslintrc.json +++ b/.eslintrc.json @@ -1,9 +1,20 @@ { - "extends": "google", "env": { "browser": true, "jquery": true }, + "plugins": [ + "react" + ], + "extends": ["eslint:recommended", "plugin:react/recommended"], + "parserOptions": { + "sourceType": "module", + "ecmaVersion": 6, + "ecmaFeatures": { + "impliedStrict": true, + "jsx": true + } + }, "rules": { "spaced-comment": [ "error", diff --git a/app/javascript/packs/hello_react.jsx b/app/javascript/packs/hello_react.jsx index 772fc97e0..e5f2f86b9 100644 --- a/app/javascript/packs/hello_react.jsx +++ b/app/javascript/packs/hello_react.jsx @@ -21,6 +21,6 @@ Hello.propTypes = { document.addEventListener('DOMContentLoaded', () => { ReactDOM.render( , - document.body.appendChild(document.createElement('div')), + document.body.appendChild(document.createElement('div')) ) }) diff --git a/package.json b/package.json index ed1157297..57fc1ccc9 100644 --- a/package.json +++ b/package.json @@ -22,6 +22,7 @@ "devDependencies": { "eslint": "^3.7.1", "eslint-config-google": "^0.5.0", + "eslint-plugin-react": "^7.1.0", "webpack-dev-server": "^2.5.1" }, "dependencies": {