{ "name": "hop", "private": true, "type": "module", "workspaces": [ "apps/*", "packages/*" ], "scripts": { "build": "npm run build -w @hop/shared && npm run build -w @hop/web && npm run build -w @hop/server", "typecheck": "npm run typecheck --workspaces --if-present", "test": "npm run test -w @hop/server", "dev": "node scripts/dev.mjs", "start": "npm run start -w @hop/server", "db:generate": "npm run db:generate -w @hop/server", "test:e2e": "node --import tsx tests/e2e/phase1.mjs", "format": "prettier --write apps packages scripts tests docker-compose.yaml Dockerfile package.json tsconfig.base.json docs README.md .env.example --ignore-unknown", "test:e2e:account": "node --import tsx tests/e2e/phase3.mjs", "test:e2e:devices": "node --import tsx tests/e2e/device-menu.mjs", "test:e2e:layout": "node --import tsx tests/e2e/layout.mjs", "test:e2e:chunks": "node --import tsx tests/e2e/chunks.mjs", "test:e2e:pwa": "node --import tsx tests/e2e/pwa.mjs", "test:e2e:nearby": "node --import tsx tests/e2e/nearby.mjs", "test:e2e:clipboard": "node --import tsx tests/e2e/clipboard.mjs", "test:e2e:receive": "node --import tsx tests/e2e/receive-controls.mjs", "test:e2e:reconnect": "node --import tsx tests/e2e/transfer-reconnect.mjs", "test:e2e:admin": "node --import tsx tests/e2e/admin.mjs", "test:e2e:languages": "node --import tsx tests/e2e/localization.mjs" }, "engines": { "node": ">=22.12" }, "devDependencies": { "@playwright/test": "^1.58.0", "@types/node": "^22.19.0", "prettier": "^3.9.9", "typescript": "^5.9.3" }, "overrides": { "@esbuild-kit/core-utils": { "esbuild": "^0.25.12" } } }