mirror of
https://github.com/Jellify-Music/App.git
synced 2026-01-06 02:50:30 -06:00
removes hooks from player provider in lieu of nonreactive functions and data fetching. In testing this fixed the issue where the player provider was rerendering when the queue or the currently active track changed Use a UUID to distinguish between DeviceProfiles, not the name. This means that media info from Jellyfin will be properly refetched if the user selects a different audio quality mini player rendering optimization fixes, since we don't need that rerendering 4 times a second when updates are only distinguishable every whole second. Also brings some style fixes that reduces vertical height usage update sentry sdk while we're in there doing debugging
145 lines
5.9 KiB
JSON
145 lines
5.9 KiB
JSON
{
|
|
"name": "jellify",
|
|
"version": "0.16.7",
|
|
"private": true,
|
|
"scripts": {
|
|
"init-android": "yarn install --network-concurrency 1",
|
|
"init-ios": "yarn init-ios:new-arch",
|
|
"init-ios:new-arch": "yarn install --network-concurrency 1 && yarn pod:install:new-arch",
|
|
"reinstall": "rm -rf ./node_modules && yarn install",
|
|
"android": "react-native run-android",
|
|
"ios": "react-native run-ios",
|
|
"lint": "eslint .",
|
|
"start": "react-native start",
|
|
"test": "jest",
|
|
"tsc": "tsc",
|
|
"codegen": "env DEBUG=metro:* react-native codegen",
|
|
"clean:ios": "cd ios && pod deintegrate",
|
|
"clean:android": "cd android && rm -rf app/ build/",
|
|
"pod:install": "echo 'Please run `yarn pod:install:new-arch` to enable the new architecture'",
|
|
"pod:install:new-arch": "cd ios && bundle install && RCT_NEW_ARCH_ENABLED=1 bundle exec pod install",
|
|
"pod:clean": "cd ios && pod deintegrate",
|
|
"fastlane:ios:build": "cd ios && bundle exec fastlane build",
|
|
"fastlane:ios:match": "cd ios && bundle exec fastlane match development",
|
|
"fastlane:ios:beta": "cd ios && bundle exec fastlane beta",
|
|
"fastlane:android:build": "cd android && bundle install && bundle exec fastlane build",
|
|
"androidBuild": "cd android && ./gradlew clean && ./gradlew assembleRelease && cd .. && echo 'find apk in android/app/build/outputs/apk/release'",
|
|
"prepare": "husky",
|
|
"format:check": "prettier --check .",
|
|
"format": "prettier --write .",
|
|
"createBundle:android": "mkdir -p android/App-Bundles && react-native bundle --platform android --dev false --entry-file index.js --bundle-output android/App-Bundles/index.android.bundle --assets-dest android/App-Bundles",
|
|
"createBundle:ios": "mkdir -p ios/App-Bundles && react-native bundle --platform ios --dev false --entry-file index.js --bundle-output ios/App-Bundles/main.jsbundle --assets-dest ios/App-Bundles",
|
|
"sendOTA:android": "bash scripts/ota-android.sh",
|
|
"sendOTA:iOS": "bash scripts/ota-iOS.sh",
|
|
"android-build": "cd android && ./gradlew generateCodegenArtifactsFromSchema && ./gradlew assembleRelease",
|
|
"postinstall": "patch-package"
|
|
},
|
|
"dependencies": {
|
|
"@jellyfin/sdk": "^0.11.0",
|
|
"@react-native-community/cli": "20.0.0",
|
|
"@react-native-community/netinfo": "^11.4.1",
|
|
"@react-native-masked-view/masked-view": "^0.3.2",
|
|
"@react-native-picker/picker": "^2.11.1",
|
|
"@react-native-vector-icons/material-design-icons": "^12.3.0",
|
|
"@react-navigation/bottom-tabs": "^7.4.7",
|
|
"@react-navigation/material-top-tabs": "^7.3.7",
|
|
"@react-navigation/native": "^7.1.17",
|
|
"@react-navigation/native-stack": "^7.3.26",
|
|
"@sentry/react-native": "7.0.1",
|
|
"@shopify/flash-list": "^2.0.3",
|
|
"@tamagui/config": "^1.132.23",
|
|
"@tanstack/query-async-storage-persister": "^5.87.1",
|
|
"@tanstack/react-query": "^5.87.1",
|
|
"@tanstack/react-query-persist-client": "^5.87.1",
|
|
"@testing-library/react-native": "^13.2.3",
|
|
"@typedigital/telemetrydeck-react": "^0.4.1",
|
|
"axios": "^1.11.0",
|
|
"bundle": "^2.1.0",
|
|
"dlx": "^0.2.1",
|
|
"gem": "^2.4.3",
|
|
"invert-color": "^2.0.0",
|
|
"lodash": "^4.17.21",
|
|
"openai": "^5.16.0",
|
|
"react": "19.1.0",
|
|
"react-native": "0.81.1",
|
|
"react-native-background-actions": "^4.0.1",
|
|
"react-native-blob-util": "^0.22.2",
|
|
"react-native-blurhash": "2.1.1",
|
|
"react-native-carplay": "^2.4.1-beta.0",
|
|
"react-native-config": "^1.5.6",
|
|
"react-native-device-info": "^14.0.4",
|
|
"react-native-dns-lookup": "^1.0.6",
|
|
"react-native-draggable-flatlist": "^4.0.3",
|
|
"react-native-fast-image": "^8.6.3",
|
|
"react-native-flashdrag-list": "^0.2.5",
|
|
"react-native-fs": "^2.20.0",
|
|
"react-native-gesture-handler": "^2.28.0",
|
|
"react-native-google-cast": "^4.9.1",
|
|
"react-native-haptic-feedback": "^2.3.3",
|
|
"react-native-linear-gradient": "^2.8.3",
|
|
"react-native-mmkv": "3.3.0",
|
|
"react-native-ota-hot-update": "2.3.1",
|
|
"react-native-pager-view": "^6.9.1",
|
|
"react-native-reanimated": "4.0.2",
|
|
"react-native-safe-area-context": "^5.6.1",
|
|
"react-native-screens": "4.16.0",
|
|
"react-native-swipeable-item": "^2.0.9",
|
|
"react-native-text-ticker": "^1.15.0",
|
|
"react-native-toast-message": "^2.3.3",
|
|
"react-native-track-player": "5.0.0-alpha0",
|
|
"react-native-url-polyfill": "^2.0.0",
|
|
"react-native-uuid": "^2.0.3",
|
|
"react-native-worklets": "0.4.1",
|
|
"ruby": "^0.6.1",
|
|
"scheduler": "^0.26.0",
|
|
"tamagui": "^1.132.23",
|
|
"zustand": "^5.0.8"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.28.0",
|
|
"@babel/preset-env": "^7.28.0",
|
|
"@babel/runtime": "^7.28.0",
|
|
"@eslint/eslintrc": "^3.3.1",
|
|
"@eslint/js": "^9.32.0",
|
|
"@react-native-community/cli-platform-android": "20.0.0",
|
|
"@react-native-community/cli-platform-ios": "20.0.0",
|
|
"@react-native/babel-preset": "0.81.0",
|
|
"@react-native/eslint-config": "0.81.0",
|
|
"@react-native/metro-config": "0.81.0",
|
|
"@react-native/typescript-config": "0.81.0",
|
|
"@types/jest": "^30.0.0",
|
|
"@types/lodash": "^4.17.20",
|
|
"@types/node": "^24.2.1",
|
|
"@types/react": "^19.1.9",
|
|
"@types/react-native-vector-icons": "^6.4.18",
|
|
"@types/react-test-renderer": "19.1.0",
|
|
"babel-plugin-module-resolver": "^5.0.2",
|
|
"eslint": "^9.33.0",
|
|
"eslint-config-prettier": "^10.1.8",
|
|
"eslint-plugin-import": "^2.32.0",
|
|
"eslint-plugin-prettier": "^5.5.4",
|
|
"eslint-plugin-react": "^7.37.5",
|
|
"eslint-plugin-react-native": "^5.0.0",
|
|
"globals": "^16.3.0",
|
|
"husky": "^9.1.7",
|
|
"jest": "^30.0.5",
|
|
"jscodeshift": "^17.3.0",
|
|
"lint-staged": "^16.1.5",
|
|
"patch-package": "8.0.0",
|
|
"prettier": "^3.6.2",
|
|
"react-dom": "^19.1.0",
|
|
"react-native-cli-bump-version": "^1.5.1",
|
|
"react-test-renderer": "19.1.0",
|
|
"typescript": "5.9.2"
|
|
},
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx}": [
|
|
"prettier --write",
|
|
"eslint --fix"
|
|
]
|
|
},
|
|
"engines": {
|
|
"node": ">=18"
|
|
},
|
|
"packageManager": "yarn@1.22.22"
|
|
} |