mirror of
https://github.com/streamyfin/streamyfin.git
synced 2025-08-20 18:37:18 +02:00
Prevents crashes by adding safeguards that check if video is loaded before calling player methods Removes performance monitoring hook that was causing unnecessary overhead during playback Reorganizes code structure by removing excessive comment sections and consolidating related functionality for better maintainability Updates Biome linter to latest version for improved code formatting and analysis
152 lines
4.9 KiB
JSON
152 lines
4.9 KiB
JSON
{
|
|
"name": "streamyfin",
|
|
"main": "./index",
|
|
"version": "1.0.0",
|
|
"scripts": {
|
|
"submodule-reload": "git submodule update --init --remote --recursive",
|
|
"clean": "echo y | expo prebuild --clean",
|
|
"start": "bun run submodule-reload && expo start",
|
|
"ios": "cross-env EXPO_TV=0 expo run:ios",
|
|
"ios:tv": "cross-env EXPO_TV=1 expo run:ios",
|
|
"android": "cross-env EXPO_TV=0 expo run:android",
|
|
"android:tv": "cross-env EXPO_TV=1 expo run:android",
|
|
"prebuild": "cross-env EXPO_TV=0 bun run clean",
|
|
"prebuild:tv": "cross-env EXPO_TV=1 bun run clean",
|
|
"build:android:local": "cd android && cross-env NODE_ENV=production ./gradlew assembleRelease",
|
|
"prepare": "husky",
|
|
"check": "biome check . --max-diagnostics 1000",
|
|
"lint": "biome check --write --unsafe --max-diagnostics 1000",
|
|
"format": "biome format --write ."
|
|
},
|
|
"dependencies": {
|
|
"@bottom-tabs/react-navigation": "^0.9.2",
|
|
"@expo/config-plugins": "~10.1.1",
|
|
"@expo/metro-runtime": "~5.0.4",
|
|
"@expo/react-native-action-sheet": "^4.1.1",
|
|
"@expo/vector-icons": "^14.1.0",
|
|
"@gorhom/bottom-sheet": "^5.1.0",
|
|
"@jellyfin/sdk": "^0.11.0",
|
|
"@kesha-antonov/react-native-background-downloader": "^3.2.6",
|
|
"@react-native-community/netinfo": "^11.4.1",
|
|
"@react-native-menu/menu": "^1.2.3",
|
|
"@react-navigation/material-top-tabs": "^7.2.14",
|
|
"@react-navigation/native": "^7.0.14",
|
|
"@shopify/flash-list": "^1.8.3",
|
|
"@tanstack/react-query": "^5.66.0",
|
|
"axios": "^1.7.9",
|
|
"expo": "^53.0.6",
|
|
"expo-application": "~6.1.4",
|
|
"expo-asset": "~11.1.7",
|
|
"expo-background-fetch": "~13.1.5",
|
|
"expo-blur": "~14.1.4",
|
|
"expo-brightness": "~13.1.4",
|
|
"expo-build-properties": "~0.14.6",
|
|
"expo-constants": "~17.1.5",
|
|
"expo-dev-client": "^5.2.0",
|
|
"expo-device": "~7.1.4",
|
|
"expo-doctor": "^1.13.5",
|
|
"expo-font": "~13.3.1",
|
|
"expo-haptics": "~14.1.4",
|
|
"expo-image": "~2.4.0",
|
|
"expo-linear-gradient": "~14.1.4",
|
|
"expo-linking": "~7.1.4",
|
|
"expo-localization": "~16.1.5",
|
|
"expo-notifications": "~0.31.2",
|
|
"expo-router": "~5.1.4",
|
|
"expo-screen-orientation": "~8.1.6",
|
|
"expo-sensors": "~14.1.4",
|
|
"expo-sharing": "~13.1.5",
|
|
"expo-splash-screen": "~0.30.8",
|
|
"expo-status-bar": "~2.2.3",
|
|
"expo-system-ui": "~5.0.7",
|
|
"expo-task-manager": "~13.1.5",
|
|
"expo-web-browser": "~14.2.0",
|
|
"i18next": "^25.0.0",
|
|
"jotai": "^2.12.5",
|
|
"lodash": "^4.17.21",
|
|
"nativewind": "^2.0.11",
|
|
"react": "19.0.0",
|
|
"react-dom": "19.0.0",
|
|
"react-i18next": "^15.4.0",
|
|
"react-native": "npm:react-native-tvos@0.79.5-0",
|
|
"react-native-awesome-slider": "^2.9.0",
|
|
"react-native-bottom-tabs": "^0.9.2",
|
|
"react-native-circular-progress": "^1.4.1",
|
|
"react-native-collapsible": "^1.6.2",
|
|
"react-native-country-flag": "^2.0.2",
|
|
"react-native-device-info": "^14.0.4",
|
|
"react-native-gesture-handler": "~2.24.0",
|
|
"react-native-google-cast": "^4.9.0",
|
|
"react-native-image-colors": "^2.4.0",
|
|
"react-native-ios-context-menu": "^3.1.0",
|
|
"react-native-ios-utilities": "5.1.8",
|
|
"react-native-mmkv": "2.12.2",
|
|
"react-native-reanimated": "~3.16.7",
|
|
"react-native-reanimated-carousel": "4.0.2",
|
|
"react-native-safe-area-context": "5.4.0",
|
|
"react-native-screens": "~4.11.1",
|
|
"react-native-svg": "15.11.2",
|
|
"react-native-udp": "^4.1.7",
|
|
"react-native-url-polyfill": "^2.0.0",
|
|
"react-native-uuid": "^2.0.3",
|
|
"react-native-video": "6.14.1",
|
|
"react-native-volume-manager": "^2.0.8",
|
|
"react-native-web": "^0.20.0",
|
|
"sonner-native": "^0.21.0",
|
|
"tailwindcss": "3.3.2",
|
|
"use-debounce": "^10.0.4",
|
|
"zeego": "^3.0.6",
|
|
"zod": "^3.24.1"
|
|
},
|
|
"devDependencies": {
|
|
"@babel/core": "^7.20.0",
|
|
"@biomejs/biome": "^2.1.4",
|
|
"@react-native-community/cli": "^19",
|
|
"@react-native-tvos/config-tv": "^0.1.1",
|
|
"@types/jest": "^29.5.12",
|
|
"@types/lodash": "^4.17.15",
|
|
"@types/react": "~19.0.10",
|
|
"@types/react-test-renderer": "^19.0.0",
|
|
"cross-env": "^10.0.0",
|
|
"husky": "^9.1.7",
|
|
"lint-staged": "^16.1.5",
|
|
"postinstall-postinstall": "^2.1.0",
|
|
"react-test-renderer": "19.1.1",
|
|
"typescript": "~5.8.3"
|
|
},
|
|
"expo": {
|
|
"install": {
|
|
"exclude": [
|
|
"react-native",
|
|
"@shopify/flash-list",
|
|
"react-native-reanimated"
|
|
]
|
|
},
|
|
"doctor": {
|
|
"reactNativeDirectoryCheck": {
|
|
"exclude": [
|
|
"react-native-google-cast",
|
|
"react-native-udp",
|
|
"@bottom-tabs/react-navigation",
|
|
"@jellyfin/sdk",
|
|
"expo-doctor"
|
|
],
|
|
"listUnknownPackages": false
|
|
}
|
|
}
|
|
},
|
|
"private": true,
|
|
"lint-staged": {
|
|
"*.{js,jsx,ts,tsx}": [
|
|
"biome check --write --unsafe --no-errors-on-unmatched"
|
|
],
|
|
"*.json": [
|
|
"biome format --write"
|
|
]
|
|
},
|
|
"trustedDependencies": [
|
|
"postinstall-postinstall",
|
|
"unrs-resolver"
|
|
]
|
|
}
|