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

203 lines (202 loc) 7.71 kB
{ "name": "rnr-starter", "main": "index", "version": "1.4.0", "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 eas build --profile development --platform android --local", "build:dev:android:output": "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 --local", "build:preview:android:output": "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 --local", "build:prod:android:output": "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 --local", "build:dev:ios:output": "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 --local", "build:prod:ios": "APP_ENV=production eas build --profile production --platform ios --local", "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.2.0", "@react-navigation/native": "^7.1.28", "@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": "2.0.2", "@tanstack/react-query": "^5.79.0", "@tanstack/react-table": "^8.21.3", "axios": "^1.9.0", "baseline-browser-mapping": "^2.9.17", "caniuse-lite": "^1.0.30001765", "class-variance-authority": "^0.7.0", "clsx": "^2.1.0", "date-fns": "^3.6.0", "dayjs": "^1.11.13", "expo": "^54.0.0", "expo-build-properties": "~1.0.10", "expo-constants": "~18.0.13", "expo-dev-client": "~6.0.20", "expo-haptics": "~15.0.8", "expo-image-picker": "~17.0.10", "expo-linking": "~8.0.11", "expo-localization": "~17.0.8", "expo-navigation-bar": "~5.0.10", "expo-router": "~6.0.22", "expo-secure-store": "~15.0.8", "expo-splash-screen": "~31.0.13", "expo-status-bar": "~3.0.9", "expo-system-ui": "~6.0.9", "i18next": "^25.2.1", "input-otp-native": "^0.4.1", "lucide-react-native": "^0.511.0", "nativewind": "^4.1.23", "react": "19.1.0", "react-day-picker": "^9.7.0", "react-dom": "19.1.0", "react-hook-form": "^7.56.4", "react-i18next": "^15.5.2", "react-native": "0.81.5", "react-native-gesture-handler": "~2.28.0", "react-native-reanimated": "~4.1.1", "react-native-safe-area-context": "~5.6.0", "react-native-screens": "~4.16.0", "react-native-svg": "15.12.1", "react-native-web": "^0.21.0", "react-native-worklets": "0.5.1", "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.1.10", "knip": "^5.42.2", "typescript": "~5.9.2" }, "expo": { "doctor": { "reactNativeDirectoryCheck": { "listUnknownPackages": false } }, "install": { "exclude": ["@react-navigation/native"] } } }