Files
SnapOtter/apps/web/package.json
T
SnapOtter d8a8e05590 feat: add audio waveform visualization with wavesurfer.js
Replace the basic HTML5 audio element with an interactive waveform
player for audio tool pages. Video tools continue using the existing
MediaPlayerView component.
2026-06-14 21:25:34 +08:00

57 lines
1.4 KiB
JSON

{
"name": "@snapotter/web",
"version": "1.17.1",
"private": true,
"type": "module",
"scripts": {
"dev": "vite",
"build": "tsc -b && vite build",
"preview": "vite preview",
"lint": "biome check src/",
"typecheck": "tsc --noEmit",
"clean": "rm -rf dist"
},
"dependencies": {
"@dnd-kit/core": "^6.3.1",
"@dnd-kit/sortable": "^10.0.0",
"@dnd-kit/utilities": "^3.2.2",
"@sentry/react": "^10.55.0",
"@snapotter/shared": "workspace:*",
"@use-gesture/react": "^10.3.1",
"clsx": "^2.1.0",
"fflate": "^0.8.3",
"fuse.js": "^7.4.2",
"jszip": "^3.10.1",
"konva": "^10",
"leaflet": "^1.9.4",
"lucide-react": "^0.577.0",
"pdfjs-dist": "^6.0.227",
"posthog-js": "^1.377.0",
"qr-code-styling": "^1.9.2",
"react": "^19.2.7",
"react-colorful": "^5",
"react-dom": "^19.2.7",
"react-hotkeys-hook": "^5",
"react-image-crop": "^11.0.10",
"react-konva": "^19",
"react-router-dom": "^7.16.0",
"sonner": "^2.0.7",
"tailwind-merge": "^2.6.0",
"use-image": "^1",
"wavesurfer.js": "^7.12.8",
"zundo": "^2",
"zustand": "^5.0.14"
},
"devDependencies": {
"@tailwindcss/vite": "^4.3.0",
"@types/leaflet": "^1.9.21",
"@types/react": "^19.2.16",
"@types/react-dom": "^19.0.0",
"@vitejs/plugin-react": "^4.3.0",
"tailwindcss": "^4.3.0",
"typescript": "^5.7.0",
"vite": "^6.4.3"
},
"license": "AGPL-3.0"
}