{ "name": "@patterntalk/web", "version": "0.0.1", "private": true, "type": "module", "scripts": { "dev": "next dev -p 3000", "dev:clean": "node --input-type=module -e \"import{rmSync}from'fs';rmSync('.next',{recursive:true,force:true})\" && next dev -p 3000", "build": "next build", "start": "next start -p 3000", "lint": "next lint", "typecheck": "tsc --noEmit", "test": "vitest run", "test:watch": "vitest" }, "dependencies": { "@patterntalk/shared-types": "workspace:*", "@tonejs/midi": "^2.0.28", "next": "^14.2.18", "react": "^18.3.1", "react-dom": "^18.3.1" }, "devDependencies": { "@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.6", "@types/node": "^22.9.3", "@types/react": "^18.3.12", "@types/react-dom": "^18.3.1", "@vitejs/plugin-react": "^4.3.4", "autoprefixer": "^10.4.20", "eslint": "^8.57.1", "eslint-config-next": "^14.2.18", "happy-dom": "^15.11.7", "postcss": "^8.4.49", "tailwindcss": "^3.4.15", "typescript": "^5.6.3", "vitest": "^2.1.8" } }