lucy-cli 2.0.0-alpha.2 → 2.0.0-alpha.21

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 (600) hide show
  1. package/.yarnrc.yml +0 -1
  2. package/dist/Gulpfile.d.ts +35 -0
  3. package/dist/Gulpfile.js +132 -0
  4. package/dist/Gulpfile.js.map +1 -0
  5. package/dist/args.d.ts +1 -6
  6. package/dist/args.js +62 -7
  7. package/dist/args.js.map +1 -0
  8. package/dist/commands/checks.d.ts +7 -0
  9. package/dist/commands/checks.js +47 -0
  10. package/dist/commands/checks.js.map +1 -0
  11. package/dist/commands/cleanup copy.d.ts +4 -0
  12. package/dist/commands/cleanup copy.js +10 -0
  13. package/dist/commands/cleanup copy.js.map +1 -0
  14. package/dist/commands/cleanup.d.ts +4 -0
  15. package/dist/commands/cleanup.js +10 -0
  16. package/dist/commands/cleanup.js.map +1 -0
  17. package/dist/commands/copy.d.ts +6 -0
  18. package/dist/commands/copy.js +20 -0
  19. package/dist/commands/copy.js.map +1 -0
  20. package/dist/commands/edit.d.ts +10 -0
  21. package/dist/commands/edit.js +67 -0
  22. package/dist/commands/edit.js.map +1 -0
  23. package/dist/commands/exec copy.d.ts +3 -0
  24. package/dist/commands/exec copy.js +20 -0
  25. package/dist/commands/exec copy.js.map +1 -0
  26. package/dist/commands/exec.d.ts +7 -0
  27. package/dist/commands/exec.js +66 -0
  28. package/dist/commands/exec.js.map +1 -0
  29. package/dist/commands/files.d.ts +7 -0
  30. package/dist/commands/files.js +28 -0
  31. package/dist/commands/files.js.map +1 -0
  32. package/dist/commands/git.d.ts +8 -0
  33. package/dist/commands/git.js +104 -0
  34. package/dist/commands/git.js.map +1 -0
  35. package/dist/commands/home.d.ts +4 -0
  36. package/dist/commands/home.js +18 -0
  37. package/dist/commands/home.js.map +1 -0
  38. package/dist/commands/install.d.ts +8 -0
  39. package/dist/commands/install.js +161 -0
  40. package/dist/commands/install.js.map +1 -0
  41. package/dist/commands/read.d.ts +6 -0
  42. package/dist/commands/read.js +40 -0
  43. package/dist/commands/read.js.map +1 -0
  44. package/dist/commands/write.d.ts +7 -0
  45. package/dist/commands/write.js +28 -0
  46. package/dist/commands/write.js.map +1 -0
  47. package/dist/commands.js +1 -0
  48. package/dist/commands.js.map +1 -0
  49. package/dist/config.d.ts +29 -7
  50. package/dist/config.js +90 -26
  51. package/dist/config.js.map +1 -0
  52. package/dist/error.d.ts +1 -9
  53. package/dist/error.js +1 -2
  54. package/dist/error.js.map +1 -0
  55. package/dist/gulp/backend.d.ts +3 -0
  56. package/dist/gulp/backend.js +92 -0
  57. package/dist/gulp/backend.js.map +1 -0
  58. package/dist/gulp/checks.d.ts +3 -0
  59. package/dist/gulp/checks.js +194 -0
  60. package/dist/gulp/checks.js.map +1 -0
  61. package/dist/gulp/clean.d.ts +3 -0
  62. package/dist/gulp/clean.js +33 -0
  63. package/dist/gulp/clean.js.map +1 -0
  64. package/dist/gulp/copy.d.ts +2 -0
  65. package/dist/gulp/copy.js +34 -0
  66. package/dist/gulp/copy.js.map +1 -0
  67. package/dist/gulp/helpers.d.ts +2 -0
  68. package/dist/gulp/helpers.js +21 -0
  69. package/dist/gulp/helpers.js.map +1 -0
  70. package/dist/gulp/pages.d.ts +2 -0
  71. package/dist/gulp/pages.js +39 -0
  72. package/dist/gulp/pages.js.map +1 -0
  73. package/dist/gulp/pipeline.d.ts +1 -0
  74. package/dist/gulp/pipeline.js +29 -0
  75. package/dist/gulp/pipeline.js.map +1 -0
  76. package/dist/gulp/public.d.ts +2 -0
  77. package/dist/gulp/public.js +50 -0
  78. package/dist/gulp/public.js.map +1 -0
  79. package/dist/gulp/styles.d.ts +2 -0
  80. package/dist/gulp/styles.js +40 -0
  81. package/dist/gulp/styles.js.map +1 -0
  82. package/dist/gulp/templates.d.ts +2 -0
  83. package/dist/gulp/templates.js +33 -0
  84. package/dist/gulp/templates.js.map +1 -0
  85. package/dist/gulp/types.d.ts +4 -0
  86. package/dist/gulp/types.js +289 -0
  87. package/dist/gulp/types.js.map +1 -0
  88. package/dist/gulp/watchers.d.ts +9 -0
  89. package/dist/gulp/watchers.js +57 -0
  90. package/dist/gulp/watchers.js.map +1 -0
  91. package/dist/helpers.d.ts +9 -0
  92. package/dist/helpers.js +83 -0
  93. package/dist/helpers.js.map +1 -0
  94. package/dist/index.d.ts +1 -0
  95. package/dist/index.js +77 -9
  96. package/dist/index.js.map +1 -0
  97. package/dist/init/blocks.d.ts +5 -0
  98. package/dist/init/blocks.js +60 -0
  99. package/dist/init/blocks.js.map +1 -0
  100. package/dist/init/cargo copy.d.ts +2 -0
  101. package/dist/init/cargo copy.js +16 -0
  102. package/dist/init/cargo copy.js.map +1 -0
  103. package/dist/init/cargo.d.ts +2 -0
  104. package/dist/init/cargo.js +19 -0
  105. package/dist/init/cargo.js.map +1 -0
  106. package/dist/init/expo copy.d.ts +5 -0
  107. package/dist/init/expo copy.js +48 -0
  108. package/dist/init/expo copy.js.map +1 -0
  109. package/dist/init/expo.d.ts +5 -0
  110. package/dist/init/expo.js +50 -0
  111. package/dist/init/expo.js.map +1 -0
  112. package/dist/init/gitModules.d.ts +2 -0
  113. package/dist/init/gitModules.js +13 -0
  114. package/dist/init/gitModules.js.map +1 -0
  115. package/dist/init/index.d.ts +4 -0
  116. package/dist/init/index.js +77 -0
  117. package/dist/init/index.js.map +1 -0
  118. package/dist/init/lucy.d.ts +1 -0
  119. package/dist/init/lucy.js +2 -0
  120. package/dist/init/monorepo copy.d.ts +4 -0
  121. package/dist/init/monorepo copy.js +28 -0
  122. package/dist/init/monorepo copy.js.map +1 -0
  123. package/dist/init/monorepo.d.ts +4 -0
  124. package/dist/init/monorepo.js +46 -0
  125. package/dist/init/monorepo.js.map +1 -0
  126. package/dist/init/prepare.d.ts +8 -0
  127. package/dist/init/prepare.js +20 -0
  128. package/dist/init/prepare.js.map +1 -0
  129. package/dist/init/prepareVelo.d.ts +2 -0
  130. package/dist/init/prepareVelo.js +16 -0
  131. package/dist/init/prepareVelo.js.map +1 -0
  132. package/dist/init/sync.d.ts +2 -0
  133. package/dist/init/sync.js +88 -0
  134. package/dist/init/sync.js.map +1 -0
  135. package/dist/init/tauri.d.ts +5 -0
  136. package/dist/init/tauri.js +29 -0
  137. package/dist/init/tauri.js.map +1 -0
  138. package/dist/init/templates.d.ts +5 -0
  139. package/dist/init/templates.js +93 -0
  140. package/dist/init/templates.js.map +1 -0
  141. package/dist/init/velo.d.ts +5 -0
  142. package/dist/init/velo.js +58 -0
  143. package/dist/init/velo.js.map +1 -0
  144. package/dist/init/write.d.ts +5 -0
  145. package/dist/init/write.js +15 -0
  146. package/dist/init.js +44 -18
  147. package/dist/models.js +1 -0
  148. package/dist/models.js.map +1 -0
  149. package/dist/policy.js +1 -0
  150. package/dist/policy.js.map +1 -0
  151. package/dist/prepare.js +1 -0
  152. package/dist/prepare.js.map +1 -0
  153. package/dist/runtime.d.ts +1 -1
  154. package/dist/runtime.js +1 -0
  155. package/dist/runtime.js.map +1 -0
  156. package/dist/schemas/gulp.d.ts +25 -0
  157. package/dist/schemas/gulp.js +8 -0
  158. package/dist/schemas/gulp.js.map +1 -0
  159. package/dist/schemas/index.d.ts +10 -0
  160. package/dist/schemas/index.js +9 -0
  161. package/dist/schemas/index.js.map +1 -0
  162. package/dist/schemas/lucy.d.ts +29 -0
  163. package/dist/schemas/lucy.js +42 -0
  164. package/dist/schemas/lucy.js.map +1 -0
  165. package/dist/schemas/models.d.ts +37 -0
  166. package/dist/schemas/models.js +2 -0
  167. package/dist/schemas/models.js.map +1 -0
  168. package/dist/schemas/tsconfig.d.ts +37 -0
  169. package/dist/schemas/tsconfig.js +2 -0
  170. package/dist/schemas/tsconfig.js.map +1 -0
  171. package/dist/schemas/types.d.ts +33 -0
  172. package/dist/schemas/types.js +5 -1
  173. package/dist/schemas/types.js.map +1 -0
  174. package/dist/states.js +1 -0
  175. package/dist/states.js.map +1 -0
  176. package/dist/sync/index.js +2 -0
  177. package/dist/sync/index.js.map +1 -0
  178. package/dist/sync/sync.d.ts +3 -0
  179. package/dist/sync/sync.js +92 -0
  180. package/dist/sync/sync.js.map +1 -0
  181. package/dist/tasks/Gulpfile.d.ts +4 -0
  182. package/dist/tasks/Gulpfile.js +111 -0
  183. package/dist/tasks/Gulpfile.js.map +1 -0
  184. package/dist/tasks/gitModules.d.ts +2 -0
  185. package/dist/tasks/gitModules.js +13 -0
  186. package/dist/tasks/gitModules.js.map +1 -0
  187. package/dist/tasks/gulp/backend.d.ts +4 -0
  188. package/dist/tasks/gulp/backend.js +92 -0
  189. package/dist/tasks/gulp/backend.js.map +1 -0
  190. package/dist/tasks/gulp/checks.d.ts +4 -0
  191. package/dist/tasks/gulp/checks.js +202 -0
  192. package/dist/tasks/gulp/checks.js.map +1 -0
  193. package/dist/tasks/gulp/clean.d.ts +3 -0
  194. package/dist/tasks/gulp/clean.js +33 -0
  195. package/dist/tasks/gulp/clean.js.map +1 -0
  196. package/dist/tasks/gulp/copy.d.ts +3 -0
  197. package/dist/tasks/gulp/copy.js +34 -0
  198. package/dist/tasks/gulp/copy.js.map +1 -0
  199. package/dist/tasks/gulp/helpers.d.ts +3 -0
  200. package/dist/tasks/gulp/helpers.js +19 -0
  201. package/dist/tasks/gulp/helpers.js.map +1 -0
  202. package/dist/tasks/gulp/pages.d.ts +2 -0
  203. package/dist/tasks/gulp/pages.js +39 -0
  204. package/dist/tasks/gulp/pages.js.map +1 -0
  205. package/dist/tasks/gulp/pipeline.d.ts +1 -0
  206. package/dist/tasks/gulp/pipeline.js +29 -0
  207. package/dist/tasks/gulp/pipeline.js.map +1 -0
  208. package/dist/tasks/gulp/public.d.ts +3 -0
  209. package/dist/tasks/gulp/public.js +50 -0
  210. package/dist/tasks/gulp/public.js.map +1 -0
  211. package/dist/tasks/gulp/styles.d.ts +3 -0
  212. package/dist/tasks/gulp/styles.js +40 -0
  213. package/dist/tasks/gulp/styles.js.map +1 -0
  214. package/dist/tasks/gulp/templates.d.ts +2 -0
  215. package/dist/tasks/gulp/templates.js +45 -0
  216. package/dist/tasks/gulp/templates.js.map +1 -0
  217. package/dist/tasks/gulp/types.d.ts +4 -0
  218. package/dist/tasks/gulp/types.js +293 -0
  219. package/dist/tasks/gulp/types.js.map +1 -0
  220. package/dist/tasks/gulp/watchers.d.ts +3 -0
  221. package/dist/tasks/gulp/watchers.js +59 -0
  222. package/dist/tasks/gulp/watchers.js.map +1 -0
  223. package/dist/tasks/index.d.ts +4 -0
  224. package/dist/tasks/index.js +23 -0
  225. package/dist/tasks/index.js.map +1 -0
  226. package/dist/tasks/sync.d.ts +2 -0
  227. package/dist/tasks/sync.js +88 -0
  228. package/dist/tasks/sync.js.map +1 -0
  229. package/dist/tasks/syncPkg.d.ts +3 -0
  230. package/dist/tasks/syncPkg.js +13 -0
  231. package/dist/tasks/syncPkg.js.map +1 -0
  232. package/dist/tasks/syncSettings.d.ts +3 -0
  233. package/dist/tasks/syncSettings.js +18 -0
  234. package/dist/tasks/syncSettings.js.map +1 -0
  235. package/dist/utils/index.js +2 -0
  236. package/dist/utils/index.js.map +1 -0
  237. package/dist/utils/install.js +1 -0
  238. package/dist/utils/logger.d.ts +17 -0
  239. package/dist/utils/logger.js +37 -0
  240. package/dist/utils/logger.js.map +1 -0
  241. package/dist/wix-sdk/check.d.ts +4 -0
  242. package/dist/wix-sdk/check.js +23 -0
  243. package/dist/wix-sdk/check.js.map +1 -0
  244. package/dist/wix-sdk/client.d.ts +10 -0
  245. package/dist/wix-sdk/client.js +18 -0
  246. package/dist/wix-sdk/client.js.map +1 -0
  247. package/dist/wix-sdk/import.d.ts +1 -0
  248. package/dist/wix-sdk/import.js +88 -0
  249. package/dist/wix-sdk/import.js.map +1 -0
  250. package/dist/wix-sdk/index.d.ts +4 -0
  251. package/dist/wix-sdk/index.js +15 -0
  252. package/dist/wix-sdk/index.js.map +1 -0
  253. package/dist/wix-sdk/init copy.d.ts +4 -0
  254. package/dist/wix-sdk/init copy.js +51 -0
  255. package/dist/wix-sdk/init copy.js.map +1 -0
  256. package/dist/wix-sdk/init.d.ts +4 -0
  257. package/dist/wix-sdk/init.js +51 -0
  258. package/dist/wix-sdk/init.js.map +1 -0
  259. package/dist/wix-sdk/is-allive.d.ts +4 -0
  260. package/dist/wix-sdk/is-allive.js +37 -0
  261. package/dist/wix-sdk/is-allive.js.map +1 -0
  262. package/dist/wix-sdk/run.d.ts +4 -0
  263. package/dist/wix-sdk/run.js +53 -0
  264. package/dist/wix-sdk/run.js.map +1 -0
  265. package/dist/wix-sdk/sync copy.d.ts +1 -0
  266. package/dist/wix-sdk/sync copy.js +88 -0
  267. package/dist/wix-sdk/sync copy.js.map +1 -0
  268. package/dist/wix-sdk/sync.d.ts +1 -0
  269. package/dist/wix-sdk/sync.js +88 -0
  270. package/dist/wix-sdk/sync.js.map +1 -0
  271. package/dist/wix-sdk/wix_sdk_check.d.ts +4 -0
  272. package/dist/wix-sdk/wix_sdk_check.js +37 -0
  273. package/dist/wix-sdk/wix_sdk_check.js.map +1 -0
  274. package/dist/wix-sync/client.d.ts +3 -0
  275. package/dist/wix-sync/client.js +5 -0
  276. package/dist/wix-sync/client.js.map +1 -0
  277. package/dist/wix-sync/export copy.d.ts +4 -0
  278. package/dist/wix-sync/export copy.js +21 -0
  279. package/dist/wix-sync/export copy.js.map +1 -0
  280. package/dist/wix-sync/export.d.ts +4 -0
  281. package/dist/wix-sync/export.js +15 -0
  282. package/dist/wix-sync/export.js.map +1 -0
  283. package/dist/wix-sync/import copy.d.ts +4 -0
  284. package/dist/wix-sync/import copy.js +21 -0
  285. package/dist/wix-sync/import copy.js.map +1 -0
  286. package/dist/wix-sync/import.d.ts +4 -0
  287. package/dist/wix-sync/import.js +26 -0
  288. package/dist/wix-sync/import.js.map +1 -0
  289. package/dist/wix-sync/index.d.ts +4 -0
  290. package/dist/wix-sync/index.js +35 -0
  291. package/dist/wix-sync/index.js.map +1 -0
  292. package/dist/wix-sync/init copy.d.ts +4 -0
  293. package/dist/wix-sync/init copy.js +54 -0
  294. package/dist/wix-sync/init copy.js.map +1 -0
  295. package/dist/wix-sync/init.d.ts +4 -0
  296. package/dist/wix-sync/init.js +74 -0
  297. package/dist/wix-sync/init.js.map +1 -0
  298. package/dist/wix-sync/is-alive.d.ts +4 -0
  299. package/dist/wix-sync/is-alive.js +23 -0
  300. package/dist/wix-sync/is-alive.js.map +1 -0
  301. package/dist/wix-sync/is-allive copy.d.ts +4 -0
  302. package/dist/wix-sync/is-allive copy.js +23 -0
  303. package/dist/wix-sync/is-allive copy.js.map +1 -0
  304. package/dist/wix-sync/is-allive.d.ts +4 -0
  305. package/dist/wix-sync/is-allive.js +23 -0
  306. package/dist/wix-sync/is-allive.js.map +1 -0
  307. package/dist/wix-sync/migrate.d.ts +4 -0
  308. package/dist/wix-sync/migrate.js +21 -0
  309. package/dist/wix-sync/migrate.js.map +1 -0
  310. package/dist/wix-sync/sync-od.js +100 -0
  311. package/dist/wix-sync/sync-od.js.map +1 -0
  312. package/dist/wix-sync/sync.d.ts +4 -0
  313. package/dist/wix-sync/sync.js +26 -0
  314. package/dist/wix-sync/sync.js.map +1 -0
  315. package/dist/wix-sync/sync2.d.ts +4 -0
  316. package/dist/wix-sync/sync2.js +25 -0
  317. package/dist/wix-sync/sync2.js.map +1 -0
  318. package/dist/wix-sync copy/index.d.ts +4 -0
  319. package/dist/wix-sync copy/index.js +17 -0
  320. package/dist/wix-sync copy/index.js.map +1 -0
  321. package/dist/wix-sync copy/init.d.ts +4 -0
  322. package/dist/wix-sync copy/init.js +58 -0
  323. package/dist/wix-sync copy/init.js.map +1 -0
  324. package/dist/wix-sync copy/is-allive.d.ts +4 -0
  325. package/dist/wix-sync copy/is-allive.js +36 -0
  326. package/dist/wix-sync copy/is-allive.js.map +1 -0
  327. package/dist/wix-sync copy/sync.d.ts +1 -0
  328. package/dist/wix-sync copy/sync.js +88 -0
  329. package/dist/wix-sync copy/sync.js.map +1 -0
  330. package/files/sync-data/data/test.csv +17 -0
  331. package/files/sync-data/files/lucy.jpg +0 -0
  332. package/files/sync-data/schema/test.json +11 -0
  333. package/files/templates/block[D]/files/.stylelintrc.js +8 -0
  334. package/files/templates/block[D]/lucy.json +9 -0
  335. package/files/templates/cargo[D]/files/.env +1 -0
  336. package/files/templates/cargo[D]/files/Cargo.toml +238 -0
  337. package/files/templates/cargo[D]/files/Makefile.toml +4 -0
  338. package/files/templates/cargo[D]/files/build/main.rs +35 -0
  339. package/files/templates/cargo[D]/files/config/beta.json +19 -0
  340. package/files/templates/cargo[D]/files/config/ci.json +15 -0
  341. package/files/templates/cargo[D]/files/config/default.json +71 -0
  342. package/files/templates/cargo[D]/files/config/development.json +10 -0
  343. package/files/templates/cargo[D]/files/config/produktion.json +5 -0
  344. package/files/templates/cargo[D]/files/config/stage.json +4 -0
  345. package/files/templates/cargo[D]/files/locales/todo.yml +3 -0
  346. package/files/templates/cargo[D]/files/public/index.html +1 -0
  347. package/files/templates/cargo[D]/lucy.json +15 -0
  348. package/files/templates/expo[D]/files/.prettierrc.js +16 -0
  349. package/files/templates/expo[D]/files/.stylelintrc.js +8 -0
  350. package/files/templates/expo[D]/files/.yarnrc.yml +3 -0
  351. package/files/templates/expo[D]/files/assets/fonts/SpaceMono-Regular.ttf +0 -0
  352. package/files/templates/expo[D]/files/assets/images/adaptive-icon.png +0 -0
  353. package/files/templates/expo[D]/files/assets/images/favicon.png +0 -0
  354. package/files/templates/expo[D]/files/assets/images/icon.png +0 -0
  355. package/files/templates/expo[D]/files/assets/images/splash-icon.png +0 -0
  356. package/files/templates/expo[D]/files/babel.config.js +10 -0
  357. package/files/templates/expo[D]/files/constants/theme.ts +18 -0
  358. package/files/{expo → templates/expo[D]/files}/eas.json +9 -3
  359. package/files/{expo/eslint.config.js → templates/expo[D]/files/eslint.config.mjs} +15 -19
  360. package/files/templates/expo[D]/files/hooks/useColorScheme.ts +17 -0
  361. package/files/templates/expo[D]/files/index.ts +11 -0
  362. package/files/templates/expo[D]/files/lib/data.ts +48 -0
  363. package/files/templates/expo[D]/files/lib/utils/index.ts +11 -0
  364. package/files/{expo → templates/expo[D]/files}/lib/utils/polyfills.ts +1 -1
  365. package/files/{expo → templates/expo[D]/files}/lib/wix/client.ts +3 -5
  366. package/files/templates/expo[D]/files/lib/wix/error.ts +3 -0
  367. package/files/templates/expo[D]/files/lib/wix/index.ts +2 -0
  368. package/files/templates/expo[D]/files/metro.config.js +57 -0
  369. package/files/templates/expo[D]/files/scripts/reset-project.ts +116 -0
  370. package/files/templates/expo[D]/files/tailwind.config.js +63 -0
  371. package/files/templates/expo[D]/files/tsconfig.json +46 -0
  372. package/files/templates/expo[D]/lucy.json +82 -0
  373. package/files/templates/monorepo[D]/files/.editorconfig +10 -0
  374. package/files/templates/monorepo[D]/files/.nvmrc +1 -0
  375. package/files/templates/monorepo[D]/files/.prettierignore +23 -0
  376. package/files/{expo → templates/monorepo[D]/files}/.prettierrc.json +0 -1
  377. package/files/templates/monorepo[D]/files/.stylelintrc.js +8 -0
  378. package/files/templates/monorepo[D]/files/.yarnrc +1 -0
  379. package/files/templates/monorepo[D]/files/README.md +109 -0
  380. package/files/templates/monorepo[D]/files/currents.config.ts +5 -0
  381. package/files/templates/monorepo[D]/files/nx.json +25 -0
  382. package/files/templates/monorepo[D]/files/pnpm-workspace.yaml +10 -0
  383. package/files/templates/monorepo[D]/files/tsconfig.json +6 -0
  384. package/files/templates/monorepo[D]/files/typedoc.json +25 -0
  385. package/files/templates/monorepo[D]/files/vitest.config.ts +27 -0
  386. package/files/templates/monorepo[D]/lucy.json +68 -0
  387. package/files/templates/tauri[D]/lucy.json +9 -0
  388. package/files/templates/velo[D]/files/.prettierignore +23 -0
  389. package/files/templates/velo[D]/files/.prettierrc.js +16 -0
  390. package/files/templates/velo[D]/files/typescript/public/.gitkeep +0 -0
  391. package/files/templates/velo[D]/files/typescript/public/scss/app.scss +0 -0
  392. package/files/templates/velo[D]/files/typescript/styles/.gitkeep +0 -0
  393. package/files/templates/velo[D]/files/typescript/styles/global.scss +0 -0
  394. package/files/templates/velo[D]/lucy.json +137 -0
  395. package/old/Gulpfile.d.ts +34 -0
  396. package/old/Gulpfile.js +116 -0
  397. package/old/Gulpfile.js.map +1 -0
  398. package/old/gulp/backend.d.ts +3 -0
  399. package/old/gulp/backend.js +92 -0
  400. package/old/gulp/backend.js.map +1 -0
  401. package/old/gulp/checks.d.ts +3 -0
  402. package/old/gulp/checks.js +205 -0
  403. package/old/gulp/checks.js.map +1 -0
  404. package/old/gulp/clean.d.ts +3 -0
  405. package/old/gulp/clean.js +29 -0
  406. package/old/gulp/clean.js.map +1 -0
  407. package/old/gulp/copy.d.ts +2 -0
  408. package/old/gulp/copy.js +34 -0
  409. package/old/gulp/copy.js.map +1 -0
  410. package/old/gulp/helpers.d.ts +2 -0
  411. package/old/gulp/helpers.js +25 -0
  412. package/old/gulp/helpers.js.map +1 -0
  413. package/old/gulp/pages.d.ts +2 -0
  414. package/old/gulp/pages.js +37 -0
  415. package/old/gulp/pages.js.map +1 -0
  416. package/old/gulp/pipeline.d.ts +1 -0
  417. package/old/gulp/pipeline.js +29 -0
  418. package/old/gulp/pipeline.js.map +1 -0
  419. package/old/gulp/public.d.ts +2 -0
  420. package/old/gulp/public.js +50 -0
  421. package/old/gulp/public.js.map +1 -0
  422. package/old/gulp/styles.d.ts +2 -0
  423. package/old/gulp/styles.js +40 -0
  424. package/old/gulp/styles.js.map +1 -0
  425. package/old/gulp/templates.d.ts +2 -0
  426. package/old/gulp/templates.js +33 -0
  427. package/old/gulp/templates.js.map +1 -0
  428. package/old/gulp/types.d.ts +4 -0
  429. package/old/gulp/types.js +289 -0
  430. package/old/gulp/types.js.map +1 -0
  431. package/old/gulp/watchers.d.ts +9 -0
  432. package/old/gulp/watchers.js +59 -0
  433. package/old/gulp/watchers.js.map +1 -0
  434. package/old/helpers.d.ts +32 -0
  435. package/old/helpers.js +267 -0
  436. package/old/helpers.js.map +1 -0
  437. package/{src copy/helpers.ts → old/helpers.ts} +1 -1
  438. package/old/index.d.ts +59 -0
  439. package/old/index.js +288 -0
  440. package/old/index.js.map +1 -0
  441. package/old/init.d.ts +8 -0
  442. package/old/init.js +165 -0
  443. package/old/init.js.map +1 -0
  444. package/old/models.d.ts +37 -0
  445. package/old/models.js +2 -0
  446. package/old/models.js.map +1 -0
  447. package/old/prepare.d.ts +8 -0
  448. package/old/prepare.js +20 -0
  449. package/old/prepare.js.map +1 -0
  450. package/old/schemas/index.d.ts +0 -0
  451. package/old/schemas/index.js +2 -0
  452. package/old/schemas/index.js.map +1 -0
  453. package/old/schemas/index.ts +0 -0
  454. package/old/schemas/types.d.ts +0 -0
  455. package/old/schemas/types.js +2 -0
  456. package/old/schemas/types.js.map +1 -0
  457. package/old/schemas/types.ts +0 -0
  458. package/old/sync.d.ts +2 -0
  459. package/old/sync.js +88 -0
  460. package/old/sync.js.map +1 -0
  461. package/package.json +17 -17
  462. package/patches/velo-sync+0.0.9.patch +13 -0
  463. package/src/args.ts +62 -17
  464. package/src/commands/checks.ts +51 -0
  465. package/src/commands/cleanup.ts +11 -0
  466. package/src/commands/copy.ts +28 -0
  467. package/src/commands/edit.ts +81 -0
  468. package/src/commands/exec.ts +68 -0
  469. package/src/commands/git.ts +113 -0
  470. package/src/commands/home.ts +22 -0
  471. package/src/commands/install.ts +242 -0
  472. package/src/commands/read.ts +45 -0
  473. package/src/commands/write.ts +45 -0
  474. package/src/config.ts +116 -35
  475. package/src/error.ts +1 -2
  476. package/src/helpers.ts +92 -0
  477. package/src/index.ts +88 -13
  478. package/src/init/blocks.ts +82 -0
  479. package/src/init/cargo.ts +22 -0
  480. package/src/init/expo.ts +66 -0
  481. package/src/init/gitModules.ts +15 -0
  482. package/src/init/index.ts +81 -0
  483. package/src/init/monorepo.ts +69 -0
  484. package/src/init/prepareVelo.ts +19 -0
  485. package/src/init/tauri.ts +38 -0
  486. package/src/init/templates.ts +98 -0
  487. package/src/init/velo.ts +62 -0
  488. package/src/runtime.ts +1 -0
  489. package/src/schemas/gulp.ts +31 -0
  490. package/src/schemas/index.ts +13 -1
  491. package/src/schemas/lucy.ts +43 -0
  492. package/src/schemas/types.ts +40 -0
  493. package/src/tasks/Gulpfile.ts +207 -0
  494. package/src/tasks/gulp/backend.ts +113 -0
  495. package/src/tasks/gulp/checks.ts +218 -0
  496. package/src/tasks/gulp/clean.ts +38 -0
  497. package/src/tasks/gulp/copy.ts +38 -0
  498. package/src/tasks/gulp/helpers.ts +18 -0
  499. package/src/tasks/gulp/pages.ts +43 -0
  500. package/src/tasks/gulp/pipeline.ts +31 -0
  501. package/src/tasks/gulp/public.ts +61 -0
  502. package/src/tasks/gulp/styles.ts +47 -0
  503. package/src/tasks/gulp/templates.ts +53 -0
  504. package/src/tasks/gulp/types.ts +310 -0
  505. package/src/tasks/gulp/watchers.ts +97 -0
  506. package/src/tasks/index.ts +24 -0
  507. package/src/tasks/syncSettings.ts +21 -0
  508. package/src/types.d.ts +1 -1
  509. package/src/utils/index.ts +0 -0
  510. package/src/utils/logger.ts +40 -0
  511. package/src/wix-sdk/check.ts +24 -0
  512. package/src/wix-sdk/client.ts +18 -0
  513. package/src/wix-sdk/index.ts +17 -0
  514. package/src/wix-sdk/init.ts +54 -0
  515. package/src/wix-sdk/run.ts +56 -0
  516. package/src/wix-sync/client.ts +6 -0
  517. package/src/wix-sync/export.ts +19 -0
  518. package/src/wix-sync/import.ts +27 -0
  519. package/src/wix-sync/index.ts +36 -0
  520. package/src/wix-sync/init.ts +77 -0
  521. package/src/wix-sync/is-alive.ts +25 -0
  522. package/src/wix-sync/migrate.ts +23 -0
  523. package/src/wix-sync/sync.ts +27 -0
  524. package/tsconfig.json +6 -5
  525. package/files/expo/.env +0 -1
  526. package/files/expo/app/(tabs)/_layout.tsx +0 -45
  527. package/files/expo/app/_layout.tsx +0 -45
  528. package/files/expo/babel.config.js +0 -9
  529. package/files/expo/constants/Colors.ts +0 -27
  530. package/files/expo/constants/theme.ts +0 -18
  531. package/files/expo/hooks/useColorScheme.ts +0 -11
  532. package/files/expo/hooks/useColorScheme.web.ts +0 -21
  533. package/files/expo/hooks/useColorSchemeRN.ts +0 -1
  534. package/files/expo/hooks/useThemeColor.ts +0 -21
  535. package/files/expo/lib/data.ts +0 -45
  536. package/files/expo/lib/utils/index.ts +0 -6
  537. package/files/expo/lib/wix/index.ts +0 -1
  538. package/files/expo/lucy.json +0 -8
  539. package/files/expo/tailwind.config.js +0 -198
  540. package/files/expo/tsconfig.json +0 -40
  541. package/src/init.ts +0 -352
  542. /package/{files/velo/.gitmodules → dist/sync/index.d.ts} +0 -0
  543. /package/{files/velo/typescript/__mocks__/.gitkeep → dist/utils/index.d.ts} +0 -0
  544. /package/{files/velo/typescript/backend/data.ts → dist/utils/install.d.ts} +0 -0
  545. /package/{files/velo/typescript/backend/events.ts → dist/wix-sync/sync-od.d.ts} +0 -0
  546. /package/files/{expo → templates/expo[D]/files}/.nvmrc +0 -0
  547. /package/files/{expo → templates/expo[D]/files}/.prettierignore +0 -0
  548. /package/files/{expo → templates/expo[D]/files}/.yarnrc +0 -0
  549. /package/files/{expo/readme.md → templates/expo[D]/files/README.md} +0 -0
  550. /package/files/{velo/typescript/pages → templates/expo[D]/files/components}/.gitkeep +0 -0
  551. /package/files/{velo/typescript/public → templates/expo[D]/files/components/ui}/.gitkeep +0 -0
  552. /package/files/{expo → templates/expo[D]/files}/global.css +0 -0
  553. /package/files/{expo/types → templates/expo[D]/files}/nativewind-env.d.ts +0 -0
  554. /package/files/{expo → templates/expo[D]/files}/types/reset.d.ts +0 -0
  555. /package/files/{expo → templates/monorepo[D]/files}/.yarnrc.yml +0 -0
  556. /package/files/{velo/typescript/public/scss/app.scss → templates/velo[D]/files/.gitmodules} +0 -0
  557. /package/files/{velo → templates/velo[D]/files}/.madgerc +0 -0
  558. /package/files/{velo → templates/velo[D]/files}/.nvmrc +0 -0
  559. /package/files/{velo → templates/velo[D]/files}/.stylelintrc.js +0 -0
  560. /package/files/{velo → templates/velo[D]/files}/.yarnrc.yml +0 -0
  561. /package/files/{velo → templates/velo[D]/files}/currents.config.js +0 -0
  562. /package/files/{velo → templates/velo[D]/files}/cypress/e2e/base/base.cy.ts +0 -0
  563. /package/files/{velo → templates/velo[D]/files}/cypress/fixtures/example.json +0 -0
  564. /package/files/{velo → templates/velo[D]/files}/cypress/support/commands.ts +0 -0
  565. /package/files/{velo → templates/velo[D]/files}/cypress/support/e2e.ts +0 -0
  566. /package/files/{velo → templates/velo[D]/files}/cypress/tsconfig.json +0 -0
  567. /package/files/{velo → templates/velo[D]/files}/cypress.config.mjs +0 -0
  568. /package/files/{velo → templates/velo[D]/files}/eslint.config.mjs +0 -0
  569. /package/files/{velo → templates/velo[D]/files}/local.tsconfig.json +0 -0
  570. /package/files/{velo → templates/velo[D]/files}/typedoc.json +0 -0
  571. /package/files/{velo/typescript/styles → templates/velo[D]/files/typescript/__mocks__}/.gitkeep +0 -0
  572. /package/files/{velo/typescript/styles/global.scss → templates/velo[D]/files/typescript/backend/data.ts} +0 -0
  573. /package/{src copy/schemas/index.ts → files/templates/velo[D]/files/typescript/backend/events.ts} +0 -0
  574. /package/files/{velo → templates/velo[D]/files}/typescript/backend/http-functions.ts +0 -0
  575. /package/files/{velo → templates/velo[D]/files}/typescript/backend/lib/http-functions/sync.ts +0 -0
  576. /package/files/{velo → templates/velo[D]/files}/typescript/backend/permissions.json +0 -0
  577. /package/{src copy/schemas/types.ts → files/templates/velo[D]/files/typescript/pages/.gitkeep} +0 -0
  578. /package/files/{velo → templates/velo[D]/files}/typescript/tsconfig.json +0 -0
  579. /package/files/{velo → templates/velo[D]/files}/vitest.config.ts +0 -0
  580. /package/{src copy → old}/Gulpfile.ts +0 -0
  581. /package/{src copy → old}/gulp/backend.ts +0 -0
  582. /package/{src copy → old}/gulp/checks.ts +0 -0
  583. /package/{src copy → old}/gulp/clean.ts +0 -0
  584. /package/{src copy → old}/gulp/copy.ts +0 -0
  585. /package/{src copy → old}/gulp/helpers.ts +0 -0
  586. /package/{src copy → old}/gulp/pages.ts +0 -0
  587. /package/{src copy → old}/gulp/pipeline.ts +0 -0
  588. /package/{src copy → old}/gulp/public.ts +0 -0
  589. /package/{src copy → old}/gulp/styles.ts +0 -0
  590. /package/{src copy → old}/gulp/templates.ts +0 -0
  591. /package/{src copy → old}/gulp/types.ts +0 -0
  592. /package/{src copy → old}/gulp/watchers.ts +0 -0
  593. /package/{src copy → old}/index.ts +0 -0
  594. /package/{src copy → old}/init.ts +0 -0
  595. /package/{src copy → old}/models.ts +0 -0
  596. /package/{src copy → old}/prepare.ts +0 -0
  597. /package/{src copy → old}/settings.json +0 -0
  598. /package/{src copy → old}/sync.ts +0 -0
  599. /package/{src copy → old}/types.d.ts +0 -0
  600. /package/src/{models.ts → schemas/tsconfig.ts} +0 -0
@@ -0,0 +1,18 @@
1
+ export const NAV_THEME = {
2
+ light: {
3
+ background: 'hsl(0 0% 100%)', // background
4
+ border: 'hsl(240 5.9% 90%)', // border
5
+ card: 'hsl(0 0% 100%)', // card
6
+ notification: 'hsl(0 84.2% 60.2%)', // destructive
7
+ primary: 'hsl(240 5.9% 10%)', // primary
8
+ text: 'hsl(240 10% 3.9%)', // foreground
9
+ },
10
+ dark: {
11
+ background: 'hsl(240 10% 3.9%)', // background
12
+ border: 'hsl(240 3.7% 15.9%)', // border
13
+ card: 'hsl(240 10% 3.9%)', // card
14
+ notification: 'hsl(0 72% 51%)', // destructive
15
+ primary: 'hsl(0 0% 98%)', // primary
16
+ text: 'hsl(0 0% 98%)', // foreground
17
+ },
18
+ };
@@ -5,7 +5,9 @@
5
5
  "build": {
6
6
  "development": {
7
7
  "developmentClient": true,
8
- "distribution": "internal"
8
+ "distribution": "internal",
9
+ "environment": "development",
10
+ "env": {}
9
11
  },
10
12
  "ios-simulator": {
11
13
  "extends": "development",
@@ -14,10 +16,14 @@
14
16
  }
15
17
  },
16
18
  "preview": {
17
- "distribution": "internal"
19
+ "distribution": "internal",
20
+ "environment": "preview",
21
+ "env": {}
18
22
  },
19
23
  "production": {
20
- "autoIncrement": true
24
+ "autoIncrement": true,
25
+ "environment": "production",
26
+ "env": {}
21
27
  }
22
28
  },
23
29
  "submit": {
@@ -1,10 +1,8 @@
1
+ /* eslint-disable @typescript-eslint/ban-ts-comment */
1
2
  // https://docs.expo.dev/guides/using-eslint/
2
- const { defineConfig } = require('eslint/config');
3
- const expoConfig = require('eslint-config-expo/flat');
4
-
5
3
  import eslint from '@eslint/js';
4
+ import expoConfig from 'eslint-config-expo/flat.js';
6
5
  // @ts-ignore
7
- import importPlugin from 'eslint-plugin-import';
8
6
  import jsdoc from 'eslint-plugin-jsdoc';
9
7
  import namedImportSpacing from 'eslint-plugin-named-import-spacing';
10
8
  import simpleImportSort from 'eslint-plugin-simple-import-sort';
@@ -13,31 +11,28 @@ import tseslint from 'typescript-eslint';
13
11
 
14
12
  export default tseslint.config(
15
13
  eslint.configs.recommended,
14
+ // eslint-disable-next-line import/no-named-as-default-member
16
15
  tseslint.configs.recommendedTypeChecked,
17
16
  jsdoc.configs['flat/recommended-typescript'],
18
- expoConfig,
17
+ // eslint-disable-next-line @typescript-eslint/no-unsafe-argument
18
+ expoConfig,
19
19
  {
20
20
  ignores: ['dist/*'],
21
21
  },
22
22
  {
23
23
  plugins: {
24
- '@typescript-eslint': tseslint.plugin,
25
24
  'simple-import-sort': simpleImportSort,
26
- import: importPlugin,
27
25
  'named-import-spacing': namedImportSpacing,
28
- jsdoc,
29
26
  },
30
27
  settings: {
31
28
  'import/resolver': {
32
29
  typescript: {
33
- project: [
34
- 'typescript/tsconfig.json',
35
- 'lib/tsconfig.json'
36
- ],
30
+ project: './tsconfig.json',
37
31
  }
38
32
  }
39
33
  },
40
34
  languageOptions: {
35
+ // eslint-disable-next-line import/no-named-as-default-member
41
36
  parser: tseslint.parser,
42
37
  parserOptions: {
43
38
  projectService: true,
@@ -99,7 +94,7 @@ export default tseslint.config(
99
94
  'no-multi-spaces': 'error',
100
95
  'import/newline-after-import': ['error', { count: 1 }],
101
96
  'named-import-spacing/named-import-spacing': 2,
102
- 'no-unused-vars': 'warn',
97
+ '@typescript-eslint/no-unused-vars': 'warn',
103
98
  'import/no-unresolved': [0],
104
99
  'no-forbidden-relative-imports': [0],
105
100
  '@typescript-eslint/triple-slash-reference': 'off',
@@ -119,8 +114,13 @@ export default tseslint.config(
119
114
  '@typescript-eslint/naming-convention': [
120
115
  'error',
121
116
  {
122
- selector: ['variable', 'function'],
123
- format: ['camelCase'],
117
+ selector: ['variable'],
118
+ format: ['camelCase', 'UPPER_CASE'],
119
+ leadingUnderscore: 'allow',
120
+ },
121
+ {
122
+ selector: ['function'],
123
+ format: ['camelCase', 'PascalCase'],
124
124
  leadingUnderscore: 'allow',
125
125
  },
126
126
  {
@@ -175,10 +175,6 @@ export default tseslint.config(
175
175
  selector: 'typeLike',
176
176
  format: ['PascalCase'],
177
177
  },
178
- {
179
- selector: 'function',
180
- format: ['UPPER_CASE'],
181
- },
182
178
  ],
183
179
  },
184
180
  },
@@ -0,0 +1,17 @@
1
+ import { useColorScheme as useNativewindColorScheme } from 'nativewind';
2
+
3
+ /**
4
+ * Custom hook to get the current color scheme and provide methods to change it.
5
+ * This hook uses the nativewind's useColorScheme to access the color scheme.
6
+ * @returns An object containing the current color scheme, a method to set the color scheme,
7
+ */
8
+ export function useColorScheme() {
9
+ const { colorScheme, setColorScheme, toggleColorScheme } = useNativewindColorScheme();
10
+
11
+ return {
12
+ colorScheme: colorScheme ?? 'dark',
13
+ isDarkColorScheme: colorScheme === 'dark',
14
+ setColorScheme,
15
+ toggleColorScheme,
16
+ };
17
+ }
@@ -0,0 +1,11 @@
1
+ import '@/global.css';
2
+ import '@/lib/utils/polyfills';
3
+
4
+ import { registerRootComponent } from 'expo';
5
+
6
+ import App from './App';
7
+
8
+ // registerRootComponent calls AppRegistry.registerComponent('main', () => App);
9
+ // It also ensures that whether you load the app in Expo Go or in a native build,
10
+ // the environment is set up appropriately
11
+ registerRootComponent(App);
@@ -0,0 +1,48 @@
1
+ import { Effect, Schedule, Schema } from 'effect';
2
+
3
+ import { client, ClientError } from './wix';
4
+
5
+ const dataSchema = Schema.Struct({
6
+ source: Schema.String,
7
+ content: Schema.String,
8
+ _id: Schema.String,
9
+ _owner: Schema.String,
10
+ _createdDate: Schema.Any,
11
+ _updatedDate: Schema.Any,
12
+ });
13
+
14
+ const COLLECTION_NAME = 'dailySpiritQuotes';
15
+
16
+ export const getQuote = () => Effect.gen(function* () {
17
+ const count = yield* Effect.retry(Effect.tryPromise({
18
+ try: () => client.items.query(COLLECTION_NAME).count(),
19
+ catch: (error) => {
20
+ console.error('Error fetching quotes:', error);
21
+ Effect.fail(new ClientError());
22
+ }
23
+ }), Schedule.fromDelays(50, 100, 200, 400, 800));
24
+
25
+ if (count === 0) {
26
+ return yield* Effect.fail(new Error('No quotes found in the collection.'));
27
+ }
28
+
29
+ const randomIndex = Math.floor(Math.random() * count);
30
+
31
+ const data = yield* Effect.retry(Effect.tryPromise({
32
+ try: () => client.items.query(COLLECTION_NAME).skip(randomIndex).limit(1).find(),
33
+ catch: (error) => {
34
+ console.error('Error fetching quotes:', error);
35
+ Effect.fail(new ClientError());
36
+ }
37
+ }), Schedule.fromDelays(50, 100, 200, 400, 800));
38
+
39
+ yield* Effect.logDebug(`Fetched ${JSON.stringify(data, null, 2)}`);
40
+
41
+ const quote = yield* Schema.decodeUnknown(dataSchema)(data.items[0]);
42
+
43
+ return { source: quote.source, content: quote.content };
44
+ }).pipe(Effect.catchAll((error) => {
45
+ console.error('Failed to fetch quote:', error);
46
+
47
+ return Effect.succeed({ source: 'The Lord', content: 'The ways of the Lord are inscrutable.' });
48
+ }));
@@ -0,0 +1,11 @@
1
+ import { type ClassValue, clsx } from 'clsx';
2
+ import { twMerge } from 'tailwind-merge';
3
+
4
+ /**
5
+ * Combines class names and merges Tailwind CSS classes.
6
+ * @param inputs - The class names to combine.
7
+ * @returns A string of combined class names.
8
+ */
9
+ export function cn(...inputs: ClassValue[]) {
10
+ return twMerge(clsx(inputs));
11
+ }
@@ -1,5 +1,5 @@
1
1
 
2
- import { polyfillWebCrypto } from "expo-standard-web-crypto";
2
+ import { polyfillWebCrypto } from 'expo-standard-web-crypto';
3
3
  // import { Platform } from 'react-native';
4
4
  // // import polyfill from 'react-native-polyfill-globals';
5
5
  // import { TextDecoder, TextEncoder } from "text-encoding";
@@ -1,14 +1,12 @@
1
1
  import { items } from '@wix/data';
2
2
  import { createClient, OAuthStrategy } from '@wix/sdk';
3
- import { Data } from 'effect';
4
3
 
5
- const clientId = process.env.EXPO_PUBLIC_WIX_CLIENT_ID || "";
4
+ const clientId = process.env.EXPO_PUBLIC_WIX_CLIENT_ID || '';
6
5
 
7
6
  //To access the Wix APIs, create a client with the createClient() function imported from the @wix/sdk package.
8
7
  export const client = createClient({
9
- modules: { items },
10
- auth: OAuthStrategy({ clientId: clientId }),
8
+ modules: { items },
9
+ auth: OAuthStrategy({ clientId: clientId }),
11
10
  });
12
- export class ClientError extends Data.TaggedError('ErrorParserError') {}
13
11
 
14
12
 
@@ -0,0 +1,3 @@
1
+ import { Data } from 'effect';
2
+
3
+ export class ClientError extends Data.TaggedError('ErrorParserError') {}
@@ -0,0 +1,2 @@
1
+ export { client } from './client';
2
+ export { ClientError } from './error';
@@ -0,0 +1,57 @@
1
+ /* eslint-disable @typescript-eslint/no-require-imports */
2
+ // eslint-disable-next-line @typescript-eslint/ban-ts-comment
3
+ // @ts-nocheck
4
+ const { getDefaultConfig } = require('expo/metro-config');
5
+ const { withNativeWind } = require('nativewind/metro');
6
+ const path = require('path');
7
+
8
+ const ALIASES_WEB = {
9
+ '@wix/sdk': path.resolve(__dirname, './node_modules/@wix/sdk/cjs/build/index.js'),
10
+ // Example: redirect imports of 'some-native-library' to a web-compatible mock
11
+ // 'some-native-library': path.resolve(__dirname, 'src/mocks/some-native-library.web.js'),
12
+
13
+ // You can add your @wix/sdk aliases here if needed
14
+ // '@wix/sdk-something': path.resolve(__dirname, 'src/wix/sdk-something-web.js'),
15
+ };
16
+ const config = (() => {
17
+ let config = getDefaultConfig(__dirname);
18
+ const { transformer, resolver } = config;
19
+ config.transformer = {
20
+ ...transformer,
21
+ };
22
+ config.resolver = {
23
+ ...resolver,
24
+ };
25
+
26
+ config.resolver.unstable_enablePackageExports = false;
27
+ // config.resolver.unstable_conditionsByPlatform = ['ios', 'android']
28
+ config.resolver.resolveRequest = (context, moduleName, platform) => {
29
+ if (platform === 'web') {
30
+ // Check if the module name is in our alias map
31
+ const alias = ALIASES_WEB[moduleName];
32
+ if (alias) {
33
+ console.log(`Aliasing '${moduleName}' to '${alias}'`);
34
+ // If it is, resolve to the new path
35
+ return context.resolveRequest(context, alias, platform);
36
+ }
37
+ }
38
+ // Ensure you call the default resolver for everything else.
39
+ return context.resolveRequest(context, moduleName, platform);
40
+ };
41
+
42
+ config.resolver.extraNodeModules = {
43
+ ...config.resolver.extraNodeModules,
44
+ ...require('node-libs-react-native'),
45
+ // 'node:buffer': require.resolve('buffer/'),
46
+ // 'node:crypto': require.resolve('react-native-crypto/'),
47
+ // 'node:util': require.resolve('util/'),
48
+ // 'node:http': require.resolve('stream-http/'),
49
+ // 'node:https': require.resolve('https-browserify/'),
50
+ // 'node:events': require.resolve('events/'),
51
+ };
52
+
53
+ return config;
54
+ })();
55
+ // console.log('Using Metro config:', JSON.stringify(config, null, 2));
56
+ module.exports = withNativeWind(config, { input: './global.css' });
57
+
@@ -0,0 +1,116 @@
1
+ #!/usr/bin/env ts-node
2
+ /* eslint-disable no-console */
3
+
4
+ /**
5
+ * This script is used to reset the project to a blank state.
6
+ * It deletes or moves the /app, /components, /hooks, /scripts, and /constants directories to /app-example based on user input and creates a new /app directory with an index.tsx and _layout.tsx file.
7
+ * You can remove the `reset-project` script from package.json and safely delete this file after running it.
8
+ */
9
+
10
+ import fs from 'fs';
11
+ import path from 'path';
12
+ import { createInterface } from 'readline/promises';
13
+
14
+ const root = process.cwd();
15
+ const oldDirs = ['app', 'components', 'hooks', 'constants', 'scripts'];
16
+ const exampleDir = 'app-example';
17
+ const newAppDir = 'app';
18
+ const exampleDirPath = path.join(root, exampleDir);
19
+
20
+ const indexContent = `import { Text, View } from "react-native";
21
+
22
+ export default function Index() {
23
+ return (
24
+ <View
25
+ style={{
26
+ flex: 1,
27
+ justifyContent: "center",
28
+ alignItems: "center",
29
+ }}
30
+ >
31
+ <Text>Edit app/index.tsx to edit this screen.</Text>
32
+ </View>
33
+ );
34
+ }
35
+ `;
36
+
37
+ const layoutContent = `import { Stack } from "expo-router";
38
+
39
+ export default function RootLayout() {
40
+ return <Stack />;
41
+ }
42
+ `;
43
+
44
+ const moveDirectories = async (userInput: string) => {
45
+ if (userInput === 'y') {
46
+ // Create the app-example directory
47
+ await fs.promises.mkdir(exampleDirPath, { recursive: true });
48
+ console.log(`📁 /${exampleDir} directory created.`);
49
+ }
50
+
51
+ // Move old directories to new app-example directory or delete them
52
+ for (const dir of oldDirs) {
53
+ const oldDirPath = path.join(root, dir);
54
+ if (fs.existsSync(oldDirPath)) {
55
+ if (userInput === 'y') {
56
+ const newDirPath = path.join(root, exampleDir, dir);
57
+ await fs.promises.rename(oldDirPath, newDirPath);
58
+ console.log(`➡️ /${dir} moved to /${exampleDir}/${dir}.`);
59
+ } else {
60
+ await fs.promises.rm(oldDirPath, { recursive: true, force: true });
61
+ console.log(`❌ /${dir} deleted.`);
62
+ }
63
+ } else {
64
+ console.log(`➡️ /${dir} does not exist, skipping.`);
65
+ }
66
+ }
67
+
68
+ // Create new /app directory
69
+ const newAppDirPath = path.join(root, newAppDir);
70
+ await fs.promises.mkdir(newAppDirPath, { recursive: true });
71
+ console.log('\n📁 New /app directory created.');
72
+
73
+ // Create index.tsx
74
+ const indexPath = path.join(newAppDirPath, 'index.tsx');
75
+ await fs.promises.writeFile(indexPath, indexContent);
76
+ console.log('📄 app/index.tsx created.');
77
+
78
+ // Create _layout.tsx
79
+ const layoutPath = path.join(newAppDirPath, '_layout.tsx');
80
+ await fs.promises.writeFile(layoutPath, layoutContent);
81
+ console.log('📄 app/_layout.tsx created.');
82
+
83
+ console.log('\n✅ Project reset complete. Next steps:');
84
+ console.log(
85
+ `1. Run \`npx expo start\` to start a development server.\n2. Edit app/index.tsx to edit the main screen.${
86
+ userInput === 'y'
87
+ ? `\n3. Delete the /${exampleDir} directory when you're done referencing it.`
88
+ : ''
89
+ }`
90
+ );
91
+ };
92
+
93
+ const main = async () => {
94
+ const rl = createInterface({ input: process.stdin, output: process.stdout });
95
+ try {
96
+ const answer = await rl.question('Do you want to move existing files to /app-example instead of deleting them? (Y/n): ');
97
+ const userInput = answer.trim().toLowerCase() || 'y';
98
+ if (userInput === 'y' || userInput === 'n') {
99
+ await moveDirectories(userInput);
100
+ } else {
101
+ console.log("❌ Invalid input. Please enter 'Y' or 'N'.");
102
+ process.exit(1);
103
+ }
104
+ } catch (error) {
105
+ if (error instanceof Error) {
106
+ console.error(`❌ Error during script execution: ${error.message}`);
107
+ } else {
108
+ console.error('❌ An unexpected error occurred:', error);
109
+ }
110
+ process.exit(1);
111
+ } finally {
112
+ rl.close();
113
+ }
114
+ };
115
+
116
+ void main();
@@ -0,0 +1,63 @@
1
+ import { hairlineWidth } from 'nativewind/theme';
2
+
3
+ export const darkMode = 'class';
4
+ export const content = ['./app/**/*.{ts,tsx}', './components/**/*.{ts,tsx}'];
5
+ export const presets = [require('nativewind/preset')];
6
+
7
+ export const theme = {
8
+ extend: {
9
+ colors: {
10
+ border: 'hsl(var(--border))',
11
+ input: 'hsl(var(--input))',
12
+ ring: 'hsl(var(--ring))',
13
+ background: 'hsl(var(--background))',
14
+ foreground: 'hsl(var(--foreground))',
15
+ primary: {
16
+ DEFAULT: 'hsl(var(--primary))',
17
+ foreground: 'hsl(var(--primary-foreground))',
18
+ },
19
+ secondary: {
20
+ DEFAULT: 'hsl(var(--secondary))',
21
+ foreground: 'hsl(var(--secondary-foreground))',
22
+ },
23
+ destructive: {
24
+ DEFAULT: 'hsl(var(--destructive))',
25
+ foreground: 'hsl(var(--destructive-foreground))',
26
+ },
27
+ muted: {
28
+ DEFAULT: 'hsl(var(--muted))',
29
+ foreground: 'hsl(var(--muted-foreground))',
30
+ },
31
+ accent: {
32
+ DEFAULT: 'hsl(var(--accent))',
33
+ foreground: 'hsl(var(--accent-foreground))',
34
+ },
35
+ popover: {
36
+ DEFAULT: 'hsl(var(--popover))',
37
+ foreground: 'hsl(var(--popover-foreground))',
38
+ },
39
+ card: {
40
+ DEFAULT: 'hsl(var(--card))',
41
+ foreground: 'hsl(var(--card-foreground))',
42
+ },
43
+ },
44
+ borderWidth: {
45
+ hairline: hairlineWidth(),
46
+ },
47
+ keyframes: {
48
+ 'accordion-down': {
49
+ from: { height: '0' },
50
+ to: { height: 'var(--radix-accordion-content-height)' },
51
+ },
52
+ 'accordion-up': {
53
+ from: { height: 'var(--radix-accordion-content-height)' },
54
+ to: { height: '0' },
55
+ },
56
+ },
57
+ animation: {
58
+ 'accordion-down': 'accordion-down 0.2s ease-out',
59
+ 'accordion-up': 'accordion-up 0.2s ease-out',
60
+ },
61
+ },
62
+ };
63
+ export const plugins = [require('tailwindcss-animate')];
@@ -0,0 +1,46 @@
1
+ {
2
+ "extends": "expo/tsconfig.base",
3
+ "compilerOptions": {
4
+ "strict": true,
5
+ "allowSyntheticDefaultImports": true,
6
+ "skipLibCheck": true,
7
+ "forceConsistentCasingInFileNames": true,
8
+ "alwaysStrict": false,
9
+ "noImplicitAny": true,
10
+ "noImplicitReturns": true,
11
+ "noImplicitThis": true,
12
+ "strictNullChecks": true,
13
+ "exactOptionalPropertyTypes": true,
14
+ "strictBindCallApply": true,
15
+ "strictFunctionTypes": true,
16
+ "strictPropertyInitialization": true,
17
+ // --- Advanced ---
18
+ "preserveConstEnums": true,
19
+ "plugins": [
20
+ {
21
+ "name": "@styled/typescript-styled-plugin"
22
+ },
23
+ {
24
+ "name": "typescript-eslint-language-service"
25
+ }
26
+ ],
27
+ "paths": {
28
+ "@/*": [
29
+ "./*"
30
+ ]
31
+ }
32
+ },
33
+ "include": [
34
+ "**/*.ts",
35
+ "**/*.tsx",
36
+ ".expo/types/**/*.ts",
37
+ "expo-env.d.ts",
38
+ "nativewind-env.d.ts",
39
+ "metro.config.js",
40
+ "eslint.config.mjs",
41
+ "tailwind.config.js",
42
+ "babel.config.js",
43
+ ".prettierrc.js",
44
+ "expo-env.d.ts",
45
+ ]
46
+ }
@@ -0,0 +1,82 @@
1
+ {
2
+ "modules": {},
3
+ "devDependencies": {
4
+ "tailwindcss": "^3.4.17",
5
+ "prettier-plugin-tailwindcss": "^0.5.11",
6
+ "@styled/typescript-styled-plugin": "",
7
+ "typescript-eslint-language-service": "",
8
+ "eslint-config-prettier": "",
9
+ "eslint-plugin-jsdoc": "",
10
+ "eslint-plugin-named-import-spacing": "",
11
+ "eslint-plugin-only-warn": "",
12
+ "eslint-plugin-react": "",
13
+ "eslint-plugin-react-hooks": "",
14
+ "eslint-plugin-simple-import-sort": "",
15
+ "@next/eslint-plugin-next": "",
16
+ "@stylelint/postcss-css-in-js": "",
17
+ "@typescript-eslint/parser": "",
18
+ "typescript-eslint": "",
19
+ "@total-typescript/ts-reset": "",
20
+ "expo-doctor": "",
21
+ "tsx": ""
22
+ },
23
+ "dependencies": {
24
+ "nativewind": "",
25
+ "react-native-reanimated": "~3.17.4",
26
+ "react-native-safe-area-context": "5.4.0",
27
+ "@wix/sdk": "1.15.24",
28
+ "@wix/data": "",
29
+ "expo-standard-web-crypto": "",
30
+ "effect": "",
31
+ "node-libs-react-native": "",
32
+ "util": "",
33
+ "events": "",
34
+ "tailwindcss-animate": ""
35
+ },
36
+ "additionalCommands": [
37
+ [
38
+ "npx",
39
+ "expo",
40
+ "install",
41
+ "tailwindcss-animate",
42
+ "class-variance-authority",
43
+ "clsx",
44
+ "tailwind-merge",
45
+ "expo-crypto",
46
+ "react-dom",
47
+ "react-native-web",
48
+ "@expo/metro-runtime",
49
+ "expo-system-ui"
50
+ ]
51
+ ],
52
+ "scripts": {
53
+ "dev": "expo start",
54
+ "start": "expo start",
55
+ "android": "expo start --android",
56
+ "ios": "expo start --ios",
57
+ "web": "expo start --web",
58
+ "reset": "tsx ./scripts/reset-project.ts",
59
+ "format": "prettier --write \"./*.json\" \"**/*.{ts,tsx,md,json,jsonc,json5}\"",
60
+ "prebuild": "expo prebuild",
61
+ "pods": "npx pod-install",
62
+ "build:dev": "eas build --local --profile development",
63
+ "build:sim": "eas build --local --profile ios-simulator",
64
+ "build:prev": "eas build --local --profile preview",
65
+ "build:prod": "eas build --local --profile production",
66
+ "build:web": "expo export --platform web",
67
+ "doctor": "expo-doctor",
68
+ "eas-build-pre-install": "corepack enable && yarn set version 4"
69
+ },
70
+ "initialized": false,
71
+ "type": "expo",
72
+ "packageManager": "pnpm",
73
+ "additionalPkgProps": {
74
+ "expo": {
75
+ "doctor": {
76
+ "reactNativeDirectoryCheck": {
77
+ "listUnknownPackages": false
78
+ }
79
+ }
80
+ }
81
+ }
82
+ }
@@ -0,0 +1,10 @@
1
+ root = true
2
+
3
+ [*]
4
+ end_of_line = lf
5
+ insert_final_newline = true
6
+
7
+ [*.{js,json,.yml}]
8
+ charset = utf-8
9
+ indent_style = space
10
+ indent_size = 2
@@ -0,0 +1,23 @@
1
+ # Dependencies
2
+ node_modules/
3
+
4
+ # Build output
5
+ dist
6
+ .next/
7
+ .wix/
8
+ build
9
+ out
10
+
11
+ # Turbo cache
12
+ .turbo
13
+
14
+ # Logs
15
+ *.log
16
+ npm-debug.log*
17
+ yarn-debug.log*
18
+ yarn-error.log*
19
+ pnpm-debug.log*
20
+
21
+ # As per your ESLint config, JS files are not formatted.
22
+ **/*.js
23
+
@@ -4,7 +4,6 @@
4
4
  "useTabs": true,
5
5
  "singleQuote": true,
6
6
  "trailingComma": "all",
7
- "plugins": ["prettier-plugin-tailwindcss"],
8
7
  "overrides": [
9
8
  {
10
9
  "files": ["**/*.{json,jsonc,json5}", "*.{json,jsonc,json5}"],