{ "name": "booklib-web", "version": "0.1.0", "description": "", "main": "index.js", "scripts": { "test": "vitest run", "dev": "vite", "e2e": "playwright test", "e2e:ui": "playwright test --ui", "build": "tsc --noEmit && vite build", "analyze": "ANALYZE=1 vite build", "preview": "vite preview", "check": "tsc --noEmit && eslint . && prettier --check . && vitest run && vite build", "lint": "eslint .", "lint:fix": "eslint . --fix", "format": "prettier --write .", "format:check": "prettier --check ." }, "keywords": [], "author": "", "license": "ISC", "type": "module", "private": "true", "dependencies": { "@tanstack/react-query": "^5.102.8", "class-variance-authority": "^0.7.1", "clsx": "^2.1.1", "dompurify": "^3.4.15", "epubjs": "^0.3.93", "lucide-react": "^1.42.0", "marked": "^18.0.11", "pdfjs-dist": "^6.3.289", "radix-ui": "^1.6.7", "react": "^19.2.8", "react-dom": "^19.2.8", "react-router-dom": "^7.18.3", "tailwind-merge": "^3.6.0", "tw-animate-css": "^1.4.0" }, "devDependencies": { "@axe-core/playwright": "^4.13.0", "@eslint/js": "^10.0.1", "@playwright/test": "^1.63.0", "@tailwindcss/vite": "^4.3.3", "@testing-library/dom": "^10.4.2", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", "@testing-library/user-event": "^14.6.7", "@types/node": "^22.20.3", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.7", "@typescript/native": "npm:typescript@^7.0.2", "@vitejs/plugin-react": "^6.1.1", "eslint": "^10.10.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-jsx-a11y": "^6.10.2", "eslint-plugin-react-hooks": "^7.1.1", "jsdom": "^30.0.1", "prettier": "^3.9.6", "rollup-plugin-visualizer": "^7.1.1", "tailwindcss": "^4.3.3", "typescript": "npm:@typescript/typescript6@^6.0.2", "typescript-eslint": "^8.70.0", "vite": "^8.2.2", "vite-plugin-pwa": "^1.3.0", "vitest": "^5.0.0" } }