{"_id":"@cyril-deschamps/expo-boilerplate","_rev":"1-1bc0275ec21f90736a8dae7183d07a8f","name":"@cyril-deschamps/expo-boilerplate","dist-tags":{"latest":"1.0.1"},"versions":{"1.0.0":{"name":"@cyril-deschamps/expo-boilerplate","version":"1.0.0","author":{"name":"Cyril Deschamps","email":"contact@cyrildeschamps.fr"},"description":"Best starter for Expo","license":"MIT","homepage":"https://github.com/Cyril-Deschamps/expo-boilerplate","repository":{"type":"git","url":"git+https://github.com/Cyril-Deschamps/expo-boilerplate.git"},"keywords":["expo","boilerplate","typescript","react","native","react-native","eas"],"main":"node_modules/expo/AppEntry.js","scripts":{"start":"expo start","android":"expo start --android","ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","lint-check:react":"cross-env NODE_ENV=production && eslint src .eslintrc.js --max-warnings 0 --ext .tsx,.js,.ts","lint-check:typing":"tsc --noEmit","lint-check:prettier":"prettier --check src","lint-fix:react":"cross-env NODE_ENV=production && eslint src .eslintrc.js --max-warnings 0 --ext .tsx,.js,.ts --fix","lint-fix:prettier":"prettier --write src"},"dependencies":{"@expo/vector-icons":"^13.0.0","@react-native-async-storage/async-storage":"~1.17.3","@react-navigation/bottom-tabs":"^6.0.5","@react-navigation/native":"^6.0.2","@react-navigation/native-stack":"^6.1.0","@rneui/base":"^4.0.0-rc.7","@rneui/themed":"^4.0.0-rc.7","axios":"^1.2.1","date-fns":"^2.29.3","expo":"~47.0.8","expo-asset":"~8.6.2","expo-constants":"~14.0.2","expo-font":"~11.0.1","expo-linking":"~3.2.3","expo-splash-screen":"~0.17.5","expo-status-bar":"~1.4.2","expo-system-ui":"~2.0.1","expo-web-browser":"^12.0.0","react":"18.1.0","react-native":"0.70.5","react-native-dotenv":"^3.4.6","react-native-root-toast":"^3.3.1","react-native-safe-area-context":"4.4.1","react-native-screens":"~3.18.0","react-native-svg":"13.4.0"},"devDependencies":{"@babel/core":"^7.12.9","@commitlint/cli":"^17.3.0","@commitlint/config-conventional":"^17.3.0","@types/react":"~18.0.24","@types/react-native":"~0.70.6","@typescript-eslint/eslint-plugin":"^5.47.0","commitizen":"^4.2.6","cross-env":"^7.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-config-react-app":"^7.0.1","eslint-plugin-deprecation":"^1.3.3","eslint-plugin-react-native":"^4.0.0","husky":"^8.0.2","jest":"^26.6.3","jest-expo":"~47.0.1","npm-run-all":"^4.1.5","prettier":"^2.8.1","react-test-renderer":"18.1.0","typescript":"^4.6.3"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"jest":{"preset":"jest-expo"},"gitHead":"7dfa2b3af4d8ffd6bc37495be9a97aa49fffeff3","bugs":{"url":"https://github.com/Cyril-Deschamps/expo-boilerplate/issues"},"_id":"@cyril-deschamps/expo-boilerplate@1.0.0","_nodeVersion":"16.16.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-0CG/NOIwVH1PLaxMjxF6vcjHnl6w1OYTMyLjeG0Qo1pjCDkavCgwKm2GJNWu9k/AyZq6ZN+jYBCusZ7s2tMYaw==","shasum":"ce60c018a8ce47224d3fab76ba9b2cf4a7e9e2d2","tarball":"https://registry.npmjs.org/@cyril-deschamps/expo-boilerplate/-/expo-boilerplate-1.0.0.tgz","fileCount":44,"unpackedSize":212457,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQD2NWq7nDGCnxJ94AEE9pfXXeeVLA+7ZdgzQ3Bz8jjavgIgG6jc3kOWmYsNhNOXXDcy9C0e9c74hbbHzPtMzoeybl4="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjotpCACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmrdHw//S0cY4zqVUpZImPbLly42qOMswaEAYF7DqC12ejXkH+sOfQ59\r\n4vmVrH3sCdbdni1q+/IL9vQ7aSdhlPWExVzgP+a5Lac+Do3KQd9pcqviuK/p\r\n3PrGEvMgUS1+TVJ9lw9sC7O1qpKvL6b1ejTTfEVGUUwGxCY4VU706vmLNERq\r\nq3kLFocKd150HtP9k+8E5VoqhzN6ab+7r0Ljxev9FH5MNojoo4UUthgi1wUp\r\nw7tAChTUzTot6QWEhGrr32L9rMW+BoWzP7JWFdRijuJeg4fTsqRrbIXiWPZn\r\nawNzIB6LtlxaELKhQm33DxBjPSReUUAOS6NqDeVzjP/jd/4KF4v+a755OXFz\r\nZj0ov5HmCzlVQl3GUUw/wdzmHsyBU4DHivE1FwEZHXse9RIdgPzyn5wmmPTT\r\nHJJUXJNVEhod0gK94pIVI7fJuTxZzSdvit/Si3hqlFFCX1lF1QJaFU6Xps7o\r\nLyBYm/HTFuYZuvyscB+LMrcv2qi3Ia/ZEGIt+3HrSnN3uDJtT/RRVzZA6e+k\r\nBmGQtw31+F1AbKjcJPCK5DLPgQDw2ITbQ/MjfhMAD/8wNOkg5ibZ9S3epslR\r\nSlFT2watkAdEqN54BF5haeTX7mfSRcLeOTg60VX5L0KTrvlTcPgrSIcQsrI0\r\nnuEpVTZ/ehyfLUyJ/YEgSyOWUhtzj2nT1bM=\r\n=fAUh\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cyril-deschamps","email":"cyril.dsch@gmail.com"},"directories":{},"maintainers":[{"name":"cyril-deschamps","email":"cyril.dsch@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/expo-boilerplate_1.0.0_1671617090553_0.2555303540285294"},"_hasShrinkwrap":false},"1.0.1":{"name":"@cyril-deschamps/expo-boilerplate","version":"1.0.1","author":{"name":"Cyril Deschamps","email":"contact@cyrildeschamps.fr"},"description":"Best starter for Expo","license":"MIT","homepage":"https://github.com/Cyril-Deschamps/expo-boilerplate","repository":{"type":"git","url":"git+https://github.com/Cyril-Deschamps/expo-boilerplate.git"},"keywords":["expo","boilerplate","typescript","react","native","react-native","eas"],"main":"node_modules/expo/AppEntry.js","scripts":{"start":"expo start","android":"expo start --android","ios":"expo start --ios","web":"expo start --web","test":"jest --watchAll","lint-check:react":"cross-env NODE_ENV=production && eslint src .eslintrc.js --max-warnings 0 --ext .tsx,.js,.ts","lint-check:typing":"tsc --noEmit","lint-check:prettier":"prettier --check src","lint-fix:react":"cross-env NODE_ENV=production && eslint src .eslintrc.js --max-warnings 0 --ext .tsx,.js,.ts --fix","lint-fix:prettier":"prettier --write src"},"dependencies":{"@expo/vector-icons":"^13.0.0","@react-native-async-storage/async-storage":"~1.17.3","@react-navigation/bottom-tabs":"^6.0.5","@react-navigation/native":"^6.0.2","@react-navigation/native-stack":"^6.1.0","@rneui/base":"^4.0.0-rc.7","@rneui/themed":"^4.0.0-rc.7","axios":"^1.2.1","date-fns":"^2.29.3","expo":"~47.0.8","expo-asset":"~8.6.2","expo-constants":"~14.0.2","expo-font":"~11.0.1","expo-linking":"~3.2.3","expo-splash-screen":"~0.17.5","expo-status-bar":"~1.4.2","expo-system-ui":"~2.0.1","expo-web-browser":"^12.0.0","react":"18.1.0","react-native":"0.70.5","react-native-dotenv":"^3.4.6","react-native-root-toast":"^3.3.1","react-native-safe-area-context":"4.4.1","react-native-screens":"~3.18.0","react-native-svg":"13.4.0"},"devDependencies":{"@babel/core":"^7.12.9","@commitlint/cli":"^17.3.0","@commitlint/config-conventional":"^17.3.0","@types/react":"~18.0.24","@types/react-native":"~0.70.6","@typescript-eslint/eslint-plugin":"^5.47.0","commitizen":"^4.2.6","cross-env":"^7.0.3","cz-conventional-changelog":"^3.3.0","eslint":"^8.30.0","eslint-config-prettier":"^8.5.0","eslint-config-react-app":"^7.0.1","eslint-plugin-deprecation":"^1.3.3","eslint-plugin-react-native":"^4.0.0","husky":"^8.0.2","jest":"^26.6.3","jest-expo":"~47.0.1","npm-run-all":"^4.1.5","prettier":"^2.8.1","react-test-renderer":"18.1.0","typescript":"^4.6.3"},"config":{"commitizen":{"path":"./node_modules/cz-conventional-changelog"}},"jest":{"preset":"jest-expo"},"gitHead":"8fceb0f83a8379943e27cfc9095ed07234c60a28","bugs":{"url":"https://github.com/Cyril-Deschamps/expo-boilerplate/issues"},"_id":"@cyril-deschamps/expo-boilerplate@1.0.1","_nodeVersion":"16.16.0","_npmVersion":"9.2.0","dist":{"integrity":"sha512-qQm2lTD3Q7sEc7zrOo+4NaHOf873tPQ3VlOrz8PM9B4nQhs2aVa8UXdTBgszfJ0Cf4u6lZCxiWbAslQxpo5W3g==","shasum":"6092b8ef960ebd0266566c87ac2406ba23352a65","tarball":"https://registry.npmjs.org/@cyril-deschamps/expo-boilerplate/-/expo-boilerplate-1.0.1.tgz","fileCount":175,"unpackedSize":372079,"signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIE10+KKpBFN6T40P1HYBRrtF9elyYzOf6iLsQDgvyJR8AiEAsrhWtx6+TZTz1ERl7l97BUP5m5EQUBOSGlnMptrqdYg="}],"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v4.10.10\r\nComment: https://openpgpjs.org\r\n\r\nwsFzBAEBCAAGBQJjouVBACEJED1NWxICdlZqFiEECWMYAoorWMhJKdjhPU1b\r\nEgJ2VmqgNw//YgqJRGiGJHi7KjMU9Lr77/d++hlWUTMpQEdsVhzxxWuoro4w\r\nIGVmLNy9co+g11RbD1k67EpsUe1UfFecjd13v1/GndIeZvR1jdrqNu93Q+v4\r\nf1eRlui8BQ1jxikv8V/9XRyv3/NMsF2F/JN8cMmmO6rGuyZBNjNXTuWcijtx\r\nnrIR1ogoyaBxGUaSnHvdo4n++VsUd79E0o1CM86w/s0PLKU73o42gDgfOLVi\r\nHppu/AGd7NuqCngq2LMQpChsZ3aozqAZOrTwnZ0RykiudLYVbK3bUpa7sy2P\r\nasuQAzvoNdTZggh9KZTgNwSARXXjD+SVXg7yCGkFUvdrxwR0SmObfESTEkTm\r\n2oiDpkrl7Bz42gtvlC1ZNXzOYkKWiYG/8SZlYqvC9+ZpOQ9XWafIcXiDjwJK\r\n/WQhRxpDHFvcL+Xkna9740jvQCeF4C4HH/kXkkrC+zNFUOzQ1cgxZz5hL8Zw\r\nOI9ykNTUBxo7H2luZWWfxPCHS8IgGqtASsSCI6d0irifxUWNdQJhJCPxYAh1\r\nu2wIPflsK3B0X9k5d4y7Yl1Z+yYqTUrDwx+kWUu+inxk5psGUzmHeFooRZo0\r\nQ18FFPBd2zy10m+sVfJWnvucHEauF3B8NoGL0QGLZTbDKRatxmKrf2yEjHjf\r\n62UgwFFGj42znuJbC1hkk7HIKJYLvarReJk=\r\n=gSiN\r\n-----END PGP SIGNATURE-----\r\n"},"_npmUser":{"name":"cyril-deschamps","email":"cyril.dsch@gmail.com"},"directories":{},"maintainers":[{"name":"cyril-deschamps","email":"cyril.dsch@gmail.com"}],"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/expo-boilerplate_1.0.1_1671619904736_0.5413744225963779"},"_hasShrinkwrap":false}},"time":{"created":"2022-12-21T10:04:50.506Z","1.0.0":"2022-12-21T10:04:50.721Z","modified":"2022-12-21T10:51:45.074Z","1.0.1":"2022-12-21T10:51:44.966Z"},"maintainers":[{"name":"cyril-deschamps","email":"cyril.dsch@gmail.com"}],"description":"Best starter for Expo","homepage":"https://github.com/Cyril-Deschamps/expo-boilerplate","keywords":["expo","boilerplate","typescript","react","native","react-native","eas"],"repository":{"type":"git","url":"git+https://github.com/Cyril-Deschamps/expo-boilerplate.git"},"author":{"name":"Cyril Deschamps","email":"contact@cyrildeschamps.fr"},"bugs":{"url":"https://github.com/Cyril-Deschamps/expo-boilerplate/issues"},"license":"MIT","readme":"<div align=\"center\">\n  <p></p>\n  <h1>Expo Boilerplate</h1>\n  <p></p>\n  <sup>\n    <a href=\"https://github.com/Cyril-Deschamps/expo-boilerplate/actions\">\n      <img src=\"https://img.shields.io/endpoint.svg?url=https%3A%2F%2Factions-badge.atrox.dev%2FCyril-Deschamps%2Fexpo-boilerplate%2Fbadge%3Fref%3Dproduction&style=flat\" alt=\"builds\" />\n    </a>\n    <a href=\"/LICENSE\">\n      <img src=\"https://img.shields.io/github/license/Cyril-Deschamps/expo-boilerplate?style=flat-square\" alt=\"license\" />\n    </a>\n  </sup>\n  <br />\n  <p align=\"center\">\n    <a href=\"#-intro\"><b>What is this?</b></a>\n    &nbsp;&nbsp;&mdash;&nbsp;&nbsp;\n    <a href=\"#-getting-started\"><b>How to use it ?</b></a>\n    &nbsp;&nbsp;&mdash;&nbsp;&nbsp;\n    <a href=\"#-further-help\"><b>Need help?</b></a>\n  </p>\n  <br />\n</div>\n\n## 👋 Intro\n\nThe project is _super_ helpful to kick-start your next project, as it provides a lot of the common tools you may reach for, all ready to go. Specifically :\n\n- **Flux architecture (boilerplate contains example)**\n  - Application logic is stored on **services** folder\n  - Navgiation is stored on **router** folder\n  - UI are stored in **views** and **components** folder (**view** folder follow the routing tree)\n- **Flux architecture**\n  - [Context](https://reactjs.org/docs/context.html)\n  - With a smart Context management\n- **Routing and navigation**\n  - [React Navigation](https://reactnavigation.org/)\n- **Data Caching / Offline**\n  - [AsyncStorage](https://react-native-async-storage.github.io/async-storage/)\n- **UI Toolkit/s**\n  - [React Native Elements](https://reactnativeelements.com/)\n- **Code Linting** with\n  - ESLint & Prettier\n- **Deployment strategy**\n  - Expo & EAS\n- **GIT**\n  - Husky and Commitizen to format commit message\n  - GitHub action to start linter on PR and branches\n- **Others**\n  - date-fns / react-native-dotenv / axios / required libs of Expo\n\n## 🚀 Getting Started\n\n- Install `eslint` and `prettier` plugins into your IDE\n- Create your project with this command :\n\n```bash\n# Create Expo project with this template\nnpx create-expo-app --template @cyril-deschamps/expo-boilerplate\n```\n\n- Install Husky\n\n```bash\n# Create Expo project with this template\nnpx husky install\n```\n\n## 👊 Further Help?\n\nThis repo is a great place to start. But...if you'd prefer to sit back and have your new project built for you or just need some consultation, get in touch with me directly and I can organise a quote\n","readmeFilename":"README.md"}