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,423 @@
1
+ # Solidity Basics to Advanced Concepts
2
+
3
+ Welcome — this repository contains small, focused Solidity example contracts grouped by topic. Use the dropdowns below to explore each folder. The sections use HTML <details> so they expand/collapse when clicked (supported on GitHub and most Markdown renderers).
4
+
5
+ <!-- Solidity folder list with collapsible sections -->
6
+
7
+ # Solidity Basics to Advanced Concepts
8
+ <details>
9
+
10
+ Welcome — this repository contains small, focused Solidity example contracts grouped by topic. Use the dropdowns below to explore each folder. The sections use HTML <details> so they expand/collapse when clicked (supported on GitHub and most Markdown renderers).
11
+
12
+ <!-- Solidity folder list with collapsible sections -->
13
+
14
+ ## Solidity Basics (folders)
15
+
16
+ ### 01_data-types
17
+ <details>
18
+ <summary>Data types</summary>
19
+
20
+ - <a href="01_data-types/DataTypes.sol">DataTypes.sol</a>
21
+ - <a href="01_data-types/SolidityOperations.sol">SolidityOperations.sol</a>
22
+
23
+ </details>
24
+
25
+ ### 02_contructors
26
+ <details>
27
+ <summary>Constructors</summary>
28
+
29
+ - <a href="02_contructors/Constructor.sol">Constructor.sol</a>
30
+
31
+ </details>
32
+
33
+ ### 03_variables
34
+ <details>
35
+ <summary>Variables</summary>
36
+
37
+ - <a href="03_variables/Variables.sol">Variables.sol</a>
38
+
39
+ </details>
40
+
41
+ ### 04_functions
42
+ <details>
43
+ <summary>Functions</summary>
44
+
45
+ - <a href="04_functions/Functions.sol">Functions.sol</a>
46
+
47
+ </details>
48
+
49
+ ### 05_visibility
50
+ <details>
51
+ <summary>Function visibility</summary>
52
+
53
+ - <a href="05_visibility/FunctionVisibility.sol">FunctionVisibility.sol</a>
54
+
55
+ </details>
56
+
57
+ ### 06_pure_and_view_functions
58
+ <details>
59
+ <summary>Pure and view functions</summary>
60
+
61
+ - <a href="06_pure_and_view_functions/PureAndViewFunction.sol">PureAndViewFunction.sol</a>
62
+
63
+ </details>
64
+
65
+ ### 07_function_modifiers
66
+ <details>
67
+ <summary>Function modifiers</summary>
68
+
69
+ - <a href="07_function_modifiers/Modifiers.sol">Modifiers.sol</a>
70
+
71
+ </details>
72
+
73
+ ### 09_events
74
+ <details>
75
+ <summary>Events</summary>
76
+
77
+ - <a href="09_events/Events.sol">Events.sol</a>
78
+
79
+ </details>
80
+
81
+ ### 10_error_handling
82
+ <details>
83
+ <summary>Error handling</summary>
84
+
85
+ - <a href="10_error_handling/ErrorHandling.sol">ErrorHandling.sol</a>
86
+
87
+ </details>
88
+
89
+ ### 11_fallback_function
90
+ <details>
91
+ <summary>Fallback functions</summary>
92
+
93
+ - <a href="11_fallback_function/Fallback.sol">Fallback.sol</a>
94
+
95
+ </details>
96
+
97
+ ### 12_for_loop
98
+ <details>
99
+ <summary>For loop</summary>
100
+
101
+ - <a href="12_for_loop/ForLoop.sol">ForLoop.sol</a>
102
+
103
+ </details>
104
+
105
+ ### 13_array
106
+ <details>
107
+ <summary>Array examples</summary>
108
+
109
+ - <a href="13_array/Array.sol">Array.sol</a>
110
+
111
+ </details>
112
+
113
+ ### 14_mapping
114
+ <details>
115
+ <summary>Mappings</summary>
116
+
117
+ - <a href="14_mapping/Mapping.sol">Mapping.sol</a>
118
+ - <a href="14_mapping/NestedMapping.sol">NestedMapping.sol</a>
119
+
120
+ </details>
121
+
122
+ ### 15_enum
123
+ <details>
124
+ <summary>Enums</summary>
125
+
126
+ - <a href="15_enum/Enum.sol">Enum.sol</a>
127
+
128
+ </details>
129
+
130
+ ### 16_struct
131
+ <details>
132
+ <summary>Structs</summary>
133
+
134
+ - <a href="16_struct/Struct.sol">Struct.sol</a>
135
+
136
+ </details>
137
+
138
+ ### 17_payable_modifier
139
+ <details>
140
+ <summary>Payable modifier</summary>
141
+
142
+ - <a href="17_payable_modifier/Payable.sol">Payable.sol</a>
143
+
144
+ </details>
145
+
146
+ ### 18_imports
147
+ <details>
148
+ <summary>Imports</summary>
149
+
150
+ - <a href="18_imports/Contract1.sol">Contract1.sol</a>
151
+ - <a href="18_imports/Contract2.sol">Contract2.sol</a>
152
+
153
+ </details>
154
+
155
+ ### 19_contract_cleanup
156
+ <details>
157
+ <summary>Contract cleanup</summary>
158
+
159
+ - <a href="19_contract_cleanup/Cleanup.sol">Cleanup.sol</a>
160
+
161
+ </details>
162
+
163
+ ### 20_memory_and_storage
164
+ <details>
165
+ <summary>Memory and storage</summary>
166
+
167
+ - <a href="20_memory_and_storage/MemoryAndStorage.sol">MemoryAndStorage.sol</a>
168
+
169
+ </details>
170
+
171
+ ### 21_inheritance
172
+ <details>
173
+ <summary>Inheritance</summary>
174
+
175
+ - <a href="21_inheritance/Inheritance.sol">Inheritance.sol</a>
176
+
177
+ </details>
178
+
179
+ ### 22_if_statement
180
+ <details>
181
+ <summary>If statements</summary>
182
+
183
+ - <a href="22_if_statement/if-statement.sol">if-statement.sol</a>
184
+
185
+ </details>
186
+
187
+ ### 23_libraries
188
+ <details>
189
+ <summary>Libraries</summary>
190
+
191
+ - <a href="23_libraries/libraries.sol">libraries.sol</a>
192
+ - <a href="23_libraries/safemath.sol">safemath.sol</a>
193
+
194
+ </details>
195
+
196
+ ### 24_interface
197
+ <details>
198
+ <summary>Interfaces</summary>
199
+
200
+ # Solidity Basics to Advanced Concepts
201
+
202
+ A small collection of focused Solidity example contracts organized by topic. Click a folder to expand its files. The lists use HTML <details> which render on GitHub and most Markdown viewers.
203
+
204
+ ---
205
+
206
+ ### 01_data-types — Basic data types
207
+ Examples of Solidity primitive and composite types: ints, uints, bools, address, bytes, strings, arrays, structs and enums.
208
+ <details>
209
+ <summary>Files</summary>
210
+
211
+ - [DataTypes.sol](01_data-types/DataTypes.sol) — type examples
212
+ - [SolidityOperations.sol](01_data-types/SolidityOperations.sol) — operations and examples
213
+
214
+ </details>
215
+
216
+ ### 02_contructors — Constructors
217
+ How to initialize contracts and use constructor parameters.
218
+ <details>
219
+ <summary>Files</summary>
220
+
221
+ - [Constructor.sol](02_contructors/Constructor.sol)
222
+
223
+ </details>
224
+
225
+ ### 03_variables — State & local variables
226
+ Examples showing state variables, local variables and global variables (msg, block).
227
+ <details>
228
+ <summary>Files</summary>
229
+
230
+ - [Variables.sol](03_variables/Variables.sol)
231
+
232
+ </details>
233
+
234
+ ### 04_functions — Functions
235
+ Function definitions, visibility, view/pure vs transactions.
236
+ <details>
237
+ <summary>Files</summary>
238
+
239
+ - [Functions.sol](04_functions/Functions.sol)
240
+
241
+ </details>
242
+
243
+ ### 05_visibility — Function & state visibility
244
+ Demonstrates public, private, internal and external.
245
+ <details>
246
+ <summary>Files</summary>
247
+
248
+ - [FunctionVisibility.sol](05_visibility/FunctionVisibility.sol)
249
+
250
+ </details>
251
+
252
+ ### 06_pure_and_view_functions — Pure & view
253
+ Read-only functions vs pure functions that don't read state.
254
+ <details>
255
+ <summary>Files</summary>
256
+
257
+ - [PureAndViewFunction.sol](06_pure_and_view_functions/PureAndViewFunction.sol)
258
+
259
+ </details>
260
+
261
+ ### 07_function_modifiers — Modifiers
262
+ Using modifiers to guard or change behavior (e.g., onlyOwner).
263
+ <details>
264
+ <summary>Files</summary>
265
+
266
+ - [Modifiers.sol](07_function_modifiers/Modifiers.sol)
267
+
268
+ </details>
269
+
270
+ ### 09_events — Events
271
+ How to declare and emit events for off-chain listeners.
272
+ <details>
273
+ <summary>Files</summary>
274
+
275
+ - [Events.sol](09_events/Events.sol)
276
+
277
+ </details>
278
+
279
+ ### 10_error_handling — Errors, require, revert, assert
280
+ Safe patterns for input validation and error handling.
281
+ <details>
282
+ <summary>Files</summary>
283
+
284
+ - [ErrorHandling.sol](10_error_handling/ErrorHandling.sol)
285
+
286
+ </details>
287
+
288
+ ### 11_fallback_function — Receive & fallback
289
+ Fallback and receive functions to handle plain transfers and unknown calls.
290
+ <details>
291
+ <summary>Files</summary>
292
+
293
+ - [Fallback.sol](11_fallback_function/Fallback.sol)
294
+
295
+ </details>
296
+
297
+ ### 12_for_loop — Loops
298
+ Simple for-loop examples in Solidity.
299
+ <details>
300
+ <summary>Files</summary>
301
+
302
+ - [ForLoop.sol](12_for_loop/ForLoop.sol)
303
+
304
+ </details>
305
+
306
+ ### 13_array — Arrays
307
+ Fixed-size and dynamic array usage.
308
+ <details>
309
+ <summary>Files</summary>
310
+
311
+ - [Array.sol](13_array/Array.sol)
312
+
313
+ </details>
314
+
315
+ ### 14_mapping — Mappings
316
+ Single and nested mappings for key-value storage.
317
+ <details>
318
+ <summary>Files</summary>
319
+
320
+ - [Mapping.sol](14_mapping/Mapping.sol)
321
+ - [NestedMapping.sol](14_mapping/NestedMapping.sol)
322
+
323
+ </details>
324
+
325
+ ### 15_enum — Enums
326
+ Using enums for state and control flow.
327
+ <details>
328
+ <summary>Files</summary>
329
+
330
+ - [Enum.sol](15_enum/Enum.sol)
331
+
332
+ </details>
333
+
334
+ ### 16_struct — Structs
335
+ Custom data types with structs.
336
+ <details>
337
+ <summary>Files</summary>
338
+
339
+ - [Struct.sol](16_struct/Struct.sol)
340
+
341
+ </details>
342
+
343
+ ### 17_payable_modifier — Payable functions
344
+ Examples showing payable functions and receiving ether.
345
+ <details>
346
+ <summary>Files</summary>
347
+
348
+ - [Payable.sol](17_payable_modifier/Payable.sol)
349
+
350
+ </details>
351
+
352
+ ### 18_imports — Imports & modular contracts
353
+ How to split code across files and import contracts/libraries.
354
+ <details>
355
+ <summary>Files</summary>
356
+
357
+ - [Contract1.sol](18_imports/Contract1.sol)
358
+ - [Contract2.sol](18_imports/Contract2.sol)
359
+
360
+ </details>
361
+
362
+ ### 19_contract_cleanup — Contract maintenance
363
+ Patterns for cleaning up contracts (selfdestruct, ownership transfer, etc.).
364
+ <details>
365
+ <summary>Files</summary>
366
+
367
+ - [Cleanup.sol](19_contract_cleanup/Cleanup.sol)
368
+
369
+ </details>
370
+
371
+ ### 20_memory_and_storage — Memory vs storage
372
+ Differences between memory and storage and how to use them.
373
+ <details>
374
+ <summary>Files</summary>
375
+
376
+ - [MemoryAndStorage.sol](20_memory_and_storage/MemoryAndStorage.sol)
377
+
378
+ </details>
379
+
380
+ ### 21_inheritance — Inheritance & overrides
381
+ Contract inheritance examples and method overriding.
382
+ <details>
383
+ <summary>Files</summary>
384
+
385
+ - [Inheritance.sol](21_inheritance/Inheritance.sol)
386
+
387
+ </details>
388
+
389
+ ### 22_if_statement — Conditionals
390
+ If/else examples and control flow.
391
+ <details>
392
+ <summary>Files</summary>
393
+
394
+ - [if-statement.sol](22_if_statement/if-statement.sol)
395
+
396
+ </details>
397
+
398
+ ### 23_libraries — Libraries & SafeMath
399
+ Reusable libraries and safety helpers like SafeMath.
400
+ <details>
401
+ <summary>Files</summary>
402
+
403
+ - [libraries.sol](23_libraries/libraries.sol)
404
+ - [safemath.sol](23_libraries/safemath.sol)
405
+
406
+ </details>
407
+
408
+ ### 24_interface — Interfaces
409
+ Using interfaces to interact with external contracts.
410
+ <details>
411
+ <summary>Files</summary>
412
+
413
+ - [interface.sol](24_interface/interface.sol)
414
+
415
+ </details>
416
+
417
+ ---
418
+
419
+ Notes
420
+ - Click a folder's header to expand (GitHub supports <details>).
421
+ - To preview locally open this repo in VS Code and use the Markdown preview (or view on GitHub).
422
+
423
+ Happy learning!
@@ -0,0 +1,46 @@
1
+ // https://uniswap.org/blog/your-first-uniswap-integration
2
+
3
+ // SPDX-License-Identifier: GPL-2.0-or-later
4
+ pragma solidity ^0.8.9;
5
+ pragma abicoder v2;
6
+
7
+ import "@uniswap/v3-periphery/contracts/interfaces/ISwapRouter.sol";
8
+ import "@uniswap/v3-periphery/contracts/libraries/TransferHelper.sol";
9
+
10
+ contract SimpleSwap {
11
+ ISwapRouter public immutable swapRouter; // Uniswap V3 Swap Router
12
+ address public constant DAI = 0x6B175474E89094C44Da98b954EedeAC495271d0F; // DAI token address
13
+ address public constant WETH9 = 0xC02aaA39b223FE8D0A0e5C4F27eAD9083C756Cc2; // WETH token address
14
+ uint24 public constant feeTier = 3000; // Pool fee tier of 0.3%
15
+
16
+ // The contract constructor sets the Uniswap V3 SwapRouter address.
17
+ constructor(ISwapRouter _swapRouter) {
18
+ swapRouter = _swapRouter;
19
+ }
20
+
21
+ /// @notice Swaps a fixed amount of WETH9 for a maximum possible amount of DAI
22
+ /// @param amountIn The exact amount of WETH9 that will be swapped for DAI.
23
+ /// @return amountOut The amount of DAI received after the swap.
24
+
25
+ // For this example, the caller must approve this contract to spend at least `amountIn` worth of its WETH9 for this function to succeed.
26
+ function swapWETHForDAI(uint256 amountIn) external returns (uint256 amountOut) {
27
+ // Transfer the specified amount of WETH9 to this contract.
28
+ TransferHelper.safeTransferFrom(WETH9, msg.sender, address(this), amountIn);
29
+ // Approve the router to spend WETH9.
30
+ TransferHelper.safeApprove(WETH9, address(swapRouter), amountIn);
31
+ // Create the params that will be used to execute the swap
32
+ ISwapRouter.ExactInputSingleParams memory params = ISwapRouter.ExactInputSingleParams({
33
+ tokenIn: WETH9,
34
+ tokenOut: DAI,
35
+ fee: feeTier,
36
+ recipient: msg.sender,
37
+ deadline: block.timestamp,
38
+ amountIn: amountIn,
39
+ amountOutMinimum: 0,
40
+ sqrtPriceLimitX96: 0
41
+ });
42
+ // The call to `exactInputSingle` executes the swap.
43
+ amountOut = swapRouter.exactInputSingle(params);
44
+ return amountOut;
45
+ }
46
+ }