{ "name": "bodyshop", "version": "0.2.1", "engines": { "node": ">=22.0.0" }, "type": "module", "private": true, "proxy": "http://localhost:4000", "dependencies": { "@ant-design/pro-layout": "^7.22.4", "@apollo/client": "^3.13.6", "@emotion/is-prop-valid": "^1.3.1", "@fingerprintjs/fingerprintjs": "^4.6.1", "@firebase/analytics": "^0.10.16", "@firebase/app": "^0.13.0", "@firebase/auth": "^1.10.6", "@firebase/firestore": "^4.7.16", "@firebase/messaging": "^0.12.21", "@jsreport/browser-client": "^3.1.0", "@reduxjs/toolkit": "^2.8.2", "@sentry/cli": "^2.45.0", "@sentry/react": "^9.22.0", "@sentry/vite-plugin": "^3.5.0", "@splitsoftware/splitio-react": "^2.1.1", "@tanem/react-nprogress": "^5.0.53", "antd": "^5.25.3", "apollo-link-logger": "^2.0.1", "apollo-link-sentry": "^4.3.0", "autosize": "^6.0.1", "axios": "^1.8.4", "classnames": "^2.5.1", "css-box-model": "^1.2.1", "dayjs": "^1.11.13", "dayjs-business-days2": "^1.3.0", "dinero.js": "^1.9.1", "dotenv": "^16.4.7", "env-cmd": "^10.1.0", "exifr": "^7.1.3", "graphql": "^16.11.0", "i18next": "^24.2.3", "i18next-browser-languagedetector": "^8.1.0", "immutability-helper": "^3.1.1", "libphonenumber-js": "^1.12.8", "logrocket": "^9.0.2", "markerjs2": "^2.32.4", "memoize-one": "^6.0.0", "normalize-url": "^8.0.1", "object-hash": "^3.0.0", "phone": "^3.1.59", "prop-types": "^15.8.1", "query-string": "^9.2.0", "raf-schd": "^4.0.3", "react": "^18.3.1", "react-big-calendar": "^1.18.0", "react-color": "^2.19.3", "react-cookie": "^8.0.1", "react-dom": "^18.3.1", "react-drag-listview": "^2.0.0", "react-grid-gallery": "^1.0.1", "react-grid-layout": "1.3.4", "react-i18next": "^15.5.2", "react-icons": "^5.5.0", "react-image-lightbox": "^5.1.4", "react-markdown": "^10.1.0", "react-number-format": "^5.4.3", "react-popopo": "^2.1.9", "react-product-fruits": "^2.2.61", "react-redux": "^9.2.0", "react-resizable": "^3.0.5", "react-router-dom": "^6.30.0", "react-sticky": "^6.0.3", "react-virtuoso": "^4.12.7", "recharts": "^2.15.2", "redux": "^5.0.1", "redux-actions": "^3.0.3", "redux-persist": "^6.0.0", "redux-saga": "^1.3.0", "redux-state-sync": "^3.1.4", "reselect": "^5.1.1", "sass": "^1.89.0", "socket.io-client": "^4.8.1", "styled-components": "^6.1.18", "subscriptions-transport-ws": "^0.11.0", "use-memo-one": "^1.1.3", "vite-plugin-ejs": "^1.7.0", "web-vitals": "^3.5.2" }, "scripts": { "postinstall": "echo 'when updating react-big-calendar, remember to check to localizer in the calendar wrapper'", "analyze": "source-map-explorer 'build/static/js/*.js'", "start": "vite", "build": "dotenvx run --env-file=.env.development.imex -- vite build", "start:imex": "dotenvx run --env-file=.env.development.imex -- vite", "start:rome": "dotenvx run --env-file=.env.development.rome -- vite", "preview:imex": "dotenvx run --env-file=.env.development.imex -- vite preview", "preview:rome": "dotenvx run --env-file=.env.development.rome -- vite preview", "build:test:imex": "env-cmd -f .env.test.imex npm run build", "build:test:rome": "env-cmd -f .env.test.rome npm run build", "build:production:imex": "env-cmd -f .env.production.imex npm run build", "build:production:rome": "env-cmd -f .env.production.rome npm run build", "madge": "madge --image ./madge-graph.svg --extensions js,jsx,ts,tsx --circular .", "eulaize": "node src/utils/eulaize.js", "test:unit": "vitest run", "test:watch": "vitest", "test:e2e:imex": "playwright test --config playwright.config.js", "test:e2e:rome": "playwright test --config playwright.rome.config.js", "test:e2e:imex:headed": "playwright test --config playwright.config.js --headed", "test:e2e:rome:headed": "playwright test --config playwright.rome.config.js --headed", "test:e2e:report": "playwright show-report" }, "browserslist": { "production": [ ">0.2%", "not dead", "not op_mini all" ], "development": [ "last 1 chrome version", "last 1 firefox version", "last 1 safari version" ] }, "resolutions": { "react-error-overlay": "6.0.9" }, "optionalDependencies": { "@rollup/rollup-linux-x64-gnu": "4.6.1" }, "devDependencies": { "@ant-design/icons": "^6.0.0", "@babel/plugin-proposal-private-property-in-object": "^7.21.11", "@babel/preset-react": "^7.27.1", "@dotenvx/dotenvx": "^1.44.1", "@emotion/babel-plugin": "^11.13.5", "@emotion/react": "^11.14.0", "@eslint/js": "^9.27.0", "@playwright/test": "^1.51.1", "@sentry/webpack-plugin": "^3.5.0", "@testing-library/dom": "^10.4.0", "@testing-library/jest-dom": "^6.6.3", "@testing-library/react": "^16.3.0", "@vitejs/plugin-react": "^4.5.0", "browserslist": "^4.24.5", "browserslist-to-esbuild": "^2.1.1", "chalk": "^5.4.1", "eslint": "^8.57.1", "eslint-config-react-app": "^7.0.1", "eslint-plugin-react": "^7.37.5", "globals": "^15.15.0", "jsdom": "^26.0.0", "memfs": "^4.17.2", "os-browserify": "^0.3.0", "playwright": "^1.51.1", "react-error-overlay": "^6.1.0", "redux-logger": "^3.0.6", "source-map-explorer": "^2.5.3", "vite": "^6.3.5", "vite-plugin-babel": "^1.3.1", "vite-plugin-eslint": "^1.8.1", "vite-plugin-node-polyfills": "^0.23.0", "vite-plugin-pwa": "^1.0.0", "vite-plugin-style-import": "^2.0.0", "vitest": "^3.1.4", "workbox-window": "^7.3.0" } }