{ "name": "frontend", "version": "1.0.0", "description": "", "main": "webpack.config.js", "scripts": { "i18n:generate-hash": "node ./i18-generate-hash.js", "dev": "npm run i18n:generate-hash && cross-env NODE_ENV=development webpack serve --progress", "build": "npm run i18n:generate-hash && webpack --config=webpack.config.prod.js --progress", "prettify": "prettier --write .", "lint": "npm run i18n:generate-hash && eslint ./src", "lint:fix": "npm run i18n:generate-hash && eslint ./src --fix", "jest": "jest", "jest:coverage": "jest --coverage", "jest:watch": "jest --watch", "postinstall": "is-ci || yarn husky:configure", "playwright": "npm run i18n:generate-hash && NODE_ENV=testing playwright test --config=./playwright.config.ts", "playwright:local:debug": "PWDEBUG=console yarn playwright --headed --browser=chromium", "playwright:codegen:local": "playwright codegen http://localhost:3301", "playwright:codegen:local:auth": "yarn playwright:codegen:local --load-storage=tests/auth.json", "husky:configure": "cd .. && husky install frontend/.husky && cd frontend && chmod ug+x .husky/*", "commitlint": "commitlint --edit $1" }, "engines": { "node": ">=16.15.0" }, "author": "", "license": "ISC", "dependencies": { "@ant-design/colors": "6.0.0", "@ant-design/icons": "4.8.0", "@grafana/data": "^8.4.3", "@monaco-editor/react": "^4.3.1", "@xstate/react": "^3.0.0", "antd": "5.0.5", "axios": "^0.21.0", "babel-eslint": "^10.1.0", "babel-jest": "^26.6.0", "babel-loader": "8.1.0", "babel-plugin-named-asset-import": "^0.3.7", "babel-preset-minify": "^0.5.1", "babel-preset-react-app": "^10.0.0", "chart.js": "3.9.1", "chartjs-adapter-date-fns": "^2.0.0", "chartjs-plugin-annotation": "^1.4.0", "color": "^4.2.1", "cross-env": "^7.0.3", "css-loader": "4.3.0", "css-minimizer-webpack-plugin": "^3.2.0", "d3": "^6.2.0", "d3-flame-graph": "^3.1.1", "d3-tip": "^0.9.1", "dayjs": "^1.10.7", "dotenv": "8.2.0", "event-source-polyfill": "1.0.31", "file-loader": "6.1.1", "flat": "^5.0.2", "fontfaceobserver": "2.3.0", "history": "4.10.1", "html-webpack-plugin": "5.1.0", "i18next": "^21.6.12", "i18next-browser-languagedetector": "^6.1.3", "i18next-http-backend": "^1.3.2", "jest": "^27.5.1", "js-base64": "^3.7.2", "less": "^4.1.2", "less-loader": "^10.2.0", "lodash-es": "^4.17.21", "mini-css-extract-plugin": "2.4.5", "react": "18.2.0", "react-dom": "18.2.0", "react-force-graph": "^1.41.0", "react-graph-vis": "^1.0.5", "react-grid-layout": "^1.3.4", "react-i18next": "^11.16.1", "react-intersection-observer": "9.4.1", "react-query": "^3.34.19", "react-redux": "^7.2.2", "react-router-dom": "^5.2.0", "react-use": "^17.3.2", "react-virtuoso": "4.0.3", "redux": "^4.0.5", "redux-thunk": "^2.3.0", "stream": "^0.0.2", "style-loader": "1.3.0", "styled-components": "^5.2.1", "terser-webpack-plugin": "^5.2.5", "timestamp-nano": "^1.0.0", "ts-node": "^10.2.1", "tsconfig-paths-webpack-plugin": "^3.5.1", "typescript": "^4.0.5", "uuid": "^8.3.2", "web-vitals": "^0.2.4", "webpack": "^5.23.0", "webpack-dev-server": "^4.3.1", "xstate": "^4.31.0" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "devDependencies": { "@babel/core": "^7.12.3", "@babel/plugin-proposal-class-properties": "^7.12.13", "@babel/plugin-syntax-jsx": "^7.12.13", "@babel/preset-env": "^7.12.17", "@babel/preset-react": "^7.12.13", "@babel/preset-typescript": "^7.12.17", "@commitlint/cli": "^16.2.4", "@commitlint/config-conventional": "^16.2.4", "@jest/globals": "^27.5.1", "@playwright/test": "^1.22.0", "@testing-library/jest-dom": "5.16.5", "@testing-library/react": "13.4.0", "@testing-library/user-event": "14.4.3", "@types/color": "^3.0.3", "@types/compression-webpack-plugin": "^9.0.0", "@types/copy-webpack-plugin": "^8.0.1", "@types/d3": "^6.2.0", "@types/d3-tip": "^3.5.5", "@types/event-source-polyfill": "^1.0.0", "@types/flat": "^5.0.2", "@types/fontfaceobserver": "2.1.0", "@types/jest": "^27.5.1", "@types/lodash-es": "^4.17.4", "@types/mini-css-extract-plugin": "^2.5.1", "@types/node": "^16.10.3", "@types/react": "18.0.26", "@types/react-dom": "18.0.10", "@types/react-grid-layout": "^1.1.2", "@types/react-redux": "^7.1.11", "@types/react-resizable": "3.0.3", "@types/react-router-dom": "^5.1.6", "@types/styled-components": "^5.1.4", "@types/uuid": "^8.3.1", "@types/vis": "^4.21.21", "@types/webpack": "^5.28.0", "@types/webpack-dev-server": "^4.3.0", "@typescript-eslint/eslint-plugin": "^4.28.2", "@typescript-eslint/parser": "^4.28.2", "@welldone-software/why-did-you-render": "6.2.1", "autoprefixer": "^9.0.0", "babel-plugin-styled-components": "^1.12.0", "compression-webpack-plugin": "9.0.0", "copy-webpack-plugin": "^8.1.0", "critters-webpack-plugin": "^3.0.1", "eslint": "^7.30.0", "eslint-config-airbnb": "^19.0.4", "eslint-config-airbnb-typescript": "^16.1.4", "eslint-config-prettier": "^8.3.0", "eslint-config-standard": "^16.0.3", "eslint-plugin-import": "^2.25.4", "eslint-plugin-jest": "^26.1.2", "eslint-plugin-jsx-a11y": "^6.5.1", "eslint-plugin-node": "^11.1.0", "eslint-plugin-prettier": "^4.0.0", "eslint-plugin-promise": "^5.1.0", "eslint-plugin-react": "^7.24.0", "eslint-plugin-react-hooks": "^4.3.0", "eslint-plugin-simple-import-sort": "^7.0.0", "eslint-plugin-sonarjs": "^0.12.0", "husky": "^7.0.4", "is-ci": "^3.0.1", "jest-playwright-preset": "^1.7.0", "jest-styled-components": "^7.0.8", "less-plugin-npm-import": "^2.1.0", "lint-staged": "^12.3.7", "portfinder-sync": "^0.0.2", "prettier": "2.2.1", "react-hooks-testing-library": "0.6.0", "react-hot-loader": "^4.13.0", "react-resizable": "3.0.4", "ts-jest": "^27.1.4", "ts-node": "^10.2.1", "typescript-plugin-css-modules": "^3.4.0", "webpack-bundle-analyzer": "^4.5.0", "webpack-cli": "^4.9.2" }, "lint-staged": { "*.(js|jsx|ts|tsx)": [ "eslint --fix" ] }, "resolutions": { "@types/react": "18.0.26", "@types/react-dom": "18.0.10" } }