diff --git a/.eslintrc b/.eslintrc
deleted file mode 100644
index f3ba3855b..000000000
--- a/.eslintrc
+++ /dev/null
@@ -1,27 +0,0 @@
-{
- "extends": ["airbnb", "prettier"],
- "plugins": ["prettier"],
- "rules": {
- "prettier/prettier": ["error"],
- "linebreak-style": 0,
- "react/jsx-filename-extension": [1, { "extensions": [".js", ".jsx"] }],
- "react/jsx-props-no-spreading": ["off"],
- "import/prefer-default-export": ["off"]
- },
- "env": {
- "jest": true
- },
- "settings": {
- "import/resolver": {
- "node": {
- "paths": ["src"]
- }
- }
- },
- "globals": {
- "fetch": true,
- "window": true,
- "document": true,
- "navigator": true
- }
-}
diff --git a/.prettierrc b/.prettierrc
deleted file mode 100644
index 789ac2e5d..000000000
--- a/.prettierrc
+++ /dev/null
@@ -1,5 +0,0 @@
-{
- "printWidth": 100,
- "singleQuote": true,
- "trailingComma": "es5"
-}
diff --git a/package.json b/package.json
index 69db32bae..4c6dd8c7f 100644
--- a/package.json
+++ b/package.json
@@ -1,8 +1,11 @@
{
"name": "pearl",
- "version": "0.1.3",
+ "version": "0.2.0",
"private": true,
"dependencies": {
+ "@testing-library/jest-dom": "^5.11.9",
+ "@testing-library/react": "^11.2.5",
+ "@testing-library/user-event": "^11.2.5",
"@date-io/date-fns": "1.x",
"@material-ui/core": "^4.11.2",
"@material-ui/icons": "^4.11.2",
@@ -14,22 +17,70 @@
"dexie": "^2.0.4",
"font-awesome": "^4.7.0",
"keycloak-js": "^10.0.2",
- "node-sass": "^4.14.1",
"prop-types": "^15.7.2",
- "react": "^16.12.0",
- "react-dom": "^16.12.0",
+ "react": "^17.0.2",
+ "react-dom": "^17.0.2",
"react-modal": "^3.11.1",
- "react-router-dom": "^5.1.2",
- "react-scripts": "3.4.0"
+ "react-router-dom": "^5.2.0",
+ "react-scripts": "4.0.3",
+ "workbox-cacheable-response": "^5.1.3",
+ "workbox-core": "^5.1.3",
+ "workbox-precaching": "^5.1.3",
+ "workbox-routing": "^5.1.3",
+ "workbox-strategies": "^5.1.3"
},
"scripts": {
"start": "react-scripts start",
- "build": "react-scripts build && copy-and-watch src/service-worker-custom.js build && copy-and-watch configuration/configuration.json build",
+ "build": "react-scripts build && copy-and-watch configuration/configuration.json build",
"test": "react-scripts test",
"eject": "react-scripts eject"
},
"eslintConfig": {
- "extends": "react-app"
+ "extends": [
+ "react-app",
+ "react-app/jest",
+ "prettier",
+ "plugin:react-hooks/recommended",
+ "plugin:jsx-a11y/recommended",
+ "plugin:import/warnings"
+ ],
+ "plugins": [
+ "prettier",
+ "jsx-a11y"
+ ],
+ "rules": {
+ "react/prop-types": [
+ "off"
+ ],
+ "prettier/prettier": [
+ 1,
+ {
+ "arrowParens": "avoid"
+ }
+ ]
+ },
+ "globals": {
+ "fetch": true,
+ "window": true,
+ "document": true,
+ "navigator": true
+ },
+ "settings": {
+ "import/resolver": {
+ "node": {
+ "paths": [
+ "src"
+ ]
+ }
+ }
+ }
+ },
+ "prettier": {
+ "printWidth": 100,
+ "singleQuote": true,
+ "trailingComma": "es5",
+ "endOfLine": "auto",
+ "arrowParens": "avoid"
},
"browserslist": {
"production": [
@@ -44,21 +95,20 @@
]
},
"devDependencies": {
- "@testing-library/jest-dom": "^5.11.9",
- "@testing-library/react": "^11.2.5",
+
"@types/react": "^16.9.23",
"@types/react-router-dom": "^5.1.3",
"copy-and-watch": "^0.1.4",
"enzyme": "^3.10.0",
"enzyme-adapter-react-16": "^1.15.1",
- "eslint": "^6.6.0",
"eslint-config-airbnb": "^18.0.1",
- "eslint-config-prettier": "^6.5.0",
- "eslint-plugin-import": "^2.18.2",
- "eslint-plugin-jsx-a11y": "^6.2.3",
- "eslint-plugin-prettier": "^3.1.1",
+ "eslint-config-prettier": "^8.1.0",
+ "eslint-plugin-import": "^2.22.1",
+ "eslint-plugin-jsx-a11y": "^6.4.1",
+ "eslint-plugin-prettier": "^3.3.1",
"eslint-plugin-react": "^7.16.0",
"jest-sonar-reporter": "^2.0.0",
+ "eslint-plugin-react-hooks": "^4.2.0",
"prettier": "^1.19.1"
}
}
diff --git a/public/index.html b/public/index.html
index e51f7492a..319f78e91 100644
--- a/public/index.html
+++ b/public/index.html
@@ -4,7 +4,7 @@
-
+