UNPKG

rnr-starter

Version:

A comprehensive React Native Expo boilerplate with 50+ modern UI components, dark/light themes, i18n, state management, and production-ready architecture

197 lines (196 loc) 7.46 kB
{ "name": "rnr-starter", "main": "index", "version": "1.3.2", "description": "A comprehensive React Native Expo boilerplate with 50+ modern UI components, dark/light themes, i18n, state management, and production-ready architecture", "keywords": [ "react-native", "expo", "expo-template", "ui-components", "boilerplate", "starter", "template", "typescript", "nativewind", "tailwind", "dark-theme", "light-theme", "i18n", "internationalization", "state-management", "zustand", "react-query", "bottom-sheet", "toast", "shadcn-ui", "rn-primitives", "cross-platform", "ios", "android", "web" ], "author": "Uginy", "license": "MIT", "repository": { "type": "git", "url": "git+https://github.com/uginy/rnr-starter.git" }, "bugs": { "url": "https://github.com/uginy/rnr-starter/issues" }, "homepage": "https://github.com/uginy/rnr-starter#readme", "scripts": { "dev": "expo start -c", "dev:web": "expo start -c --web", "dev:android": "expo start -c --android", "android": "expo start -c --android", "ios": "expo start -c --ios", "web": "expo start -c --web", "lint": "biome lint .", "lint:fix": "biome lint --write .", "format": "biome format .", "format:write": "biome format --write .", "check": "biome check .", "check:fix": "biome check --write .", "format:fix": "prettier --check --write ./", "clean": "rm -rf node_modules && rm -f yarn.lock && rm -f package-lock.json && bun install", "build:dev:android": "APP_ENV=development build --profile development --platform android", "build:dev:android:local": "APP_ENV=development eas build --profile development --platform android --local --output ~/projects/buildsMy/rnr-starter/dev.apk", "build:preview:android": "APP_ENV=preview eas build --profile preview --platform android", "build:preview:android:local": "APP_ENV=preview eas build --profile preview --platform android --local --output ~/projects/buildsMy/rnr-starter/prev.apk", "build:prod:android": "APP_ENV=production eas build --profile production --platform android", "build:prod:android:local": "APP_ENV=production eas build --profile production --platform android --local --output ~/projects/buildsMy/rnr-starter/prod.apk", "build:dev:ios": "APP_ENV=development eas build --profile development --platform ios", "build:dev:ios:local": "APP_ENV=development eas build --profile development --platform ios --local --output ~/projects/buildsMy/rnr-starter/dev.tgz", "build:preview:ios": "APP_ENV=preview eas build --profile preview --platform ios", "build:prod:ios": "APP_ENV=production eas build --profile production --platform ios", "eas:submit:android": "eas submit --platform android", "eas:submit:ios": "eas submit --platform ios", "expo:eject": "expo eject", "postinstall": "npx tailwindcss -i ./global.css -o ./node_modules/.cache/nativewind/global.css", "dead-code": "knip", "dead-code:strict": "knip --strict", "unused-deps": "knip --dependencies", "analyze": "npm run dead-code && npm run unused-deps", "analyze:production": "knip --production", "create-project": "node create-local-project.js", "create-project:clean": "node create-local-project.js --clean" }, "dependencies": { "@gorhom/bottom-sheet": "^5.1.5", "@hookform/resolvers": "^5.0.1", "@marceloterreiro/flash-calendar": "^1.3.0", "@radix-ui/react-accordion": "^1.2.11", "@radix-ui/react-alert-dialog": "^1.1.14", "@radix-ui/react-checkbox": "^1.3.2", "@radix-ui/react-collapsible": "^1.1.11", "@radix-ui/react-context-menu": "^2.2.15", "@radix-ui/react-dialog": "^1.1.14", "@radix-ui/react-dropdown-menu": "^2.1.15", "@radix-ui/react-hover-card": "^1.1.14", "@radix-ui/react-label": "^2.1.7", "@radix-ui/react-menubar": "^1.1.15", "@radix-ui/react-navigation-menu": "^1.2.13", "@radix-ui/react-popover": "^1.1.14", "@radix-ui/react-progress": "^1.1.7", "@radix-ui/react-radio-group": "^1.3.7", "@radix-ui/react-select": "^2.2.5", "@radix-ui/react-separator": "^1.1.7", "@radix-ui/react-switch": "^1.2.5", "@radix-ui/react-tabs": "^1.1.12", "@radix-ui/react-toggle": "^1.1.9", "@radix-ui/react-toggle-group": "^1.1.10", "@radix-ui/react-tooltip": "^1.2.7", "@react-native-async-storage/async-storage": "2.1.2", "@react-navigation/native": "^7.0.0", "@rn-primitives/accordion": "^1.2.0", "@rn-primitives/alert-dialog": "^1.2.0", "@rn-primitives/aspect-ratio": "^1.2.0", "@rn-primitives/avatar": "^1.2.0", "@rn-primitives/checkbox": "^1.2.0", "@rn-primitives/collapsible": "^1.2.0", "@rn-primitives/context-menu": "^1.2.0", "@rn-primitives/dialog": "^1.2.0", "@rn-primitives/dropdown-menu": "^1.2.0", "@rn-primitives/hooks": "^1.3.0", "@rn-primitives/hover-card": "^1.2.0", "@rn-primitives/label": "^1.2.0", "@rn-primitives/menubar": "^1.2.0", "@rn-primitives/navigation-menu": "^1.2.0", "@rn-primitives/popover": "^1.2.0", "@rn-primitives/portal": "~1.3.0", "@rn-primitives/progress": "^1.2.0", "@rn-primitives/radio-group": "^1.2.0", "@rn-primitives/select": "^1.2.0", "@rn-primitives/separator": "^1.2.0", "@rn-primitives/slot": "^1.2.0", "@rn-primitives/switch": "^1.2.0", "@rn-primitives/table": "^1.2.0", "@rn-primitives/tabs": "^1.2.0", "@rn-primitives/toggle": "^1.2.0", "@rn-primitives/toggle-group": "^1.2.0", "@rn-primitives/tooltip": "^1.2.0", "@rn-primitives/types": "^1.2.0", "@rn-primitives/utils": "^1.2.0", "@shopify/flash-list": "1.7.6", "@tanstack/react-query": "^5.79.0", "@tanstack/react-table": "^8.21.3", "axios": "^1.9.0", "caniuse-lite": "^1.0.30001720", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "date-fns": "^3.6.0", "dayjs": "^1.11.13", "expo": "53.0.15", "expo-build-properties": "~0.14.8", "expo-dev-client": "~5.2.2", "expo-haptics": "^14.1.4", "expo-image-picker": "^16.1.4", "expo-linking": "~7.1.6", "expo-localization": "~16.1.6", "expo-navigation-bar": "~4.2.6", "expo-router": "~5.1.2", "expo-secure-store": "~14.2.3", "expo-splash-screen": "~0.30.9", "expo-status-bar": "~2.2.3", "expo-system-ui": "~5.0.9", "i18next": "^25.2.1", "input-otp-native": "^0.4.1", "lucide-react-native": "^0.511.0", "nativewind": "^4.1.23", "react": "19.0.0", "react-day-picker": "^9.7.0", "react-dom": "19.0.0", "react-hook-form": "^7.56.4", "react-i18next": "^15.5.2", "react-native": "0.79.4", "react-native-gesture-handler": "~2.24.0", "react-native-reanimated": "~3.17.5", "react-native-safe-area-context": "5.4.0", "react-native-screens": "~4.11.1", "react-native-svg": "15.11.2", "react-native-web": "~0.20.0", "sonner": "^2.0.3", "tailwind-merge": "^2.2.1", "tailwindcss": "3.3.5", "tailwindcss-animate": "^1.0.7", "vaul": "^1.1.2", "zod": "^3.25.46", "zustand": "^5.0.1" }, "devDependencies": { "@babel/core": "^7.26.0", "@biomejs/biome": "^1.9.4", "@types/react": "~19.0.14", "knip": "^5.42.2", "typescript": "^5.8.3" }, "expo": { "doctor": { "reactNativeDirectoryCheck": { "listUnknownPackages": false } } } }