{ "name": "opendiving-web", "version": "0.7.0", "private": true, "engines": { "node": ">=24 <25" }, "scripts": { "maplibre:worker": "node scripts/copy-maplibre-worker.mjs", "predev": "npm run maplibre:worker", "prebuild": "npm run maplibre:worker", "pretest": "npm run maplibre:worker", "pretest:watch": "npm run maplibre:worker", "pretest:coverage": "npm run maplibre:worker", "dev": "next dev", "build": "next build && npm run build:map-renderer", "build:map-renderer": "node scripts/build-map-renderer.mjs", "start": "next start", "map-renderer": "npm run build:map-renderer && node --env-file-if-exists=.env build/map-renderer/index.mjs", "lint": "eslint .", "lint:fix": "eslint . --fix", "type-check": "tsc --noEmit", "type-check:watch": "tsc --noEmit --watch", "format": "prettier --write \"src/**/*.{ts,tsx,js,jsx,json,css,scss}\" \"e2e/**/*.ts\" \"scripts/**/*.mjs\" \"*.{js,mjs,ts,mts}\" \"**/*.md\"", "format:check": "prettier --check \"src/**/*.{ts,tsx,js,jsx,json,css,scss}\" \"e2e/**/*.ts\" \"scripts/**/*.mjs\" \"*.{js,mjs,ts,mts}\" \"**/*.md\"", "test": "vitest run", "test:watch": "vitest", "test:coverage": "vitest run --coverage", "test:e2e": "playwright test", "screenshots": "node scripts/screenshots.mjs", "measure-navigations": "node scripts/measure-navigations.mjs", "clean": "rm -rf .next out", "ci": "npm run lint && npm run type-check && npm run test && npm run build" }, "dependencies": { "@base-ui/react": "^1.9.0", "@hookform/resolvers": "^5.7.1", "@maplibre/maplibre-gl-native": "^6.4.1", "@scalar/api-reference-react": "0.9.86", "@simplewebauthn/browser": "^14.0.0", "axios": "^1.19.0", "class-variance-authority": "^0.7.0", "clsx": "^2.0.0", "lucide-react": "^1.28.0", "maplibre-gl": "^6.6.0", "next": "^16.3.0", "next-themes": "^0.4.6", "qrcode": "^1.5.4", "react": "^19.2.8", "react-day-picker": "^10.0.1", "react-dom": "^19.2.8", "react-easy-crop": "^6.2.3", "react-hook-form": "^7.84.0", "sharp": "^0.35.3", "tailwind-merge": "^3.6.0", "tailwindcss-animate": "^1.0.7", "zod": "^4.4.3" }, "devDependencies": { "@next/playwright": "^16.3.5", "@playwright/test": "^1.63.0", "@tailwindcss/postcss": "^4.3.3", "@testing-library/dom": "^10.4.1", "@testing-library/jest-dom": "^7.0.1", "@testing-library/react": "^16.3.2", "@testing-library/user-event": "^14.6.3", "@types/node": "^24.13.3", "@types/qrcode": "^1.5.6", "@types/react": "^19.2.18", "@types/react-dom": "^19.2.4", "@typescript-eslint/parser": "^8.70.0", "@vitest/browser-playwright": "^5.0.0", "@vitest/coverage-v8": "^5.0.0", "axe-core": "^4.13.0", "esbuild": "^0.28.2", "eslint": "^10.0.0", "eslint-config-next": "^16.3.0", "jsdom": "^30.0.1", "playwright": "^1.62.1", "playwright-core": "^1.62.1", "postcss": "^8.5.25", "prettier": "^3.9.6", "tailwindcss": "^4.3.3", "typescript": "^6.0.3", "vitest": "^5.0.0" }, "allowScripts": { "@maplibre/maplibre-gl-native@6.4.1": true } }