{ "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.1" }, "packageManager": "npm@11.16.0", "dependencies": { "@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": "^7.3.2", "@mui/material": "^7.3.2", "@mui/x-data-grid": "^8.11.0", "@seahaven-ap/shared": "workspace:*", "@tanstack/react-query": "^5.85.5", "@tanstack/react-query-devtools": "^5.85.5", "ky": "^2.0.2", "react": "^19.1.1", "react-dom": "^19.1.1", "react-router": "^8.3.0" }, "devDependencies": { "@eslint/js": "^10.0.1", "@playwright/test": "^1.55.0", "@redocly/cli": "^2.44.1", "@testing-library/jest-dom": "^7.0.0", "@testing-library/react": "^16.3.0", "@types/node": "^24.3.0", "@types/react": "^19.1.12", "@types/react-dom": "^19.1.9", "@vitejs/plugin-react": "^5.0.2", "eslint": "^10.8.1", "eslint-config-prettier": "^10.1.8", "eslint-plugin-react-hooks": "^7.1.1", "eslint-plugin-react-refresh": "^0.5.3", "globals": "^16.3.0", "jsdom": "^26.1.0", "prettier": "^3.6.2", "typescript": "^5.9.2", "typescript-eslint": "^8.41.0", "vite": "^7.1.3", "vitest": "^3.2.4" } }