mirror of
https://github.com/Memo-2023/mana-monorepo.git
synced 2026-05-14 20:21:09 +02:00
Combines LightWrite (beat/lyrics editor) and Mukke (iOS music player) into a single web-based music workspace app. Archives the old Mukke mobile app. - Rename: @lightwrite/* → @mukke/*, all branding, configs, Dockerfiles - New DB schemas: songs, playlists, playlist_songs + songId FK on projects - New backend modules: SongModule, PlaylistModule, LibraryModule - New web: app shell with sidebar, library (songs/albums/artists/genres), web player (queue/shuffle/repeat/MediaSession), playlists, search, upload, dashboard, album/artist/genre detail pages - Auth: add forgot-password + reset-password pages, extend auth store - Tests: 40 backend unit tests (song, playlist, library services) - Config: env generation, MinIO bucket, docker-compose prod, cloudflare - Docs: update CLAUDE.md, auth guidelines with SvelteKit checklist Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
66 lines
2 KiB
JSON
66 lines
2 KiB
JSON
{
|
|
"name": "@mukke/mobile",
|
|
"version": "1.0.0",
|
|
"main": "expo-router/entry",
|
|
"scripts": {
|
|
"dev": "expo start --dev-client",
|
|
"start": "expo start --dev-client",
|
|
"ios": "expo run:ios",
|
|
"android": "expo run:android",
|
|
"build:dev": "eas build --profile development",
|
|
"build:preview": "eas build --profile preview",
|
|
"build:prod": "eas build --profile production",
|
|
"prebuild": "expo prebuild",
|
|
"lint": "eslint \"**/*.{js,jsx,ts,tsx}\" && prettier -c \"**/*.{js,jsx,ts,tsx,json}\"",
|
|
"format": "eslint \"**/*.{js,jsx,ts,tsx}\" --fix && prettier \"**/*.{js,jsx,ts,tsx,json}\" --write"
|
|
},
|
|
"dependencies": {
|
|
"@expo/vector-icons": "^15.0.2",
|
|
"@missingcore/audio-metadata": "^1.3.0",
|
|
"@mukke/types": "workspace:*",
|
|
"@react-native-async-storage/async-storage": "2.2.0",
|
|
"@react-native-community/slider": "5.1.2",
|
|
"@react-navigation/native": "^7.0.3",
|
|
"expo": "~55.0.0",
|
|
"expo-audio": "~55.0.0",
|
|
"expo-constants": "~55.0.0",
|
|
"expo-dev-client": "~55.0.0",
|
|
"expo-dev-launcher": "~55.0.0",
|
|
"expo-document-picker": "~55.0.0",
|
|
"expo-file-system": "~55.0.0",
|
|
"expo-router": "~55.0.0",
|
|
"expo-sqlite": "~55.0.0",
|
|
"expo-status-bar": "~55.0.0",
|
|
"expo-system-ui": "~55.0.0",
|
|
"nativewind": "^4.2.0",
|
|
"react": "19.2.0",
|
|
"react-dom": "19.2.0",
|
|
"react-native": "0.83.2",
|
|
"react-native-gesture-handler": "~2.30.0",
|
|
"react-native-reanimated": "~4.2.1",
|
|
"react-native-safe-area-context": "~5.6.2",
|
|
"react-native-screens": "~4.23.0",
|
|
"react-native-web": "~0.21.0",
|
|
"react-native-worklets": "~0.7.2",
|
|
"uuid": "^11.1.0",
|
|
"zustand": "^5.0.0"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.26.0",
|
|
"@types/react": "~19.2.14",
|
|
"@types/uuid": "^10.0.0",
|
|
"@typescript-eslint/eslint-plugin": "^8.0.0",
|
|
"@typescript-eslint/parser": "^8.0.0",
|
|
"eslint": "^9.18.0",
|
|
"eslint-config-universe": "^14.0.0",
|
|
"prettier": "^3.5.0",
|
|
"prettier-plugin-tailwindcss": "^0.6.0",
|
|
"tailwindcss": "^3.4.0",
|
|
"typescript": "~5.9.2"
|
|
},
|
|
"eslintConfig": {
|
|
"extends": "universe/native",
|
|
"root": true
|
|
},
|
|
"private": true
|
|
}
|