Files
App/package.json
Violet Caulfield 329ca138ed Player Render Optimizations, Better DeviceProfile Handling (#520)
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
2025-09-08 23:21:34 -05:00

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"
}