{ "name": "web-new", "private": true, "version": "0.0.0", "type": "module", "scripts": { "dev": "vite --host", "postinstall": "patch-package", "build": "tsc && vite build --base=/BASE_PATH/", "lint": "eslint . && npm run e2e:lint", "e2e:lint": "node e2e/scripts/lint-specs.mjs", "lint:fix": "eslint --fix .", "preview": "vite preview", "prettier:write": "prettier -u -w --ignore-path .gitignore \"*.{ts,tsx,js,jsx,css,html}\"", "e2e:build": "tsc && vite build --base=/", "e2e": "playwright test --config e2e/playwright.config.ts", "e2e:ui": "playwright test --config e2e/playwright.config.ts --ui", "e2e:headed": "playwright test --config e2e/playwright.config.ts --headed", "i18n:extract": "i18next-cli extract", "i18n:extract:ci": "i18next-cli extract --ci", "i18n:status": "i18next-cli status" }, "dependencies": { "@cycjimmy/jsmpeg-player": "^6.1.2", "@hookform/resolvers": "^5.9.1", "@radix-ui/react-alert-dialog": "^1.1.23", "@radix-ui/react-aspect-ratio": "^1.1.15", "@radix-ui/react-checkbox": "^1.3.11", "@radix-ui/react-collapsible": "^1.1.20", "@radix-ui/react-context-menu": "^2.3.7", "@radix-ui/react-dialog": "^1.1.23", "@radix-ui/react-dropdown-menu": "^2.1.24", "@radix-ui/react-hover-card": "^1.1.23", "@radix-ui/react-label": "^2.1.15", "@radix-ui/react-popover": "^1.1.23", "@radix-ui/react-progress": "^1.1.16", "@radix-ui/react-radio-group": "^1.4.7", "@radix-ui/react-scroll-area": "^1.2.18", "@radix-ui/react-select": "^2.3.7", "@radix-ui/react-separator": "^1.1.15", "@radix-ui/react-slider": "^1.4.7", "@radix-ui/react-slot": "1.2.4", "@radix-ui/react-switch": "^1.3.7", "@radix-ui/react-tabs": "^1.1.21", "@radix-ui/react-toggle": "^1.1.18", "@radix-ui/react-toggle-group": "^1.1.19", "@radix-ui/react-tooltip": "^1.2.16", "@rjsf/core": "^6.10.0", "@rjsf/shadcn": "^6.10.0", "@rjsf/utils": "^6.10.0", "@rjsf/validator-ajv8": "^6.10.0", "apexcharts": "^7.3.0", "axios": "^1.20.0", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "cmdk": "^1.0.0", "copy-to-clipboard": "^4.0.2", "date-fns": "^4.4.0", "date-fns-tz": "^3.2.0", "framer-motion": "^13.3.0", "hls.js": "^1.7.3", "i18next": "^26.4.2", "i18next-http-backend": "^4.0.2", "idb-keyval": "^6.3.0", "js-yaml": "^5.4.2", "konva": "^10.5.0", "lodash": "^4.18.1", "lucide-react": "^1.46.0", "monaco-yaml": "^5.5.1", "next-themes": "^0.4.6", "nosleep.js": "^0.12.0", "react": "^19.3.0", "react-apexcharts": "^2.1.1", "react-day-picker": "^9.14.0", "react-device-detect": "^2.2.3", "react-dom": "^19.3.0", "react-dropzone": "^20.1.2", "react-grid-layout": "^2.2.4", "react-hook-form": "^7.88.0", "react-i18next": "^17.0.14", "react-icons": "^5.7.0", "react-konva": "^19.2.7", "react-markdown": "^10.1.0", "react-router-dom": "^6.30.6", "react-swipeable": "^7.0.2", "react-zoom-pan-pinch": "3.4.4", "remark-gfm": "^4.0.0", "scroll-into-view-if-needed": "^3.1.0", "sonner": "^2.0.8", "swr": "^2.5.1", "tailwind-merge": "^3.7.0", "tailwind-scrollbar": "^3.1.0", "tailwindcss-animate": "^1.0.7", "use-long-press": "^3.3.0", "vaul": "^1.1.2", "virtua": "^0.51.3", "vite-plugin-monaco-editor": "^1.1.0", "zod": "^3.25.76" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.63.0", "@types/js-yaml": "^4.0.9", "@types/lodash": "^4.17.25", "@types/node": "^26.5.1", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", "autoprefixer": "^10.6.0", "esbuild": "^0.28.2", "eslint": "^10.10.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-prettier": "^5.5.6", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.12.0", "i18next-cli": "^1.5.11", "monaco-editor": "^0.52.2", "patch-package": "^8.0.1", "postcss": "^8.5.12", "prettier": "^3.9.6", "prettier-plugin-tailwindcss": "^0.8.1", "tailwindcss": "^3.4.9", "typescript": "^5.9.3", "typescript-eslint": "^8.70.0", "vite": "^8.3.0" }, "overrides": { "@radix-ui/react-compose-refs": "1.1.2", "@radix-ui/react-popper": "1.2.8", "@radix-ui/react-slot": "1.2.4" } }