diff --git a/.eslintrc b/.eslintrc index 221f7fe07..04dcc85ef 100644 --- a/.eslintrc +++ b/.eslintrc @@ -1,14 +1,14 @@ -env: - jquery: true -extends: - - plugin:backbone/recommended -plugins: - - react - - backbone -parser: "babel-eslint" -rules: - eqeqeq: 1 - backbone/initialize-on-top: 0 - backbone/events-on-top: 0 - backbone/no-silent: 0 - strict: 0 +{ + "env": { "jquery": true }, + "extends": ["plugin:backbone/recommended", "prettier"], + "plugins": ["react", "backbone", "prettier"], + "parser": "babel-eslint", + "rules": { + "eqeqeq": 1, + "backbone/initialize-on-top": 0, + "backbone/events-on-top": 0, + "backbone/no-silent": 0, + "strict": 0, + "prettier/prettier": "error" + } +} diff --git a/.prettierrc b/.prettierrc new file mode 100644 index 000000000..891e86c97 --- /dev/null +++ b/.prettierrc @@ -0,0 +1,6 @@ +{ + "trailingComma": "es5", + "arrowParens": "avoid", + "semi": true, + "singleQuote": true +} diff --git a/.vscode/settings.json b/.vscode/settings.json new file mode 100644 index 000000000..1b6457c5c --- /dev/null +++ b/.vscode/settings.json @@ -0,0 +1,4 @@ +{ + "editor.formatOnSave": true, + "editor.defaultFormatter": "esbenp.prettier-vscode" +} diff --git a/package.json b/package.json index 233c63712..e39cca08a 100644 --- a/package.json +++ b/package.json @@ -7,7 +7,8 @@ "coveralls": "jest --coverage --coverageReporters=text-lcov | coveralls", "lint": "eslint app/assets/javascripts", "start:test": "rails s -e test -p 5000 & wait-on http://localhost:5000", - "cy:run": "cypress run -P spec/" + "cy:run": "cypress run -P spec/", + "format": "prettier --write 'app/assets/javascripts/**/*.{js,jsx}'" }, "jest": { "setupFilesAfterEnv": [ @@ -121,7 +122,8 @@ "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.1", "es6-promise": "^4.2.8", - "eslint": "^6.8.0", + "eslint": "^7.32.0", + "eslint-config-prettier": "^9.0.0", "eslint-config-react-app": "^5.0.2", "eslint-plugin-backbone": "^2.1.1", "eslint-plugin-flowtype": "^4.5.2", @@ -132,6 +134,7 @@ "jest-enzyme": "^7.1.2", "jest-sinon": "^1.0.1", "mini-css-extract-plugin": "^0.8.0", + "prettier": "^3.0.3", "react-addons-test-utils": "^15.6.2", "react-test-renderer": "^16.12.0", "sinon": "^7.5.0",