{ "name": "pi-hole_web", "version": "0.1.0", "private": true, "homepage": ".", "engines": { "node": ">=10" }, "devDependencies": { "@types/chart.js": "^2.9.19", "@types/enzyme": "^3.10.5", "@types/enzyme-adapter-react-16": "^1.0.6", "@types/fetch-mock": "^7.3.2", "@types/jest": "^25.2.1", "@types/lodash.debounce": "^4.0.6", "@types/lodash.isequal": "^4.5.5", "@types/node": "^13.13.2", "@types/react": "^16.9.34", "@types/react-bootstrap-daterangepicker": "0.0.26", "@types/react-bootstrap-typeahead": "^3.4.5", "@types/react-dom": "^16.9.6", "@types/react-redux": "^7.1.7", "@types/react-router-dom": "^5.1.4", "@types/react-table": "^6.8.7", "@types/reactstrap": "^8.4.2", "@types/sha.js": "^2.4.0", "enzyme": "^3.11.0", "enzyme-adapter-react-16": "^1.15.2", "faker": "^4.1.0", "fetch-mock": "^9.4.0", "fs-extra": "^9.0.0", "iso-639-1": "^2.1.1", "jest-enzyme": "^7.1.2", "jest-localstorage-mock": "^2.4.0", "node-fetch": "^2.6.0", "node-sass": "^4.14.0", "prettier": "^2.0.5", "react-scripts": "^3.4.1", "redux-saga-test-plan": "^4.0.0-rc.3", "typescript": "^3.8.3" }, "dependencies": { "@coreui/coreui": "^2.1.16", "@fortawesome/fontawesome-free": "^5.13.0", "@reduxjs/toolkit": "^1.3.5", "bootstrap-daterangepicker": "^3.0.5", "chart.js": "^2.9.3", "cross-env": "^7.0.2", "i18next": "^19.4.3", "i18next-browser-languagedetector": "^4.1.1", "i18next-xhr-backend": "^3.2.2", "lodash.debounce": "^4.0.8", "lodash.isequal": "^4.5.0", "moment": "^2.24.0", "react": "^16.13.1", "react-app-polyfill": "^1.0.6", "react-bootstrap-daterangepicker": "^4.1.0", "react-bootstrap-typeahead": "^4.2.2", "react-chartjs-2": "^2.9.0", "react-dom": "^16.13.1", "react-i18next": "^11.3.5", "react-redux": "^7.2.0", "react-router-dom": "^5.1.2", "react-table": "^6.11.5", "reactstrap": "^8.4.1", "redux-saga": "^1.1.3", "sha.js": "^2.4.11" }, "scripts": { "start": "npm run generate-language-list && react-scripts start", "start-fake": "npm run make-fake-data && cross-env REACT_APP_FAKE_API=1 npm run start", "build": "npm run generate-language-list && react-scripts build", "build-fake": "npm run make-fake-data && cross-env REACT_APP_FAKE_API=1 npm run build", "generate-language-list": "node scripts/generate-language-list.js", "make-fake-data": "node scripts/make-fake-data.js", "test": "react-scripts test --env=jsdom", "coverage": "react-scripts test --env=jsdom --coverage", "codecov": "codecov", "lint": "eslint --ignore-path .gitignore --ext js,ts,tsx .", "eject": "react-scripts eject", "format": "prettier --write \"**/*.{js,tsx}\" --ignore-path .gitignore", "check-format": "prettier --list-different \"**/*.{js,tsx}\" --ignore-path .gitignore" }, "browserslist": [ "defaults", ">0.2%", "not dead", "not Android < 6", "Explorer 11", "not ExplorerMobile <= 11", "not OperaMini all" ], "prettier": { "arrowParens": "avoid", "trailingComma": "none" }, "eslintConfig": { "root": true, "extends": [ "react-app" ], "rules": { "react/display-name": "off", "react/no-access-state-in-setstate": "error", "react/prop-types": "off" } } }