{ "name": "music-visualizer", "version": "0.1.0", "private": true, "type": "module", "description": "One-line scrolling music score visualizer with ball animation and MP4 export.", "license": "MIT", "scripts": { "dev": "concurrently -k -n server,client -c blue,magenta \"npm:dev:server\" \"npm:dev:client\"", "dev:server": "tsx watch src/server/index.ts", "dev:client": "vite", "build": "tsc --noEmit && vite build", "start": "cross-env NODE_ENV=production tsx src/server/index.ts", "typecheck": "tsc --noEmit", "remotion:studio": "remotion studio src/remotion/index.ts" }, "dependencies": { "@remotion/bundler": "4.0.538", "@remotion/cli": "4.0.538", "@remotion/player": "4.0.538", "@remotion/renderer": "4.0.538", "@tonejs/midi": "^2.0.28", "@xmldom/xmldom": "^0.8.11", "cors": "^2.8.5", "express": "^4.21.2", "fflate": "^0.8.2", "music-metadata": "^11.9.0", "nanoid": "^5.1.6", "react": "19.2.3", "react-dom": "19.2.3", "remotion": "4.0.538", "svg-path-bounds": "^1.0.2", "verovio": "6.3.0", "zod": "4.5.4" }, "devDependencies": { "@types/cors": "^2.8.19", "@types/express": "^5.0.3", "@types/multer": "^2.0.0", "@types/node": "^24.7.2", "@types/react": "19.2.7", "@types/react-dom": "19.2.3", "@types/web": "0.0.166", "@vitejs/plugin-react": "^5.0.4", "concurrently": "^9.2.1", "cross-env": "^10.1.0", "multer": "^2.0.2", "tsx": "^4.20.6", "typescript": "5.9.3", "vite": "^7.1.9" } }