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