From 3398f4f42da74536e4f3017ba5765a9ceac68b84 Mon Sep 17 00:00:00 2001 From: forceoranj Date: Mon, 18 Oct 2021 20:46:32 +0200 Subject: [PATCH] Factoring gsheet read --- package-lock.json | 330 ++++++++- report.20211018.023009.54396.0.001.json | 639 +++++++++++++++++ report.20211018.100025.89569.0.001.json | 641 ++++++++++++++++++ report.20211018.100127.89742.0.001.json | 639 +++++++++++++++++ src/components/JavGameList/index.tsx | 24 - .../__tests__/JeuxJavList.tsx} | 5 +- .../__snapshots__/JeuxJavList.tsx.snap} | 13 +- src/components/JeuxJavList/index.tsx | 24 + .../styles.module.scss | 0 src/components/index.ts | 4 +- src/gsheets/jeuxJav.ts | 27 + src/gsheets/{jav.ts => utils.ts} | 83 +-- src/pages/Home/Home.tsx | 10 +- src/pages/Home/__tests__/Home.tsx | 6 +- .../__tests__/__snapshots__/Home.tsx.snap | 13 +- src/server/index.ts | 4 +- src/services/{javGames.ts => jeuxJav.ts} | 20 +- .../{javGameList.ts => jeuxJaveList.ts} | 26 +- src/store/javGameList.ts | 57 -- src/store/jeuxJavList.ts | 57 ++ src/store/rootReducer.ts | 4 +- 21 files changed, 2414 insertions(+), 212 deletions(-) create mode 100644 report.20211018.023009.54396.0.001.json create mode 100644 report.20211018.100025.89569.0.001.json create mode 100644 report.20211018.100127.89742.0.001.json delete mode 100644 src/components/JavGameList/index.tsx rename src/components/{JavGameList/__tests__/JavGameList.tsx => JeuxJavList/__tests__/JeuxJavList.tsx} (83%) rename src/components/{JavGameList/__tests__/__snapshots__/JavGameList.tsx.snap => JeuxJavList/__tests__/__snapshots__/JeuxJavList.tsx.snap} (56%) create mode 100644 src/components/JeuxJavList/index.tsx rename src/components/{JavGameList => JeuxJavList}/styles.module.scss (100%) create mode 100644 src/gsheets/jeuxJav.ts rename src/gsheets/{jav.ts => utils.ts} (51%) rename src/services/{javGames.ts => jeuxJav.ts} (65%) rename src/store/__tests__/{javGameList.ts => jeuxJaveList.ts} (78%) delete mode 100644 src/store/javGameList.ts create mode 100644 src/store/jeuxJavList.ts diff --git a/package-lock.json b/package-lock.json index 000d410..fb76adb 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1430,6 +1430,8 @@ }, "@babel/plugin-transform-runtime": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-runtime/-/plugin-transform-runtime-7.14.5.tgz", + "integrity": "sha512-fPMBhh1AV8ZyneiCIA+wYYUH1arzlXR1UMcApjvchDhfKxhy2r2lReJv8uHEyihi4IFIGlr1Pdx7S5fkESDQsg==", "dev": true, "requires": { "@babel/helper-module-imports": "^7.14.5", @@ -1518,6 +1520,8 @@ }, "@babel/preset-env": { "version": "7.14.7", + "resolved": "https://registry.npmjs.org/@babel/preset-env/-/preset-env-7.14.7.tgz", + "integrity": "sha512-itOGqCKLsSUl0Y+1nSfhbuuOlTs0MJk2Iv7iSH+XT/mR8U1zRLO7NjWlYXB47yhK4J/7j+HYty/EhFZDYKa/VA==", "dev": true, "requires": { "@babel/compat-data": "^7.14.7", @@ -1610,6 +1614,8 @@ }, "@babel/preset-react": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-react/-/preset-react-7.14.5.tgz", + "integrity": "sha512-XFxBkjyObLvBaAvkx1Ie95Iaq4S/GUEIrejyrntQ/VCMKUYvKLoyKxOBzJ2kjA3b6rC9/KL6KXfDC2GqvLiNqQ==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", @@ -1622,6 +1628,8 @@ }, "@babel/preset-typescript": { "version": "7.14.5", + "resolved": "https://registry.npmjs.org/@babel/preset-typescript/-/preset-typescript-7.14.5.tgz", + "integrity": "sha512-u4zO6CdbRKbS9TypMqrlGH7sd2TAJppZwn3c/ZRLeO/wGsbddxgbPDUZVNrie3JWYLQ9vpineKlsrWFvO6Pwkw==", "dev": true, "requires": { "@babel/helper-plugin-utils": "^7.14.5", @@ -1629,6 +1637,14 @@ "@babel/plugin-transform-typescript": "^7.14.5" } }, + "@babel/runtime": { + "version": "7.15.4", + "resolved": "https://registry.npmjs.org/@babel/runtime/-/runtime-7.15.4.tgz", + "integrity": "sha512-99catp6bHCaxr4sJ/DbTGgHS4+Rs2RVd2g7iOap6SLGPDknRK9ztKNsE/Fg6QhSeh1FGE5f6gHGQmvvn3I3xhw==", + "requires": { + "regenerator-runtime": "^0.13.4" + } + }, "@babel/runtime-corejs3": { "version": "7.15.4", "resolved": "https://registry.npmjs.org/@babel/runtime-corejs3/-/runtime-corejs3-7.15.4.tgz", @@ -2092,6 +2108,8 @@ }, "@loadable/babel-plugin": { "version": "5.13.2", + "resolved": "https://registry.npmjs.org/@loadable/babel-plugin/-/babel-plugin-5.13.2.tgz", + "integrity": "sha512-vSZUVeTH1S1sDbk8Tzft0plZSkN7W4zmVR5w/Bmy4UmvBiu9lin7ztrDpoUTUzxpoups+OJbTc/OosvN0aMXWg==", "dev": true, "requires": { "@babel/plugin-syntax-dynamic-import": "^7.7.4" @@ -2099,6 +2117,8 @@ }, "@loadable/component": { "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@loadable/component/-/component-5.15.0.tgz", + "integrity": "sha512-g63rQzypPOZi0BeGsK4ST2MYhsFR+i7bhL8k/McUoWDNMDuTTdUlQ2GACKxqh5sI/dNC/6nVoPrycMnSylnAgQ==", "requires": { "@babel/runtime": "^7.7.7", "hoist-non-react-statics": "^3.3.1", @@ -2117,6 +2137,8 @@ }, "@loadable/server": { "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@loadable/server/-/server-5.15.0.tgz", + "integrity": "sha512-1WaKLO+fS2fx9eCzj85zq6DeGtwY9YKKJ2nF7KFcmUXh4IaolcC5lalKKb2DQuE4ucu6gIINjhVU+EBFFlZN9g==", "requires": { "lodash": "^4.17.15" }, @@ -2130,6 +2152,8 @@ }, "@loadable/webpack-plugin": { "version": "5.15.0", + "resolved": "https://registry.npmjs.org/@loadable/webpack-plugin/-/webpack-plugin-5.15.0.tgz", + "integrity": "sha512-6eKaEqjGiMuMiazzVopbyMHrUflUkTOd29nUHaUmmbdo6FTGo+VqdBZ4Y1dvkEaa/b6NjkPTKbLdVmZvHVx2jg==", "dev": true, "requires": { "make-dir": "^3.0.2" @@ -2163,6 +2187,8 @@ }, "@pmmmwh/react-refresh-webpack-plugin": { "version": "0.4.3", + "resolved": "https://registry.npmjs.org/@pmmmwh/react-refresh-webpack-plugin/-/react-refresh-webpack-plugin-0.4.3.tgz", + "integrity": "sha512-br5Qwvh8D2OQqSXpd1g/xqXKnK0r+Jz6qVKBbWmpUcrbGOxUrf39V5oZ1876084CGn18uMdR5uvPqBv9UqtBjQ==", "dev": true, "requires": { "ansi-html": "^0.0.7", @@ -2214,6 +2240,8 @@ }, "@reduxjs/toolkit": { "version": "1.6.0", + "resolved": "https://registry.npmjs.org/@reduxjs/toolkit/-/toolkit-1.6.0.tgz", + "integrity": "sha512-eGL50G+Vj5AG5uD0lineb6rRtbs96M8+hxbcwkHpZ8LQcmt0Bm33WyBSnj5AweLkjQ7ZP+KFRDHiLMznljRQ3A==", "requires": { "immer": "^9.0.1", "redux": "^4.1.0", @@ -2359,6 +2387,8 @@ }, "@testing-library/jest-dom": { "version": "5.14.1", + "resolved": "https://registry.npmjs.org/@testing-library/jest-dom/-/jest-dom-5.14.1.tgz", + "integrity": "sha512-dfB7HVIgTNCxH22M1+KU6viG5of2ldoA5ly8Ar8xkezKHKXjRvznCdbMbqjYGgO2xjRbwnR+rR8MLUIqF3kKbQ==", "dev": true, "requires": { "@babel/runtime": "^7.9.2", @@ -2401,6 +2431,8 @@ }, "@testing-library/react": { "version": "12.0.0", + "resolved": "https://registry.npmjs.org/@testing-library/react/-/react-12.0.0.tgz", + "integrity": "sha512-sh3jhFgEshFyJ/0IxGltRhwZv2kFKfJ3fN1vTZ6hhMXzz9ZbbcTgmDYM4e+zJv+oiVKKEWZPyqPAh4MQBI65gA==", "dev": true, "requires": { "@babel/runtime": "^7.12.5", @@ -2551,6 +2583,8 @@ }, "@types/compression": { "version": "1.7.1", + "resolved": "https://registry.npmjs.org/@types/compression/-/compression-1.7.1.tgz", + "integrity": "sha512-d6K1bU3qIjtfB2u+A1N0WDf62LpewRjrvbqY79qlPwk2otgQ4mWB4+LzPCWTvGmcuVwo+zAroEhsNlJavRcFvg==", "dev": true, "requires": { "@types/express": "*" @@ -2558,6 +2592,8 @@ }, "@types/compression-webpack-plugin": { "version": "6.0.6", + "resolved": "https://registry.npmjs.org/@types/compression-webpack-plugin/-/compression-webpack-plugin-6.0.6.tgz", + "integrity": "sha512-UuSUiWmgg4zfzTaGwyo4XCY4MBfgPuvvwAHujQZyu1beGDiJKXU3YMg0Pl6zcLMYV6tDqZJWyYG1QkT5yt28EA==", "dev": true, "requires": { "@types/webpack": "^4" @@ -2574,6 +2610,8 @@ }, "@types/css-minimizer-webpack-plugin": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/@types/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-Y5dt+W/zZXSVpGiVIAlDHRhmUuL2Wd/3mYld5/qaJ87ORuTVVIwmLZyPKWMPk8eVjdVng1641VpRZ57rd7ZeYw==", "dev": true, "requires": { "@types/cssnano": "*", @@ -2688,6 +2726,8 @@ }, "@types/hpp": { "version": "0.2.1", + "resolved": "https://registry.npmjs.org/@types/hpp/-/hpp-0.2.1.tgz", + "integrity": "sha512-+46c8i+nXpoJn8GJnZTvZUfggz4bKOlTtEXIxWTFb7xZI9onahMUnZ+xNdjc4vzSM/zUaUYtuEsY8ysgv68rXQ==", "dev": true, "requires": { "@types/express": "*" @@ -2695,6 +2735,8 @@ }, "@types/html-minifier": { "version": "4.0.1", + "resolved": "https://registry.npmjs.org/@types/html-minifier/-/html-minifier-4.0.1.tgz", + "integrity": "sha512-6u58FWQbWP45bsxVeMJo0yk2LEsjjZsCwn0JDe/i5Edk3L+b9TR5eZ2FGaMCrLdtGYpME5AGxUqv8o+3hWKogw==", "dev": true, "requires": { "@types/clean-css": "*", @@ -2820,6 +2862,8 @@ }, "@types/loadable__component": { "version": "5.13.4", + "resolved": "https://registry.npmjs.org/@types/loadable__component/-/loadable__component-5.13.4.tgz", + "integrity": "sha512-YhoCCxyuvP2XeZNbHbi8Wb9EMaUJuA2VGHxJffcQYrJKIKSkymJrhbzsf9y4zpTmr5pExAAEh5hbF628PAZ8Dg==", "dev": true, "requires": { "@types/react": "*" @@ -2827,6 +2871,8 @@ }, "@types/loadable__server": { "version": "5.12.6", + "resolved": "https://registry.npmjs.org/@types/loadable__server/-/loadable__server-5.12.6.tgz", + "integrity": "sha512-LgO5aUQJYFQY5bLuAef4anCZ/SwsEo2hG/D4zfREgUGDXjezBjZCwlUmmpfIQLsR64reLTCijS0m7gsd1k9cKA==", "dev": true, "requires": { "@types/react": "*" @@ -2834,6 +2880,8 @@ }, "@types/loadable__webpack-plugin": { "version": "5.7.3", + "resolved": "https://registry.npmjs.org/@types/loadable__webpack-plugin/-/loadable__webpack-plugin-5.7.3.tgz", + "integrity": "sha512-jdOgIovGk9xcbU1Kyveiw9RVCBbHfv9U9AKOveop8Jk4JQQOPrafE7WHaNxotza08pH1YG6vHTV84xUL2W2F1Q==", "dev": true, "requires": { "@types/webpack": "^4" @@ -2862,6 +2910,8 @@ }, "@types/mini-css-extract-plugin": { "version": "2.0.1", + "resolved": "https://registry.npmjs.org/@types/mini-css-extract-plugin/-/mini-css-extract-plugin-2.0.1.tgz", + "integrity": "sha512-U70+fNjmBCioVLDe4OZohLERHTTbrhvNJxLqr5qpkykyMOpvmTp0xzcdAaFQ51X/ROHDgD5BqsEeVzcYy/kFig==", "dev": true, "requires": { "@types/node": "*", @@ -2883,6 +2933,8 @@ }, "@types/morgan": { "version": "1.9.3", + "resolved": "https://registry.npmjs.org/@types/morgan/-/morgan-1.9.3.tgz", + "integrity": "sha512-BiLcfVqGBZCyNCnCH3F4o2GmDLrpy0HeBVnNlyZG4fo88ZiE9SoiBe3C+2ezuwbjlEyT+PDZ17//TAlRxAn75Q==", "dev": true, "requires": { "@types/node": "*" @@ -2941,6 +2993,8 @@ }, "@types/react-dom": { "version": "17.0.8", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-17.0.8.tgz", + "integrity": "sha512-0ohAiJAx1DAUEcY9UopnfwCE9sSMDGnY/oXjWMax6g3RpzmTt2GMyMVAXcbn0mo8XAff0SbQJl2/SBU+hjSZ1A==", "dev": true, "requires": { "@types/react": "*" @@ -2948,6 +3002,8 @@ }, "@types/react-helmet": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/@types/react-helmet/-/react-helmet-6.1.1.tgz", + "integrity": "sha512-VmSCMz6jp/06DABoY60vQa++h1YFt0PfAI23llxBJHbowqFgLUL0dhS1AQeVPNqYfRp9LAfokrfWACTNeobOrg==", "dev": true, "requires": { "@types/react": "*" @@ -2976,6 +3032,8 @@ }, "@types/react-router-config": { "version": "5.0.2", + "resolved": "https://registry.npmjs.org/@types/react-router-config/-/react-router-config-5.0.2.tgz", + "integrity": "sha512-WOSetDV3YPxbkVJAdv/bqExJjmcdCi/vpCJh3NfQOy1X15vHMSiMioXIcGekXDJJYhqGUMDo9e337mh508foAA==", "dev": true, "requires": { "@types/history": "*", @@ -2985,6 +3043,8 @@ }, "@types/react-router-dom": { "version": "5.1.7", + "resolved": "https://registry.npmjs.org/@types/react-router-dom/-/react-router-dom-5.1.7.tgz", + "integrity": "sha512-D5mHD6TbdV/DNHYsnwBTv+y73ei+mMjrkGrla86HthE4/PVvL1J94Bu3qABU+COXzpL23T1EZapVVpwHuBXiUg==", "dev": true, "requires": { "@types/history": "*", @@ -2994,6 +3054,8 @@ }, "@types/react-test-renderer": { "version": "17.0.1", + "resolved": "https://registry.npmjs.org/@types/react-test-renderer/-/react-test-renderer-17.0.1.tgz", + "integrity": "sha512-3Fi2O6Zzq/f3QR9dRnlnHso9bMl7weKCviFmfF6B4LS1Uat6Hkm15k0ZAQuDz+UBq6B3+g+NM6IT2nr5QgPzCw==", "dev": true, "requires": { "@types/react": "*" @@ -3001,6 +3063,8 @@ }, "@types/redux-mock-store": { "version": "1.0.2", + "resolved": "https://registry.npmjs.org/@types/redux-mock-store/-/redux-mock-store-1.0.2.tgz", + "integrity": "sha512-6LBtAQBN34i7SI5X+Qs4zpTEZO1tTDZ6sZ9fzFjYwTl3nLQXaBtwYdoV44CzNnyKu438xJ1lSIYyw0YMvunESw==", "dev": true, "requires": { "redux": "^4.0.5" @@ -3019,10 +3083,14 @@ }, "@types/serialize-javascript": { "version": "5.0.1", + "resolved": "https://registry.npmjs.org/@types/serialize-javascript/-/serialize-javascript-5.0.1.tgz", + "integrity": "sha512-QqgTcm7IgIt/oWNFQMlpVv5Z3saYtxWK9yFrAUkk3jxvjbqIG835xNNoOYq12mXKQMuWGc+PgOXwXy92eax5BA==", "dev": true }, "@types/serve-favicon": { "version": "2.5.3", + "resolved": "https://registry.npmjs.org/@types/serve-favicon/-/serve-favicon-2.5.3.tgz", + "integrity": "sha512-HirXLRJjLXzwiSnjhE1vMu55X7+qaY+noXsKqi/7eK1uByl3L6TwkcALZuJnQXqOalMdmBz3b662yXvaR+89Vw==", "dev": true, "requires": { "@types/express": "*" @@ -3058,6 +3126,8 @@ }, "@types/terser-webpack-plugin": { "version": "5.0.4", + "resolved": "https://registry.npmjs.org/@types/terser-webpack-plugin/-/terser-webpack-plugin-5.0.4.tgz", + "integrity": "sha512-1iyfZpMNNA/h/Q8uBpwuVhxKfKQHc98PD9NaCTrg22nj6d8aUvT79KBMtRLmR43v1PtCB0r1/gWGdNXrrMEK7A==", "dev": true, "requires": { "terser": "^5.3.8", @@ -3104,6 +3174,8 @@ }, "@types/webpack-bundle-analyzer": { "version": "4.4.1", + "resolved": "https://registry.npmjs.org/@types/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.1.tgz", + "integrity": "sha512-yQAj3l7bIYL+QRRlNJt6gyP+zrXZOlgaR4wsX0WY4yzZIbv41ZibREfZvuYjxY0iVtvQQlbhx0AeokkCuqUAQg==", "dev": true, "requires": { "@types/node": "*", @@ -3113,6 +3185,8 @@ }, "@types/webpack-manifest-plugin": { "version": "3.0.5", + "resolved": "https://registry.npmjs.org/@types/webpack-manifest-plugin/-/webpack-manifest-plugin-3.0.5.tgz", + "integrity": "sha512-p6uyaflgqXaWH0Y7lczikaRuzrk+h2JfV7Fy86WrhYI2r2UNGyetFwPBKl1r5RnnhEpB/P6VaJJNzMaMSwe3oA==", "dev": true, "requires": { "@types/tapable": "^1", @@ -3121,6 +3195,8 @@ }, "@types/webpack-node-externals": { "version": "2.5.2", + "resolved": "https://registry.npmjs.org/@types/webpack-node-externals/-/webpack-node-externals-2.5.2.tgz", + "integrity": "sha512-MeNdcLW9Wqtj20057ixY35oFl+m59LlyPCi7GbjkJlf2043SJQg8br/5sQDAiSIIBPi7fqdJ+dVwLvhH5NLZtQ==", "dev": true, "requires": { "@types/webpack": "^4" @@ -3162,6 +3238,8 @@ }, "@typescript-eslint/eslint-plugin": { "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/eslint-plugin/-/eslint-plugin-4.28.2.tgz", + "integrity": "sha512-PGqpLLzHSxq956rzNGasO3GsAPf2lY9lDUBXhS++SKonglUmJypaUtcKzRtUte8CV7nruwnDxtLUKpVxs0wQBw==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "4.28.2", @@ -3211,6 +3289,8 @@ }, "@typescript-eslint/parser": { "version": "4.28.2", + "resolved": "https://registry.npmjs.org/@typescript-eslint/parser/-/parser-4.28.2.tgz", + "integrity": "sha512-Q0gSCN51eikAgFGY+gnd5p9bhhCUAl0ERMiDKrTzpSoMYRubdB8MJrTTR/BBii8z+iFwz8oihxd0RAdP4l8w8w==", "dev": true, "requires": { "@typescript-eslint/scope-manager": "4.28.2", @@ -3619,7 +3699,6 @@ "version": "4.3.0", "resolved": "https://registry.npmjs.org/ansi-styles/-/ansi-styles-4.3.0.tgz", "integrity": "sha512-zbB9rCJAT1rbjiVDb2hqKFHNYLxgtk8NURxZ3IZwD3F6NtxbXZQCnnSi1Lkx+IDohdPlFp222wVALIheZJQSEg==", - "dev": true, "requires": { "color-convert": "^2.0.1" } @@ -3821,6 +3900,8 @@ }, "autoprefixer": { "version": "10.2.6", + "resolved": "https://registry.npmjs.org/autoprefixer/-/autoprefixer-10.2.6.tgz", + "integrity": "sha512-8lChSmdU6dCNMCQopIf4Pe5kipkAGj/fvTMslCsih0uHpOrXOPUEVOmYMMqmw3cekQkSD7EhIeuYl5y0BLdKqg==", "requires": { "browserslist": "^4.16.6", "caniuse-lite": "^1.0.30001230", @@ -3850,6 +3931,8 @@ }, "axios": { "version": "0.21.1", + "resolved": "https://registry.npmjs.org/axios/-/axios-0.21.1.tgz", + "integrity": "sha512-dKQiRHxGD9PPRIUNIWvZhPTPpl1rf/OxTYKsqKUDjBwYylTvV7SjSHJb9ratfyzM6wCdLCOYLzs73qpg5c4iGA==", "requires": { "follow-redirects": "^1.10.0" } @@ -3890,6 +3973,8 @@ }, "babel-loader": { "version": "8.2.2", + "resolved": "https://registry.npmjs.org/babel-loader/-/babel-loader-8.2.2.tgz", + "integrity": "sha512-JvTd0/D889PQBtUXJ2PXaKU/pjZDMtHA9V2ecm+eNRmmBCMR09a+fmpGTNwnJtFmFl5Ei7Vy47LjBb+L0wQ99g==", "dev": true, "requires": { "find-cache-dir": "^3.3.1", @@ -4727,6 +4812,15 @@ "url-to-options": "^1.0.1" } }, + "chalk": { + "version": "4.1.2", + "resolved": "https://registry.npmjs.org/chalk/-/chalk-4.1.2.tgz", + "integrity": "sha512-oKnbhFyRIXpUuez8iBMmyEa4nbj4IOQyuhc/wy9kY7/WVPcwIO9VA668Pu8RkO7+0G76SLROeyw9CpQ061i4mA==", + "requires": { + "ansi-styles": "^4.1.0", + "supports-color": "^7.1.0" + } + }, "char-regex": { "version": "1.0.2", "resolved": "https://registry.npmjs.org/char-regex/-/char-regex-1.0.2.tgz", @@ -4913,7 +5007,6 @@ "version": "2.0.1", "resolved": "https://registry.npmjs.org/color-convert/-/color-convert-2.0.1.tgz", "integrity": "sha512-RRECPsj7iu/xb5oKYcsFHSppFNnsj/52OVTRKb4zP5onXwVF3zVmmToNcOfGC+CRDpfK/U584fMg38ZHCaElKQ==", - "dev": true, "requires": { "color-name": "~1.1.4" } @@ -4921,8 +5014,7 @@ "color-name": { "version": "1.1.4", "resolved": "https://registry.npmjs.org/color-name/-/color-name-1.1.4.tgz", - "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==", - "dev": true + "integrity": "sha512-dOy+3AuW3a2wNbZHIuMZpTcgjGuLU/uBL/ubcZF9OXbDo8ff4O8yVp5Bf0efS8uEoYo5q4Fx7dY9OgQGXgAsQA==" }, "colord": { "version": "2.8.0", @@ -4965,6 +5057,8 @@ }, "compression": { "version": "1.7.4", + "resolved": "https://registry.npmjs.org/compression/-/compression-1.7.4.tgz", + "integrity": "sha512-jaSIDzP9pZVS4ZfQ+TzvtiWhdpFhE2RDHz8QJkpX9SIpLq88VueF5jJw6t+6CUQcAoA6t+x89MLrWAqpfDE8iQ==", "requires": { "accepts": "~1.3.5", "bytes": "3.0.0", @@ -5002,6 +5096,8 @@ }, "compression-webpack-plugin": { "version": "8.0.1", + "resolved": "https://registry.npmjs.org/compression-webpack-plugin/-/compression-webpack-plugin-8.0.1.tgz", + "integrity": "sha512-VWDXcOgEafQDMFXEnoia0VBXJ+RMw81pmqe/EBiOIBnMfY8pG26eqwIS/ytGpzy1rozydltL0zL6KDH9XNWBxQ==", "dev": true, "requires": { "schema-utils": "^3.0.0", @@ -5057,6 +5153,8 @@ }, "connected-react-router": { "version": "6.9.1", + "resolved": "https://registry.npmjs.org/connected-react-router/-/connected-react-router-6.9.1.tgz", + "integrity": "sha512-BbtB6t0iqAwGwygDenJl9zmlk7vpKWIRSycULmkAOn2RUaF6+bqETprl0qcIqQmY5CTqSwKanaxkLXYWiffAfQ==", "requires": { "immutable": "^3.8.1 || ^4.0.0-rc.1", "lodash.isequalwith": "^4.4.0", @@ -5124,7 +5222,9 @@ "integrity": "sha1-4wOogrNCzD7oylE6eZmXNNqzriw=" }, "core-js": { - "version": "3.15.2" + "version": "3.15.2", + "resolved": "https://registry.npmjs.org/core-js/-/core-js-3.15.2.tgz", + "integrity": "sha512-tKs41J7NJVuaya8DxIOCnl8QuPHx5/ZVbFo1oKgVl1qHFBBrDctzQGtuLjPpRdNTWmKPH6oEvgN/MUID+l485Q==" }, "core-js-compat": { "version": "3.15.2", @@ -5177,6 +5277,8 @@ }, "cross-env": { "version": "7.0.3", + "resolved": "https://registry.npmjs.org/cross-env/-/cross-env-7.0.3.tgz", + "integrity": "sha512-+/HKd6EgcQCJGh2PSjZuUitQBQynKor4wrFbRg4DtAgS1aWO+gU52xpH7M9ScGgXSYmAVS9bIJ8EzuaGw0oNAw==", "requires": { "cross-spawn": "^7.0.1" } @@ -5253,6 +5355,8 @@ }, "css-loader": { "version": "5.2.6", + "resolved": "https://registry.npmjs.org/css-loader/-/css-loader-5.2.6.tgz", + "integrity": "sha512-0wyN5vXMQZu6BvjbrPdUJvkCzGEO24HC7IS7nW4llc6BBFC+zwR9CKtYGv63Puzsg10L/o12inMY5/2ByzfD6w==", "dev": true, "requires": { "icss-utils": "^5.1.0", @@ -5291,6 +5395,8 @@ }, "css-minimizer-webpack-plugin": { "version": "3.0.2", + "resolved": "https://registry.npmjs.org/css-minimizer-webpack-plugin/-/css-minimizer-webpack-plugin-3.0.2.tgz", + "integrity": "sha512-B3I5e17RwvKPJwsxjjWcdgpU/zqylzK1bPVghcmpFHRL48DXiBgrtqz1BJsn68+t/zzaLp9kYAaEDvQ7GyanFQ==", "dev": true, "requires": { "cssnano": "^5.0.6", @@ -5732,6 +5838,11 @@ "resolved": "https://registry.npmjs.org/depd/-/depd-1.1.2.tgz", "integrity": "sha1-m81S4UwJd2PnSbJ0xDRu0uVgtak=" }, + "dequal": { + "version": "2.0.2", + "resolved": "https://registry.npmjs.org/dequal/-/dequal-2.0.2.tgz", + "integrity": "sha512-q9K8BlJVxK7hQYqa6XISGmBZbtQQWVXSrRrWreHC94rMt1QL/Impruc+7p2CYSYuVIUr+YCt6hjrs1kkdJRTug==" + }, "destroy": { "version": "1.0.4", "resolved": "https://registry.npmjs.org/destroy/-/destroy-1.0.4.tgz", @@ -6117,6 +6228,8 @@ }, "eslint": { "version": "7.30.0", + "resolved": "https://registry.npmjs.org/eslint/-/eslint-7.30.0.tgz", + "integrity": "sha512-VLqz80i3as3NdloY44BQSJpFw534L9Oh+6zJOUaViV4JPd+DaHwutqP7tcpkW3YiXbK6s05RZl7yl7cQn+lijg==", "dev": true, "requires": { "@babel/code-frame": "7.12.11", @@ -6229,6 +6342,8 @@ }, "eslint-config-airbnb": { "version": "18.2.1", + "resolved": "https://registry.npmjs.org/eslint-config-airbnb/-/eslint-config-airbnb-18.2.1.tgz", + "integrity": "sha512-glZNDEZ36VdlZWoxn/bUR1r/sdFKPd1mHPbqUtkctgNG4yT2DLLtJ3D+yCV+jzZCc2V1nBVkmdknOJBZ5Hc0fg==", "dev": true, "requires": { "eslint-config-airbnb-base": "^14.2.1", @@ -6249,6 +6364,8 @@ }, "eslint-config-prettier": { "version": "8.3.0", + "resolved": "https://registry.npmjs.org/eslint-config-prettier/-/eslint-config-prettier-8.3.0.tgz", + "integrity": "sha512-BgZuLUSeKzvlL/VUjx/Yb787VQ26RU3gGjA3iiFvdsp/2bMfVIWUVP7tjxtjS0e+HP409cPlPvNkQloz8C91ew==", "dev": true }, "eslint-import-resolver-node": { @@ -6274,6 +6391,8 @@ }, "eslint-import-resolver-typescript": { "version": "2.4.0", + "resolved": "https://registry.npmjs.org/eslint-import-resolver-typescript/-/eslint-import-resolver-typescript-2.4.0.tgz", + "integrity": "sha512-useJKURidCcldRLCNKWemr1fFQL1SzB3G4a0li6lFGvlc5xGe1hY343bvG07cbpCzPuM/lK19FIJB3XGFSkplA==", "dev": true, "requires": { "debug": "^4.1.1", @@ -6321,6 +6440,8 @@ }, "eslint-plugin-import": { "version": "2.23.4", + "resolved": "https://registry.npmjs.org/eslint-plugin-import/-/eslint-plugin-import-2.23.4.tgz", + "integrity": "sha512-6/wP8zZRsnQFiR3iaPFgh5ImVRM1WN5NUWfTIRqwOdeiGJlBcSk82o1FEVq8yXmy4lkIzTo7YhHCIxlU/2HyEQ==", "dev": true, "requires": { "array-includes": "^3.1.3", @@ -6353,6 +6474,8 @@ }, "eslint-plugin-jest": { "version": "24.3.6", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest/-/eslint-plugin-jest-24.3.6.tgz", + "integrity": "sha512-WOVH4TIaBLIeCX576rLcOgjNXqP+jNlCiEmRgFTfQtJ52DpwnIQKAVGlGPAN7CZ33bW6eNfHD6s8ZbEUTQubJg==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "^4.0.1" @@ -6360,6 +6483,8 @@ }, "eslint-plugin-jest-dom": { "version": "3.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-jest-dom/-/eslint-plugin-jest-dom-3.9.0.tgz", + "integrity": "sha512-Ou3cuAAY9s6pYZv+KKPa9XquSzUAWW2CgE5al7cQ0yew25w/kp5kNsUJgESb3Pj00Y6pzvznepppL2sk7UOQKg==", "dev": true, "requires": { "@babel/runtime": "^7.9.6", @@ -6380,6 +6505,8 @@ }, "eslint-plugin-jsx-a11y": { "version": "6.4.1", + "resolved": "https://registry.npmjs.org/eslint-plugin-jsx-a11y/-/eslint-plugin-jsx-a11y-6.4.1.tgz", + "integrity": "sha512-0rGPJBbwHoGNPU73/QCLP/vveMlM1b1Z9PponxO87jfr6tuH5ligXbDT6nHSSzBC8ovX2Z+BQu7Bk5D/Xgq9zg==", "dev": true, "requires": { "@babel/runtime": "^7.11.2", @@ -6414,6 +6541,8 @@ }, "eslint-plugin-react": { "version": "7.24.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react/-/eslint-plugin-react-7.24.0.tgz", + "integrity": "sha512-KJJIx2SYx7PBx3ONe/mEeMz4YE0Lcr7feJTCMyyKb/341NcjuAgim3Acgan89GfPv7nxXK2+0slu0CWXYM4x+Q==", "dev": true, "requires": { "array-includes": "^3.1.3", @@ -6444,10 +6573,14 @@ }, "eslint-plugin-react-hooks": { "version": "4.2.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-react-hooks/-/eslint-plugin-react-hooks-4.2.0.tgz", + "integrity": "sha512-623WEiZJqxR7VdxFCKLI6d6LLpwJkGPYKODnkH3D7WpOG5KM8yWueBd8TLsNAetEJNF5iJmolaAKO3F8yzyVBQ==", "dev": true }, "eslint-plugin-testing-library": { "version": "4.9.0", + "resolved": "https://registry.npmjs.org/eslint-plugin-testing-library/-/eslint-plugin-testing-library-4.9.0.tgz", + "integrity": "sha512-pnWco+Gi8I77K3DAusOmt9MMA1BG1/sbztkEptB4VbNeVxE0ju5sOyLETJ03CIx8eMNbQAZNeiLQB7hT5D0L3A==", "dev": true, "requires": { "@typescript-eslint/experimental-utils": "^4.24.0" @@ -6733,6 +6866,8 @@ }, "express": { "version": "4.17.1", + "resolved": "https://registry.npmjs.org/express/-/express-4.17.1.tgz", + "integrity": "sha512-mHJ9O79RqluphRrcw2X/GTh3k9tVv8YcoyY4Kkh4WDMUYKRZUq0h1o0w2rrrxBqM7VoeUVqgb27xlEMXTnYt4g==", "requires": { "accepts": "~1.3.7", "array-flatten": "1.1.1", @@ -7022,6 +7157,8 @@ }, "fork-ts-checker-webpack-plugin": { "version": "6.2.12", + "resolved": "https://registry.npmjs.org/fork-ts-checker-webpack-plugin/-/fork-ts-checker-webpack-plugin-6.2.12.tgz", + "integrity": "sha512-BzXGIfM47q1WFwXsNLl22dQVMFwSBgldL07lvqRJFxgrhT76QQ3nri5PX01Rxfa2RYvv/hqACULO8K5gT8fFuA==", "dev": true, "requires": { "@babel/code-frame": "^7.8.3", @@ -7127,7 +7264,9 @@ } }, "fs": { - "version": "0.0.1-security" + "version": "0.0.1-security", + "resolved": "https://registry.npmjs.org/fs/-/fs-0.0.1-security.tgz", + "integrity": "sha1-invTcYa23d84E/I4WLV+yq9eQdQ=" }, "fs-constants": { "version": "1.0.0", @@ -7507,6 +7646,8 @@ }, "googleapis": { "version": "88.2.0", + "resolved": "https://registry.npmjs.org/googleapis/-/googleapis-88.2.0.tgz", + "integrity": "sha512-z3iDvGVqaJ+4TZ7YulK530q5vkY0BifvAWqcu2JiUSgpnIHzsA89k005+McoaYB+lAgv7lPY2Y4OPMT6iloWRA==", "requires": { "google-auth-library": "^7.0.2", "googleapis-common": "^5.0.2" @@ -7642,8 +7783,7 @@ "has-flag": { "version": "4.0.0", "resolved": "https://registry.npmjs.org/has-flag/-/has-flag-4.0.0.tgz", - "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==", - "dev": true + "integrity": "sha512-EykJT/Q1KjTWctppgIAgfSO0tKVuZUjhgMr17kqTumMl6Afv3EISleU7qZUzoXDFTAHTDC4NOoG/ZxU3EvlMPQ==" }, "has-symbol-support-x": { "version": "1.4.2", @@ -7693,7 +7833,22 @@ "integrity": "sha512-F/1DnUGPopORZi0ni+CvrCgHQ5FyEAHRLSApuYWMmrbSwoN2Mn/7k+Gl38gJnR7yyDZk6WLXwiGod1JOWNDKGw==" }, "helmet": { - "version": "4.6.0" + "version": "4.6.0", + "resolved": "https://registry.npmjs.org/helmet/-/helmet-4.6.0.tgz", + "integrity": "sha512-HVqALKZlR95ROkrnesdhbbZJFi/rIVSoNq6f3jA/9u6MIbTsPh3xZwihjeI5+DO/2sOV6HMHooXcEOuwskHpTg==" + }, + "history": { + "version": "4.10.1", + "resolved": "https://registry.npmjs.org/history/-/history-4.10.1.tgz", + "integrity": "sha512-36nwAD620w12kuzPAsyINPWJqlNbij+hpK1k9XRloDtym8mxzGYl2c17LnV6IAGB2Dmg4tEa7G7DlawS0+qjew==", + "requires": { + "@babel/runtime": "^7.1.2", + "loose-envify": "^1.2.0", + "resolve-pathname": "^3.0.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0", + "value-equal": "^1.0.1" + } }, "hoist-non-react-statics": { "version": "3.3.2", @@ -7711,6 +7866,8 @@ }, "hpp": { "version": "0.2.3", + "resolved": "https://registry.npmjs.org/hpp/-/hpp-0.2.3.tgz", + "integrity": "sha512-4zDZypjQcxK/8pfFNR7jaON7zEUpXZxz4viyFmqjb3kWNWAHsLEUmWXcdn25c5l76ISvnD6hbOGO97cXUI3Ryw==", "requires": { "lodash": "^4.17.12", "type-is": "^1.6.12" @@ -7746,6 +7903,8 @@ }, "html-minifier": { "version": "4.0.0", + "resolved": "https://registry.npmjs.org/html-minifier/-/html-minifier-4.0.0.tgz", + "integrity": "sha512-aoGxanpFPLg7MkIl/DDFYtb0iWz7jMFGqFhvEDZga6/4QTjneiD8I/NXL1x5aaoCp7FSIT6h/OhykDdPsbtMig==", "requires": { "camel-case": "^3.0.0", "clean-css": "^4.2.1", @@ -7858,7 +8017,9 @@ } }, "https": { - "version": "1.0.0" + "version": "1.0.0", + "resolved": "https://registry.npmjs.org/https/-/https-1.0.0.tgz", + "integrity": "sha1-PDfHrhqO65ZpBKKtHpdaGUt+06Q=" }, "https-proxy-agent": { "version": "5.0.0", @@ -7877,6 +8038,8 @@ }, "husky": { "version": "7.0.1", + "resolved": "https://registry.npmjs.org/husky/-/husky-7.0.1.tgz", + "integrity": "sha512-gceRaITVZ+cJH9sNHqx5tFwbzlLCVxtVZcusME8JYQ8Edy5mpGDOqD8QBCdMhpyo9a+JXddnujQ4rpY2Ff9SJA==", "dev": true }, "iconv-lite": { @@ -7895,6 +8058,8 @@ }, "identity-obj-proxy": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/identity-obj-proxy/-/identity-obj-proxy-3.0.0.tgz", + "integrity": "sha1-lNK9qWCERT7zb7xarsN+D3nx/BQ=", "dev": true, "requires": { "harmony-reflect": "^1.4.6" @@ -7920,6 +8085,8 @@ }, "image-minimizer-webpack-plugin": { "version": "2.2.0", + "resolved": "https://registry.npmjs.org/image-minimizer-webpack-plugin/-/image-minimizer-webpack-plugin-2.2.0.tgz", + "integrity": "sha512-/BpKvjbfj9A+au7FryzHmj+1g3h2NzQ0w4nrXTU5YcQIGotvG69A5xyFL9Mq1htI9E8dI4rMF/wUc0klZLb1pg==", "dev": true, "requires": { "imagemin": "^7.0.1", @@ -7981,6 +8148,8 @@ }, "imagemin-gifsicle": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-gifsicle/-/imagemin-gifsicle-7.0.0.tgz", + "integrity": "sha512-LaP38xhxAwS3W8PFh4y5iQ6feoTSF+dTAXFRUEYQWYst6Xd+9L/iPk34QGgK/VO/objmIlmq9TStGfVY2IcHIA==", "dev": true, "requires": { "execa": "^1.0.0", @@ -8055,6 +8224,8 @@ }, "imagemin-jpegtran": { "version": "7.0.0", + "resolved": "https://registry.npmjs.org/imagemin-jpegtran/-/imagemin-jpegtran-7.0.0.tgz", + "integrity": "sha512-MJoyTCW8YjMJf56NorFE41SR/WkaGA3IYk4JgvMlRwguJEEd3PnP9UxA8Y2UWjquz8d+On3Ds/03ZfiiLS8xTQ==", "dev": true, "requires": { "exec-buffer": "^3.0.0", @@ -8064,6 +8235,8 @@ }, "imagemin-optipng": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/imagemin-optipng/-/imagemin-optipng-8.0.0.tgz", + "integrity": "sha512-CUGfhfwqlPjAC0rm8Fy+R2DJDBGjzy2SkfyT09L8rasnF9jSoHFqJ1xxSZWK6HVPZBMhGPMxCTL70OgTHlLF5A==", "dev": true, "requires": { "exec-buffer": "^3.0.0", @@ -8073,6 +8246,8 @@ }, "imagemin-svgo": { "version": "9.0.0", + "resolved": "https://registry.npmjs.org/imagemin-svgo/-/imagemin-svgo-9.0.0.tgz", + "integrity": "sha512-uNgXpKHd99C0WODkrJ8OO/3zW3qjgS4pW7hcuII0RcHN3tnKxDjJWcitdVC/TZyfIqSricU8WfrHn26bdSW62g==", "dev": true, "requires": { "is-svg": "^4.2.1", @@ -8611,6 +8786,8 @@ }, "jest": { "version": "27.0.6", + "resolved": "https://registry.npmjs.org/jest/-/jest-27.0.6.tgz", + "integrity": "sha512-EjV8aETrsD0wHl7CKMibKwQNQc3gIRBXlTikBmmHUeVMKaPFxdcUIBfoDqTSXDoGJIivAYGqCWVlzCSaVjPQsA==", "dev": true, "requires": { "@jest/core": "^27.0.6", @@ -9657,6 +9834,8 @@ }, "lint-staged": { "version": "11.0.0", + "resolved": "https://registry.npmjs.org/lint-staged/-/lint-staged-11.0.0.tgz", + "integrity": "sha512-3rsRIoyaE8IphSUtO1RVTFl1e0SLBtxxUOPBtHxQgBHS5/i6nqvjcUfNioMa4BU9yGnPzbO+xkfLtXtxBpCzjw==", "dev": true, "requires": { "chalk": "^4.1.1", @@ -9771,6 +9950,11 @@ "path-exists": "^3.0.0" } }, + "lodash": { + "version": "4.17.21", + "resolved": "https://registry.npmjs.org/lodash/-/lodash-4.17.21.tgz", + "integrity": "sha512-v2kDEe57lecTulaDIuNTPy3Ry4gLGJ6Z1O3vE1krgXZNrsQ+LFTGHVxVjcXPs17LhbZVGedAJv8XZ1tvj5FvSg==" + }, "lodash.clonedeep": { "version": "4.5.0", "resolved": "https://registry.npmjs.org/lodash.clonedeep/-/lodash.clonedeep-4.5.0.tgz", @@ -10482,6 +10666,8 @@ }, "mini-css-extract-plugin": { "version": "2.1.0", + "resolved": "https://registry.npmjs.org/mini-css-extract-plugin/-/mini-css-extract-plugin-2.1.0.tgz", + "integrity": "sha512-SV1GgjMcfqy6hW07rAniUbQE4qS3inh3v4rZEUySkPRWy3vMbS3jUCjMOvNI4lUnDlQYJEmuUqKktTCNY5koFQ==", "dev": true, "requires": { "schema-utils": "^3.0.0" @@ -10540,6 +10726,8 @@ }, "morgan": { "version": "1.10.0", + "resolved": "https://registry.npmjs.org/morgan/-/morgan-1.10.0.tgz", + "integrity": "sha512-AbegBVI4sh6El+1gNwvD5YIck7nSA36weD7xvIxG4in80j/UoK8AEGaWnnz8v1GxonMCltmlNs5ZKbGvl9b1XQ==", "requires": { "basic-auth": "~2.0.1", "debug": "2.6.9", @@ -10711,6 +10899,8 @@ }, "node-sass": { "version": "6.0.1", + "resolved": "https://registry.npmjs.org/node-sass/-/node-sass-6.0.1.tgz", + "integrity": "sha512-f+Rbqt92Ful9gX0cGtdYwjTrWAaGURgaK5rZCWOgCNyGWusFYHhbqCCBoFBeat+HKETOU02AyTxNhJV0YZf2jQ==", "dev": true, "requires": { "async-foreach": "^0.1.3", @@ -10780,6 +10970,8 @@ }, "nodemon": { "version": "2.0.9", + "resolved": "https://registry.npmjs.org/nodemon/-/nodemon-2.0.9.tgz", + "integrity": "sha512-6O4k7C8f2HQArGpaPBOqGGddjzDLQAqCYmq3tKMeNIbz7Is/hOphMHy2dcY10sSq5wl3cqyn9Iz+Ep2j51JOLg==", "dev": true, "requires": { "chokidar": "^3.2.2", @@ -10885,7 +11077,9 @@ "dev": true }, "normalize.css": { - "version": "8.0.1" + "version": "8.0.1", + "resolved": "https://registry.npmjs.org/normalize.css/-/normalize.css-8.0.1.tgz", + "integrity": "sha512-qizSNPO93t1YUuUhP22btGOo3chcvDFqFaj2TRybP0DMxkHOCTYwp3n34fel4a31ORXy4m1Xq0Gyqpb5m33qIg==" }, "npm-conf": { "version": "1.1.3", @@ -10899,6 +11093,8 @@ }, "npm-run-all": { "version": "4.1.5", + "resolved": "https://registry.npmjs.org/npm-run-all/-/npm-run-all-4.1.5.tgz", + "integrity": "sha512-Oo82gJDAVcaMdi3nuoKFavkIHBRVqQ1qvMb+9LHk/cF4P6B2m8aP04hGf7oL6wZ9BuGwX1onlLhpuoofSyoQDQ==", "dev": true, "requires": { "ansi-styles": "^3.2.1", @@ -11727,6 +11923,8 @@ }, "postcss-loader": { "version": "6.1.1", + "resolved": "https://registry.npmjs.org/postcss-loader/-/postcss-loader-6.1.1.tgz", + "integrity": "sha512-lBmJMvRh1D40dqpWKr9Rpygwxn8M74U9uaCSeYGNKLGInbk9mXBt1ultHf2dH9Ghk6Ue4UXlXWwGMH9QdUJ5ug==", "dev": true, "requires": { "cosmiconfig": "^7.0.0", @@ -12121,6 +12319,8 @@ }, "prettier": { "version": "2.3.2", + "resolved": "https://registry.npmjs.org/prettier/-/prettier-2.3.2.tgz", + "integrity": "sha512-lnJzDfJ66zkMy58OL5/NY5zp70S7Nz6KqcKkXYzn2tMVrNxvbqaBpg7H3qHaLxCJ5lNMsGuM8+ohS7cZrthdLQ==", "dev": true }, "pretty-format": { @@ -12277,7 +12477,6 @@ "version": "2.1.0", "resolved": "https://registry.npmjs.org/randombytes/-/randombytes-2.1.0.tgz", "integrity": "sha512-vYl3iOX+4CKUWuxGi9Ukhie6fsqXqS9FE2Zaic4tNFD2N2QQaXOMFbuKK4QmDHC0JO6B1Zp41J0LpT0oR68amQ==", - "dev": true, "requires": { "safe-buffer": "^5.1.0" } @@ -12320,13 +12519,26 @@ }, "react": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react/-/react-17.0.2.tgz", + "integrity": "sha512-gnhPt75i/dq/z3/6q/0asP78D0u592D5L1pd7M8P+dck6Fu/jJeL6iVVK23fptSUZj8Vjf++7wXA8UNclGQcbA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1" } }, + "react-cool-form": { + "version": "0.4.1", + "resolved": "https://registry.npmjs.org/react-cool-form/-/react-cool-form-0.4.1.tgz", + "integrity": "sha512-V91DC8syv30ecoJGHJGM7DoXNiwwjpqAiZJZUwpf8Knpz84k4VTjc0xaIuy9RlSt7Ir1KyfvAmdFHhGT+FnrrQ==", + "requires": { + "@babel/runtime": "^7.14.8", + "dequal": "^2.0.2" + } + }, "react-dom": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-17.0.2.tgz", + "integrity": "sha512-s4h96KtLDUQlsENhMn1ar8t2bEa+q/YAtj8pPPdIjPDGBDIVNsrD9aXNWqspUe6AzKCIG0C1HZZLqLV7qpOBGA==", "requires": { "loose-envify": "^1.1.0", "object-assign": "^4.1.1", @@ -12340,6 +12552,8 @@ }, "react-helmet": { "version": "6.1.0", + "resolved": "https://registry.npmjs.org/react-helmet/-/react-helmet-6.1.0.tgz", + "integrity": "sha512-4uMzEY9nlDlgxr61NL3XbKRy1hEkXmKNXhjbAIOVw5vcFrsdYbH2FEwcNyWvWinl103nXgzYNlns9ca+8kFiWw==", "requires": { "object-assign": "^4.1.1", "prop-types": "^15.7.2", @@ -12354,6 +12568,8 @@ }, "react-redux": { "version": "7.2.4", + "resolved": "https://registry.npmjs.org/react-redux/-/react-redux-7.2.4.tgz", + "integrity": "sha512-hOQ5eOSkEJEXdpIKbnRyl04LhaWabkDPV+Ix97wqQX3T3d2NQ8DUblNXXtNMavc7DpswyQM6xfaN4HQDKNY2JA==", "requires": { "@babel/runtime": "^7.12.1", "@types/react-redux": "^7.1.16", @@ -12375,10 +12591,46 @@ }, "react-refresh": { "version": "0.10.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.10.0.tgz", + "integrity": "sha512-PgidR3wST3dDYKr6b4pJoqQFpPGNKDSCDx4cZoshjXipw3LzO7mG1My2pwEzz2JVkF+inx3xRpDeQLFQGH/hsQ==", "dev": true }, + "react-router": { + "version": "5.2.1", + "resolved": "https://registry.npmjs.org/react-router/-/react-router-5.2.1.tgz", + "integrity": "sha512-lIboRiOtDLFdg1VTemMwud9vRVuOCZmUIT/7lUoZiSpPODiiH1UQlfXy+vPLC/7IWdFYnhRwAyNqA/+I7wnvKQ==", + "requires": { + "@babel/runtime": "^7.12.13", + "history": "^4.9.0", + "hoist-non-react-statics": "^3.1.0", + "loose-envify": "^1.3.1", + "mini-create-react-context": "^0.4.0", + "path-to-regexp": "^1.7.0", + "prop-types": "^15.6.2", + "react-is": "^16.6.0", + "tiny-invariant": "^1.0.2", + "tiny-warning": "^1.0.0" + }, + "dependencies": { + "isarray": { + "version": "0.0.1", + "resolved": "https://registry.npmjs.org/isarray/-/isarray-0.0.1.tgz", + "integrity": "sha1-ihis/Kmo9Bd+Cav8YDiTmwXR7t8=" + }, + "path-to-regexp": { + "version": "1.8.0", + "resolved": "https://registry.npmjs.org/path-to-regexp/-/path-to-regexp-1.8.0.tgz", + "integrity": "sha512-n43JRhlUKUAlibEJhPeir1ncUID16QnEjNpwzNdO3Lm4ywrBpBZ5oLD0I6br9evr1Y9JTqwRtAh7JLoOzAQdVA==", + "requires": { + "isarray": "0.0.1" + } + } + } + }, "react-router-config": { "version": "5.1.1", + "resolved": "https://registry.npmjs.org/react-router-config/-/react-router-config-5.1.1.tgz", + "integrity": "sha512-DuanZjaD8mQp1ppHjgnnUnyOlqYXZVjnov/JzFhjLEwd3Z4dYjMSnqrEzzGThH47vpCOqPPwJM2FtthLeJ8Pbg==", "requires": { "@babel/runtime": "^7.1.2" }, @@ -12395,6 +12647,8 @@ }, "react-router-dom": { "version": "5.2.0", + "resolved": "https://registry.npmjs.org/react-router-dom/-/react-router-dom-5.2.0.tgz", + "integrity": "sha512-gxAmfylo2QUjcwxI63RhQ5G85Qqt4voZpUXSEqCwykV0baaOTQDR1f0PmY8AELqIyVc0NEZUj0Gov5lNGcXgsA==", "requires": { "@babel/runtime": "^7.1.2", "history": "^4.9.0", @@ -12475,6 +12729,8 @@ }, "react-test-renderer": { "version": "17.0.2", + "resolved": "https://registry.npmjs.org/react-test-renderer/-/react-test-renderer-17.0.2.tgz", + "integrity": "sha512-yaQ9cB89c17PUb0x6UfWRs7kQCorVdHlutU1boVPEsB8IDZH6n9tHxMacc3y0JoXOJUsZb/t/Mb8FUWMKaM7iQ==", "dev": true, "requires": { "object-assign": "^4.1.1", @@ -12556,7 +12812,9 @@ } }, "readline": { - "version": "1.3.0" + "version": "1.3.0", + "resolved": "https://registry.npmjs.org/readline/-/readline-1.3.0.tgz", + "integrity": "sha1-xYDXfvLPyHUrEySYBg3JeTp6wBw=" }, "rechoir": { "version": "0.7.0", @@ -12605,11 +12863,18 @@ }, "redux-mock-store": { "version": "1.5.4", + "resolved": "https://registry.npmjs.org/redux-mock-store/-/redux-mock-store-1.5.4.tgz", + "integrity": "sha512-xmcA0O/tjCLXhh9Fuiq6pMrJCwFRaouA8436zcikdIpYWWCjU76CRk+i2bHx8EeiSiMGnB85/lZdU3wIJVXHTA==", "dev": true, "requires": { "lodash.isplainobject": "^4.0.6" } }, + "redux-thunk": { + "version": "2.3.0", + "resolved": "https://registry.npmjs.org/redux-thunk/-/redux-thunk-2.3.0.tgz", + "integrity": "sha512-km6dclyFnmcvxhAcrQV2AkZmPQjzPDjgVlQtR0EQjxZPyJ0BnMf3in1ryuR8A2qU0HldVRfxYXbFSKlI3N7Slw==" + }, "regenerate": { "version": "1.4.2", "resolved": "https://registry.npmjs.org/regenerate/-/regenerate-1.4.2.tgz", @@ -13116,6 +13381,8 @@ }, "sass-loader": { "version": "12.1.0", + "resolved": "https://registry.npmjs.org/sass-loader/-/sass-loader-12.1.0.tgz", + "integrity": "sha512-FVJZ9kxVRYNZTIe2xhw93n3xJNYZADr+q69/s98l9nTCrWASo+DR2Ot0s5xTKQDDEosUkatsGeHxcH4QBp5bSg==", "dev": true, "requires": { "klona": "^2.0.4", @@ -13273,8 +13540,18 @@ } } }, + "serialize-javascript": { + "version": "6.0.0", + "resolved": "https://registry.npmjs.org/serialize-javascript/-/serialize-javascript-6.0.0.tgz", + "integrity": "sha512-Qr3TosvguFt8ePWqsvRfrKyQXIiW+nGbYpy8XK24NQHE83caxWt+mIymTT19DGFbNWNLfEwsrkSmN64lVWB9ag==", + "requires": { + "randombytes": "^2.1.0" + } + }, "serve-favicon": { "version": "2.5.0", + "resolved": "https://registry.npmjs.org/serve-favicon/-/serve-favicon-2.5.0.tgz", + "integrity": "sha1-k10kDN/g9YBTB/3+ln2IlCosvPA=", "requires": { "etag": "~1.8.1", "fresh": "0.5.2", @@ -13810,6 +14087,8 @@ }, "stylelint": { "version": "13.13.1", + "resolved": "https://registry.npmjs.org/stylelint/-/stylelint-13.13.1.tgz", + "integrity": "sha512-Mv+BQr5XTUrKqAXmpqm6Ddli6Ief+AiPZkRsIrAoUKFuq/ElkUh9ZMYxXD0iQNZ5ADghZKLOWz1h7hTClB7zgQ==", "dev": true, "requires": { "@stylelint/postcss-css-in-js": "^0.37.2", @@ -14026,6 +14305,8 @@ }, "stylelint-config-prettier": { "version": "8.0.2", + "resolved": "https://registry.npmjs.org/stylelint-config-prettier/-/stylelint-config-prettier-8.0.2.tgz", + "integrity": "sha512-TN1l93iVTXpF9NJstlvP7nOu9zY2k+mN0NSFQ/VEGz15ZIP9ohdDZTtCWHs5LjctAhSAzaILULGbgiM0ItId3A==", "dev": true }, "stylelint-config-recommended": { @@ -14036,6 +14317,8 @@ }, "stylelint-config-sass-guidelines": { "version": "8.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-sass-guidelines/-/stylelint-config-sass-guidelines-8.0.0.tgz", + "integrity": "sha512-v21iDWtzpfhuKJlYKpoE1vjp+GT8Cr6ZBWwMx/jf+eCEblZgAIDVVjgAELoDLhVj17DcEFwlIKJBMfrdAmXg0Q==", "dev": true, "requires": { "stylelint-order": "^4.0.0", @@ -14044,6 +14327,8 @@ }, "stylelint-config-standard": { "version": "22.0.0", + "resolved": "https://registry.npmjs.org/stylelint-config-standard/-/stylelint-config-standard-22.0.0.tgz", + "integrity": "sha512-uQVNi87SHjqTm8+4NIP5NMAyY/arXrBgimaaT7skvRfE9u3JKXRK9KBkbr4pVmeciuCcs64kAdjlxfq6Rur7Hw==", "dev": true, "requires": { "stylelint-config-recommended": "^5.0.0" @@ -14124,7 +14409,6 @@ "version": "7.2.0", "resolved": "https://registry.npmjs.org/supports-color/-/supports-color-7.2.0.tgz", "integrity": "sha512-qpCAvRl9stuOHveKsn7HncJRvv501qIacKzQlO/+Lwxc9+0q2wLyv4Dfvt80/DPn2pqOBsJdDiogXGR9+OvwRw==", - "dev": true, "requires": { "has-flag": "^4.0.0" } @@ -14495,6 +14779,8 @@ }, "ts-jest": { "version": "27.0.3", + "resolved": "https://registry.npmjs.org/ts-jest/-/ts-jest-27.0.3.tgz", + "integrity": "sha512-U5rdMjnYam9Ucw+h0QvtNDbc5+88nxt7tbIvqaZUhFrfG4+SkWhMXjejCLVGcpILTPuV+H3W/GZDZrnZFpPeXw==", "dev": true, "requires": { "bs-logger": "0.x", @@ -14528,6 +14814,8 @@ }, "ts-node": { "version": "10.0.0", + "resolved": "https://registry.npmjs.org/ts-node/-/ts-node-10.0.0.tgz", + "integrity": "sha512-ROWeOIUvfFbPZkoDis0L/55Fk+6gFQNZwwKPLinacRl6tsxstTF1DbAcLKkovwnpKMVvOMHP1TIbnwXwtLg1gg==", "dev": true, "requires": { "@tsconfig/node10": "^1.0.7", @@ -14624,6 +14912,8 @@ }, "typescript": { "version": "4.3.5", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-4.3.5.tgz", + "integrity": "sha512-DqQgihaQ9cUrskJo9kIyW/+g0Vxsk8cDtZ52a3NGh0YNTfpUSArXSohyUGnvbPazEPLu398C0UxmKSOrPumUzA==", "dev": true }, "uglify-js": { @@ -15046,6 +15336,8 @@ }, "webpack-bundle-analyzer": { "version": "4.4.2", + "resolved": "https://registry.npmjs.org/webpack-bundle-analyzer/-/webpack-bundle-analyzer-4.4.2.tgz", + "integrity": "sha512-PIagMYhlEzFfhMYOzs5gFT55DkUdkyrJi/SxJp8EF3YMWhS+T9vvs2EoTetpk5qb6VsCq02eXTlRDOydRhDFAQ==", "dev": true, "requires": { "acorn": "^8.0.4", @@ -15091,6 +15383,8 @@ }, "webpack-cli": { "version": "4.7.2", + "resolved": "https://registry.npmjs.org/webpack-cli/-/webpack-cli-4.7.2.tgz", + "integrity": "sha512-mEoLmnmOIZQNiRl0ebnjzQ74Hk0iKS5SiEEnpq3dRezoyR3yPaeQZCMCe+db4524pj1Pd5ghZXjT41KLzIhSLw==", "dev": true, "requires": { "@discoveryjs/json-ext": "^0.5.0", @@ -15118,6 +15412,8 @@ }, "webpack-dev-middleware": { "version": "5.0.0", + "resolved": "https://registry.npmjs.org/webpack-dev-middleware/-/webpack-dev-middleware-5.0.0.tgz", + "integrity": "sha512-9zng2Z60pm6A98YoRcA0wSxw1EYn7B7y5owX/Tckyt9KGyULTkLtiavjaXlWqOMkM0YtqGgL3PvMOFgyFLq8vw==", "dev": true, "requires": { "colorette": "^1.2.2", @@ -15130,6 +15426,8 @@ }, "webpack-hot-middleware": { "version": "2.25.0", + "resolved": "https://registry.npmjs.org/webpack-hot-middleware/-/webpack-hot-middleware-2.25.0.tgz", + "integrity": "sha512-xs5dPOrGPCzuRXNi8F6rwhawWvQQkeli5Ro48PRuQh8pYPCPmNnltP9itiUPT4xI8oW+y0m59lyyeQk54s5VgA==", "dev": true, "requires": { "ansi-html": "0.0.7", @@ -15157,6 +15455,8 @@ }, "webpack-manifest-plugin": { "version": "3.1.1", + "resolved": "https://registry.npmjs.org/webpack-manifest-plugin/-/webpack-manifest-plugin-3.1.1.tgz", + "integrity": "sha512-r3vL8BBNVtyeNbaFwDQoOWqBd0Gp/Tbzo8Q3YGZDV+IG77gsB9VZry5XKKbfFNFHSmwW+f1z4/w2XPt6wBZJYg==", "dev": true, "requires": { "tapable": "^2.0.0", @@ -15175,6 +15475,8 @@ }, "webpack-node-externals": { "version": "3.0.0", + "resolved": "https://registry.npmjs.org/webpack-node-externals/-/webpack-node-externals-3.0.0.tgz", + "integrity": "sha512-LnL6Z3GGDPht/AigwRh2dvL9PQPFQ8skEpVrWZXLWBYmqcaojHNN0onvHzie6rq7EWKrrBfPYqNEzTJgiwEQDQ==", "dev": true }, "webpack-sources": { diff --git a/report.20211018.023009.54396.0.001.json b/report.20211018.023009.54396.0.001.json new file mode 100644 index 0000000..9ebc792 --- /dev/null +++ b/report.20211018.023009.54396.0.001.json @@ -0,0 +1,639 @@ +{ + "header": { + "reportVersion": 1, + "event": "Allocation failed - JavaScript heap out of memory", + "trigger": "FatalError", + "filename": "report.20211018.023009.54396.0.001.json", + "dumpEventTime": "2021-10-18T02:30:09Z", + "dumpEventTimeStamp": "1634517009439", + "processId": 54396, + "cwd": "/home/pikiou/forceoranj", + "commandLine": [ + "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "--max-old-space-size=2048", + "/home/pikiou/forceoranj/node_modules/fork-ts-checker-webpack-plugin/lib/eslint-reporter/reporter/EsLintReporterRpcService.js" + ], + "nodejsVersion": "v12.13.1", + "glibcVersionRuntime": "2.31", + "glibcVersionCompiler": "2.17", + "wordSize": 64, + "arch": "x64", + "platform": "linux", + "componentVersions": { + "node": "12.13.1", + "v8": "7.7.299.13-node.16", + "uv": "1.33.1", + "zlib": "1.2.11", + "brotli": "1.0.7", + "ares": "1.15.0", + "modules": "72", + "nghttp2": "1.39.2", + "napi": "5", + "llhttp": "1.1.4", + "http_parser": "2.8.0", + "openssl": "1.1.1d", + "cldr": "35.1", + "icu": "64.2", + "tz": "2019c", + "unicode": "12.1" + }, + "release": { + "name": "node", + "lts": "Erbium", + "headersUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1-headers.tar.gz", + "sourceUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz" + }, + "osName": "Linux", + "osRelease": "5.9.0-050900-generic", + "osVersion": "#202010112230 SMP Sun Oct 11 22:34:01 UTC 2020", + "osMachine": "x86_64", + "cpus": [ + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2846, + "user": 19236400, + "nice": 55000, + "sys": 5301200, + "idle": 198669200, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2829, + "user": 19882600, + "nice": 47000, + "sys": 5584600, + "idle": 193235400, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2830, + "user": 20391400, + "nice": 54900, + "sys": 5394100, + "idle": 193552900, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2831, + "user": 20095400, + "nice": 101300, + "sys": 5566400, + "idle": 193778600, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2828, + "user": 19698700, + "nice": 80600, + "sys": 5113400, + "idle": 191051400, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2814, + "user": 19396200, + "nice": 83200, + "sys": 6066300, + "idle": 192610500, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2821, + "user": 19198800, + "nice": 37400, + "sys": 5663000, + "idle": 191755500, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2843, + "user": 19586600, + "nice": 44900, + "sys": 6162900, + "idle": 192789200, + "irq": 0 + } + ], + "networkInterfaces": [ + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "127.0.0.1", + "netmask": "255.0.0.0", + "family": "IPv4" + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "192.168.1.69", + "netmask": "255.255.255.0", + "family": "IPv4" + }, + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "::1", + "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "fe80::d2dc:d4d3:6052:4640", + "netmask": "ffff:ffff:ffff:ffff::", + "family": "IPv6", + "scopeid": 3 + } + ], + "host": "pikiou" + }, + "javascriptStack": { + "message": "No stack.", + "stack": ["Unavailable."] + }, + "nativeStack": [ + { + "pc": "0x0000000000b04935", + "symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x00000000009db9e3", + "symbol": "node::OnFatalError(char const*, char const*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b39f1e", + "symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b3a299", + "symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5635", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5cc6", + "symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf1b5a", + "symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf2a65", + "symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf5478", + "symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cbbda7", + "symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ff1f69", + "symbol": "v8::internal::Runtime_AllocateInOldGeneration(int, unsigned long*, v8::internal::Isolate*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000001374fd9", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + } + ], + "javascriptHeap": { + "totalMemory": 2153398272, + "totalCommittedMemory": 2150960248, + "usedMemory": 2145931976, + "availableMemory": 47245672, + "memoryLimit": 2197815296, + "heapSpaces": { + "read_only_space": { + "memorySize": 262144, + "committedMemory": 32568, + "capacity": 261872, + "used": 32296, + "available": 229576 + }, + "new_space": { + "memorySize": 2097152, + "committedMemory": 391840, + "capacity": 1047488, + "used": 113600, + "available": 933888 + }, + "old_space": { + "memorySize": 1936830464, + "committedMemory": 1936503408, + "capacity": 1933819760, + "used": 1933202064, + "available": 617696 + }, + "code_space": { + "memorySize": 1212416, + "committedMemory": 1078432, + "capacity": 890272, + "used": 890272, + "available": 0 + }, + "map_space": { + "memorySize": 2887680, + "committedMemory": 2845584, + "capacity": 1706160, + "used": 1706160, + "available": 0 + }, + "large_object_space": { + "memorySize": 209485824, + "committedMemory": 209485824, + "capacity": 209436928, + "used": 209436928, + "available": 0 + }, + "code_large_object_space": { + "memorySize": 622592, + "committedMemory": 622592, + "capacity": 550656, + "used": 550656, + "available": 0 + }, + "new_large_object_space": { + "memorySize": 0, + "committedMemory": 0, + "capacity": 1047488, + "used": 0, + "available": 1047488 + } + } + }, + "resourceUsage": { + "userCpuSeconds": 150.149, + "kernelCpuSeconds": 5.78535, + "cpuConsumptionPercent": 3.00162, + "maxRss": 2267271168, + "pageFaults": { + "IORequired": 18398, + "IONotRequired": 716678 + }, + "fsActivity": { + "reads": 1872512, + "writes": 16 + } + }, + "uvthreadResourceUsage": { + "userCpuSeconds": 50.5906, + "kernelCpuSeconds": 3.82026, + "cpuConsumptionPercent": 1.04737, + "fsActivity": { + "reads": 1382592, + "writes": 16 + } + }, + "libuv": [], + "environmentVariables": { + "GJS_DEBUG_TOPICS": "JS ERROR;JS LOG", + "LESSOPEN": "| /usr/bin/lesspipe %s", + "npm_package_devDependencies_webpack_hot_middleware": "^2.25.0", + "npm_package_devDependencies_ts_node": "^10.0.0", + "npm_package_devDependencies_identity_obj_proxy": "^3.0.0", + "npm_package_devDependencies__types_compression": "^1.7.1", + "npm_package_dependencies_serve_favicon": "^2.5.0", + "npm_package_dependencies__reduxjs_toolkit": "^1.6.0", + "npm_package_dependencies__babel_runtime": "^7.14.6", + "npm_package_scripts_analyze_server": "cross-env NODE_ENV=analyze webpack --config ./webpack/server.config.ts", + "npm_package_devDependencies_stylelint_config_prettier": "^8.0.2", + "npm_package_devDependencies_react_refresh": "^0.10.0", + "npm_package_devDependencies__types_react_router_dom": "^5.1.7", + "npm_package_dependencies_fs": "^0.0.1-security", + "USER": "pikiou", + "LC_TIME": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack_cli": "^4.7.2", + "npm_package_devDependencies_webpack_bundle_analyzer": "^4.4.2", + "npm_package_devDependencies_redux_mock_store": "^1.5.4", + "npm_package_devDependencies_jest": "^27.0.6", + "npm_package_devDependencies_image_minimizer_webpack_plugin": "^2.2.0", + "npm_package_devDependencies__testing_library_jest_dom": "^5.14.1", + "npm_package_dependencies_autoprefixer": "^10.2.6", + "npm_config_version_commit_hooks": "true", + "npm_config_user_agent": "yarn/1.22.15 npm/? node/v12.13.1 linux x64", + "COMP_WORDBREAKS": " \t\n\"'><;|&(:", + "npm_package_devDependencies__types_loadable__server": "^5.12.6", + "npm_package_bugs_url": "https://github.com/forceoranj/intranet/issues", + "npm_config_bin_links": "true", + "XDG_SESSION_TYPE": "wayland", + "npm_node_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "npm_package_devDependencies_nodemon": "^2.0.9", + "npm_package_devDependencies_compression_webpack_plugin": "^8.0.1", + "npm_package_devDependencies__types_serialize_javascript": "^5.0.1", + "npm_package_devDependencies__types_loadable__webpack_plugin": "^5.7.3", + "npm_config_init_version": "1.0.0", + "SHLVL": "1", + "npm_package_devDependencies_source_map_support": "^0.5.19", + "npm_package_devDependencies_eslint_import_resolver_typescript": "^2.4.0", + "npm_package_devDependencies__types_express": "^4.17.13", + "HOME": "/home/pikiou", + "CONDA_SHLVL": "0", + "OLDPWD": "/home/pikiou", + "npm_package_devDependencies_eslint_plugin_jest_dom": "^3.9.0", + "npm_package_devDependencies__typescript_eslint_parser": "^4.28.2", + "npm_package_scripts_build_server": "cross-env NODE_ENV=production webpack --config ./webpack/server.config.ts", + "DESKTOP_SESSION": "gnome", + "NVM_NODEJS_ORG_MIRROR": "https://nodejs.org/dist", + "NVM_BIN": "/home/pikiou/.nvm/versions/node/v12.13.1/bin", + "npm_package_devDependencies_eslint_config_prettier": "^8.3.0", + "npm_package_devDependencies__types_loadable__component": "^5.13.4", + "npm_package_devDependencies_webpack_manifest_plugin": "^3.1.1", + "npm_package_engines_node": ">=12", + "npm_config_init_license": "MIT", + "GTK_MODULES": "gail:atk-bridge", + "YARN_WRAP_OUTPUT": "false", + "npm_package_devDependencies_terser_webpack_plugin": "^5.1.4", + "npm_package_devDependencies_imagemin_svgo": "^9.0.0", + "npm_config_version_tag_prefix": "v", + "LC_MONETARY": "fr_FR.UTF-8", + "MANAGERPID": "3096", + "npm_package_devDependencies_stylelint_config_standard": "^22.0.0", + "npm_package_devDependencies_imagemin_gifsicle": "^7.0.0", + "npm_package_dependencies_redux_thunk": "^2.3.0", + "npm_package_dependencies_react_router_config": "^5.1.1", + "npm_package_scripts_lint_style": "stylelint --fix \"**/*.{css,ts,tsx}\"", + "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", + "npm_package_devDependencies_husky": "^7.0.1", + "npm_package_devDependencies_eslint_plugin_react_hooks": "^4", + "npm_package_devDependencies_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_devDependencies__types_mini_css_extract_plugin": "^2.0.1", + "npm_package_dependencies_compression": "^1.7.4", + "npm_package_keywords_0": "starter", + "COLORTERM": "truecolor", + "_CE_M": "", + "npm_package_devDependencies_typescript": "^4.3.5", + "npm_package_devDependencies_babel_loader": "^8.2.2", + "npm_package_dependencies_react_router_dom": "^5.2.0", + "npm_package_keywords_1": "boilerplate", + "npm_package_description": "A starter boilerplate for a universal web application with the best development experience and best practices.", + "NVM_PATH": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node", + "NVM_DIR": "/home/pikiou/.nvm", + "npm_package_readmeFilename": "README.md", + "npm_package_devDependencies__types_react_dom": "^17.0.8", + "npm_package_devDependencies__pmmmwh_react_refresh_webpack_plugin": "^0.4.3", + "npm_package_devDependencies__babel_preset_env": "^7.14.7", + "npm_package_scripts_dev_build": "cross-env NODE_ENV=development webpack --config ./webpack/server.config.ts", + "npm_package_keywords_2": "universal", + "npm_package_homepage": "https://github.com/forceoranj/intranet", + "QT_QPA_PLATFORMTHEME": "appmenu-qt5", + "IM_CONFIG_PHASE": "1", + "WAYLAND_DISPLAY": "wayland-0", + "npm_package_devDependencies_prettier": "^2.3.2", + "npm_package_devDependencies__babel_plugin_transform_runtime": "^7.14.5", + "npm_package_dependencies__loadable_server": "^5.15.0", + "npm_package_scripts_dev": "yarn dev:build && nodemon ./public/server", + "npm_package_keywords_3": "react", + "LOGNAME": "pikiou", + "npm_package_devDependencies_eslint_plugin_import": "^2.22.1", + "npm_package_devDependencies__babel_preset_typescript": "^7.14.5", + "npm_package_dependencies_serialize_javascript": "^6.0.0", + "npm_package_dependencies_normalize_css": "^8.0.1", + "npm_package_dependencies_connected_react_router": "^6.9.1", + "npm_package_scripts_analyze_client": "cross-env NODE_ENV=analyze webpack --config ./webpack/client.config.ts", + "npm_package_keywords_4": "react-hooks", + "JOURNAL_STREAM": "8:38694", + "_": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/yarn", + "npm_package_devDependencies_ts_jest": "^27.0.3", + "npm_package_devDependencies_node_sass": "^6.0.1", + "npm_package_devDependencies__types_webpack_bundle_analyzer": "^4.4.1", + "npm_package_devDependencies__types_redux_mock_store": "^1.0.2", + "npm_package_devDependencies__types_jest": "^26.0.24", + "npm_package_devDependencies__babel_preset_react": "^7.14.5", + "npm_package_dependencies_express": "^4.17.1", + "npm_package_scripts_lint_type": "tsc", + "npm_package_scripts_lint_code": "eslint --fix . --ext .js,.jsx,.ts,.tsx", + "npm_package_keywords_5": "redux", + "npm_package_private": "true", + "XDG_SESSION_CLASS": "user", + "npm_package_devDependencies__typescript_eslint_eslint_plugin": "^4.28.2", + "npm_package_scripts_prepare": "husky install", + "npm_package_scripts_lint": "run-s lint:*", + "npm_package_keywords_6": "redux-toolkit", + "npm_config_registry": "https://registry.yarnpkg.com", + "USERNAME": "pikiou", + "TERM": "xterm-256color", + "npm_package_devDependencies_stylelint": "^13.13.1", + "npm_package_devDependencies__types_lodash": "^4.14.175", + "npm_package_devDependencies__types_compression_webpack_plugin": "^6.0.6", + "npm_package_devDependencies__babel_core": "^7.14.6", + "npm_package_dependencies_core_js": "^3.15.2", + "npm_package_dependencies__loadable_component": "^5.15.0", + "npm_package_keywords_7": "react-router", + "GNOME_DESKTOP_SESSION_ID": "this-is-deprecated", + "_CE_CONDA": "", + "npm_package_devDependencies_webpack_node_externals": "^3.0.0", + "npm_package_devDependencies_imagemin_optipng": "^8.0.0", + "npm_package_scripts_start": "node ./public/server", + "npm_package_keywords_8": "express", + "npm_config_ignore_scripts": "", + "npm_package_devDependencies_postcss_loader": "^6.1.1", + "npm_package_devDependencies_eslint_plugin_jest": "^24.3.6", + "npm_package_devDependencies__types_react_helmet": "^6.1.1", + "npm_package_dependencies_axios": "^0.21.1", + "npm_package_scripts_test_cov": "yarn test --coverage", + "npm_package_scripts_lint_format": "prettier -w . -u --loglevel silent", + "npm_package_author_email": "forceoranj@gmail.com", + "npm_package_keywords_9": "webpack", + "PATH": "/tmp/yarn--1634511783311-0.4226621447627794:/home/pikiou/forceoranj/node_modules/.bin:/home/pikiou/.config/yarn/link/node_modules/.bin:/home/pikiou/.nvm/versions/node/v12.13.1/libexec/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/bin/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.local/bin:/home/pikiou/miniconda3/condabin:/home/pikiou/.nvm/versions/node/v12.13.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle:/snap/bin:/home/pikiou/Android/Sdk/platform-tools:/home/pikiou/depot_tools:/home/pikiou/depot_tools", + "NODE": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "SESSION_MANAGER": "local/pikiou:@/tmp/.ICE-unix/3357,unix/pikiou:/tmp/.ICE-unix/3357", + "NVM_IOJS_ORG_MIRROR": "https://iojs.org/dist", + "INVOCATION_ID": "5f505b5c98a14ec0aabbd0ae819a3ffe", + "npm_package_dependencies_cross_env": "^7.0.3", + "npm_package_scripts_build_client": "cross-env NODE_ENV=production webpack --config ./webpack/client.config.ts", + "npm_package_keywords_10": "es6+", + "npm_package_repository_type": "git", + "npm_package_name": "intranet", + "XDG_MENU_PREFIX": "gnome-", + "LC_ADDRESS": "fr_FR.UTF-8", + "GNOME_TERMINAL_SCREEN": "/org/gnome/Terminal/screen/6e66cefe_f79c_480a_93e4_352931c60526", + "GNOME_SETUP_DISPLAY": ":1", + "XDG_RUNTIME_DIR": "/run/user/1000", + "npm_package_devDependencies_stylelint_config_sass_guidelines": "^8.0.0", + "npm_package_devDependencies_eslint_plugin_jsx_a11y": "^6.4.1", + "npm_package_devDependencies__types_webpack_manifest_plugin": "^3.0.5", + "npm_package_dependencies_react_redux": "^7.2.4", + "npm_package_lint_staged____js_jsx_ts_tsx_": "eslint --fix", + "npm_package_keywords_20": "best-practices", + "npm_package_keywords_11": "typescript", + "DISPLAY": ":0", + "npm_package_devDependencies_webpack_merge": "^5.8.0", + "npm_package_devDependencies_eslint_config_airbnb": "^18.2.1", + "npm_package_devDependencies__types_terser_webpack_plugin": "^5.0.4", + "npm_package_devDependencies__types_hpp": "^0.2.1", + "npm_package_scripts_test_update": "yarn test -u", + "npm_package_keywords_21": "eslint", + "npm_package_keywords_12": "code-splitting", + "LANG": "en_US.UTF-8", + "XDG_CURRENT_DESKTOP": "GNOME", + "LC_TELEPHONE": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack": "^5.43.0", + "npm_package_devDependencies_react_test_renderer": "^17.0.2", + "npm_package_devDependencies_eslint": "^7.14.0", + "npm_package_dependencies_react_dom": "^17.0.2", + "npm_package_dependencies_history": "^4.10.1", + "npm_package_keywords_22": "stylelint", + "npm_package_keywords_13": "react-refresh", + "XMODIFIERS": "@im=ibus", + "XDG_SESSION_DESKTOP": "gnome", + "XAUTHORITY": "/run/user/1000/.mutter-Xwaylandauth.73MHB1", + "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", + "GNOME_TERMINAL_SERVICE": ":1.403", + "npm_lifecycle_script": "yarn dev:build && nodemon ./public/server", + "npm_package_devDependencies__types_html_minifier": "^4.0.1", + "npm_package_devDependencies__types_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_browserslist_0": "> 1%", + "npm_package_keywords_23": "prettier", + "npm_package_keywords_14": "babel", + "SSH_AGENT_LAUNCHER": "gnome-keyring", + "SSH_AUTH_SOCK": "/run/user/1000/keyring/ssh", + "CONDA_PYTHON_EXE": "/home/pikiou/miniconda3/bin/python", + "npm_package_dependencies_react_router": "^5.2.0", + "npm_package_dependencies_chalk": "^4.1.1", + "npm_package_browserslist_1": "last 2 versions", + "npm_package_scripts_test": "cross-env NODE_ENV=test jest --config ./jest/config.js", + "npm_package_keywords_15": "postcss", + "npm_config_version_git_message": "v%s", + "SHELL": "/bin/bash", + "LC_NAME": "fr_FR.UTF-8", + "npm_lifecycle_event": "dev", + "npm_package_devDependencies_webpack_dev_middleware": "^5.0.0", + "npm_package_devDependencies__types_morgan": "^1.9.3", + "npm_package_devDependencies__testing_library_react": "^12.0.0", + "npm_package_keywords_16": "jest", + "npm_package_repository_url": "https://github.com/forceoranj/intranet", + "npm_package_version": "2.0.0", + "QT_ACCESSIBILITY": "1", + "GDMSESSION": "gnome", + "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"dev\"],\"original\":[\"dev\"]}", + "npm_package_devDependencies_lint_staged": "^11.0.0", + "npm_package_devDependencies__types_serve_favicon": "^2.5.3", + "npm_package_scripts_build": "run-s build:*", + "npm_package_keywords_17": "unit-testing", + "LESSCLOSE": "/usr/bin/lesspipe %s %s", + "npm_package_devDependencies_stylelint_order": "^4.1.0", + "npm_package_devDependencies__loadable_webpack_plugin": "^5.15.0", + "npm_package_dependencies_lodash": "^4.17.21", + "npm_package_keywords_18": "react-testing-library", + "LC_MEASUREMENT": "fr_FR.UTF-8", + "npm_package_devDependencies_sass_loader": "^12.1.0", + "npm_package_devDependencies_eslint_plugin_testing_library": "^4.9.0", + "npm_package_keywords_19": "performance-optimization", + "npm_config_version_git_tag": "true", + "npm_config_version_git_sign": "", + "GJS_DEBUG_OUTPUT": "stderr", + "LC_IDENTIFICATION": "fr_FR.UTF-8", + "npm_package_devDependencies_imagemin_jpegtran": "^7.0.0", + "npm_package_devDependencies_fork_ts_checker_webpack_plugin": "^6.2.12", + "npm_package_devDependencies_eslint_plugin_react": "^7.23.2", + "npm_package_dependencies_react_helmet": "^6.1.0", + "npm_package_dependencies_googleapis": "^88.2.0", + "npm_package_license": "MIT", + "npm_config_strict_ssl": "true", + "QT_IM_MODULE": "ibus", + "npm_package_devDependencies__loadable_babel_plugin": "^5.13.2", + "npm_package_scripts_test_watch": "yarn test --watch", + "PWD": "/home/pikiou/forceoranj", + "npm_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/yarn/bin/yarn.js", + "npm_package_devDependencies__types_webpack_node_externals": "^2.5.2", + "npm_package_dependencies_helmet": "^4.6.0", + "XDG_CONFIG_DIRS": "/etc/xdg/xdg-gnome:/etc/xdg", + "CONDA_EXE": "/home/pikiou/miniconda3/bin/conda", + "ANDROID_HOME": "/home/pikiou/Android/Sdk", + "NVM_CD_FLAGS": "", + "XDG_DATA_DIRS": "/home/pikiou/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop", + "npm_package_devDependencies_css_loader": "^5.2.6", + "npm_package_dependencies_hpp": "^0.2.3", + "npm_package_engines_npm": ">=6", + "npm_package_author_url": "https://github.com/forceoranj", + "npm_package_author_name": "Paris est Ludique", + "LC_NUMERIC": "fr_FR.UTF-8", + "npm_package_devDependencies_postcss": "^8.3.5", + "npm_package_dependencies_readline": "^1.3.0", + "npm_package_dependencies_https": "^1.0.0", + "npm_config_save_prefix": "^", + "npm_config_ignore_optional": "", + "LC_PAPER": "fr_FR.UTF-8", + "npm_package_devDependencies_mini_css_extract_plugin": "^2.1.0", + "npm_package_dependencies_html_minifier": "^4.0.0", + "npm_package_lint_staged_____": "prettier -w -u", + "npm_package_lint_staged____css_sass_ts_tsx_": "stylelint --fix", + "MANPATH": "/home/pikiou/.nvm/versions/node/v12.13.1/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man:/home/pikiou/depot_tools/man", + "VTE_VERSION": "6003", + "npm_package_devDependencies_npm_run_all": "^4.1.5", + "INIT_CWD": "/home/pikiou/forceoranj", + "npm_package_devDependencies__types_react_test_renderer": "^17.0.1", + "npm_package_devDependencies__types_react_router_config": "^5.0.2", + "npm_package_dependencies_react": "^17.0.2", + "npm_package_dependencies_morgan": "^1.10.0" + }, + "userLimits": { + "core_file_size_blocks": { + "soft": 0, + "hard": "unlimited" + }, + "data_seg_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "file_size_blocks": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_locked_memory_bytes": { + "soft": 67108864, + "hard": 67108864 + }, + "max_memory_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "open_files": { + "soft": 1048576, + "hard": 1048576 + }, + "stack_size_bytes": { + "soft": 8388608, + "hard": "unlimited" + }, + "cpu_time_seconds": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_user_processes": { + "soft": 29308, + "hard": 29308 + }, + "virtual_memory_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + } + }, + "sharedObjects": [ + "linux-vdso.so.1", + "/lib/x86_64-linux-gnu/libdl.so.2", + "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", + "/lib/x86_64-linux-gnu/libm.so.6", + "/lib/x86_64-linux-gnu/libgcc_s.so.1", + "/lib/x86_64-linux-gnu/libpthread.so.0", + "/lib/x86_64-linux-gnu/libc.so.6", + "/lib64/ld-linux-x86-64.so.2" + ] +} diff --git a/report.20211018.100025.89569.0.001.json b/report.20211018.100025.89569.0.001.json new file mode 100644 index 0000000..c3fdcf4 --- /dev/null +++ b/report.20211018.100025.89569.0.001.json @@ -0,0 +1,641 @@ +{ + "header": { + "reportVersion": 1, + "event": "Allocation failed - JavaScript heap out of memory", + "trigger": "FatalError", + "filename": "report.20211018.100025.89569.0.001.json", + "dumpEventTime": "2021-10-18T10:00:25Z", + "dumpEventTimeStamp": "1634544025367", + "processId": 89569, + "cwd": "/home/pikiou/forceoranj", + "commandLine": [ + "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "--max-old-space-size=2048", + "/home/pikiou/forceoranj/node_modules/fork-ts-checker-webpack-plugin/lib/eslint-reporter/reporter/EsLintReporterRpcService.js" + ], + "nodejsVersion": "v12.13.1", + "glibcVersionRuntime": "2.31", + "glibcVersionCompiler": "2.17", + "wordSize": 64, + "arch": "x64", + "platform": "linux", + "componentVersions": { + "node": "12.13.1", + "v8": "7.7.299.13-node.16", + "uv": "1.33.1", + "zlib": "1.2.11", + "brotli": "1.0.7", + "ares": "1.15.0", + "modules": "72", + "nghttp2": "1.39.2", + "napi": "5", + "llhttp": "1.1.4", + "http_parser": "2.8.0", + "openssl": "1.1.1d", + "cldr": "35.1", + "icu": "64.2", + "tz": "2019c", + "unicode": "12.1" + }, + "release": { + "name": "node", + "lts": "Erbium", + "headersUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1-headers.tar.gz", + "sourceUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz" + }, + "osName": "Linux", + "osRelease": "5.9.0-050900-generic", + "osVersion": "#202010112230 SMP Sun Oct 11 22:34:01 UTC 2020", + "osMachine": "x86_64", + "cpus": [ + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2550, + "user": 30482600, + "nice": 60000, + "sys": 5951400, + "idle": 243047400, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2470, + "user": 31999700, + "nice": 66900, + "sys": 6261100, + "idle": 31176900, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2597, + "user": 32154600, + "nice": 75600, + "sys": 6048400, + "idle": 30359500, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2550, + "user": 35330900, + "nice": 107600, + "sys": 6183400, + "idle": 28779100, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2519, + "user": 25022300, + "nice": 112000, + "sys": 5867800, + "idle": 33931000, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2587, + "user": 24602600, + "nice": 111500, + "sys": 6962100, + "idle": 34094100, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2471, + "user": 23670700, + "nice": 79100, + "sys": 6475600, + "idle": 34434100, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 2563, + "user": 24942200, + "nice": 57000, + "sys": 6918800, + "idle": 34309900, + "irq": 0 + } + ], + "networkInterfaces": [ + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "127.0.0.1", + "netmask": "255.0.0.0", + "family": "IPv4" + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "192.168.1.69", + "netmask": "255.255.255.0", + "family": "IPv4" + }, + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "::1", + "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "fe80::d2dc:d4d3:6052:4640", + "netmask": "ffff:ffff:ffff:ffff::", + "family": "IPv6", + "scopeid": 3 + } + ], + "host": "pikiou" + }, + "javascriptStack": { + "message": "No stack.", + "stack": ["Unavailable."] + }, + "nativeStack": [ + { + "pc": "0x0000000000b04935", + "symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x00000000009db9e3", + "symbol": "node::OnFatalError(char const*, char const*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b39f1e", + "symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b3a299", + "symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5635", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5cc6", + "symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf1b5a", + "symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf2a65", + "symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf5478", + "symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cbbda7", + "symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ff1f69", + "symbol": "v8::internal::Runtime_AllocateInOldGeneration(int, unsigned long*, v8::internal::Isolate*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000001374fd9", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + } + ], + "javascriptHeap": { + "totalMemory": 2152873984, + "totalCommittedMemory": 2150185184, + "usedMemory": 2145042064, + "availableMemory": 47900368, + "memoryLimit": 2197815296, + "heapSpaces": { + "read_only_space": { + "memorySize": 262144, + "committedMemory": 32568, + "capacity": 261872, + "used": 32296, + "available": 229576 + }, + "new_space": { + "memorySize": 2097152, + "committedMemory": 181720, + "capacity": 1047488, + "used": 60736, + "available": 986752 + }, + "old_space": { + "memorySize": 1936568320, + "committedMemory": 1936160272, + "capacity": 1933079808, + "used": 1932384568, + "available": 695240 + }, + "code_space": { + "memorySize": 950272, + "committedMemory": 919264, + "capacity": 868928, + "used": 868928, + "available": 0 + }, + "map_space": { + "memorySize": 2887680, + "committedMemory": 2782944, + "capacity": 1707840, + "used": 1707840, + "available": 0 + }, + "large_object_space": { + "memorySize": 209485824, + "committedMemory": 209485824, + "capacity": 209437040, + "used": 209437040, + "available": 0 + }, + "code_large_object_space": { + "memorySize": 622592, + "committedMemory": 622592, + "capacity": 550656, + "used": 550656, + "available": 0 + }, + "new_large_object_space": { + "memorySize": 0, + "committedMemory": 0, + "capacity": 1047488, + "used": 0, + "available": 1047488 + } + } + }, + "resourceUsage": { + "userCpuSeconds": 112.993, + "kernelCpuSeconds": 2.28632, + "cpuConsumptionPercent": 83.5356, + "maxRss": 2300715008, + "pageFaults": { + "IORequired": 98, + "IONotRequired": 682652 + }, + "fsActivity": { + "reads": 63120, + "writes": 16 + } + }, + "uvthreadResourceUsage": { + "userCpuSeconds": 49.8161, + "kernelCpuSeconds": 1.51771, + "cpuConsumptionPercent": 37.1984, + "fsActivity": { + "reads": 62728, + "writes": 16 + } + }, + "libuv": [], + "environmentVariables": { + "GJS_DEBUG_TOPICS": "JS ERROR;JS LOG", + "LESSOPEN": "| /usr/bin/lesspipe %s", + "npm_package_devDependencies_webpack_hot_middleware": "^2.25.0", + "npm_package_devDependencies_ts_node": "^10.0.0", + "npm_package_devDependencies_identity_obj_proxy": "^3.0.0", + "npm_package_devDependencies__types_compression": "^1.7.1", + "npm_package_dependencies_serve_favicon": "^2.5.0", + "npm_package_dependencies__reduxjs_toolkit": "^1.6.0", + "npm_package_dependencies__babel_runtime": "^7.14.6", + "npm_package_scripts_analyze_server": "cross-env NODE_ENV=analyze webpack --config ./webpack/server.config.ts", + "npm_package_devDependencies_stylelint_config_prettier": "^8.0.2", + "npm_package_devDependencies_react_refresh": "^0.10.0", + "npm_package_devDependencies__types_react_router_dom": "^5.1.7", + "npm_package_dependencies_fs": "^0.0.1-security", + "USER": "pikiou", + "LC_TIME": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack_cli": "^4.7.2", + "npm_package_devDependencies_webpack_bundle_analyzer": "^4.4.2", + "npm_package_devDependencies_redux_mock_store": "^1.5.4", + "npm_package_devDependencies_jest": "^27.0.6", + "npm_package_devDependencies_image_minimizer_webpack_plugin": "^2.2.0", + "npm_package_devDependencies__testing_library_jest_dom": "^5.14.1", + "npm_package_dependencies_autoprefixer": "^10.2.6", + "npm_config_version_commit_hooks": "true", + "npm_config_user_agent": "yarn/1.22.15 npm/? node/v12.13.1 linux x64", + "COMP_WORDBREAKS": " \t\n\"'><;|&(:", + "npm_package_devDependencies__types_loadable__server": "^5.12.6", + "npm_package_bugs_url": "https://github.com/forceoranj/intranet/issues", + "npm_config_bin_links": "true", + "npm_config_wrap_output": "", + "XDG_SESSION_TYPE": "wayland", + "npm_node_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "npm_package_devDependencies_nodemon": "^2.0.9", + "npm_package_devDependencies_compression_webpack_plugin": "^8.0.1", + "npm_package_devDependencies__types_serialize_javascript": "^5.0.1", + "npm_package_devDependencies__types_loadable__webpack_plugin": "^5.7.3", + "npm_config_init_version": "1.0.0", + "SHLVL": "1", + "npm_package_devDependencies_source_map_support": "^0.5.19", + "npm_package_devDependencies_eslint_import_resolver_typescript": "^2.4.0", + "npm_package_devDependencies__types_express": "^4.17.13", + "HOME": "/home/pikiou", + "CONDA_SHLVL": "0", + "OLDPWD": "/home/pikiou", + "npm_package_devDependencies_eslint_plugin_jest_dom": "^3.9.0", + "npm_package_devDependencies__typescript_eslint_parser": "^4.28.2", + "npm_package_scripts_build_server": "cross-env NODE_ENV=production webpack --config ./webpack/server.config.ts", + "DESKTOP_SESSION": "gnome", + "NVM_NODEJS_ORG_MIRROR": "https://nodejs.org/dist", + "NVM_BIN": "/home/pikiou/.nvm/versions/node/v12.13.1/bin", + "npm_package_devDependencies_eslint_config_prettier": "^8.3.0", + "npm_package_devDependencies__types_loadable__component": "^5.13.4", + "npm_package_devDependencies_webpack_manifest_plugin": "^3.1.1", + "npm_package_engines_node": ">=12", + "npm_config_init_license": "MIT", + "GTK_MODULES": "gail:atk-bridge", + "YARN_WRAP_OUTPUT": "false", + "npm_package_devDependencies_terser_webpack_plugin": "^5.1.4", + "npm_package_devDependencies_imagemin_svgo": "^9.0.0", + "npm_config_version_tag_prefix": "v", + "LC_MONETARY": "fr_FR.UTF-8", + "MANAGERPID": "3096", + "npm_package_devDependencies_stylelint_config_standard": "^22.0.0", + "npm_package_devDependencies_imagemin_gifsicle": "^7.0.0", + "npm_package_dependencies_redux_thunk": "^2.3.0", + "npm_package_dependencies_react_router_config": "^5.1.1", + "npm_package_scripts_lint_style": "stylelint --fix \"**/*.{css,ts,tsx}\"", + "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", + "npm_package_devDependencies_husky": "^7.0.1", + "npm_package_devDependencies_eslint_plugin_react_hooks": "^4", + "npm_package_devDependencies_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_devDependencies__types_mini_css_extract_plugin": "^2.0.1", + "npm_package_dependencies_compression": "^1.7.4", + "npm_package_keywords_0": "starter", + "COLORTERM": "truecolor", + "_CE_M": "", + "npm_package_devDependencies_typescript": "^4.3.5", + "npm_package_devDependencies_babel_loader": "^8.2.2", + "npm_package_dependencies_react_router_dom": "^5.2.0", + "npm_package_keywords_1": "boilerplate", + "npm_package_description": "A starter boilerplate for a universal web application with the best development experience and best practices.", + "NVM_PATH": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node", + "NVM_DIR": "/home/pikiou/.nvm", + "npm_package_readmeFilename": "README.md", + "npm_package_devDependencies__types_react_dom": "^17.0.8", + "npm_package_devDependencies__pmmmwh_react_refresh_webpack_plugin": "^0.4.3", + "npm_package_devDependencies__babel_preset_env": "^7.14.7", + "npm_package_scripts_dev_build": "cross-env NODE_ENV=development webpack --config ./webpack/server.config.ts", + "npm_package_keywords_2": "universal", + "npm_package_homepage": "https://github.com/forceoranj/intranet", + "QT_QPA_PLATFORMTHEME": "appmenu-qt5", + "IM_CONFIG_PHASE": "1", + "WAYLAND_DISPLAY": "wayland-0", + "npm_package_devDependencies_prettier": "^2.3.2", + "npm_package_devDependencies__babel_plugin_transform_runtime": "^7.14.5", + "npm_package_dependencies__loadable_server": "^5.15.0", + "npm_package_scripts_dev": "yarn dev:build && nodemon ./public/server", + "npm_package_keywords_3": "react", + "LOGNAME": "pikiou", + "npm_package_devDependencies_eslint_plugin_import": "^2.22.1", + "npm_package_devDependencies__babel_preset_typescript": "^7.14.5", + "npm_package_dependencies_serialize_javascript": "^6.0.0", + "npm_package_dependencies_normalize_css": "^8.0.1", + "npm_package_dependencies_connected_react_router": "^6.9.1", + "npm_package_scripts_analyze_client": "cross-env NODE_ENV=analyze webpack --config ./webpack/client.config.ts", + "npm_package_keywords_4": "react-hooks", + "JOURNAL_STREAM": "8:38694", + "_": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/yarn", + "npm_package_devDependencies_ts_jest": "^27.0.3", + "npm_package_devDependencies_node_sass": "^6.0.1", + "npm_package_devDependencies__types_webpack_bundle_analyzer": "^4.4.1", + "npm_package_devDependencies__types_redux_mock_store": "^1.0.2", + "npm_package_devDependencies__types_jest": "^26.0.24", + "npm_package_devDependencies__babel_preset_react": "^7.14.5", + "npm_package_dependencies_express": "^4.17.1", + "npm_package_scripts_lint_type": "tsc", + "npm_package_scripts_lint_code": "eslint --fix . --ext .js,.jsx,.ts,.tsx", + "npm_package_keywords_5": "redux", + "npm_package_private": "true", + "XDG_SESSION_CLASS": "user", + "npm_package_devDependencies__typescript_eslint_eslint_plugin": "^4.28.2", + "npm_package_scripts_prepare": "husky install", + "npm_package_scripts_lint": "run-s lint:*", + "npm_package_keywords_6": "redux-toolkit", + "npm_config_registry": "https://registry.yarnpkg.com", + "USERNAME": "pikiou", + "TERM": "xterm-256color", + "npm_package_devDependencies_stylelint": "^13.13.1", + "npm_package_devDependencies__types_lodash": "^4.14.175", + "npm_package_devDependencies__types_compression_webpack_plugin": "^6.0.6", + "npm_package_devDependencies__babel_core": "^7.14.6", + "npm_package_dependencies_core_js": "^3.15.2", + "npm_package_dependencies__loadable_component": "^5.15.0", + "npm_package_keywords_7": "react-router", + "GNOME_DESKTOP_SESSION_ID": "this-is-deprecated", + "_CE_CONDA": "", + "npm_package_devDependencies_webpack_node_externals": "^3.0.0", + "npm_package_devDependencies_imagemin_optipng": "^8.0.0", + "npm_package_scripts_start": "node ./public/server", + "npm_package_keywords_8": "express", + "npm_config_ignore_scripts": "", + "npm_package_devDependencies_postcss_loader": "^6.1.1", + "npm_package_devDependencies_eslint_plugin_jest": "^24.3.6", + "npm_package_devDependencies__types_react_helmet": "^6.1.1", + "npm_package_dependencies_axios": "^0.21.1", + "npm_package_scripts_test_cov": "yarn test --coverage", + "npm_package_scripts_lint_format": "prettier -w . -u --loglevel silent", + "npm_package_author_email": "forceoranj@gmail.com", + "npm_package_keywords_9": "webpack", + "PATH": "/tmp/yarn--1634543881577-0.5793769815238012:/home/pikiou/forceoranj/node_modules/.bin:/home/pikiou/.config/yarn/link/node_modules/.bin:/home/pikiou/.nvm/versions/node/v12.13.1/libexec/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/bin/node_modules/npm/bin/node-gyp-bin:/tmp/yarn--1634543881377-0.2454305184035679:/home/pikiou/forceoranj/node_modules/.bin:/home/pikiou/.config/yarn/link/node_modules/.bin:/home/pikiou/.nvm/versions/node/v12.13.1/libexec/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/bin/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.local/bin:/home/pikiou/miniconda3/condabin:/home/pikiou/.nvm/versions/node/v12.13.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle:/snap/bin:/home/pikiou/Android/Sdk/platform-tools:/home/pikiou/depot_tools:/home/pikiou/depot_tools", + "NODE": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "SESSION_MANAGER": "local/pikiou:@/tmp/.ICE-unix/3357,unix/pikiou:/tmp/.ICE-unix/3357", + "NVM_IOJS_ORG_MIRROR": "https://iojs.org/dist", + "INVOCATION_ID": "5f505b5c98a14ec0aabbd0ae819a3ffe", + "npm_package_dependencies_cross_env": "^7.0.3", + "npm_package_scripts_build_client": "cross-env NODE_ENV=production webpack --config ./webpack/client.config.ts", + "npm_package_keywords_10": "es6+", + "npm_package_repository_type": "git", + "npm_package_name": "intranet", + "XDG_MENU_PREFIX": "gnome-", + "LC_ADDRESS": "fr_FR.UTF-8", + "GNOME_TERMINAL_SCREEN": "/org/gnome/Terminal/screen/6e66cefe_f79c_480a_93e4_352931c60526", + "GNOME_SETUP_DISPLAY": ":1", + "XDG_RUNTIME_DIR": "/run/user/1000", + "npm_package_devDependencies_stylelint_config_sass_guidelines": "^8.0.0", + "npm_package_devDependencies_eslint_plugin_jsx_a11y": "^6.4.1", + "npm_package_devDependencies__types_webpack_manifest_plugin": "^3.0.5", + "npm_package_dependencies_react_redux": "^7.2.4", + "npm_package_lint_staged____js_jsx_ts_tsx_": "eslint --fix", + "npm_package_keywords_20": "best-practices", + "npm_package_keywords_11": "typescript", + "DISPLAY": ":0", + "npm_package_devDependencies_webpack_merge": "^5.8.0", + "npm_package_devDependencies_eslint_config_airbnb": "^18.2.1", + "npm_package_devDependencies__types_terser_webpack_plugin": "^5.0.4", + "npm_package_devDependencies__types_hpp": "^0.2.1", + "npm_package_scripts_test_update": "yarn test -u", + "npm_package_keywords_21": "eslint", + "npm_package_keywords_12": "code-splitting", + "LANG": "en_US.UTF-8", + "XDG_CURRENT_DESKTOP": "GNOME", + "LC_TELEPHONE": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack": "^5.43.0", + "npm_package_devDependencies_react_test_renderer": "^17.0.2", + "npm_package_devDependencies_eslint": "^7.14.0", + "npm_package_dependencies_react_dom": "^17.0.2", + "npm_package_dependencies_history": "^4.10.1", + "npm_package_keywords_22": "stylelint", + "npm_package_keywords_13": "react-refresh", + "XMODIFIERS": "@im=ibus", + "XDG_SESSION_DESKTOP": "gnome", + "XAUTHORITY": "/run/user/1000/.mutter-Xwaylandauth.73MHB1", + "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", + "GNOME_TERMINAL_SERVICE": ":1.403", + "npm_lifecycle_script": "cross-env NODE_ENV=development webpack --config ./webpack/server.config.ts", + "npm_package_devDependencies__types_html_minifier": "^4.0.1", + "npm_package_devDependencies__types_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_browserslist_0": "> 1%", + "npm_package_keywords_23": "prettier", + "npm_package_keywords_14": "babel", + "SSH_AGENT_LAUNCHER": "gnome-keyring", + "SSH_AUTH_SOCK": "/run/user/1000/keyring/ssh", + "CONDA_PYTHON_EXE": "/home/pikiou/miniconda3/bin/python", + "npm_package_dependencies_react_router": "^5.2.0", + "npm_package_dependencies_chalk": "^4.1.1", + "npm_package_browserslist_1": "last 2 versions", + "npm_package_scripts_test": "cross-env NODE_ENV=test jest --config ./jest/config.js", + "npm_package_keywords_15": "postcss", + "npm_config_version_git_message": "v%s", + "SHELL": "/bin/bash", + "LC_NAME": "fr_FR.UTF-8", + "npm_lifecycle_event": "dev:build", + "npm_package_devDependencies_webpack_dev_middleware": "^5.0.0", + "npm_package_devDependencies__types_morgan": "^1.9.3", + "npm_package_devDependencies__testing_library_react": "^12.0.0", + "npm_package_keywords_16": "jest", + "npm_package_repository_url": "https://github.com/forceoranj/intranet", + "npm_package_version": "2.0.0", + "QT_ACCESSIBILITY": "1", + "GDMSESSION": "gnome", + "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"dev\"],\"original\":[\"dev\"]}", + "npm_package_devDependencies_lint_staged": "^11.0.0", + "npm_package_devDependencies__types_serve_favicon": "^2.5.3", + "npm_package_scripts_build": "run-s build:*", + "npm_package_keywords_17": "unit-testing", + "LESSCLOSE": "/usr/bin/lesspipe %s %s", + "npm_package_devDependencies_stylelint_order": "^4.1.0", + "npm_package_devDependencies__loadable_webpack_plugin": "^5.15.0", + "npm_package_dependencies_lodash": "^4.17.21", + "npm_package_keywords_18": "react-testing-library", + "LC_MEASUREMENT": "fr_FR.UTF-8", + "npm_package_devDependencies_sass_loader": "^12.1.0", + "npm_package_devDependencies_eslint_plugin_testing_library": "^4.9.0", + "npm_package_keywords_19": "performance-optimization", + "npm_config_version_git_tag": "true", + "npm_config_version_git_sign": "", + "GJS_DEBUG_OUTPUT": "stderr", + "LC_IDENTIFICATION": "fr_FR.UTF-8", + "npm_package_devDependencies_imagemin_jpegtran": "^7.0.0", + "npm_package_devDependencies_fork_ts_checker_webpack_plugin": "^6.2.12", + "npm_package_devDependencies_eslint_plugin_react": "^7.23.2", + "npm_package_dependencies_react_helmet": "^6.1.0", + "npm_package_dependencies_googleapis": "^88.2.0", + "npm_package_license": "MIT", + "npm_config_strict_ssl": "true", + "QT_IM_MODULE": "ibus", + "npm_package_devDependencies__loadable_babel_plugin": "^5.13.2", + "npm_package_scripts_test_watch": "yarn test --watch", + "PWD": "/home/pikiou/forceoranj", + "npm_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/yarn/bin/yarn.js", + "npm_package_devDependencies__types_webpack_node_externals": "^2.5.2", + "npm_package_dependencies_helmet": "^4.6.0", + "XDG_CONFIG_DIRS": "/etc/xdg/xdg-gnome:/etc/xdg", + "CONDA_EXE": "/home/pikiou/miniconda3/bin/conda", + "ANDROID_HOME": "/home/pikiou/Android/Sdk", + "NVM_CD_FLAGS": "", + "XDG_DATA_DIRS": "/home/pikiou/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop", + "npm_package_devDependencies_css_loader": "^5.2.6", + "npm_package_dependencies_hpp": "^0.2.3", + "npm_package_engines_npm": ">=6", + "npm_package_author_url": "https://github.com/forceoranj", + "npm_package_author_name": "Paris est Ludique", + "LC_NUMERIC": "fr_FR.UTF-8", + "npm_package_devDependencies_postcss": "^8.3.5", + "npm_package_dependencies_readline": "^1.3.0", + "npm_package_dependencies_https": "^1.0.0", + "npm_config_save_prefix": "^", + "npm_config_ignore_optional": "", + "LC_PAPER": "fr_FR.UTF-8", + "npm_package_devDependencies_mini_css_extract_plugin": "^2.1.0", + "npm_package_dependencies_html_minifier": "^4.0.0", + "npm_package_lint_staged_____": "prettier -w -u", + "npm_package_lint_staged____css_sass_ts_tsx_": "stylelint --fix", + "MANPATH": "/home/pikiou/.nvm/versions/node/v12.13.1/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man:/home/pikiou/depot_tools/man", + "VTE_VERSION": "6003", + "npm_package_devDependencies_npm_run_all": "^4.1.5", + "NODE_ENV": "development", + "INIT_CWD": "/home/pikiou/forceoranj", + "npm_package_devDependencies__types_react_test_renderer": "^17.0.1", + "npm_package_devDependencies__types_react_router_config": "^5.0.2", + "npm_package_dependencies_react": "^17.0.2", + "npm_package_dependencies_morgan": "^1.10.0" + }, + "userLimits": { + "core_file_size_blocks": { + "soft": 0, + "hard": "unlimited" + }, + "data_seg_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "file_size_blocks": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_locked_memory_bytes": { + "soft": 67108864, + "hard": 67108864 + }, + "max_memory_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "open_files": { + "soft": 1048576, + "hard": 1048576 + }, + "stack_size_bytes": { + "soft": 8388608, + "hard": "unlimited" + }, + "cpu_time_seconds": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_user_processes": { + "soft": 29308, + "hard": 29308 + }, + "virtual_memory_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + } + }, + "sharedObjects": [ + "linux-vdso.so.1", + "/lib/x86_64-linux-gnu/libdl.so.2", + "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", + "/lib/x86_64-linux-gnu/libm.so.6", + "/lib/x86_64-linux-gnu/libgcc_s.so.1", + "/lib/x86_64-linux-gnu/libpthread.so.0", + "/lib/x86_64-linux-gnu/libc.so.6", + "/lib64/ld-linux-x86-64.so.2" + ] +} diff --git a/report.20211018.100127.89742.0.001.json b/report.20211018.100127.89742.0.001.json new file mode 100644 index 0000000..f4ca43f --- /dev/null +++ b/report.20211018.100127.89742.0.001.json @@ -0,0 +1,639 @@ +{ + "header": { + "reportVersion": 1, + "event": "Allocation failed - JavaScript heap out of memory", + "trigger": "FatalError", + "filename": "report.20211018.100127.89742.0.001.json", + "dumpEventTime": "2021-10-18T10:01:27Z", + "dumpEventTimeStamp": "1634544087275", + "processId": 89742, + "cwd": "/home/pikiou/forceoranj", + "commandLine": [ + "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "--max-old-space-size=2048", + "/home/pikiou/forceoranj/node_modules/fork-ts-checker-webpack-plugin/lib/eslint-reporter/reporter/EsLintReporterRpcService.js" + ], + "nodejsVersion": "v12.13.1", + "glibcVersionRuntime": "2.31", + "glibcVersionCompiler": "2.17", + "wordSize": 64, + "arch": "x64", + "platform": "linux", + "componentVersions": { + "node": "12.13.1", + "v8": "7.7.299.13-node.16", + "uv": "1.33.1", + "zlib": "1.2.11", + "brotli": "1.0.7", + "ares": "1.15.0", + "modules": "72", + "nghttp2": "1.39.2", + "napi": "5", + "llhttp": "1.1.4", + "http_parser": "2.8.0", + "openssl": "1.1.1d", + "cldr": "35.1", + "icu": "64.2", + "tz": "2019c", + "unicode": "12.1" + }, + "release": { + "name": "node", + "lts": "Erbium", + "headersUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1-headers.tar.gz", + "sourceUrl": "https://nodejs.org/download/release/v12.13.1/node-v12.13.1.tar.gz" + }, + "osName": "Linux", + "osRelease": "5.9.0-050900-generic", + "osVersion": "#202010112230 SMP Sun Oct 11 22:34:01 UTC 2020", + "osMachine": "x86_64", + "cpus": [ + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 30625900, + "nice": 60000, + "sys": 5961600, + "idle": 243496100, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 32113600, + "nice": 67300, + "sys": 6271600, + "idle": 31658300, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 32377500, + "nice": 75700, + "sys": 6058200, + "idle": 30734900, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 35542400, + "nice": 107600, + "sys": 6192200, + "idle": 29160000, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 25266800, + "nice": 112000, + "sys": 5878300, + "idle": 34251000, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 899, + "user": 24799000, + "nice": 111500, + "sys": 6972900, + "idle": 34474700, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 899, + "user": 23771800, + "nice": 79100, + "sys": 6487200, + "idle": 34905800, + "irq": 0 + }, + { + "model": "Intel(R) Core(TM) i7-6700HQ CPU @ 2.60GHz", + "speed": 900, + "user": 25154700, + "nice": 57000, + "sys": 6930100, + "idle": 34677100, + "irq": 0 + } + ], + "networkInterfaces": [ + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "127.0.0.1", + "netmask": "255.0.0.0", + "family": "IPv4" + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "192.168.1.69", + "netmask": "255.255.255.0", + "family": "IPv4" + }, + { + "name": "lo", + "internal": true, + "mac": "00:00:00:00:00:00", + "address": "::1", + "netmask": "ffff:ffff:ffff:ffff:ffff:ffff:ffff:ffff", + "family": "IPv6", + "scopeid": 0 + }, + { + "name": "wlp2s0", + "internal": false, + "mac": "dc:53:60:fa:40:d8", + "address": "fe80::d2dc:d4d3:6052:4640", + "netmask": "ffff:ffff:ffff:ffff::", + "family": "IPv6", + "scopeid": 3 + } + ], + "host": "pikiou" + }, + "javascriptStack": { + "message": "No stack.", + "stack": ["Unavailable."] + }, + "nativeStack": [ + { + "pc": "0x0000000000b04935", + "symbol": "report::TriggerNodeReport(v8::Isolate*, node::Environment*, char const*, char const*, std::string const&, v8::Local) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x00000000009db9e3", + "symbol": "node::OnFatalError(char const*, char const*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b39f1e", + "symbol": "v8::Utils::ReportOOMFailure(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000b3a299", + "symbol": "v8::internal::V8::FatalProcessOutOfMemory(v8::internal::Isolate*, char const*, bool) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5635", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ce5cc6", + "symbol": "v8::internal::Heap::RecomputeLimits(v8::internal::GarbageCollector) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf1b5a", + "symbol": "v8::internal::Heap::PerformGarbageCollection(v8::internal::GarbageCollector, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf2a65", + "symbol": "v8::internal::Heap::CollectGarbage(v8::internal::AllocationSpace, v8::internal::GarbageCollectionReason, v8::GCCallbackFlags) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cf5478", + "symbol": "v8::internal::Heap::AllocateRawWithRetryOrFail(int, v8::internal::AllocationType, v8::internal::AllocationAlignment) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000cbbda7", + "symbol": "v8::internal::Factory::NewFillerObject(int, bool, v8::internal::AllocationType) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000000ff1e0b", + "symbol": "v8::internal::Runtime_AllocateInYoungGeneration(int, unsigned long*, v8::internal::Isolate*) [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + }, + { + "pc": "0x0000000001374fd9", + "symbol": " [/home/pikiou/.nvm/versions/node/v12.13.1/bin/node]" + } + ], + "javascriptHeap": { + "totalMemory": 2153922560, + "totalCommittedMemory": 2150510000, + "usedMemory": 2144178624, + "availableMemory": 49831072, + "memoryLimit": 2197815296, + "heapSpaces": { + "read_only_space": { + "memorySize": 262144, + "committedMemory": 32568, + "capacity": 261872, + "used": 32296, + "available": 229576 + }, + "new_space": { + "memorySize": 4194304, + "committedMemory": 1709096, + "capacity": 2094976, + "used": 722536, + "available": 1372440 + }, + "old_space": { + "memorySize": 1935257600, + "committedMemory": 1934831440, + "capacity": 1933093104, + "used": 1930851760, + "available": 2241344 + }, + "code_space": { + "memorySize": 1212416, + "committedMemory": 1092896, + "capacity": 876576, + "used": 876576, + "available": 0 + }, + "map_space": { + "memorySize": 2887680, + "committedMemory": 2735584, + "capacity": 1707760, + "used": 1707760, + "available": 0 + }, + "large_object_space": { + "memorySize": 209485824, + "committedMemory": 209485824, + "capacity": 209437040, + "used": 209437040, + "available": 0 + }, + "code_large_object_space": { + "memorySize": 622592, + "committedMemory": 622592, + "capacity": 550656, + "used": 550656, + "available": 0 + }, + "new_large_object_space": { + "memorySize": 0, + "committedMemory": 0, + "capacity": 2094976, + "used": 0, + "available": 2094976 + } + } + }, + "resourceUsage": { + "userCpuSeconds": 95.1999, + "kernelCpuSeconds": 1.76, + "cpuConsumptionPercent": 173.143, + "maxRss": 2319220736, + "pageFaults": { + "IORequired": 1, + "IONotRequired": 672363 + }, + "fsActivity": { + "reads": 45336, + "writes": 16 + } + }, + "uvthreadResourceUsage": { + "userCpuSeconds": 38.1993, + "kernelCpuSeconds": 1.01694, + "cpuConsumptionPercent": 70.029, + "fsActivity": { + "reads": 45336, + "writes": 16 + } + }, + "libuv": [], + "environmentVariables": { + "GJS_DEBUG_TOPICS": "JS ERROR;JS LOG", + "LESSOPEN": "| /usr/bin/lesspipe %s", + "npm_package_devDependencies_webpack_hot_middleware": "^2.25.0", + "npm_package_devDependencies_ts_node": "^10.0.0", + "npm_package_devDependencies_identity_obj_proxy": "^3.0.0", + "npm_package_devDependencies__types_compression": "^1.7.1", + "npm_package_dependencies_serve_favicon": "^2.5.0", + "npm_package_dependencies__reduxjs_toolkit": "^1.6.0", + "npm_package_dependencies__babel_runtime": "^7.14.6", + "npm_package_scripts_analyze_server": "cross-env NODE_ENV=analyze webpack --config ./webpack/server.config.ts", + "npm_package_devDependencies_stylelint_config_prettier": "^8.0.2", + "npm_package_devDependencies_react_refresh": "^0.10.0", + "npm_package_devDependencies__types_react_router_dom": "^5.1.7", + "npm_package_dependencies_fs": "^0.0.1-security", + "USER": "pikiou", + "LC_TIME": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack_cli": "^4.7.2", + "npm_package_devDependencies_webpack_bundle_analyzer": "^4.4.2", + "npm_package_devDependencies_redux_mock_store": "^1.5.4", + "npm_package_devDependencies_jest": "^27.0.6", + "npm_package_devDependencies_image_minimizer_webpack_plugin": "^2.2.0", + "npm_package_devDependencies__testing_library_jest_dom": "^5.14.1", + "npm_package_dependencies_autoprefixer": "^10.2.6", + "npm_config_version_commit_hooks": "true", + "npm_config_user_agent": "yarn/1.22.15 npm/? node/v12.13.1 linux x64", + "COMP_WORDBREAKS": " \t\n\"'><;|&(:", + "npm_package_devDependencies__types_loadable__server": "^5.12.6", + "npm_package_bugs_url": "https://github.com/forceoranj/intranet/issues", + "npm_config_bin_links": "true", + "XDG_SESSION_TYPE": "wayland", + "npm_node_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "npm_package_devDependencies_nodemon": "^2.0.9", + "npm_package_devDependencies_compression_webpack_plugin": "^8.0.1", + "npm_package_devDependencies__types_serialize_javascript": "^5.0.1", + "npm_package_devDependencies__types_loadable__webpack_plugin": "^5.7.3", + "npm_config_init_version": "1.0.0", + "SHLVL": "1", + "npm_package_devDependencies_source_map_support": "^0.5.19", + "npm_package_devDependencies_eslint_import_resolver_typescript": "^2.4.0", + "npm_package_devDependencies__types_express": "^4.17.13", + "HOME": "/home/pikiou", + "CONDA_SHLVL": "0", + "OLDPWD": "/home/pikiou", + "npm_package_devDependencies_eslint_plugin_jest_dom": "^3.9.0", + "npm_package_devDependencies__typescript_eslint_parser": "^4.28.2", + "npm_package_scripts_build_server": "cross-env NODE_ENV=production webpack --config ./webpack/server.config.ts", + "DESKTOP_SESSION": "gnome", + "NVM_NODEJS_ORG_MIRROR": "https://nodejs.org/dist", + "NVM_BIN": "/home/pikiou/.nvm/versions/node/v12.13.1/bin", + "npm_package_devDependencies_eslint_config_prettier": "^8.3.0", + "npm_package_devDependencies__types_loadable__component": "^5.13.4", + "npm_package_devDependencies_webpack_manifest_plugin": "^3.1.1", + "npm_package_engines_node": ">=12", + "npm_config_init_license": "MIT", + "GTK_MODULES": "gail:atk-bridge", + "YARN_WRAP_OUTPUT": "false", + "npm_package_devDependencies_terser_webpack_plugin": "^5.1.4", + "npm_package_devDependencies_imagemin_svgo": "^9.0.0", + "npm_config_version_tag_prefix": "v", + "LC_MONETARY": "fr_FR.UTF-8", + "MANAGERPID": "3096", + "npm_package_devDependencies_stylelint_config_standard": "^22.0.0", + "npm_package_devDependencies_imagemin_gifsicle": "^7.0.0", + "npm_package_dependencies_redux_thunk": "^2.3.0", + "npm_package_dependencies_react_router_config": "^5.1.1", + "npm_package_scripts_lint_style": "stylelint --fix \"**/*.{css,ts,tsx}\"", + "DBUS_SESSION_BUS_ADDRESS": "unix:path=/run/user/1000/bus", + "npm_package_devDependencies_husky": "^7.0.1", + "npm_package_devDependencies_eslint_plugin_react_hooks": "^4", + "npm_package_devDependencies_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_devDependencies__types_mini_css_extract_plugin": "^2.0.1", + "npm_package_dependencies_compression": "^1.7.4", + "npm_package_keywords_0": "starter", + "COLORTERM": "truecolor", + "_CE_M": "", + "npm_package_devDependencies_typescript": "^4.3.5", + "npm_package_devDependencies_babel_loader": "^8.2.2", + "npm_package_dependencies_react_router_dom": "^5.2.0", + "npm_package_keywords_1": "boilerplate", + "npm_package_description": "A starter boilerplate for a universal web application with the best development experience and best practices.", + "NVM_PATH": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node", + "NVM_DIR": "/home/pikiou/.nvm", + "npm_package_readmeFilename": "README.md", + "npm_package_devDependencies__types_react_dom": "^17.0.8", + "npm_package_devDependencies__pmmmwh_react_refresh_webpack_plugin": "^0.4.3", + "npm_package_devDependencies__babel_preset_env": "^7.14.7", + "npm_package_scripts_dev_build": "cross-env NODE_ENV=development webpack --config ./webpack/server.config.ts", + "npm_package_keywords_2": "universal", + "npm_package_homepage": "https://github.com/forceoranj/intranet", + "QT_QPA_PLATFORMTHEME": "appmenu-qt5", + "IM_CONFIG_PHASE": "1", + "WAYLAND_DISPLAY": "wayland-0", + "npm_package_devDependencies_prettier": "^2.3.2", + "npm_package_devDependencies__babel_plugin_transform_runtime": "^7.14.5", + "npm_package_dependencies__loadable_server": "^5.15.0", + "npm_package_scripts_dev": "yarn dev:build && nodemon ./public/server", + "npm_package_keywords_3": "react", + "LOGNAME": "pikiou", + "npm_package_devDependencies_eslint_plugin_import": "^2.22.1", + "npm_package_devDependencies__babel_preset_typescript": "^7.14.5", + "npm_package_dependencies_serialize_javascript": "^6.0.0", + "npm_package_dependencies_normalize_css": "^8.0.1", + "npm_package_dependencies_connected_react_router": "^6.9.1", + "npm_package_scripts_analyze_client": "cross-env NODE_ENV=analyze webpack --config ./webpack/client.config.ts", + "npm_package_keywords_4": "react-hooks", + "JOURNAL_STREAM": "8:38694", + "_": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/yarn", + "npm_package_devDependencies_ts_jest": "^27.0.3", + "npm_package_devDependencies_node_sass": "^6.0.1", + "npm_package_devDependencies__types_webpack_bundle_analyzer": "^4.4.1", + "npm_package_devDependencies__types_redux_mock_store": "^1.0.2", + "npm_package_devDependencies__types_jest": "^26.0.24", + "npm_package_devDependencies__babel_preset_react": "^7.14.5", + "npm_package_dependencies_express": "^4.17.1", + "npm_package_scripts_lint_type": "tsc", + "npm_package_scripts_lint_code": "eslint --fix . --ext .js,.jsx,.ts,.tsx", + "npm_package_keywords_5": "redux", + "npm_package_private": "true", + "XDG_SESSION_CLASS": "user", + "npm_package_devDependencies__typescript_eslint_eslint_plugin": "^4.28.2", + "npm_package_scripts_prepare": "husky install", + "npm_package_scripts_lint": "run-s lint:*", + "npm_package_keywords_6": "redux-toolkit", + "npm_config_registry": "https://registry.yarnpkg.com", + "USERNAME": "pikiou", + "TERM": "xterm-256color", + "npm_package_devDependencies_stylelint": "^13.13.1", + "npm_package_devDependencies__types_lodash": "^4.14.175", + "npm_package_devDependencies__types_compression_webpack_plugin": "^6.0.6", + "npm_package_devDependencies__babel_core": "^7.14.6", + "npm_package_dependencies_core_js": "^3.15.2", + "npm_package_dependencies__loadable_component": "^5.15.0", + "npm_package_keywords_7": "react-router", + "GNOME_DESKTOP_SESSION_ID": "this-is-deprecated", + "_CE_CONDA": "", + "npm_package_devDependencies_webpack_node_externals": "^3.0.0", + "npm_package_devDependencies_imagemin_optipng": "^8.0.0", + "npm_package_scripts_start": "node ./public/server", + "npm_package_keywords_8": "express", + "npm_config_ignore_scripts": "", + "npm_package_devDependencies_postcss_loader": "^6.1.1", + "npm_package_devDependencies_eslint_plugin_jest": "^24.3.6", + "npm_package_devDependencies__types_react_helmet": "^6.1.1", + "npm_package_dependencies_axios": "^0.21.1", + "npm_package_scripts_test_cov": "yarn test --coverage", + "npm_package_scripts_lint_format": "prettier -w . -u --loglevel silent", + "npm_package_author_email": "forceoranj@gmail.com", + "npm_package_keywords_9": "webpack", + "PATH": "/tmp/yarn--1634543881377-0.2454305184035679:/home/pikiou/forceoranj/node_modules/.bin:/home/pikiou/.config/yarn/link/node_modules/.bin:/home/pikiou/.nvm/versions/node/v12.13.1/libexec/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.nvm/versions/node/v12.13.1/bin/node_modules/npm/bin/node-gyp-bin:/home/pikiou/.local/bin:/home/pikiou/miniconda3/condabin:/home/pikiou/.nvm/versions/node/v12.13.1/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/usr/lib/jvm/java-8-oracle:/snap/bin:/home/pikiou/Android/Sdk/platform-tools:/home/pikiou/depot_tools:/home/pikiou/depot_tools", + "NODE": "/home/pikiou/.nvm/versions/node/v12.13.1/bin/node", + "SESSION_MANAGER": "local/pikiou:@/tmp/.ICE-unix/3357,unix/pikiou:/tmp/.ICE-unix/3357", + "NVM_IOJS_ORG_MIRROR": "https://iojs.org/dist", + "INVOCATION_ID": "5f505b5c98a14ec0aabbd0ae819a3ffe", + "npm_package_dependencies_cross_env": "^7.0.3", + "npm_package_scripts_build_client": "cross-env NODE_ENV=production webpack --config ./webpack/client.config.ts", + "npm_package_keywords_10": "es6+", + "npm_package_repository_type": "git", + "npm_package_name": "intranet", + "XDG_MENU_PREFIX": "gnome-", + "LC_ADDRESS": "fr_FR.UTF-8", + "GNOME_TERMINAL_SCREEN": "/org/gnome/Terminal/screen/6e66cefe_f79c_480a_93e4_352931c60526", + "GNOME_SETUP_DISPLAY": ":1", + "XDG_RUNTIME_DIR": "/run/user/1000", + "npm_package_devDependencies_stylelint_config_sass_guidelines": "^8.0.0", + "npm_package_devDependencies_eslint_plugin_jsx_a11y": "^6.4.1", + "npm_package_devDependencies__types_webpack_manifest_plugin": "^3.0.5", + "npm_package_dependencies_react_redux": "^7.2.4", + "npm_package_lint_staged____js_jsx_ts_tsx_": "eslint --fix", + "npm_package_keywords_20": "best-practices", + "npm_package_keywords_11": "typescript", + "DISPLAY": ":0", + "npm_package_devDependencies_webpack_merge": "^5.8.0", + "npm_package_devDependencies_eslint_config_airbnb": "^18.2.1", + "npm_package_devDependencies__types_terser_webpack_plugin": "^5.0.4", + "npm_package_devDependencies__types_hpp": "^0.2.1", + "npm_package_scripts_test_update": "yarn test -u", + "npm_package_keywords_21": "eslint", + "npm_package_keywords_12": "code-splitting", + "LANG": "en_US.UTF-8", + "XDG_CURRENT_DESKTOP": "GNOME", + "LC_TELEPHONE": "fr_FR.UTF-8", + "npm_package_devDependencies_webpack": "^5.43.0", + "npm_package_devDependencies_react_test_renderer": "^17.0.2", + "npm_package_devDependencies_eslint": "^7.14.0", + "npm_package_dependencies_react_dom": "^17.0.2", + "npm_package_dependencies_history": "^4.10.1", + "npm_package_keywords_22": "stylelint", + "npm_package_keywords_13": "react-refresh", + "XMODIFIERS": "@im=ibus", + "XDG_SESSION_DESKTOP": "gnome", + "XAUTHORITY": "/run/user/1000/.mutter-Xwaylandauth.73MHB1", + "LS_COLORS": "rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:", + "GNOME_TERMINAL_SERVICE": ":1.403", + "npm_lifecycle_script": "yarn dev:build && nodemon ./public/server", + "npm_package_devDependencies__types_html_minifier": "^4.0.1", + "npm_package_devDependencies__types_css_minimizer_webpack_plugin": "^3.0.2", + "npm_package_browserslist_0": "> 1%", + "npm_package_keywords_23": "prettier", + "npm_package_keywords_14": "babel", + "SSH_AGENT_LAUNCHER": "gnome-keyring", + "SSH_AUTH_SOCK": "/run/user/1000/keyring/ssh", + "CONDA_PYTHON_EXE": "/home/pikiou/miniconda3/bin/python", + "npm_package_dependencies_react_router": "^5.2.0", + "npm_package_dependencies_chalk": "^4.1.1", + "npm_package_browserslist_1": "last 2 versions", + "npm_package_scripts_test": "cross-env NODE_ENV=test jest --config ./jest/config.js", + "npm_package_keywords_15": "postcss", + "npm_config_version_git_message": "v%s", + "SHELL": "/bin/bash", + "LC_NAME": "fr_FR.UTF-8", + "npm_lifecycle_event": "dev", + "npm_package_devDependencies_webpack_dev_middleware": "^5.0.0", + "npm_package_devDependencies__types_morgan": "^1.9.3", + "npm_package_devDependencies__testing_library_react": "^12.0.0", + "npm_package_keywords_16": "jest", + "npm_package_repository_url": "https://github.com/forceoranj/intranet", + "npm_package_version": "2.0.0", + "QT_ACCESSIBILITY": "1", + "GDMSESSION": "gnome", + "npm_config_argv": "{\"remain\":[],\"cooked\":[\"run\",\"dev\"],\"original\":[\"dev\"]}", + "npm_package_devDependencies_lint_staged": "^11.0.0", + "npm_package_devDependencies__types_serve_favicon": "^2.5.3", + "npm_package_scripts_build": "run-s build:*", + "npm_package_keywords_17": "unit-testing", + "LESSCLOSE": "/usr/bin/lesspipe %s %s", + "npm_package_devDependencies_stylelint_order": "^4.1.0", + "npm_package_devDependencies__loadable_webpack_plugin": "^5.15.0", + "npm_package_dependencies_lodash": "^4.17.21", + "npm_package_keywords_18": "react-testing-library", + "LC_MEASUREMENT": "fr_FR.UTF-8", + "npm_package_devDependencies_sass_loader": "^12.1.0", + "npm_package_devDependencies_eslint_plugin_testing_library": "^4.9.0", + "npm_package_keywords_19": "performance-optimization", + "npm_config_version_git_tag": "true", + "npm_config_version_git_sign": "", + "GJS_DEBUG_OUTPUT": "stderr", + "LC_IDENTIFICATION": "fr_FR.UTF-8", + "npm_package_devDependencies_imagemin_jpegtran": "^7.0.0", + "npm_package_devDependencies_fork_ts_checker_webpack_plugin": "^6.2.12", + "npm_package_devDependencies_eslint_plugin_react": "^7.23.2", + "npm_package_dependencies_react_helmet": "^6.1.0", + "npm_package_dependencies_googleapis": "^88.2.0", + "npm_package_license": "MIT", + "npm_config_strict_ssl": "true", + "QT_IM_MODULE": "ibus", + "npm_package_devDependencies__loadable_babel_plugin": "^5.13.2", + "npm_package_scripts_test_watch": "yarn test --watch", + "PWD": "/home/pikiou/forceoranj", + "npm_execpath": "/home/pikiou/.nvm/versions/node/v12.13.1/lib/node_modules/yarn/bin/yarn.js", + "npm_package_devDependencies__types_webpack_node_externals": "^2.5.2", + "npm_package_dependencies_helmet": "^4.6.0", + "XDG_CONFIG_DIRS": "/etc/xdg/xdg-gnome:/etc/xdg", + "CONDA_EXE": "/home/pikiou/miniconda3/bin/conda", + "ANDROID_HOME": "/home/pikiou/Android/Sdk", + "NVM_CD_FLAGS": "", + "XDG_DATA_DIRS": "/home/pikiou/.local/share/flatpak/exports/share:/var/lib/flatpak/exports/share:/usr/local/share/:/usr/share/:/var/lib/snapd/desktop", + "npm_package_devDependencies_css_loader": "^5.2.6", + "npm_package_dependencies_hpp": "^0.2.3", + "npm_package_engines_npm": ">=6", + "npm_package_author_url": "https://github.com/forceoranj", + "npm_package_author_name": "Paris est Ludique", + "LC_NUMERIC": "fr_FR.UTF-8", + "npm_package_devDependencies_postcss": "^8.3.5", + "npm_package_dependencies_readline": "^1.3.0", + "npm_package_dependencies_https": "^1.0.0", + "npm_config_save_prefix": "^", + "npm_config_ignore_optional": "", + "LC_PAPER": "fr_FR.UTF-8", + "npm_package_devDependencies_mini_css_extract_plugin": "^2.1.0", + "npm_package_dependencies_html_minifier": "^4.0.0", + "npm_package_lint_staged_____": "prettier -w -u", + "npm_package_lint_staged____css_sass_ts_tsx_": "stylelint --fix", + "MANPATH": "/home/pikiou/.nvm/versions/node/v12.13.1/share/man:/usr/local/man:/usr/local/share/man:/usr/share/man:/usr/lib/jvm/java-8-oracle/man:/home/pikiou/depot_tools/man", + "VTE_VERSION": "6003", + "npm_package_devDependencies_npm_run_all": "^4.1.5", + "INIT_CWD": "/home/pikiou/forceoranj", + "npm_package_devDependencies__types_react_test_renderer": "^17.0.1", + "npm_package_devDependencies__types_react_router_config": "^5.0.2", + "npm_package_dependencies_react": "^17.0.2", + "npm_package_dependencies_morgan": "^1.10.0" + }, + "userLimits": { + "core_file_size_blocks": { + "soft": 0, + "hard": "unlimited" + }, + "data_seg_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "file_size_blocks": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_locked_memory_bytes": { + "soft": 67108864, + "hard": 67108864 + }, + "max_memory_size_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + }, + "open_files": { + "soft": 1048576, + "hard": 1048576 + }, + "stack_size_bytes": { + "soft": 8388608, + "hard": "unlimited" + }, + "cpu_time_seconds": { + "soft": "unlimited", + "hard": "unlimited" + }, + "max_user_processes": { + "soft": 29308, + "hard": 29308 + }, + "virtual_memory_kbytes": { + "soft": "unlimited", + "hard": "unlimited" + } + }, + "sharedObjects": [ + "linux-vdso.so.1", + "/lib/x86_64-linux-gnu/libdl.so.2", + "/usr/lib/x86_64-linux-gnu/libstdc++.so.6", + "/lib/x86_64-linux-gnu/libm.so.6", + "/lib/x86_64-linux-gnu/libgcc_s.so.1", + "/lib/x86_64-linux-gnu/libpthread.so.0", + "/lib/x86_64-linux-gnu/libc.so.6", + "/lib64/ld-linux-x86-64.so.2" + ] +} diff --git a/src/components/JavGameList/index.tsx b/src/components/JavGameList/index.tsx deleted file mode 100644 index db5fb3b..0000000 --- a/src/components/JavGameList/index.tsx +++ /dev/null @@ -1,24 +0,0 @@ -import { memo } from "react" -import { Link } from "react-router-dom" - -import { JavGame } from "../../services/javGames" -import styles from "./styles.module.scss" - -interface Props { - items: JavGame[] -} - -const List = ({ items }: Props) => ( -
-

JAV Games

-
    - {items.map(({ id, titre }) => ( -
  • - {titre} -
  • - ))} -
-
-) - -export default memo(List) diff --git a/src/components/JavGameList/__tests__/JavGameList.tsx b/src/components/JeuxJavList/__tests__/JeuxJavList.tsx similarity index 83% rename from src/components/JavGameList/__tests__/JavGameList.tsx rename to src/components/JeuxJavList/__tests__/JeuxJavList.tsx index 5bc5520..681c984 100644 --- a/src/components/JavGameList/__tests__/JavGameList.tsx +++ b/src/components/JeuxJavList/__tests__/JeuxJavList.tsx @@ -22,14 +22,13 @@ describe("", () => { duree: 45, type: "Ambiance", poufpaf: "0-9-2/6-qui-prend-6-nimmt", - photo: "https://cf.geekdo-images.com/thumb/img/lzczxR5cw7an7tRWeHdOrRtLyes=/fit-in/200x150/pic772547.jpg", - bggPhoto: "", bggId: 432, exemplaires: 1, dispoPret: 1, nonRangee: 0, - horodatage: "0000-00-00", ean: "3421272101313", + bggPhoto: + "https://cf.geekdo-images.com/thumb/img/lzczxR5cw7an7tRWeHdOrRtLyes=/fit-in/200x150/pic772547.jpg", }, ]} /> diff --git a/src/components/JavGameList/__tests__/__snapshots__/JavGameList.tsx.snap b/src/components/JeuxJavList/__tests__/__snapshots__/JeuxJavList.tsx.snap similarity index 56% rename from src/components/JavGameList/__tests__/__snapshots__/JavGameList.tsx.snap rename to src/components/JeuxJavList/__tests__/__snapshots__/JeuxJavList.tsx.snap index cfb7aad..53a91b3 100644 --- a/src/components/JavGameList/__tests__/__snapshots__/JavGameList.tsx.snap +++ b/src/components/JeuxJavList/__tests__/__snapshots__/JeuxJavList.tsx.snap @@ -2,18 +2,17 @@ exports[` renders 1`] = `

- JAV Games + Jeux JAV

diff --git a/src/components/JeuxJavList/index.tsx b/src/components/JeuxJavList/index.tsx new file mode 100644 index 0000000..53c482a --- /dev/null +++ b/src/components/JeuxJavList/index.tsx @@ -0,0 +1,24 @@ +import { memo } from "react" +// import { Link } from "react-router-dom" + +import { JeuxJav } from "../../services/jeuxJav" +import styles from "./styles.module.scss" + +interface Props { + items: JeuxJav[] +} + +const List = ({ items }: Props) => ( +
+

Jeux JAV

+
    + {items.map(({ id, titre, bggId }) => ( +
  • + {titre} - [{bggId}] +
  • + ))} +
+
+) + +export default memo(List) diff --git a/src/components/JavGameList/styles.module.scss b/src/components/JeuxJavList/styles.module.scss similarity index 100% rename from src/components/JavGameList/styles.module.scss rename to src/components/JeuxJavList/styles.module.scss diff --git a/src/components/index.ts b/src/components/index.ts index bd04576..1da9985 100755 --- a/src/components/index.ts +++ b/src/components/index.ts @@ -1,7 +1,7 @@ import List from "./List" -import JavGameList from "./JavGameList" +import JeuxJavList from "./JeuxJavList" import Info from "./Info" import ErrorBoundary from "./ErrorBoundary" import Loading from "./Loading" -export { List, JavGameList, Info, ErrorBoundary, Loading } +export { List, JeuxJavList, Info, ErrorBoundary, Loading } diff --git a/src/gsheets/jeuxJav.ts b/src/gsheets/jeuxJav.ts new file mode 100644 index 0000000..0a29c6f --- /dev/null +++ b/src/gsheets/jeuxJav.ts @@ -0,0 +1,27 @@ +import { Request, Response, NextFunction } from "express" +import _ from "lodash" +import { getList } from "./utils" +import { JeuxJav } from "../services/jeuxJav" + +export const getJeuxJavList = async ( + _request: Request, + response: Response, + _next: NextFunction +): Promise => { + const list = await getList("Jeux JAV") + if (list) { + response.status(200).json(list) + } +} + +export const getJeuxJavData = async ( + _request: Request, + response: Response, + _next: NextFunction +): Promise => { + const list = await getList("Jeux JAV") + const data = _.find(list, { id: 56 }) + if (data) { + response.status(200).json(data) + } +} diff --git a/src/gsheets/jav.ts b/src/gsheets/utils.ts similarity index 51% rename from src/gsheets/jav.ts rename to src/gsheets/utils.ts index e97b685..a2d17e8 100644 --- a/src/gsheets/jav.ts +++ b/src/gsheets/utils.ts @@ -2,7 +2,6 @@ import path from "path" import fs from "fs" import readline from "readline" import _ from "lodash" -import { Request, Response, NextFunction } from "express" import { google } from "googleapis" import config from "../config" @@ -10,75 +9,33 @@ const SCOPES = ["https://www.googleapis.com/auth/spreadsheets"] const TOKEN_PATH = path.resolve(process.cwd(), "access/token.json") const CRED_PATH = path.resolve(process.cwd(), "access/gsheets.json") -// eslint-disable-next-line no-unused-vars -export const getJAVGameList = async ( - _request: Request, - response: Response, - _next: NextFunction -): Promise => { +export const getList = async (sheetName: string): Promise => { const auth = await authorize(JSON.parse(fs.readFileSync(CRED_PATH, "utf8"))) const sheets = google.sheets({ version: "v4", auth }) const r = await sheets.spreadsheets.values.get({ spreadsheetId: config.GOOGLE_SHEET_ID, - range: "JAV Games!A1:Z", + range: `${sheetName}!A1:Z`, }) if (_.isArray(r?.data?.values)) { - const list = _.map(r.data.values, (val: any) => ({ - id: val[0], - titre: val[1], - })) - response.status(200).json(list) + const rows = r.data.values as string[][] + const keys: string[] = rows[0] + rows.shift() + const list: T[] = _.map( + rows, + (row) => + _.reduce( + row, + (game: any, val: any, collumn: number) => { + game[keys[collumn]] = val + return game + }, + {} + ) as T + ) + return list } - // if (r?.data?.values) { - // const rows: JAVGame[] = r.data.values as JAVGame[] - // if (rows) { - // if (rows.length) { - // console.log('Name, Major:') - // // Print columns A and E, which correspond to indices 0 and 4. - // rows.map((row) => { - // console.log(`${row[0]}, ${row[4]}`) - // }) - // return { data: rows } - // } else { - // console.log('No data found.') - // } - // } - // } -} - -// eslint-disable-next-line no-unused-vars -export const getJAVGameData = async ( - _request: Request, - response: Response, - _next: NextFunction -): Promise => { - console.log("CRED_PATH", CRED_PATH) - console.log("fs.readFileSync(CRED_PATH, 'utf8')") - const auth = await authorize(JSON.parse(fs.readFileSync(CRED_PATH, "utf8"))) - const sheets = google.sheets({ version: "v4", auth }) - const r = await sheets.spreadsheets.values.get({ - spreadsheetId: "1pMMKcYx6NXLOqNn6pLHJTPMTOLRYZmSNg2QQcAu7-Pw", - range: "Ongoing!A1:T", - }) - - console.log("r?.data?.values", r?.data?.values) - response.status(200).json(r?.data?.values) - // if (r?.data?.values) { - // const rows: JAVGame[] = r.data.values as JAVGame[] - // if (rows) { - // if (rows.length) { - // console.log('Name, Major:') - // // Print columns A and E, which correspond to indices 0 and 4. - // rows.map((row) => { - // console.log(`${row[0]}, ${row[4]}`) - // }) - // return { data: rows } - // } else { - // console.log('No data found.') - // } - // } - // } + return undefined } async function authorize(cred: any) { @@ -131,3 +88,5 @@ async function readlineAsync(question: string) { }) }) } + +export { SCOPES } diff --git a/src/pages/Home/Home.tsx b/src/pages/Home/Home.tsx index bd86e95..d1a60a3 100755 --- a/src/pages/Home/Home.tsx +++ b/src/pages/Home/Home.tsx @@ -4,8 +4,8 @@ import { useDispatch, useSelector, shallowEqual } from "react-redux" import { Helmet } from "react-helmet" import { AppState, AppThunk } from "../../store" -import { fetchJavGameListIfNeed } from "../../store/javGameList" -import { JavGameList } from "../../components" +import { fetchJeuxJavListIfNeed } from "../../store/jeuxJavList" +import { JeuxJavList } from "../../components" import styles from "./styles.module.scss" export type Props = RouteComponentProps @@ -26,20 +26,20 @@ function useList(stateToProp: (state: AppState) => any, fetchDataIfNeed: () => A if (readyStatus === "failure") return

Oops, Failed to load list!

- return + return } } const Home: FC = (): JSX.Element => (
- {useList((state: AppState) => state.javGameList, fetchJavGameListIfNeed)()} + {useList((state: AppState) => state.jeuxJavList, fetchJeuxJavListIfNeed)()}
) // Fetch server-side data here export const loadData = (): AppThunk[] => [ - fetchJavGameListIfNeed(), + fetchJeuxJavListIfNeed(), // More pre-fetched actions... ] diff --git a/src/pages/Home/__tests__/Home.tsx b/src/pages/Home/__tests__/Home.tsx index 556b0df..73383b0 100755 --- a/src/pages/Home/__tests__/Home.tsx +++ b/src/pages/Home/__tests__/Home.tsx @@ -4,13 +4,13 @@ import { render } from "@testing-library/react" import { MemoryRouter } from "react-router-dom" -import { fetchJavGameListIfNeed } from "../../../store/javGameList" +import { fetchJeuxJavListIfNeed } from "../../../store/jeuxJavList" import mockStore from "../../../utils/mockStore" import Home from "../Home" describe("", () => { const renderHelper = (reducer = { readyStatus: "invalid" }) => { - const { dispatch, ProviderWithStore } = mockStore({ javGameList: reducer }) + const { dispatch, ProviderWithStore } = mockStore({ jeuxJavList: reducer }) const { container } = render( @@ -28,7 +28,7 @@ describe("", () => { const { dispatch } = renderHelper() expect(dispatch).toHaveBeenCalledTimes(1) - expect(dispatch.mock.calls[0][0].toString()).toBe(fetchJavGameListIfNeed().toString()) + expect(dispatch.mock.calls[0][0].toString()).toBe(fetchJeuxJavListIfNeed().toString()) }) it("renders the loading status if data invalid", () => { diff --git a/src/pages/Home/__tests__/__snapshots__/Home.tsx.snap b/src/pages/Home/__tests__/__snapshots__/Home.tsx.snap index 5673243..70d36bf 100644 --- a/src/pages/Home/__tests__/__snapshots__/Home.tsx.snap +++ b/src/pages/Home/__tests__/__snapshots__/Home.tsx.snap @@ -15,18 +15,17 @@ exports[` renders the if loading was successful 1`] = ` class="Home" >

- JAV Games + Jeux JAV

diff --git a/src/server/index.ts b/src/server/index.ts index 20a832b..9753728 100755 --- a/src/server/index.ts +++ b/src/server/index.ts @@ -10,7 +10,7 @@ import chalk from "chalk" import devServer from "./devServer" import ssr from "./ssr" -import { getJAVGameList } from "../gsheets/jav" +import { getJeuxJavList } from "../gsheets/jeuxJav" import config from "../config" const app = express() @@ -31,7 +31,7 @@ app.use(express.static(path.resolve(process.cwd(), "public"))) if (__DEV__) devServer(app) // Google Sheets requests -app.get("/javGames", getJAVGameList) +app.get("/JeuxJav", getJeuxJavList) // Use React server-side rendering middleware app.get("*", ssr) diff --git a/src/services/javGames.ts b/src/services/jeuxJav.ts similarity index 65% rename from src/services/javGames.ts rename to src/services/jeuxJav.ts index 6ca0fbc..753fb2c 100644 --- a/src/services/javGames.ts +++ b/src/services/jeuxJav.ts @@ -2,7 +2,7 @@ import axios from "axios" import config from "../config" -export interface JavGame { +export interface JeuxJav { id: number titre: string auteur: string @@ -12,36 +12,34 @@ export interface JavGame { duree: number type: "Ambiance" | "Famille" | "Expert" | "" poufpaf: string - photo: string - bggPhoto: string bggId: number exemplaires: number // Defaults to 1 dispoPret: number nonRangee: number - horodatage: string ean: string + bggPhoto: string } -export interface JavGameList { - data?: JavGame[] +export interface JeuxJavList { + data?: JeuxJav[] error?: Error } -export interface JavGameData { - data?: JavGame +export interface JeuxJavData { + data?: JeuxJav error?: Error } -export const getJavGameList = async (): Promise => { +export const getJeuxJavList = async (): Promise => { try { - const { data } = await axios.get(`${config.API_URL}/javGames`) + const { data } = await axios.get(`${config.API_URL}/JeuxJav`) return { data } } catch (error) { return { error: error as Error } } } -export const getJavGameData = async (id: string): Promise => { +export const getJeuxJavData = async (id: string): Promise => { try { const { data } = await axios.get(`${config.API_URL}/users/${id}`) return { data } diff --git a/src/store/__tests__/javGameList.ts b/src/store/__tests__/jeuxJaveList.ts similarity index 78% rename from src/store/__tests__/javGameList.ts rename to src/store/__tests__/jeuxJaveList.ts index aad1530..604b56a 100644 --- a/src/store/__tests__/javGameList.ts +++ b/src/store/__tests__/jeuxJaveList.ts @@ -1,13 +1,13 @@ import axios from "axios" import mockStore from "../../utils/mockStore" -import javGameList, { +import JeuxJavList, { initialState, getRequesting, getSuccess, getFailure, - fetchJavGameList, -} from "../javGameList" + fetchJeuxJavList, +} from "../jeuxJavList" jest.mock("axios") @@ -34,14 +34,14 @@ const mockData = [ ] const mockError = "Oops! Something went wrong." -describe("javGameList reducer", () => { +describe("JeuxJavList reducer", () => { it("should handle initial state", () => { // @ts-expect-error - expect(javGameList(undefined, {})).toEqual(initialState) + expect(JeuxJavList(undefined, {})).toEqual(initialState) }) it("should handle requesting correctly", () => { - expect(javGameList(undefined, { type: getRequesting.type })).toEqual({ + expect(JeuxJavList(undefined, { type: getRequesting.type })).toEqual({ readyStatus: "request", items: [], error: null, @@ -49,7 +49,7 @@ describe("javGameList reducer", () => { }) it("should handle success correctly", () => { - expect(javGameList(undefined, { type: getSuccess.type, payload: mockData })).toEqual({ + expect(JeuxJavList(undefined, { type: getSuccess.type, payload: mockData })).toEqual({ ...initialState, readyStatus: "success", items: mockData, @@ -57,7 +57,7 @@ describe("javGameList reducer", () => { }) it("should handle failure correctly", () => { - expect(javGameList(undefined, { type: getFailure.type, payload: mockError })).toEqual({ + expect(JeuxJavList(undefined, { type: getFailure.type, payload: mockError })).toEqual({ ...initialState, readyStatus: "failure", error: mockError, @@ -65,8 +65,8 @@ describe("javGameList reducer", () => { }) }) -describe("javGameList action", () => { - it("fetches javGame list successful", async () => { +describe("JeuxJavList action", () => { + it("fetches JeuxJav list successful", async () => { const { dispatch, getActions } = mockStore() const expectedActions = [ { type: getRequesting.type }, @@ -76,11 +76,11 @@ describe("javGameList action", () => { // @ts-expect-error axios.get.mockResolvedValue({ data: mockData }) - await dispatch(fetchJavGameList()) + await dispatch(fetchJeuxJavList()) expect(getActions()).toEqual(expectedActions) }) - it("fetches javGame list failed", async () => { + it("fetches JeuxJav list failed", async () => { const { dispatch, getActions } = mockStore() const expectedActions = [ { type: getRequesting.type }, @@ -90,7 +90,7 @@ describe("javGameList action", () => { // @ts-expect-error axios.get.mockRejectedValue({ message: mockError }) - await dispatch(fetchJavGameList()) + await dispatch(fetchJeuxJavList()) expect(getActions()).toEqual(expectedActions) }) }) diff --git a/src/store/javGameList.ts b/src/store/javGameList.ts deleted file mode 100644 index ca0e1fb..0000000 --- a/src/store/javGameList.ts +++ /dev/null @@ -1,57 +0,0 @@ -import { PayloadAction, createSlice } from "@reduxjs/toolkit" - -import { JavGame, getJavGameList } from "../services/javGames" -import { AppThunk, AppState } from "." - -interface JavGameList { - readyStatus: string - items: JavGame[] - error: string | null -} - -export const initialState: JavGameList = { - readyStatus: "invalid", - items: [], - error: null, -} - -const javGameList = createSlice({ - name: "javGameList", - initialState, - reducers: { - getRequesting: (state: JavGameList) => { - state.readyStatus = "request" - }, - getSuccess: (state, { payload }: PayloadAction) => { - state.readyStatus = "success" - state.items = payload - }, - getFailure: (state, { payload }: PayloadAction) => { - state.readyStatus = "failure" - state.error = payload - }, - }, -}) - -export default javGameList.reducer -export const { getRequesting, getSuccess, getFailure } = javGameList.actions - -export const fetchJavGameList = (): AppThunk => async (dispatch) => { - dispatch(getRequesting()) - - const { error, data } = await getJavGameList() - - if (error) { - dispatch(getFailure(error.message)) - } else { - dispatch(getSuccess(data as JavGame[])) - } -} - -const shouldFetchJavGameList = (state: AppState) => state.javGameList.readyStatus !== "success" - -export const fetchJavGameListIfNeed = (): AppThunk => (dispatch, getState) => { - if (shouldFetchJavGameList(getState())) return dispatch(fetchJavGameList()) - - return null -} diff --git a/src/store/jeuxJavList.ts b/src/store/jeuxJavList.ts new file mode 100644 index 0000000..f94c7e4 --- /dev/null +++ b/src/store/jeuxJavList.ts @@ -0,0 +1,57 @@ +import { PayloadAction, createSlice } from "@reduxjs/toolkit" + +import { JeuxJav, getJeuxJavList } from "../services/jeuxJav" +import { AppThunk, AppState } from "." + +interface JeuxJavList { + readyStatus: string + items: JeuxJav[] + error: string | null +} + +export const initialState: JeuxJavList = { + readyStatus: "invalid", + items: [], + error: null, +} + +const jeuxJavList = createSlice({ + name: "jeuxJavList", + initialState, + reducers: { + getRequesting: (state: JeuxJavList) => { + state.readyStatus = "request" + }, + getSuccess: (state, { payload }: PayloadAction) => { + state.readyStatus = "success" + state.items = payload + }, + getFailure: (state, { payload }: PayloadAction) => { + state.readyStatus = "failure" + state.error = payload + }, + }, +}) + +export default jeuxJavList.reducer +export const { getRequesting, getSuccess, getFailure } = jeuxJavList.actions + +export const fetchJeuxJavList = (): AppThunk => async (dispatch) => { + dispatch(getRequesting()) + + const { error, data } = await getJeuxJavList() + + if (error) { + dispatch(getFailure(error.message)) + } else { + dispatch(getSuccess(data as JeuxJav[])) + } +} + +const shouldFetchJeuxJavList = (state: AppState) => state.jeuxJavList.readyStatus !== "success" + +export const fetchJeuxJavListIfNeed = (): AppThunk => (dispatch, getState) => { + if (shouldFetchJeuxJavList(getState())) return dispatch(fetchJeuxJavList()) + + return null +} diff --git a/src/store/rootReducer.ts b/src/store/rootReducer.ts index 065d286..1f086ed 100644 --- a/src/store/rootReducer.ts +++ b/src/store/rootReducer.ts @@ -3,14 +3,14 @@ import { connectRouter } from "connected-react-router" import userList from "./userList" import userData from "./userData" -import javGameList from "./javGameList" +import jeuxJavList from "./jeuxJavList" // Use inferred return type for making correctly Redux types // eslint-disable-next-line @typescript-eslint/explicit-module-boundary-types export default (history: History) => ({ userList, userData, - javGameList, + jeuxJavList, router: connectRouter(history) as any, // Register more reducers... })