diff --git a/404.html b/404.html index 7268a996..e249534e 100644 --- a/404.html +++ b/404.html @@ -9,7 +9,7 @@ - + diff --git a/assets/js/9180670e.5d6fb462.js b/assets/js/9180670e.5d6fb462.js deleted file mode 100644 index 5b4df731..00000000 --- a/assets/js/9180670e.5d6fb462.js +++ /dev/null @@ -1 +0,0 @@ -"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2097],{6738:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>d,toc:()=>p});var i=n(4848),a=n(8453);n(6540);const r=JSON.parse('{"name":"boilerplate","version":"0.0.1","private":true,"scripts":{"android":"react-native run-android","ios":"react-native run-ios","start":"react-native start","test":"jest","lint:coventions":"eslint . --cache","lint:code-format":"prettier --check \\"{src,__mocks__}/**/*.{js,json,md,ts,tsx,yml,yaml}\\"","lint:type-check":"tsc","lint":"yarn lint:coventions && yarn lint:code-format && yarn lint:type-check","lint:fix":"yarn lint:coventions --fix && yarn lint:code-format --write && yarn lint:type-check","test:report":"jest --collectCoverage --coverageDirectory=\\"./coverage\\" --ci --reporters=default --reporters=jest-junit --coverage","pod-install":"npx pod-install","postinstall":"npx patch-package"},"dependencies":{"@react-native-masked-view/masked-view":"^0.3.1","@react-navigation/native":"^6.1.17","@react-navigation/stack":"^6.3.29","@tanstack/react-query":"^5.31.0","i18next":"^23.11.2","intl-pluralrules":"^2.0.1","ky":"^1.2.4","react":"18.3.1","react-error-boundary":"^4.0.13","react-i18next":"^14.1.0","react-native":"0.75.4","react-native-gesture-handler":"^2.16.0","react-native-mmkv":"^2.12.2","react-native-reanimated":"^3.9.0-rc.1","react-native-safe-area-context":"^4.10.1","react-native-screens":"3.31.1","react-native-svg":"^15.7.1","zod":"^3.23.8"},"devDependencies":{"@babel/core":"^7.20.0","@babel/preset-env":"^7.20.0","@babel/runtime":"^7.20.0","@ianvs/prettier-plugin-sort-imports":"^4.3.1","@react-native/babel-preset":"0.75.3","@react-native/eslint-config":"0.75.3","@react-native/metro-config":"0.75.3","@react-native/typescript-config":"0.75.3","@testing-library/jest-native":"^5.4.2","@testing-library/react-native":"^12.1.2","@types/jest":"^29.4.0","@types/node":"^18.14.1","@types/react":"^18.2.6","@types/react-test-renderer":"^18.0.0","@typescript-eslint/eslint-plugin":"7.1.1","@typescript-eslint/parser":"^6.13.1","babel-jest":"^29.6.3","babel-plugin-inline-dotenv":"^1.7.0","babel-plugin-module-resolver":"^5.0.0","babel-plugin-root-import":"^6.6.0","dotenv":"^16.3.1","eslint":"^8.57.1","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-import":"^2.30.0","eslint-plugin-jest":"^28.8.3","eslint-plugin-no-instanceof":"^1.0.1","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-typescript-sort-keys":"^3.2.0","eslint-plugin-unicorn":"^55.0.0","eslint-plugin-unused-imports":"^4.1.4","jest":"^29.6.3","prettier":"^3.3.3","react-native-svg-transformer":"^1.5.0","react-test-renderer":"18.3.1","reactotron-react-native":"^5.1.6","reactotron-react-native-mmkv":"^0.2.6","reactotron-react-query":"^1.0.4","typescript":"5.1.3"},"engines":{"node":">=18"}}');const s=function(e){var t=e.name,n=e.dev;return(0,i.jsx)("span",{children:r[n?"devDependencies":"dependencies"][t]})};const c=function(){return(0,i.jsxs)("div",{className:"flex justify-center items-center mb-5",children:[(0,i.jsx)("img",{width:"300",height:"300",className:"dark:block hidden dark:block",src:n(1424).A,alt:"tom"}),(0,i.jsx)("img",{width:"300",height:"300",className:"dark:hidden sm:block",src:n(3624).A,alt:"tom"})]})},o={slug:"/getting-started",sidebar_label:"Getting Started",title:"Introduction",id:"getting-started",keywords:["react-native","boilerplate","template","starter","getting started"]},l=void 0,d={id:"getting-started",title:"Introduction",description:"Welcome to the React Native Boilerplate documentation!",source:"@site/docs/01-Getting Started.mdx",sourceDirName:".",slug:"/getting-started",permalink:"/react-native-boilerplate/docs/getting-started",draft:!1,unlisted:!1,editUrl:"https://github.com/thecodingmachine/react-native-boilerplate/edit/main/website-documentation/docs/docs/01-Getting Started.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/getting-started",sidebar_label:"Getting Started",title:"Introduction",id:"getting-started",keywords:["react-native","boilerplate","template","starter","getting started"]},sidebar:"tutorialSidebar",next:{title:"Installation",permalink:"/react-native-boilerplate/docs/installation"}},h={},p=[{value:"Features",id:"features",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Updates",id:"updates",level:2}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Welcome to the React Native Boilerplate documentation!"}),"\n",(0,i.jsx)(c,{}),"\n",(0,i.jsx)(t.p,{children:"This React Native template project is here to jumpstart your mobile app development journey.\nWhat makes it stand out? Its simplicity, lightweight nature, and scalability."}),"\n",(0,i.jsx)(t.p,{children:"We've crafted it on a sturdy foundation to ensure easy maintenance, without forcing you into a web of unnecessary dependencies."}),"\n",(0,i.jsx)(t.p,{children:"Our main goal in designing this boilerplate was to keep things simple and focus on the core principles of React Native,\nall while maintaining a clear separation of concerns."}),"\n",(0,i.jsx)(t.admonition,{title:"Don't forget !!",type:"tip",children:(0,i.jsx)(t.p,{children:"If you find value in this boilerplate, consider giving us a star. It would brighten our day like a ray of sunshine! \ud83c\udf08\u2600\ufe0f"})}),"\n",(0,i.jsx)(t.h2,{id:"features",children:"Features"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Features"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/installation#using-the-boilerplate",children:(0,i.jsx)(t.code,{children:"Javascript or TypeScript"})})}),(0,i.jsxs)(t.td,{children:["Every project, developer, team, and experience is unique. That's why you have the freedom to select either a JavaScript or TypeScript codebase. ",(0,i.jsx)(t.a,{href:"/docs/installation#using-the-boilerplate",children:"The choice is yours!"})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/navigate",children:(0,i.jsx)(t.code,{children:"Navigation"})})}),(0,i.jsxs)(t.td,{children:["With ",(0,i.jsx)(t.a,{href:"https://reactnavigation.org/",children:"React Navigation"}),", we offer a swift start to your navigation structure through a robust dependency. Check out the details in our ",(0,i.jsx)(t.a,{href:"/docs/navigate#navigation-structure",children:"navigation structure documentation"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.a,{href:"/docs/data-fetching",children:(0,i.jsx)(t.code,{children:"Data fetching"})}),"\ufe0f"]}),(0,i.jsxs)(t.td,{children:["Leveraging ",(0,i.jsx)(t.a,{href:"https://react-query.tanstack.com/",children:"TanStackQuery"}),", data fetching has never been this effortless."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/internationalization",children:(0,i.jsx)(t.code,{children:"Internationalization"})})}),(0,i.jsxs)(t.td,{children:["Our application is fully prepared for multilingual support, all thanks to ",(0,i.jsx)(t.a,{href:"https://react.i18next.com/",children:"React i18next"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/theming/how-to-use",children:(0,i.jsx)(t.code,{children:"Multi theming"})})}),(0,i.jsx)(t.td,{children:"Without any extra dependencies, we offer an easy-to-use and maintainable theme configuration"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/storage",children:(0,i.jsx)(t.code,{children:"Safe synchrone storage"})})}),(0,i.jsxs)(t.td,{children:["With ",(0,i.jsx)(t.a,{href:"https://github.com/mrousavy/react-native-mmkv",children:"React Native MMKV"}),", storing data becomes a breeze, and it can be done securely."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/environment",children:(0,i.jsx)(t.code,{children:"Environment"})})}),(0,i.jsx)(t.td,{children:"The app comes pre-installed with all the necessary tools for handling simple environment variables"})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,i.jsx)(t.p,{children:"As previously mentioned, this boilerplate is intentionally designed to be straightforward and lightweight, steering clear of unnecessary dependencies. It relies on the following key dependencies:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://reactnative.dev/",children:"React Native"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-native"})}),"): Used for building the native app with React."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://react.dev/",children:"React"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react"})}),"): Empowers the native app with React."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/mrousavy/react-native-mmkv",children:"React Native MMKV"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-native-mmkv"})}),"): A highly efficient and compact mobile key-value storage solution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://reactnavigation.org/",children:"React Navigation"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"@react-navigation/native"})}),"): Handles routing and navigation within the app, featuring a default splash screen setup."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://tanstack.com/query/latest",children:"TanStack Query"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"@tanstack/react-query"})}),"): Facilitates data fetching."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/sindresorhus/ky",children:"Ky"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"ky"})}),"): Used for making HTTP requests."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/i18next/react-i18next",children:"React i18next"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-i18next"})}),"): Manages internationalization within your app."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Just for you",type:"info",children:(0,i.jsx)(t.p,{children:"This boilerplate comes complete with an example that demonstrates everything from UI components to business logic, showcasing fake user data. We've made it easy for you to remove this example if it doesn't align with your project requirements, ensuring it won't hinder your progress."})}),"\n",(0,i.jsx)(t.h2,{id:"updates",children:"Updates"}),"\n",(0,i.jsx)(t.p,{children:"This boilerplate will stay in sync with the latest React Native releases as soon as the libraries and tools used here become compatible."}),"\n",(0,i.jsx)(t.p,{children:"Now, prepare yourself for an exhilarating journey with this React Native boilerplate! \ud83d\ude80"})]})}function g(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},1424:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tom_dark-89655024bc467576ae2eaaa07b0370ce.webp"},3624:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tom_light-89b32c2a5fe4188c17ffebc81a1f094c.webp"},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var i=n(6540);const a={},r=i.createContext(a);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/9180670e.9929cca1.js b/assets/js/9180670e.9929cca1.js new file mode 100644 index 00000000..34dc9c3f --- /dev/null +++ b/assets/js/9180670e.9929cca1.js @@ -0,0 +1 @@ +"use strict";(self.webpackChunkdocumentation=self.webpackChunkdocumentation||[]).push([[2097],{6738:(e,t,n)=>{n.r(t),n.d(t,{assets:()=>h,contentTitle:()=>l,default:()=>g,frontMatter:()=>o,metadata:()=>d,toc:()=>p});var i=n(4848),a=n(8453);n(6540);const r=JSON.parse('{"name":"boilerplate","version":"0.0.1","private":true,"scripts":{"android":"react-native run-android","ios":"react-native run-ios","start":"react-native start","test":"jest","lint:coventions":"eslint . --cache","lint:code-format":"prettier --check \\"{src,__mocks__}/**/*.{js,json,md,ts,tsx,yml,yaml}\\"","lint:type-check":"tsc","lint":"yarn lint:coventions && yarn lint:code-format && yarn lint:type-check","lint:fix":"yarn lint:coventions --fix && yarn lint:code-format --write && yarn lint:type-check","test:report":"jest --collectCoverage --coverageDirectory=\\"./coverage\\" --ci --reporters=default --reporters=jest-junit --coverage","pod-install":"npx pod-install","postinstall":"npx patch-package"},"dependencies":{"@react-native-masked-view/masked-view":"^0.3.1","@react-navigation/native":"^6.1.17","@react-navigation/stack":"^6.3.29","@tanstack/react-query":"^5.31.0","i18next":"^23.11.2","intl-pluralrules":"^2.0.1","ky":"^1.2.4","react":"18.3.1","react-error-boundary":"^4.0.13","react-i18next":"^14.1.0","react-native":"0.75.4","react-native-gesture-handler":"^2.16.0","react-native-mmkv":"^2.12.2","react-native-reanimated":"^3.9.0-rc.1","react-native-safe-area-context":"^4.10.1","react-native-screens":"3.31.1","react-native-svg":"^15.7.1","zod":"^3.23.8"},"devDependencies":{"@babel/core":"^7.20.0","@babel/preset-env":"^7.20.0","@babel/runtime":"^7.20.0","@ianvs/prettier-plugin-sort-imports":"^4.3.1","@react-native/babel-preset":"0.75.3","@react-native/eslint-config":"0.75.3","@react-native/metro-config":"0.75.3","@react-native/typescript-config":"0.75.3","@testing-library/jest-native":"^5.4.2","@testing-library/react-native":"^12.1.2","@types/jest":"^29.4.0","@types/node":"^18.14.1","@types/react":"^18.2.6","@types/react-test-renderer":"^18.0.0","@typescript-eslint/eslint-plugin":"7.1.1","@typescript-eslint/parser":"^7.1.1","babel-jest":"^29.6.3","babel-plugin-inline-dotenv":"^1.7.0","babel-plugin-module-resolver":"^5.0.0","babel-plugin-root-import":"^6.6.0","dotenv":"^16.3.1","eslint":"^8.57.1","eslint-import-resolver-typescript":"^3.6.3","eslint-plugin-import":"^2.30.0","eslint-plugin-jest":"^28.8.3","eslint-plugin-no-instanceof":"^1.0.1","eslint-plugin-react-hooks":"^4.6.2","eslint-plugin-typescript-sort-keys":"^3.2.0","eslint-plugin-unicorn":"^55.0.0","eslint-plugin-unused-imports":"^4.1.4","jest":"^29.6.3","prettier":"^3.3.3","react-native-svg-transformer":"^1.5.0","react-test-renderer":"18.3.1","reactotron-react-native":"^5.1.6","reactotron-react-native-mmkv":"^0.2.6","reactotron-react-query":"^1.0.4","typescript":"5.1.3"},"engines":{"node":">=18"}}');const s=function(e){var t=e.name,n=e.dev;return(0,i.jsx)("span",{children:r[n?"devDependencies":"dependencies"][t]})};const c=function(){return(0,i.jsxs)("div",{className:"flex justify-center items-center mb-5",children:[(0,i.jsx)("img",{width:"300",height:"300",className:"dark:block hidden dark:block",src:n(1424).A,alt:"tom"}),(0,i.jsx)("img",{width:"300",height:"300",className:"dark:hidden sm:block",src:n(3624).A,alt:"tom"})]})},o={slug:"/getting-started",sidebar_label:"Getting Started",title:"Introduction",id:"getting-started",keywords:["react-native","boilerplate","template","starter","getting started"]},l=void 0,d={id:"getting-started",title:"Introduction",description:"Welcome to the React Native Boilerplate documentation!",source:"@site/docs/01-Getting Started.mdx",sourceDirName:".",slug:"/getting-started",permalink:"/react-native-boilerplate/docs/getting-started",draft:!1,unlisted:!1,editUrl:"https://github.com/thecodingmachine/react-native-boilerplate/edit/main/website-documentation/docs/docs/01-Getting Started.mdx",tags:[],version:"current",sidebarPosition:1,frontMatter:{slug:"/getting-started",sidebar_label:"Getting Started",title:"Introduction",id:"getting-started",keywords:["react-native","boilerplate","template","starter","getting started"]},sidebar:"tutorialSidebar",next:{title:"Installation",permalink:"/react-native-boilerplate/docs/installation"}},h={},p=[{value:"Features",id:"features",level:2},{value:"Dependencies",id:"dependencies",level:2},{value:"Updates",id:"updates",level:2}];function u(e){const t={a:"a",admonition:"admonition",code:"code",h2:"h2",li:"li",p:"p",strong:"strong",table:"table",tbody:"tbody",td:"td",th:"th",thead:"thead",tr:"tr",ul:"ul",...(0,a.R)(),...e.components};return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)(t.p,{children:"Welcome to the React Native Boilerplate documentation!"}),"\n",(0,i.jsx)(c,{}),"\n",(0,i.jsx)(t.p,{children:"This React Native template project is here to jumpstart your mobile app development journey.\nWhat makes it stand out? Its simplicity, lightweight nature, and scalability."}),"\n",(0,i.jsx)(t.p,{children:"We've crafted it on a sturdy foundation to ensure easy maintenance, without forcing you into a web of unnecessary dependencies."}),"\n",(0,i.jsx)(t.p,{children:"Our main goal in designing this boilerplate was to keep things simple and focus on the core principles of React Native,\nall while maintaining a clear separation of concerns."}),"\n",(0,i.jsx)(t.admonition,{title:"Don't forget !!",type:"tip",children:(0,i.jsx)(t.p,{children:"If you find value in this boilerplate, consider giving us a star. It would brighten our day like a ray of sunshine! \ud83c\udf08\u2600\ufe0f"})}),"\n",(0,i.jsx)(t.h2,{id:"features",children:"Features"}),"\n",(0,i.jsxs)(t.table,{children:[(0,i.jsx)(t.thead,{children:(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.th,{children:"Features"}),(0,i.jsx)(t.th,{children:"Description"})]})}),(0,i.jsxs)(t.tbody,{children:[(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/installation#using-the-boilerplate",children:(0,i.jsx)(t.code,{children:"Javascript or TypeScript"})})}),(0,i.jsxs)(t.td,{children:["Every project, developer, team, and experience is unique. That's why you have the freedom to select either a JavaScript or TypeScript codebase. ",(0,i.jsx)(t.a,{href:"/docs/installation#using-the-boilerplate",children:"The choice is yours!"})]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/navigate",children:(0,i.jsx)(t.code,{children:"Navigation"})})}),(0,i.jsxs)(t.td,{children:["With ",(0,i.jsx)(t.a,{href:"https://reactnavigation.org/",children:"React Navigation"}),", we offer a swift start to your navigation structure through a robust dependency. Check out the details in our ",(0,i.jsx)(t.a,{href:"/docs/navigate#navigation-structure",children:"navigation structure documentation"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsxs)(t.td,{children:[(0,i.jsx)(t.a,{href:"/docs/data-fetching",children:(0,i.jsx)(t.code,{children:"Data fetching"})}),"\ufe0f"]}),(0,i.jsxs)(t.td,{children:["Leveraging ",(0,i.jsx)(t.a,{href:"https://react-query.tanstack.com/",children:"TanStackQuery"}),", data fetching has never been this effortless."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/internationalization",children:(0,i.jsx)(t.code,{children:"Internationalization"})})}),(0,i.jsxs)(t.td,{children:["Our application is fully prepared for multilingual support, all thanks to ",(0,i.jsx)(t.a,{href:"https://react.i18next.com/",children:"React i18next"}),"."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/theming/how-to-use",children:(0,i.jsx)(t.code,{children:"Multi theming"})})}),(0,i.jsx)(t.td,{children:"Without any extra dependencies, we offer an easy-to-use and maintainable theme configuration"})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/storage",children:(0,i.jsx)(t.code,{children:"Safe synchrone storage"})})}),(0,i.jsxs)(t.td,{children:["With ",(0,i.jsx)(t.a,{href:"https://github.com/mrousavy/react-native-mmkv",children:"React Native MMKV"}),", storing data becomes a breeze, and it can be done securely."]})]}),(0,i.jsxs)(t.tr,{children:[(0,i.jsx)(t.td,{children:(0,i.jsx)(t.a,{href:"/docs/environment",children:(0,i.jsx)(t.code,{children:"Environment"})})}),(0,i.jsx)(t.td,{children:"The app comes pre-installed with all the necessary tools for handling simple environment variables"})]})]})]}),"\n",(0,i.jsx)(t.h2,{id:"dependencies",children:"Dependencies"}),"\n",(0,i.jsx)(t.p,{children:"As previously mentioned, this boilerplate is intentionally designed to be straightforward and lightweight, steering clear of unnecessary dependencies. It relies on the following key dependencies:"}),"\n",(0,i.jsxs)(t.ul,{children:["\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://reactnative.dev/",children:"React Native"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-native"})}),"): Used for building the native app with React."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://react.dev/",children:"React"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react"})}),"): Empowers the native app with React."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/mrousavy/react-native-mmkv",children:"React Native MMKV"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-native-mmkv"})}),"): A highly efficient and compact mobile key-value storage solution."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://reactnavigation.org/",children:"React Navigation"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"@react-navigation/native"})}),"): Handles routing and navigation within the app, featuring a default splash screen setup."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://tanstack.com/query/latest",children:"TanStack Query"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"@tanstack/react-query"})}),"): Facilitates data fetching."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/sindresorhus/ky",children:"Ky"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"ky"})}),"): Used for making HTTP requests."]}),"\n",(0,i.jsxs)(t.li,{children:[(0,i.jsx)(t.a,{href:"https://github.com/i18next/react-i18next",children:"React i18next"})," (",(0,i.jsx)(t.strong,{children:(0,i.jsx)(s,{name:"react-i18next"})}),"): Manages internationalization within your app."]}),"\n"]}),"\n",(0,i.jsx)(t.admonition,{title:"Just for you",type:"info",children:(0,i.jsx)(t.p,{children:"This boilerplate comes complete with an example that demonstrates everything from UI components to business logic, showcasing fake user data. We've made it easy for you to remove this example if it doesn't align with your project requirements, ensuring it won't hinder your progress."})}),"\n",(0,i.jsx)(t.h2,{id:"updates",children:"Updates"}),"\n",(0,i.jsx)(t.p,{children:"This boilerplate will stay in sync with the latest React Native releases as soon as the libraries and tools used here become compatible."}),"\n",(0,i.jsx)(t.p,{children:"Now, prepare yourself for an exhilarating journey with this React Native boilerplate! \ud83d\ude80"})]})}function g(e={}){const{wrapper:t}={...(0,a.R)(),...e.components};return t?(0,i.jsx)(t,{...e,children:(0,i.jsx)(u,{...e})}):u(e)}},1424:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tom_dark-89655024bc467576ae2eaaa07b0370ce.webp"},3624:(e,t,n)=>{n.d(t,{A:()=>i});const i=n.p+"assets/images/tom_light-89b32c2a5fe4188c17ffebc81a1f094c.webp"},8453:(e,t,n)=>{n.d(t,{R:()=>s,x:()=>c});var i=n(6540);const a={},r=i.createContext(a);function s(e){const t=i.useContext(r);return i.useMemo((function(){return"function"==typeof e?e(t):{...t,...e}}),[t,e])}function c(e){let t;return t=e.disableParentContext?"function"==typeof e.components?e.components(a):e.components||a:s(e.components),i.createElement(r.Provider,{value:t},e.children)}}}]); \ No newline at end of file diff --git a/assets/js/runtime~main.c007140a.js b/assets/js/runtime~main.f6d370eb.js similarity index 98% rename from assets/js/runtime~main.c007140a.js rename to assets/js/runtime~main.f6d370eb.js index 825c2740..0f39da19 100644 --- a/assets/js/runtime~main.c007140a.js +++ b/assets/js/runtime~main.f6d370eb.js @@ -1 +1 @@ -(()=>{"use strict";var e,a,f,c,b,t={},d={};function r(e){var a=d[e];if(void 0!==a)return a.exports;var f=d[e]={id:e,loaded:!1,exports:{}};return t[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=t,r.c=d,e=[],r.O=(a,f,c,b)=>{if(!f){var t=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(d=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var t={};a=a||[null,f({}),f([]),f(f)];for(var d=2&c&&e;"object"==typeof d&&!~a.indexOf(d);d=f(d))Object.getOwnPropertyNames(d).forEach((a=>t[a]=()=>e[a]));return t.default=()=>e,r.d(b,t),b},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({75:"8c78eefb",283:"cac30873",300:"1d9607f4",385:"9b9aeefa",510:"5c6e171a",526:"613e4c38",641:"cd6f86bc",717:"e3b5bd6a",989:"45840b5b",1098:"08541a1c",1570:"fa5fd69b",1633:"9978ae18",1647:"8f4f75ff",1745:"e9dc627f",1814:"479f6fc6",2026:"5ecb9713",2065:"9057f425",2097:"9180670e",2138:"1a4e3797",2445:"5c3f0913",2711:"9e4087bc",2982:"92e9ffb0",3249:"ccc49370",3518:"dd6e5c9e",3547:"4f7665a5",3648:"3976176b",3649:"064095bd",4e3:"0090a322",4339:"470d81ea",4403:"06f8a788",4485:"5b594d1f",4583:"1df93b7f",4678:"2d434dbf",4813:"6875c492",4957:"cedccd17",5019:"6a255919",5045:"92b3b5fc",5181:"9162524a",5398:"fcbdad4e",5505:"76b454bf",5618:"af189a8a",5790:"aa66700f",5863:"161bc6a0",5928:"bdafe732",6012:"e2f9adb8",6189:"ce76cd75",6771:"fd341497",7098:"a7bd4aaa",7267:"f68e16b2",7472:"814f3328",7643:"a6aa9e1f",8209:"01a85c17",8401:"17896441",8581:"935f2afb",8609:"a36960e8",9048:"a94703ab",9229:"1c39c4e4",9249:"7c9c93bf",9647:"5e95c892",9700:"b5a48656",9777:"a398e22b",9800:"fda2b297",9842:"38093066",9886:"8ed47401",9944:"a0011b08",9969:"6943abfe"}[e]||e)+"."+{75:"592c9b4f",283:"ecf457ba",300:"fa4868da",385:"b1b2a896",416:"57dd8ed7",510:"a3046c59",526:"177ffed0",641:"342b0820",717:"83cb4307",989:"886c31f0",1098:"9c38056c",1432:"81484ff7",1570:"978da8f6",1633:"35d2eefe",1647:"6e2d8118",1745:"18d35aa9",1814:"4b1b7c31",2026:"4c8a8464",2065:"98761476",2097:"5d6fb462",2138:"0a15cc4d",2237:"b6166f3a",2445:"089956a2",2711:"183bf524",2982:"22569a7f",3249:"137c30c2",3518:"94d2fd98",3547:"19a189d3",3648:"74701183",3649:"1990f0fd",4e3:"60fd382d",4339:"16df0dae",4403:"1c7507a3",4485:"9dcc797c",4583:"b0322b90",4678:"9646f3f6",4813:"e993ba4b",4957:"9802eb3e",5019:"ad09f3d1",5045:"8e119dbe",5181:"5c323b2f",5398:"e3888899",5505:"a8779c8c",5618:"9032ebd6",5790:"b3733c12",5863:"41986233",5928:"d184f431",6012:"6c218540",6189:"a46b2a38",6771:"7706cf2d",7098:"7d8c82f4",7267:"5c990c21",7285:"c3581ca1",7472:"ccf5e4e8",7643:"a1427b0e",8158:"eeacdacd",8209:"e7d8601a",8401:"9cbdfdf7",8544:"0e9e9a97",8581:"fb5dff1d",8609:"27d138d4",8913:"29c3d400",9048:"e032951e",9229:"4268dfca",9249:"00b50b55",9647:"bf7fdb97",9700:"89feada9",9777:"8d5efc40",9800:"5eef4f87",9842:"5328177e",9886:"7441aca1",9944:"407bf3a4",9969:"7fb928f3"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="documentation:",r.l=(e,a,f,t)=>{if(c[e])c[e].push(a);else{var d,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/react-native-boilerplate/",r.gca=function(e){return e={17896441:"8401",38093066:"9842","8c78eefb":"75",cac30873:"283","1d9607f4":"300","9b9aeefa":"385","5c6e171a":"510","613e4c38":"526",cd6f86bc:"641",e3b5bd6a:"717","45840b5b":"989","08541a1c":"1098",fa5fd69b:"1570","9978ae18":"1633","8f4f75ff":"1647",e9dc627f:"1745","479f6fc6":"1814","5ecb9713":"2026","9057f425":"2065","9180670e":"2097","1a4e3797":"2138","5c3f0913":"2445","9e4087bc":"2711","92e9ffb0":"2982",ccc49370:"3249",dd6e5c9e:"3518","4f7665a5":"3547","3976176b":"3648","064095bd":"3649","0090a322":"4000","470d81ea":"4339","06f8a788":"4403","5b594d1f":"4485","1df93b7f":"4583","2d434dbf":"4678","6875c492":"4813",cedccd17:"4957","6a255919":"5019","92b3b5fc":"5045","9162524a":"5181",fcbdad4e:"5398","76b454bf":"5505",af189a8a:"5618",aa66700f:"5790","161bc6a0":"5863",bdafe732:"5928",e2f9adb8:"6012",ce76cd75:"6189",fd341497:"6771",a7bd4aaa:"7098",f68e16b2:"7267","814f3328":"7472",a6aa9e1f:"7643","01a85c17":"8209","935f2afb":"8581",a36960e8:"8609",a94703ab:"9048","1c39c4e4":"9229","7c9c93bf":"9249","5e95c892":"9647",b5a48656:"9700",a398e22b:"9777",fda2b297:"9800","8ed47401":"9886",a0011b08:"9944","6943abfe":"9969"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var t=r.p+r.u(a),d=new Error;r.l(t,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),t=f&&f.target&&f.target.src;d.message="Loading chunk "+a+" failed.\n("+b+": "+t+")",d.name="ChunkLoadError",d.type=b,d.request=t,c[1](d)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,[t,d,o]=f,n=0;if(t.some((a=>0!==e[a]))){for(c in d)r.o(d,c)&&(r.m[c]=d[c]);if(o)var i=o(r)}for(a&&a(f);n{"use strict";var e,a,f,c,b,t={},d={};function r(e){var a=d[e];if(void 0!==a)return a.exports;var f=d[e]={id:e,loaded:!1,exports:{}};return t[e].call(f.exports,f,f.exports,r),f.loaded=!0,f.exports}r.m=t,r.c=d,e=[],r.O=(a,f,c,b)=>{if(!f){var t=1/0;for(i=0;i=b)&&Object.keys(r.O).every((e=>r.O[e](f[o])))?f.splice(o--,1):(d=!1,b0&&e[i-1][2]>b;i--)e[i]=e[i-1];e[i]=[f,c,b]},r.n=e=>{var a=e&&e.__esModule?()=>e.default:()=>e;return r.d(a,{a:a}),a},f=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,r.t=function(e,c){if(1&c&&(e=this(e)),8&c)return e;if("object"==typeof e&&e){if(4&c&&e.__esModule)return e;if(16&c&&"function"==typeof e.then)return e}var b=Object.create(null);r.r(b);var t={};a=a||[null,f({}),f([]),f(f)];for(var d=2&c&&e;"object"==typeof d&&!~a.indexOf(d);d=f(d))Object.getOwnPropertyNames(d).forEach((a=>t[a]=()=>e[a]));return t.default=()=>e,r.d(b,t),b},r.d=(e,a)=>{for(var f in a)r.o(a,f)&&!r.o(e,f)&&Object.defineProperty(e,f,{enumerable:!0,get:a[f]})},r.f={},r.e=e=>Promise.all(Object.keys(r.f).reduce(((a,f)=>(r.f[f](e,a),a)),[])),r.u=e=>"assets/js/"+({75:"8c78eefb",283:"cac30873",300:"1d9607f4",385:"9b9aeefa",510:"5c6e171a",526:"613e4c38",641:"cd6f86bc",717:"e3b5bd6a",989:"45840b5b",1098:"08541a1c",1570:"fa5fd69b",1633:"9978ae18",1647:"8f4f75ff",1745:"e9dc627f",1814:"479f6fc6",2026:"5ecb9713",2065:"9057f425",2097:"9180670e",2138:"1a4e3797",2445:"5c3f0913",2711:"9e4087bc",2982:"92e9ffb0",3249:"ccc49370",3518:"dd6e5c9e",3547:"4f7665a5",3648:"3976176b",3649:"064095bd",4e3:"0090a322",4339:"470d81ea",4403:"06f8a788",4485:"5b594d1f",4583:"1df93b7f",4678:"2d434dbf",4813:"6875c492",4957:"cedccd17",5019:"6a255919",5045:"92b3b5fc",5181:"9162524a",5398:"fcbdad4e",5505:"76b454bf",5618:"af189a8a",5790:"aa66700f",5863:"161bc6a0",5928:"bdafe732",6012:"e2f9adb8",6189:"ce76cd75",6771:"fd341497",7098:"a7bd4aaa",7267:"f68e16b2",7472:"814f3328",7643:"a6aa9e1f",8209:"01a85c17",8401:"17896441",8581:"935f2afb",8609:"a36960e8",9048:"a94703ab",9229:"1c39c4e4",9249:"7c9c93bf",9647:"5e95c892",9700:"b5a48656",9777:"a398e22b",9800:"fda2b297",9842:"38093066",9886:"8ed47401",9944:"a0011b08",9969:"6943abfe"}[e]||e)+"."+{75:"592c9b4f",283:"ecf457ba",300:"fa4868da",385:"b1b2a896",416:"57dd8ed7",510:"a3046c59",526:"177ffed0",641:"342b0820",717:"83cb4307",989:"886c31f0",1098:"9c38056c",1432:"81484ff7",1570:"978da8f6",1633:"35d2eefe",1647:"6e2d8118",1745:"18d35aa9",1814:"4b1b7c31",2026:"4c8a8464",2065:"98761476",2097:"9929cca1",2138:"0a15cc4d",2237:"b6166f3a",2445:"089956a2",2711:"183bf524",2982:"22569a7f",3249:"137c30c2",3518:"94d2fd98",3547:"19a189d3",3648:"74701183",3649:"1990f0fd",4e3:"60fd382d",4339:"16df0dae",4403:"1c7507a3",4485:"9dcc797c",4583:"b0322b90",4678:"9646f3f6",4813:"e993ba4b",4957:"9802eb3e",5019:"ad09f3d1",5045:"8e119dbe",5181:"5c323b2f",5398:"e3888899",5505:"a8779c8c",5618:"9032ebd6",5790:"b3733c12",5863:"41986233",5928:"d184f431",6012:"6c218540",6189:"a46b2a38",6771:"7706cf2d",7098:"7d8c82f4",7267:"5c990c21",7285:"c3581ca1",7472:"ccf5e4e8",7643:"a1427b0e",8158:"eeacdacd",8209:"e7d8601a",8401:"9cbdfdf7",8544:"0e9e9a97",8581:"fb5dff1d",8609:"27d138d4",8913:"29c3d400",9048:"e032951e",9229:"4268dfca",9249:"00b50b55",9647:"bf7fdb97",9700:"89feada9",9777:"8d5efc40",9800:"5eef4f87",9842:"5328177e",9886:"7441aca1",9944:"407bf3a4",9969:"7fb928f3"}[e]+".js",r.miniCssF=e=>{},r.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),r.o=(e,a)=>Object.prototype.hasOwnProperty.call(e,a),c={},b="documentation:",r.l=(e,a,f,t)=>{if(c[e])c[e].push(a);else{var d,o;if(void 0!==f)for(var n=document.getElementsByTagName("script"),i=0;i{d.onerror=d.onload=null,clearTimeout(s);var b=c[e];if(delete c[e],d.parentNode&&d.parentNode.removeChild(d),b&&b.forEach((e=>e(f))),a)return a(f)},s=setTimeout(l.bind(null,void 0,{type:"timeout",target:d}),12e4);d.onerror=l.bind(null,d.onerror),d.onload=l.bind(null,d.onload),o&&document.head.appendChild(d)}},r.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},r.p="/react-native-boilerplate/",r.gca=function(e){return e={17896441:"8401",38093066:"9842","8c78eefb":"75",cac30873:"283","1d9607f4":"300","9b9aeefa":"385","5c6e171a":"510","613e4c38":"526",cd6f86bc:"641",e3b5bd6a:"717","45840b5b":"989","08541a1c":"1098",fa5fd69b:"1570","9978ae18":"1633","8f4f75ff":"1647",e9dc627f:"1745","479f6fc6":"1814","5ecb9713":"2026","9057f425":"2065","9180670e":"2097","1a4e3797":"2138","5c3f0913":"2445","9e4087bc":"2711","92e9ffb0":"2982",ccc49370:"3249",dd6e5c9e:"3518","4f7665a5":"3547","3976176b":"3648","064095bd":"3649","0090a322":"4000","470d81ea":"4339","06f8a788":"4403","5b594d1f":"4485","1df93b7f":"4583","2d434dbf":"4678","6875c492":"4813",cedccd17:"4957","6a255919":"5019","92b3b5fc":"5045","9162524a":"5181",fcbdad4e:"5398","76b454bf":"5505",af189a8a:"5618",aa66700f:"5790","161bc6a0":"5863",bdafe732:"5928",e2f9adb8:"6012",ce76cd75:"6189",fd341497:"6771",a7bd4aaa:"7098",f68e16b2:"7267","814f3328":"7472",a6aa9e1f:"7643","01a85c17":"8209","935f2afb":"8581",a36960e8:"8609",a94703ab:"9048","1c39c4e4":"9229","7c9c93bf":"9249","5e95c892":"9647",b5a48656:"9700",a398e22b:"9777",fda2b297:"9800","8ed47401":"9886",a0011b08:"9944","6943abfe":"9969"}[e]||e,r.p+r.u(e)},(()=>{var e={5354:0,1869:0};r.f.j=(a,f)=>{var c=r.o(e,a)?e[a]:void 0;if(0!==c)if(c)f.push(c[2]);else if(/^(1869|5354)$/.test(a))e[a]=0;else{var b=new Promise(((f,b)=>c=e[a]=[f,b]));f.push(c[2]=b);var t=r.p+r.u(a),d=new Error;r.l(t,(f=>{if(r.o(e,a)&&(0!==(c=e[a])&&(e[a]=void 0),c)){var b=f&&("load"===f.type?"missing":f.type),t=f&&f.target&&f.target.src;d.message="Loading chunk "+a+" failed.\n("+b+": "+t+")",d.name="ChunkLoadError",d.type=b,d.request=t,c[1](d)}}),"chunk-"+a,a)}},r.O.j=a=>0===e[a];var a=(a,f)=>{var c,b,[t,d,o]=f,n=0;if(t.some((a=>0!==e[a]))){for(c in d)r.o(d,c)&&(r.m[c]=d[c]);if(o)var i=o(r)}for(a&&a(f);n