{ "name": "web", "version": "0.0.0", "private": true, "type": "module", "scripts": { "build": "next build --turbopack", "clean": "git clean -xdf .next .turbo node_modules coverage .swc .cache", "dev": "next dev --turbopack", "format": "prettier --check . --ignore-path ../../.gitignore --ignore-path .prettierignore", "format:fix": "prettier --write --list-different \"./src/**/*.{js,cjs,mjs,ts,tsx,md,json}\"", "generate-api-type": "openapi-typescript http://0.0.0.0:4000/admin-docs-json --output src/shared/types/api.type.ts --default-non-nullable=false --empty-objects-unknown", "lint": "eslint", "start": "next start", "test": "SKIP_ENV_VALIDATION=1 jest --passWithNoTests", "test:snapshot": "jest -u", "test:ci": "jest --ci --passWithNoTests", "test:watch": "SKIP_ENV_VALIDATION=1 jest --watch --passWithNoTests", "typecheck": "tsc --noEmit" }, "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/modifiers": "^9.0.0", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@faker-js/faker": "^10.4.0", "@hookform/resolvers": "^5.2.2", "@number-flow/react": "^0.6.0", "@radix-ui/react-slider": "^1.3.6", "@t3-oss/env-nextjs": "^0.13.11", "@tanstack/react-query": "^5.95.2", "@tanstack/react-query-devtools": "^5.95.2", "@tanstack/react-table": "^8.21.3", "@toss/use-overlay": "^1.4.2", "@ufb/react": "workspace:*", "@ufb/shared": "workspace:*", "@ufb/tailwindcss": "workspace:*", "axios": "^1.13.6", "axios-auth-refresh": "^5.0.2", "classnames": "^2.5.1", "clsx": "^2.1.1", "cookies-next": "^6.1.1", "countries-and-timezones": "^3.8.0", "date-fns": "^4.1.0", "dayjs": "^1.11.20", "formidable": "^3.5.4", "framer-motion": "^12.38.0", "i18next": "^25.10.5", "immer": "^11.1.4", "jwt-decode": "^4.0.0", "linkify": "^0.2.1", "linkify-react": "^4.3.2", "next": "^16.1.3", "next-i18next": "^15.4.3", "next-themes": "^0.4.6", "nuqs": "2.4.3", "pino": "^10.3.1", "react": "^19.2.4", "react-content-loader": "^7.1.2", "react-dom": "^19.2.4", "react-hook-form": "^7.72.0", "react-i18next": "^16.6.2", "react-select": "^5.10.2", "react-use": "^17.6.0", "recharts": "^3.5.0", "sharp": "^0.34.5", "swiper": "^12.1.2", "tailwind-merge": "^3.5.0", "tailwind-scrollbar-hide": "^4.0.0", "zod": "^4.3.6", "zustand": "^5.0.12" }, "devDependencies": { "@babel/core": "^7.29.0", "@rollup/plugin-commonjs": "^29.0.2", "@svgr/webpack": "^8.1.0", "@swc/core": "1.13.5", "@swc/jest": "^0.2.39", "@testing-library/jest-dom": "^6.9.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.1", "@types/formidable": "^3.5.1", "@types/jest": "^30.0.0", "@types/node": "24.12.0", "@types/react": "^19.2.14", "@types/react-dom": "^19.2.3", "@ufb/eslint-config": "workspace:*", "@ufb/prettier-config": "workspace:*", "@ufb/tsconfig": "workspace:*", "autoprefixer": "^10.4.27", "eslint": "catalog:", "jest": "^30.3.0", "jest-environment-jsdom": "^30.3.0", "jest-fixed-jsdom": "^0.0.11", "jiti": "1.21.7", "next-router-mock": "^1.0.5", "openapi-typescript": "^7.13.0", "postcss": "^8.5.8", "prettier": "catalog:", "tailwindcss": "^3.4.19", "ts-toolbelt": "^9.6.0", "typescript": "catalog:" }, "prettier": "@ufb/prettier-config" }