package-installer-cli 2.3.0 → 2.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (372) hide show
  1. checksums.yaml +4 -4
  2. data/bundle-standalone/cli-with-packages.js +568 -369
  3. data/bundle-standalone/template.json +87 -14
  4. data/bundle-standalone/templates/c++_c/crow/template/CMakeLists.txt +18 -0
  5. data/bundle-standalone/templates/c++_c/crow/template/README.md +11 -0
  6. data/bundle-standalone/templates/c++_c/crow/template/include/routes.hpp +19 -0
  7. data/bundle-standalone/templates/c++_c/crow/template/main.cpp +12 -0
  8. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/README.md +36 -0
  9. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/eslint.config.mjs +16 -0
  10. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/middleware.ts +18 -0
  11. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/next.config.ts +7 -0
  12. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/package.json +28 -0
  13. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/pnpm-lock.yaml +3819 -0
  14. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/postcss.config.mjs +5 -0
  15. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/file.svg +1 -0
  16. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/globe.svg +1 -0
  17. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/next.svg +1 -0
  18. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/vercel.svg +1 -0
  19. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/public/window.svg +1 -0
  20. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/favicon.ico +0 -0
  21. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/globals.css +26 -0
  22. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/layout.tsx +34 -0
  23. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/app/page.tsx +33 -0
  24. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/src/lib/auth0.ts +3 -0
  25. data/bundle-standalone/templates/combination-templates/nextjs-auth0-shadcn/tsconfig.json +27 -0
  26. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/README.md +36 -0
  27. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/components.json +21 -0
  28. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/eslint.config.mjs +16 -0
  29. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/middleware.ts +12 -0
  30. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/next.config.ts +7 -0
  31. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/package.json +37 -0
  32. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/pnpm-lock.yaml +4113 -0
  33. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/postcss.config.mjs +5 -0
  34. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/file.svg +1 -0
  35. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/globe.svg +1 -0
  36. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/next.svg +1 -0
  37. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/vercel.svg +1 -0
  38. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/public/window.svg +1 -0
  39. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/favicon.ico +0 -0
  40. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/globals.css +122 -0
  41. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/layout.tsx +55 -0
  42. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/app/page.tsx +10 -0
  43. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/button.tsx +59 -0
  44. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/card.tsx +92 -0
  45. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/input.tsx +21 -0
  46. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/components/ui/textarea.tsx +18 -0
  47. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/lib/utils.ts +6 -0
  48. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/src/middleware.ts +12 -0
  49. data/bundle-standalone/templates/combination-templates/nextjs-clerk-shadcn/tsconfig.json +27 -0
  50. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/README.md +36 -0
  51. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/eslint.config.mjs +16 -0
  52. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/middleware.ts +0 -0
  53. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/next.config.ts +7 -0
  54. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/package.json +28 -0
  55. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/pnpm-lock.yaml +3862 -0
  56. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/postcss.config.mjs +5 -0
  57. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/file.svg +1 -0
  58. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/globe.svg +1 -0
  59. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/next.svg +1 -0
  60. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/vercel.svg +1 -0
  61. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/public/window.svg +1 -0
  62. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/api/auth/[...nextauth]/route.ts +6 -0
  63. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/favicon.ico +0 -0
  64. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/globals.css +26 -0
  65. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/layout.tsx +39 -0
  66. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/app/page.tsx +10 -0
  67. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth-provider.tsx +7 -0
  68. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/src/lib/auth.ts +126 -0
  69. data/bundle-standalone/templates/combination-templates/nextjs-next-auth-shadcn/tsconfig.json +27 -0
  70. data/bundle-standalone/templates/game/unity/template/README.md +3 -0
  71. data/bundle-standalone/templates/game/unity/template/Scripts/PlayerController.cs +25 -0
  72. data/bundle-standalone/templates/game/unreal/template/README.md +3 -0
  73. data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.cpp +33 -0
  74. data/bundle-standalone/templates/game/unreal/template/Source/PlayerCharacter.h +20 -0
  75. data/bundle-standalone/templates/javascript/preactjs/javascript/template/index.html +13 -0
  76. data/bundle-standalone/templates/javascript/preactjs/javascript/template/package.json +18 -0
  77. data/bundle-standalone/templates/javascript/preactjs/javascript/template/public/vite.svg +1 -0
  78. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.css +25 -0
  79. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/app.jsx +43 -0
  80. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/assets/preact.svg +1 -0
  81. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/index.css +68 -0
  82. data/bundle-standalone/templates/javascript/preactjs/javascript/template/src/main.jsx +5 -0
  83. data/bundle-standalone/templates/javascript/preactjs/javascript/template/vite.config.js +7 -0
  84. data/bundle-standalone/templates/javascript/preactjs/typescript/template/index.html +13 -0
  85. data/bundle-standalone/templates/javascript/preactjs/typescript/template/package.json +20 -0
  86. data/bundle-standalone/templates/javascript/preactjs/typescript/template/public/vite.svg +1 -0
  87. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.css +25 -0
  88. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/app.tsx +43 -0
  89. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/assets/preact.svg +1 -0
  90. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/index.css +68 -0
  91. data/bundle-standalone/templates/javascript/preactjs/typescript/template/src/main.tsx +5 -0
  92. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.app.json +33 -0
  93. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.json +7 -0
  94. data/bundle-standalone/templates/javascript/preactjs/typescript/template/tsconfig.node.json +26 -0
  95. data/bundle-standalone/templates/javascript/preactjs/typescript/template/vite.config.ts +7 -0
  96. data/bundle-standalone/templates/javascript/solidjs/javascript/template/README.md +28 -0
  97. data/bundle-standalone/templates/javascript/solidjs/javascript/template/index.html +13 -0
  98. data/bundle-standalone/templates/javascript/solidjs/javascript/template/package.json +18 -0
  99. data/bundle-standalone/templates/javascript/solidjs/javascript/template/public/vite.svg +1 -0
  100. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.css +27 -0
  101. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/App.jsx +35 -0
  102. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/assets/solid.svg +1 -0
  103. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.css +68 -0
  104. data/bundle-standalone/templates/javascript/solidjs/javascript/template/src/index.jsx +8 -0
  105. data/bundle-standalone/templates/javascript/solidjs/javascript/template/vite.config.js +6 -0
  106. data/bundle-standalone/templates/javascript/solidjs/typescript/template/README.md +28 -0
  107. data/bundle-standalone/templates/javascript/solidjs/typescript/template/index.html +13 -0
  108. data/bundle-standalone/templates/javascript/solidjs/typescript/template/package.json +20 -0
  109. data/bundle-standalone/templates/javascript/solidjs/typescript/template/public/vite.svg +1 -0
  110. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.css +27 -0
  111. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/App.tsx +35 -0
  112. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/assets/solid.svg +1 -0
  113. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.css +68 -0
  114. data/bundle-standalone/templates/javascript/solidjs/typescript/template/src/index.tsx +8 -0
  115. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.app.json +29 -0
  116. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.json +7 -0
  117. data/bundle-standalone/templates/javascript/solidjs/typescript/template/tsconfig.node.json +26 -0
  118. data/bundle-standalone/templates/javascript/solidjs/typescript/template/vite.config.ts +6 -0
  119. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/README.md +43 -0
  120. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/index.html +13 -0
  121. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/jsconfig.json +33 -0
  122. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/package.json +16 -0
  123. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/public/vite.svg +1 -0
  124. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/App.svelte +47 -0
  125. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/app.css +79 -0
  126. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/assets/svelte.svg +1 -0
  127. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/lib/Counter.svelte +10 -0
  128. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/src/main.js +9 -0
  129. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/svelte.config.js +8 -0
  130. data/bundle-standalone/templates/javascript/sveltejs/javascript/template/vite.config.js +7 -0
  131. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/README.md +47 -0
  132. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/index.html +13 -0
  133. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/package.json +21 -0
  134. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/public/vite.svg +1 -0
  135. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/App.svelte +47 -0
  136. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/app.css +79 -0
  137. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/assets/svelte.svg +1 -0
  138. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/lib/Counter.svelte +10 -0
  139. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/src/main.ts +9 -0
  140. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/svelte.config.js +8 -0
  141. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.app.json +21 -0
  142. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.json +7 -0
  143. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/tsconfig.node.json +26 -0
  144. data/bundle-standalone/templates/javascript/sveltejs/typescript/template/vite.config.ts +7 -0
  145. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/README.md +50 -0
  146. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/_layout.jsx +35 -0
  147. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/explore.jsx +112 -0
  148. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/(tabs)/index.jsx +98 -0
  149. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/_layout.jsx +24 -0
  150. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app/modal.jsx +29 -0
  151. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/app.json +48 -0
  152. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-background.png +0 -0
  153. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
  154. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
  155. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/favicon.png +0 -0
  156. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/icon.png +0 -0
  157. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
  158. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo.png +0 -0
  159. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
  160. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
  161. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/assets/images/splash-icon.png +0 -0
  162. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/external-link.jsx +25 -0
  163. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/haptic-tab.jsx +18 -0
  164. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/hello-wave.jsx +19 -0
  165. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/parallax-scroll-view.jsx +79 -0
  166. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-text.jsx +60 -0
  167. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/themed-view.jsx +14 -0
  168. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/collapsible.jsx +45 -0
  169. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.ios.jsx +32 -0
  170. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/components/ui/icon-symbol.jsx +41 -0
  171. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/constants/theme.js +53 -0
  172. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/eslint.config.js +10 -0
  173. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.js +1 -0
  174. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-color-scheme.web.js +21 -0
  175. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/hooks/use-theme-color.js +21 -0
  176. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/jsconfig.json +17 -0
  177. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/package.json +47 -0
  178. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/pnpm-workspace.yaml +1 -0
  179. data/bundle-standalone/templates/mobile/react-native/javascript/expo-cli-template/scripts/reset-project.js +112 -0
  180. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/README.md +50 -0
  181. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/_layout.tsx +35 -0
  182. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/explore.tsx +112 -0
  183. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/(tabs)/index.tsx +98 -0
  184. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/_layout.tsx +24 -0
  185. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app/modal.tsx +29 -0
  186. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/app.json +48 -0
  187. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-background.png +0 -0
  188. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-foreground.png +0 -0
  189. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/android-icon-monochrome.png +0 -0
  190. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/favicon.png +0 -0
  191. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/icon.png +0 -0
  192. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/partial-react-logo.png +0 -0
  193. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo.png +0 -0
  194. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@2x.png +0 -0
  195. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/react-logo@3x.png +0 -0
  196. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/assets/images/splash-icon.png +0 -0
  197. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/external-link.tsx +25 -0
  198. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/haptic-tab.tsx +18 -0
  199. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/hello-wave.tsx +19 -0
  200. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/parallax-scroll-view.tsx +79 -0
  201. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-text.tsx +60 -0
  202. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/themed-view.tsx +14 -0
  203. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/collapsible.tsx +45 -0
  204. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.ios.tsx +32 -0
  205. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/components/ui/icon-symbol.tsx +41 -0
  206. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/constants/theme.ts +53 -0
  207. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/eslint.config.js +10 -0
  208. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.ts +1 -0
  209. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-color-scheme.web.ts +21 -0
  210. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/hooks/use-theme-color.ts +21 -0
  211. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/package.json +47 -0
  212. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/pnpm-workspace.yaml +1 -0
  213. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/scripts/reset-project.js +112 -0
  214. data/bundle-standalone/templates/mobile/react-native/typescript/expo-cli-template/tsconfig.json +17 -0
  215. data/bundle-standalone/templates/python/bottle/template/README.md +0 -0
  216. data/bundle-standalone/templates/python/bottle/template/main.py +6 -0
  217. data/bundle-standalone/templates/python/bottle/template/pyproject.toml +7 -0
  218. data/bundle-standalone/templates/python/dash/template/README.md +0 -0
  219. data/bundle-standalone/templates/python/dash/template/main.py +6 -0
  220. data/bundle-standalone/templates/python/dash/template/pyproject.toml +7 -0
  221. data/bundle-standalone/templates/python/falcon/template/README.md +0 -0
  222. data/bundle-standalone/templates/python/falcon/template/main.py +6 -0
  223. data/bundle-standalone/templates/python/falcon/template/pyproject.toml +7 -0
  224. data/bundle-standalone/templates/python/fastapi/template/README.md +0 -0
  225. data/bundle-standalone/templates/python/fastapi/template/main.py +27 -0
  226. data/bundle-standalone/templates/python/fastapi/template/pyproject.toml +7 -0
  227. data/bundle-standalone/templates/python/pyramid/template/README.md +0 -0
  228. data/bundle-standalone/templates/python/pyramid/template/main.py +6 -0
  229. data/bundle-standalone/templates/python/pyramid/template/pyproject.toml +7 -0
  230. data/bundle-standalone/templates/python/quart/template/README.md +0 -0
  231. data/bundle-standalone/templates/python/quart/template/main.py +6 -0
  232. data/bundle-standalone/templates/python/quart/template/pyproject.toml +7 -0
  233. data/bundle-standalone/templates/python/streamlit/template/README.md +0 -0
  234. data/bundle-standalone/templates/python/streamlit/template/main.py +6 -0
  235. data/bundle-standalone/templates/python/streamlit/template/pyproject.toml +7 -0
  236. data/bundle-standalone/templates/python/tornado/template/README.md +0 -0
  237. data/bundle-standalone/templates/python/tornado/template/main.py +6 -0
  238. data/bundle-standalone/templates/python/tornado/template/pyproject.toml +7 -0
  239. data/bundle-standalone/templates/template.json +87 -14
  240. data/bundle-standalone/templates/web3/anchor/template/Anchor.toml +6 -0
  241. data/bundle-standalone/templates/web3/anchor/template/Cargo.toml +23 -0
  242. data/bundle-standalone/templates/web3/anchor/template/README.md +10 -0
  243. data/bundle-standalone/templates/web3/anchor/template/migrations/deploy.ts +27 -0
  244. data/bundle-standalone/templates/web3/anchor/template/programs/mysolanaapp/src/lib.rs +40 -0
  245. data/bundle-standalone/templates/web3/anchor/template/tests/mysolanaapp.ts +26 -0
  246. data/bundle-standalone/templates/web3/ethersjs/template/README.md +12 -0
  247. data/bundle-standalone/templates/web3/ethersjs/template/contracts/SimpleStorage.sol +17 -0
  248. data/bundle-standalone/templates/web3/ethersjs/template/hardhat.config.js +8 -0
  249. data/bundle-standalone/templates/web3/ethersjs/template/package.json +29 -0
  250. data/bundle-standalone/templates/web3/ethersjs/template/scripts/deploy.ts +18 -0
  251. data/bundle-standalone/templates/web3/ethersjs/template/scripts/interact.ts +17 -0
  252. data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/DataTypes.sol +37 -0
  253. data/bundle-standalone/templates/web3/solidity/solidity-learning/01_data-types/SolidityOperations.sol +48 -0
  254. data/bundle-standalone/templates/web3/solidity/solidity-learning/02_contructors/Constructor.sol +16 -0
  255. data/bundle-standalone/templates/web3/solidity/solidity-learning/03_variables/Variables.sol +31 -0
  256. data/bundle-standalone/templates/web3/solidity/solidity-learning/04_functions/Functions.sol +19 -0
  257. data/bundle-standalone/templates/web3/solidity/solidity-learning/05_visibility/FunctionVisibility.sol +39 -0
  258. data/bundle-standalone/templates/web3/solidity/solidity-learning/06_pure_and_view_functions/PureAndViewFunction.sol +19 -0
  259. data/bundle-standalone/templates/web3/solidity/solidity-learning/07_function_modifiers/Modifiers.sol +27 -0
  260. data/bundle-standalone/templates/web3/solidity/solidity-learning/09_events/Events.sol +19 -0
  261. data/bundle-standalone/templates/web3/solidity/solidity-learning/10_error_handling/ErrorHandling.sol +25 -0
  262. data/bundle-standalone/templates/web3/solidity/solidity-learning/11_fallback_function/Fallback.sol +7 -0
  263. data/bundle-standalone/templates/web3/solidity/solidity-learning/12_for_loop/ForLoop.sol +15 -0
  264. data/bundle-standalone/templates/web3/solidity/solidity-learning/13_array/Array.sol +40 -0
  265. data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/Mapping.sol +21 -0
  266. data/bundle-standalone/templates/web3/solidity/solidity-learning/14_mapping/NestedMapping.sol +25 -0
  267. data/bundle-standalone/templates/web3/solidity/solidity-learning/15_enum/Enum.sol +22 -0
  268. data/bundle-standalone/templates/web3/solidity/solidity-learning/16_struct/Struct.sol +23 -0
  269. data/bundle-standalone/templates/web3/solidity/solidity-learning/17_payable_modifier/Payable.sol +26 -0
  270. data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract1.sol +15 -0
  271. data/bundle-standalone/templates/web3/solidity/solidity-learning/18_imports/Contract2.sol +11 -0
  272. data/bundle-standalone/templates/web3/solidity/solidity-learning/19_contract_cleanup/Cleanup.sol +18 -0
  273. data/bundle-standalone/templates/web3/solidity/solidity-learning/20_memory_and_storage/MemoryAndStorage.sol +20 -0
  274. data/bundle-standalone/templates/web3/solidity/solidity-learning/21_inheritance/Inheritance.sol +67 -0
  275. data/bundle-standalone/templates/web3/solidity/solidity-learning/22_if_statement/if-statement.sol +22 -0
  276. data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/libraries.sol +31 -0
  277. data/bundle-standalone/templates/web3/solidity/solidity-learning/23_libraries/safemath.sol +116 -0
  278. data/bundle-standalone/templates/web3/solidity/solidity-learning/24_interface/interface.sol +88 -0
  279. data/bundle-standalone/templates/web3/solidity/solidity-learning/README.md +423 -0
  280. data/bundle-standalone/templates/web3/solidity/uniswap-simple-swap/SimpleSwap.sol +46 -0
  281. metadata +369 -93
  282. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/App.jsx +0 -0
  283. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/Gemfile +0 -0
  284. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/README.md +0 -0
  285. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
  286. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
  287. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
  288. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
  289. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
  290. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
  291. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
  292. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -0
  293. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  294. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  295. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  296. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  297. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  298. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  299. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  300. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  301. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  302. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  303. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
  304. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
  305. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/build.gradle +0 -0
  306. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  307. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
  308. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradle.properties +0 -0
  309. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew +0 -0
  310. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
  311. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/android/settings.gradle +0 -0
  312. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/app.json +0 -0
  313. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/babel.config.js +0 -0
  314. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/index.js +0 -0
  315. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/Podfile +0 -0
  316. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
  317. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
  318. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
  319. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
  320. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
  321. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
  322. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
  323. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
  324. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/jest.config.js +0 -0
  325. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/metro.config.js +0 -0
  326. /data/bundle-standalone/templates/mobile/react-native/javascript/{template → react-native-cli-template}/package.json +0 -0
  327. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/App.tsx +0 -0
  328. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/Gemfile +0 -0
  329. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/README.md +0 -0
  330. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/__tests__/App.test.tsx +0 -0
  331. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/build.gradle +0 -0
  332. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/debug.keystore +0 -0
  333. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/proguard-rules.pro +0 -0
  334. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/AndroidManifest.xml +0 -0
  335. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainActivity.kt +0 -0
  336. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/java/com/template/MainApplication.kt +0 -0
  337. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -0
  338. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher.png +0 -0
  339. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.png +0 -0
  340. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher.png +0 -0
  341. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.png +0 -0
  342. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher.png +0 -0
  343. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.png +0 -0
  344. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png +0 -0
  345. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.png +0 -0
  346. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png +0 -0
  347. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.png +0 -0
  348. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/strings.xml +0 -0
  349. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/app/src/main/res/values/styles.xml +0 -0
  350. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/build.gradle +0 -0
  351. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  352. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle/wrapper/gradle-wrapper.properties +0 -0
  353. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradle.properties +0 -0
  354. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew +0 -0
  355. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/gradlew.bat +0 -0
  356. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/android/settings.gradle +0 -0
  357. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/app.json +0 -0
  358. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/babel.config.js +0 -0
  359. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/index.js +0 -0
  360. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/Podfile +0 -0
  361. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/AppDelegate.swift +0 -0
  362. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/AppIcon.appiconset/Contents.json +0 -0
  363. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Images.xcassets/Contents.json +0 -0
  364. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/Info.plist +0 -0
  365. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/LaunchScreen.storyboard +0 -0
  366. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template/PrivacyInfo.xcprivacy +0 -0
  367. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/project.pbxproj +0 -0
  368. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/ios/template.xcodeproj/xcshareddata/xcschemes/template.xcscheme +0 -0
  369. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/jest.config.js +0 -0
  370. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/metro.config.js +0 -0
  371. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/package.json +0 -0
  372. /data/bundle-standalone/templates/mobile/react-native/typescript/{template → react-native-cli-template}/tsconfig.json +0 -0
@@ -0,0 +1,26 @@
1
+ {
2
+ "compilerOptions": {
3
+ "tsBuildInfoFile": "./node_modules/.tmp/tsconfig.node.tsbuildinfo",
4
+ "target": "ES2023",
5
+ "lib": ["ES2023"],
6
+ "module": "ESNext",
7
+ "types": ["node"],
8
+ "skipLibCheck": true,
9
+
10
+ /* Bundler mode */
11
+ "moduleResolution": "bundler",
12
+ "allowImportingTsExtensions": true,
13
+ "verbatimModuleSyntax": true,
14
+ "moduleDetection": "force",
15
+ "noEmit": true,
16
+
17
+ /* Linting */
18
+ "strict": true,
19
+ "noUnusedLocals": true,
20
+ "noUnusedParameters": true,
21
+ "erasableSyntaxOnly": true,
22
+ "noFallthroughCasesInSwitch": true,
23
+ "noUncheckedSideEffectImports": true
24
+ },
25
+ "include": ["vite.config.ts"]
26
+ }
@@ -0,0 +1,7 @@
1
+ import { defineConfig } from 'vite'
2
+ import { svelte } from '@sveltejs/vite-plugin-svelte'
3
+
4
+ // https://vite.dev/config/
5
+ export default defineConfig({
6
+ plugins: [svelte()],
7
+ })
@@ -0,0 +1,50 @@
1
+ # Welcome to your Expo app 👋
2
+
3
+ This is an [Expo](https://expo.dev) project created with [`create-expo-app`](https://www.npmjs.com/package/create-expo-app).
4
+
5
+ ## Get started
6
+
7
+ 1. Install dependencies
8
+
9
+ ```bash
10
+ npm install
11
+ ```
12
+
13
+ 2. Start the app
14
+
15
+ ```bash
16
+ npx expo start
17
+ ```
18
+
19
+ In the output, you'll find options to open the app in a
20
+
21
+ - [development build](https://docs.expo.dev/develop/development-builds/introduction/)
22
+ - [Android emulator](https://docs.expo.dev/workflow/android-studio-emulator/)
23
+ - [iOS simulator](https://docs.expo.dev/workflow/ios-simulator/)
24
+ - [Expo Go](https://expo.dev/go), a limited sandbox for trying out app development with Expo
25
+
26
+ You can start developing by editing the files inside the **app** directory. This project uses [file-based routing](https://docs.expo.dev/router/introduction).
27
+
28
+ ## Get a fresh project
29
+
30
+ When you're ready, run:
31
+
32
+ ```bash
33
+ npm run reset-project
34
+ ```
35
+
36
+ This command will move the starter code to the **app-example** directory and create a blank **app** directory where you can start developing.
37
+
38
+ ## Learn more
39
+
40
+ To learn more about developing your project with Expo, look at the following resources:
41
+
42
+ - [Expo documentation](https://docs.expo.dev/): Learn fundamentals, or go into advanced topics with our [guides](https://docs.expo.dev/guides).
43
+ - [Learn Expo tutorial](https://docs.expo.dev/tutorial/introduction/): Follow a step-by-step tutorial where you'll create a project that runs on Android, iOS, and the web.
44
+
45
+ ## Join the community
46
+
47
+ Join our community of developers creating universal apps.
48
+
49
+ - [Expo on GitHub](https://github.com/expo/expo): View our open source platform and contribute.
50
+ - [Discord community](https://chat.expo.dev): Chat with Expo users and ask questions.
@@ -0,0 +1,35 @@
1
+ import { Tabs } from 'expo-router';
2
+ import React from 'react';
3
+
4
+ import { HapticTab } from '@/components/haptic-tab';
5
+ import { IconSymbol } from '@/components/ui/icon-symbol';
6
+ import { Colors } from '@/constants/theme';
7
+ import { useColorScheme } from '@/hooks/use-color-scheme';
8
+
9
+ export default function TabLayout() {
10
+ const colorScheme = useColorScheme();
11
+
12
+ return (
13
+ <Tabs
14
+ screenOptions={{
15
+ tabBarActiveTintColor: Colors[colorScheme ?? 'light'].tint,
16
+ headerShown: false,
17
+ tabBarButton: HapticTab,
18
+ }}>
19
+ <Tabs.Screen
20
+ name="index"
21
+ options={{
22
+ title: 'Home',
23
+ tabBarIcon: ({ color }) => <IconSymbol size={28} name="house.fill" color={color} />,
24
+ }}
25
+ />
26
+ <Tabs.Screen
27
+ name="explore"
28
+ options={{
29
+ title: 'Explore',
30
+ tabBarIcon: ({ color }) => <IconSymbol size={28} name="paperplane.fill" color={color} />,
31
+ }}
32
+ />
33
+ </Tabs>
34
+ );
35
+ }
@@ -0,0 +1,112 @@
1
+ import { Image } from 'expo-image';
2
+ import { Platform, StyleSheet } from 'react-native';
3
+
4
+ import { Collapsible } from '@/components/ui/collapsible';
5
+ import { ExternalLink } from '@/components/external-link';
6
+ import ParallaxScrollView from '@/components/parallax-scroll-view';
7
+ import { ThemedText } from '@/components/themed-text';
8
+ import { ThemedView } from '@/components/themed-view';
9
+ import { IconSymbol } from '@/components/ui/icon-symbol';
10
+ import { Fonts } from '@/constants/theme';
11
+
12
+ export default function TabTwoScreen() {
13
+ return (
14
+ <ParallaxScrollView
15
+ headerBackgroundColor={{ light: '#D0D0D0', dark: '#353636' }}
16
+ headerImage={
17
+ <IconSymbol
18
+ size={310}
19
+ color="#808080"
20
+ name="chevron.left.forwardslash.chevron.right"
21
+ style={styles.headerImage}
22
+ />
23
+ }>
24
+ <ThemedView style={styles.titleContainer}>
25
+ <ThemedText
26
+ type="title"
27
+ style={{
28
+ fontFamily: Fonts.rounded,
29
+ }}>
30
+ Explore
31
+ </ThemedText>
32
+ </ThemedView>
33
+ <ThemedText>This app includes example code to help you get started.</ThemedText>
34
+ <Collapsible title="File-based routing">
35
+ <ThemedText>
36
+ This app has two screens:{' '}
37
+ <ThemedText type="defaultSemiBold">app/(tabs)/index.tsx</ThemedText> and{' '}
38
+ <ThemedText type="defaultSemiBold">app/(tabs)/explore.tsx</ThemedText>
39
+ </ThemedText>
40
+ <ThemedText>
41
+ The layout file in <ThemedText type="defaultSemiBold">app/(tabs)/_layout.tsx</ThemedText>{' '}
42
+ sets up the tab navigator.
43
+ </ThemedText>
44
+ <ExternalLink href="https://docs.expo.dev/router/introduction">
45
+ <ThemedText type="link">Learn more</ThemedText>
46
+ </ExternalLink>
47
+ </Collapsible>
48
+ <Collapsible title="Android, iOS, and web support">
49
+ <ThemedText>
50
+ You can open this project on Android, iOS, and the web. To open the web version, press{' '}
51
+ <ThemedText type="defaultSemiBold">w</ThemedText> in the terminal running this project.
52
+ </ThemedText>
53
+ </Collapsible>
54
+ <Collapsible title="Images">
55
+ <ThemedText>
56
+ For static images, you can use the <ThemedText type="defaultSemiBold">@2x</ThemedText> and{' '}
57
+ <ThemedText type="defaultSemiBold">@3x</ThemedText> suffixes to provide files for
58
+ different screen densities
59
+ </ThemedText>
60
+ <Image
61
+ source={require('@/assets/images/react-logo.png')}
62
+ style={{ width: 100, height: 100, alignSelf: 'center' }}
63
+ />
64
+ <ExternalLink href="https://reactnative.dev/docs/images">
65
+ <ThemedText type="link">Learn more</ThemedText>
66
+ </ExternalLink>
67
+ </Collapsible>
68
+ <Collapsible title="Light and dark mode components">
69
+ <ThemedText>
70
+ This template has light and dark mode support. The{' '}
71
+ <ThemedText type="defaultSemiBold">useColorScheme()</ThemedText> hook lets you inspect
72
+ what the user&apos;s current color scheme is, and so you can adjust UI colors accordingly.
73
+ </ThemedText>
74
+ <ExternalLink href="https://docs.expo.dev/develop/user-interface/color-themes/">
75
+ <ThemedText type="link">Learn more</ThemedText>
76
+ </ExternalLink>
77
+ </Collapsible>
78
+ <Collapsible title="Animations">
79
+ <ThemedText>
80
+ This template includes an example of an animated component. The{' '}
81
+ <ThemedText type="defaultSemiBold">components/HelloWave.tsx</ThemedText> component uses
82
+ the powerful{' '}
83
+ <ThemedText type="defaultSemiBold" style={{ fontFamily: Fonts.mono }}>
84
+ react-native-reanimated
85
+ </ThemedText>{' '}
86
+ library to create a waving hand animation.
87
+ </ThemedText>
88
+ {Platform.select({
89
+ ios: (
90
+ <ThemedText>
91
+ The <ThemedText type="defaultSemiBold">components/ParallaxScrollView.tsx</ThemedText>{' '}
92
+ component provides a parallax effect for the header image.
93
+ </ThemedText>
94
+ ),
95
+ })}
96
+ </Collapsible>
97
+ </ParallaxScrollView>
98
+ );
99
+ }
100
+
101
+ const styles = StyleSheet.create({
102
+ headerImage: {
103
+ color: '#808080',
104
+ bottom: -90,
105
+ left: -35,
106
+ position: 'absolute',
107
+ },
108
+ titleContainer: {
109
+ flexDirection: 'row',
110
+ gap: 8,
111
+ },
112
+ });
@@ -0,0 +1,98 @@
1
+ import { Image } from 'expo-image';
2
+ import { Platform, StyleSheet } from 'react-native';
3
+
4
+ import { HelloWave } from '@/components/hello-wave';
5
+ import ParallaxScrollView from '@/components/parallax-scroll-view';
6
+ import { ThemedText } from '@/components/themed-text';
7
+ import { ThemedView } from '@/components/themed-view';
8
+ import { Link } from 'expo-router';
9
+
10
+ export default function HomeScreen() {
11
+ return (
12
+ <ParallaxScrollView
13
+ headerBackgroundColor={{ light: '#A1CEDC', dark: '#1D3D47' }}
14
+ headerImage={
15
+ <Image
16
+ source={require('@/assets/images/partial-react-logo.png')}
17
+ style={styles.reactLogo}
18
+ />
19
+ }>
20
+ <ThemedView style={styles.titleContainer}>
21
+ <ThemedText type="title">Welcome!</ThemedText>
22
+ <HelloWave />
23
+ </ThemedView>
24
+ <ThemedView style={styles.stepContainer}>
25
+ <ThemedText type="subtitle">Step 1: Try it</ThemedText>
26
+ <ThemedText>
27
+ Edit <ThemedText type="defaultSemiBold">app/(tabs)/index.tsx</ThemedText> to see changes.
28
+ Press{' '}
29
+ <ThemedText type="defaultSemiBold">
30
+ {Platform.select({
31
+ ios: 'cmd + d',
32
+ android: 'cmd + m',
33
+ web: 'F12',
34
+ })}
35
+ </ThemedText>{' '}
36
+ to open developer tools.
37
+ </ThemedText>
38
+ </ThemedView>
39
+ <ThemedView style={styles.stepContainer}>
40
+ <Link href="/modal">
41
+ <Link.Trigger>
42
+ <ThemedText type="subtitle">Step 2: Explore</ThemedText>
43
+ </Link.Trigger>
44
+ <Link.Preview />
45
+ <Link.Menu>
46
+ <Link.MenuAction title="Action" icon="cube" onPress={() => alert('Action pressed')} />
47
+ <Link.MenuAction
48
+ title="Share"
49
+ icon="square.and.arrow.up"
50
+ onPress={() => alert('Share pressed')}
51
+ />
52
+ <Link.Menu title="More" icon="ellipsis">
53
+ <Link.MenuAction
54
+ title="Delete"
55
+ icon="trash"
56
+ destructive
57
+ onPress={() => alert('Delete pressed')}
58
+ />
59
+ </Link.Menu>
60
+ </Link.Menu>
61
+ </Link>
62
+
63
+ <ThemedText>
64
+ {`Tap the Explore tab to learn more about what's included in this starter app.`}
65
+ </ThemedText>
66
+ </ThemedView>
67
+ <ThemedView style={styles.stepContainer}>
68
+ <ThemedText type="subtitle">Step 3: Get a fresh start</ThemedText>
69
+ <ThemedText>
70
+ {`When you're ready, run `}
71
+ <ThemedText type="defaultSemiBold">npm run reset-project</ThemedText> to get a fresh{' '}
72
+ <ThemedText type="defaultSemiBold">app</ThemedText> directory. This will move the current{' '}
73
+ <ThemedText type="defaultSemiBold">app</ThemedText> to{' '}
74
+ <ThemedText type="defaultSemiBold">app-example</ThemedText>.
75
+ </ThemedText>
76
+ </ThemedView>
77
+ </ParallaxScrollView>
78
+ );
79
+ }
80
+
81
+ const styles = StyleSheet.create({
82
+ titleContainer: {
83
+ flexDirection: 'row',
84
+ alignItems: 'center',
85
+ gap: 8,
86
+ },
87
+ stepContainer: {
88
+ gap: 8,
89
+ marginBottom: 8,
90
+ },
91
+ reactLogo: {
92
+ height: 178,
93
+ width: 290,
94
+ bottom: 0,
95
+ left: 0,
96
+ position: 'absolute',
97
+ },
98
+ });
@@ -0,0 +1,24 @@
1
+ import { DarkTheme, DefaultTheme, ThemeProvider } from '@react-navigation/native';
2
+ import { Stack } from 'expo-router';
3
+ import { StatusBar } from 'expo-status-bar';
4
+ import 'react-native-reanimated';
5
+
6
+ import { useColorScheme } from '@/hooks/use-color-scheme';
7
+
8
+ export const unstable_settings = {
9
+ anchor: '(tabs)',
10
+ };
11
+
12
+ export default function RootLayout() {
13
+ const colorScheme = useColorScheme();
14
+
15
+ return (
16
+ <ThemeProvider value={colorScheme === 'dark' ? DarkTheme : DefaultTheme}>
17
+ <Stack>
18
+ <Stack.Screen name="(tabs)" options={{ headerShown: false }} />
19
+ <Stack.Screen name="modal" options={{ presentation: 'modal', title: 'Modal' }} />
20
+ </Stack>
21
+ <StatusBar style="auto" />
22
+ </ThemeProvider>
23
+ );
24
+ }
@@ -0,0 +1,29 @@
1
+ import { Link } from 'expo-router';
2
+ import { StyleSheet } from 'react-native';
3
+
4
+ import { ThemedText } from '@/components/themed-text';
5
+ import { ThemedView } from '@/components/themed-view';
6
+
7
+ export default function ModalScreen() {
8
+ return (
9
+ <ThemedView style={styles.container}>
10
+ <ThemedText type="title">This is a modal</ThemedText>
11
+ <Link href="/" dismissTo style={styles.link}>
12
+ <ThemedText type="link">Go to home screen</ThemedText>
13
+ </Link>
14
+ </ThemedView>
15
+ );
16
+ }
17
+
18
+ const styles = StyleSheet.create({
19
+ container: {
20
+ flex: 1,
21
+ alignItems: 'center',
22
+ justifyContent: 'center',
23
+ padding: 20,
24
+ },
25
+ link: {
26
+ marginTop: 15,
27
+ paddingVertical: 15,
28
+ },
29
+ });
@@ -0,0 +1,48 @@
1
+ {
2
+ "expo": {
3
+ "name": "movies-mobile-app",
4
+ "slug": "movies-mobile-app",
5
+ "version": "1.0.0",
6
+ "orientation": "portrait",
7
+ "icon": "./assets/images/icon.png",
8
+ "scheme": "moviesmobileapp",
9
+ "userInterfaceStyle": "automatic",
10
+ "newArchEnabled": true,
11
+ "ios": {
12
+ "supportsTablet": true
13
+ },
14
+ "android": {
15
+ "adaptiveIcon": {
16
+ "backgroundColor": "#E6F4FE",
17
+ "foregroundImage": "./assets/images/android-icon-foreground.png",
18
+ "backgroundImage": "./assets/images/android-icon-background.png",
19
+ "monochromeImage": "./assets/images/android-icon-monochrome.png"
20
+ },
21
+ "edgeToEdgeEnabled": true,
22
+ "predictiveBackGestureEnabled": false
23
+ },
24
+ "web": {
25
+ "output": "static",
26
+ "favicon": "./assets/images/favicon.png"
27
+ },
28
+ "plugins": [
29
+ "expo-router",
30
+ [
31
+ "expo-splash-screen",
32
+ {
33
+ "image": "./assets/images/splash-icon.png",
34
+ "imageWidth": 200,
35
+ "resizeMode": "contain",
36
+ "backgroundColor": "#ffffff",
37
+ "dark": {
38
+ "backgroundColor": "#000000"
39
+ }
40
+ }
41
+ ]
42
+ ],
43
+ "experiments": {
44
+ "typedRoutes": true,
45
+ "reactCompiler": true
46
+ }
47
+ }
48
+ }
@@ -0,0 +1,25 @@
1
+ import { Href, Link } from 'expo-router';
2
+ import { openBrowserAsync, WebBrowserPresentationStyle } from 'expo-web-browser';
3
+ import { type ComponentProps } from 'react';
4
+
5
+ type Props = Omit<ComponentProps<typeof Link>, 'href'> & { href: Href & string };
6
+
7
+ export function ExternalLink({ href, ...rest }: Props) {
8
+ return (
9
+ <Link
10
+ target="_blank"
11
+ {...rest}
12
+ href={href}
13
+ onPress={async (event) => {
14
+ if (process.env.EXPO_OS !== 'web') {
15
+ // Prevent the default behavior of linking to the default browser on native.
16
+ event.preventDefault();
17
+ // Open the link in an in-app browser.
18
+ await openBrowserAsync(href, {
19
+ presentationStyle: WebBrowserPresentationStyle.AUTOMATIC,
20
+ });
21
+ }
22
+ }}
23
+ />
24
+ );
25
+ }
@@ -0,0 +1,18 @@
1
+ import { BottomTabBarButtonProps } from '@react-navigation/bottom-tabs';
2
+ import { PlatformPressable } from '@react-navigation/elements';
3
+ import * as Haptics from 'expo-haptics';
4
+
5
+ export function HapticTab(props: BottomTabBarButtonProps) {
6
+ return (
7
+ <PlatformPressable
8
+ {...props}
9
+ onPressIn={(ev) => {
10
+ if (process.env.EXPO_OS === 'ios') {
11
+ // Add a soft haptic feedback when pressing down on the tabs.
12
+ Haptics.impactAsync(Haptics.ImpactFeedbackStyle.Light);
13
+ }
14
+ props.onPressIn?.(ev);
15
+ }}
16
+ />
17
+ );
18
+ }
@@ -0,0 +1,19 @@
1
+ import Animated from 'react-native-reanimated';
2
+
3
+ export function HelloWave() {
4
+ return (
5
+ <Animated.Text
6
+ style={{
7
+ fontSize: 28,
8
+ lineHeight: 32,
9
+ marginTop: -6,
10
+ animationName: {
11
+ '50%': { transform: [{ rotate: '25deg' }] },
12
+ },
13
+ animationIterationCount: 4,
14
+ animationDuration: '300ms',
15
+ }}>
16
+ 👋
17
+ </Animated.Text>
18
+ );
19
+ }
@@ -0,0 +1,79 @@
1
+ import type { PropsWithChildren, ReactElement } from 'react';
2
+ import { StyleSheet } from 'react-native';
3
+ import Animated, {
4
+ interpolate,
5
+ useAnimatedRef,
6
+ useAnimatedStyle,
7
+ useScrollOffset,
8
+ } from 'react-native-reanimated';
9
+
10
+ import { ThemedView } from '@/components/themed-view';
11
+ import { useColorScheme } from '@/hooks/use-color-scheme';
12
+ import { useThemeColor } from '@/hooks/use-theme-color';
13
+
14
+ const HEADER_HEIGHT = 250;
15
+
16
+ type Props = PropsWithChildren<{
17
+ headerImage: ReactElement;
18
+ headerBackgroundColor: { dark: string; light: string };
19
+ }>;
20
+
21
+ export default function ParallaxScrollView({
22
+ children,
23
+ headerImage,
24
+ headerBackgroundColor,
25
+ }: Props) {
26
+ const backgroundColor = useThemeColor({}, 'background');
27
+ const colorScheme = useColorScheme() ?? 'light';
28
+ const scrollRef = useAnimatedRef<Animated.ScrollView>();
29
+ const scrollOffset = useScrollOffset(scrollRef);
30
+ const headerAnimatedStyle = useAnimatedStyle(() => {
31
+ return {
32
+ transform: [
33
+ {
34
+ translateY: interpolate(
35
+ scrollOffset.value,
36
+ [-HEADER_HEIGHT, 0, HEADER_HEIGHT],
37
+ [-HEADER_HEIGHT / 2, 0, HEADER_HEIGHT * 0.75]
38
+ ),
39
+ },
40
+ {
41
+ scale: interpolate(scrollOffset.value, [-HEADER_HEIGHT, 0, HEADER_HEIGHT], [2, 1, 1]),
42
+ },
43
+ ],
44
+ };
45
+ });
46
+
47
+ return (
48
+ <Animated.ScrollView
49
+ ref={scrollRef}
50
+ style={{ backgroundColor, flex: 1 }}
51
+ scrollEventThrottle={16}>
52
+ <Animated.View
53
+ style={[
54
+ styles.header,
55
+ { backgroundColor: headerBackgroundColor[colorScheme] },
56
+ headerAnimatedStyle,
57
+ ]}>
58
+ {headerImage}
59
+ </Animated.View>
60
+ <ThemedView style={styles.content}>{children}</ThemedView>
61
+ </Animated.ScrollView>
62
+ );
63
+ }
64
+
65
+ const styles = StyleSheet.create({
66
+ container: {
67
+ flex: 1,
68
+ },
69
+ header: {
70
+ height: HEADER_HEIGHT,
71
+ overflow: 'hidden',
72
+ },
73
+ content: {
74
+ flex: 1,
75
+ padding: 32,
76
+ gap: 16,
77
+ overflow: 'hidden',
78
+ },
79
+ });
@@ -0,0 +1,60 @@
1
+ import { StyleSheet, Text, type TextProps } from 'react-native';
2
+
3
+ import { useThemeColor } from '@/hooks/use-theme-color';
4
+
5
+ export type ThemedTextProps = TextProps & {
6
+ lightColor?: string;
7
+ darkColor?: string;
8
+ type?: 'default' | 'title' | 'defaultSemiBold' | 'subtitle' | 'link';
9
+ };
10
+
11
+ export function ThemedText({
12
+ style,
13
+ lightColor,
14
+ darkColor,
15
+ type = 'default',
16
+ ...rest
17
+ }: ThemedTextProps) {
18
+ const color = useThemeColor({ light: lightColor, dark: darkColor }, 'text');
19
+
20
+ return (
21
+ <Text
22
+ style={[
23
+ { color },
24
+ type === 'default' ? styles.default : undefined,
25
+ type === 'title' ? styles.title : undefined,
26
+ type === 'defaultSemiBold' ? styles.defaultSemiBold : undefined,
27
+ type === 'subtitle' ? styles.subtitle : undefined,
28
+ type === 'link' ? styles.link : undefined,
29
+ style,
30
+ ]}
31
+ {...rest}
32
+ />
33
+ );
34
+ }
35
+
36
+ const styles = StyleSheet.create({
37
+ default: {
38
+ fontSize: 16,
39
+ lineHeight: 24,
40
+ },
41
+ defaultSemiBold: {
42
+ fontSize: 16,
43
+ lineHeight: 24,
44
+ fontWeight: '600',
45
+ },
46
+ title: {
47
+ fontSize: 32,
48
+ fontWeight: 'bold',
49
+ lineHeight: 32,
50
+ },
51
+ subtitle: {
52
+ fontSize: 20,
53
+ fontWeight: 'bold',
54
+ },
55
+ link: {
56
+ lineHeight: 30,
57
+ fontSize: 16,
58
+ color: '#0a7ea4',
59
+ },
60
+ });