{ "name": "@seahaven-ap/web", "version": "0.1.0", "private": true, "type": "module", "workspaces": [ "packages/*" ], "scripts": { "dev": "npm run build:shared && vite", "dev:api": "npm run build:shared && npm run dev -w @seahaven-ap/api", "generate:router": "node scripts/generate-router.mjs", "build:shared": "npm run build -w @seahaven-ap/shared", "build:api": "npm run build:shared && npm run build -w @seahaven-ap/api", "build": "npm run build:shared && npm run build:api && npm run generate:router && tsc -b && vite build", "preview": "vite preview", "db:migrate": "npm run db:migrate -w @seahaven-ap/api", "db:seed": "npm run db:seed -w @seahaven-ap/api", "db:generate": "npm run db:generate -w @seahaven-ap/api", "test": "npm run test -w @seahaven-ap/shared && npm run test -w @seahaven-ap/api && vitest run", "test:watch": "vitest", "test:e2e": "playwright test", "lint": "eslint . --max-warnings=0 && npm run lint:api", "lint:api": "redocly lint packages/api/openapi/openapi.yaml --config=redocly.yaml", "lint:fix": "eslint . --fix --max-warnings=0", "docs:build": "redocly build-docs packages/api/openapi/openapi.yaml --config=redocly.yaml -o /tmp/seahaven-ap-api-docs.html", "docs:preview": "npm run docs:build && open /tmp/seahaven-ap-api-docs.html", "format": "prettier --write .", "format:check": "prettier --check .", "verify": "npm run format:check && npm run lint && npm run build && npm test" }, "engines": { "node": "^22.22.2 || ^24.15.0 || >=26.0.0" }, "packageManager": "npm@12.0.2", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", "@emotion/react": "^11.14.0", "@emotion/styled": "^11.14.1", "@fontsource/ibm-plex-sans": "^5.3.0", "@fontsource/ibm-plex-serif": "^5.3.0", "@generouted/react-router": "^1.20.2", "@mui/icons-material": "^9.4.0", "@mui/material": "^9.4.0", "@mui/x-data-grid": "^9.14.0", "@seahaven-ap/shared": "workspace:*", "@tanstack/react-query": "^5.103.1", "@tanstack/react-query-devtools": "^5.103.1", "ky": "^2.1.0", "react": "^19.3.0", "react-dom": "^19.3.0", "react-router": "^8.4.0" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.63.0", "@redocly/cli": "^2.53.3", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.3", "@types/node": "^24.13.5", "@types/react": "^19.3.0", "@types/react-dom": "^19.3.0", "@vitejs/plugin-react": "^6.1.1", "eslint": "^10.10.0", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.7", "globals": "^17.12.0", "jsdom": "^30.1.0", "prettier": "^3.9.8", "typescript": "^5.9.3", "typescript-eslint": "^8.70.0", "vite": "^8.3.0", "vitest": "^5.0.1" } }