lucy-cli 2.0.0-alpha.11 → 2.0.0-alpha.13

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 (587) hide show
  1. package/dist/Gulpfile.d.ts +35 -0
  2. package/dist/Gulpfile.js +132 -0
  3. package/dist/Gulpfile.js.map +1 -0
  4. package/dist/args.d.ts +1 -6
  5. package/dist/args.js +57 -7
  6. package/dist/args.js.map +1 -0
  7. package/dist/commands/checks.d.ts +7 -0
  8. package/dist/commands/checks.js +47 -0
  9. package/dist/commands/checks.js.map +1 -0
  10. package/dist/commands/cleanup copy.d.ts +4 -0
  11. package/dist/commands/cleanup copy.js +10 -0
  12. package/dist/commands/cleanup copy.js.map +1 -0
  13. package/dist/commands/cleanup.d.ts +4 -0
  14. package/dist/commands/cleanup.js +10 -0
  15. package/dist/commands/cleanup.js.map +1 -0
  16. package/dist/commands/copy.d.ts +6 -0
  17. package/dist/commands/copy.js +20 -0
  18. package/dist/commands/copy.js.map +1 -0
  19. package/dist/commands/edit.d.ts +10 -0
  20. package/dist/commands/edit.js +69 -0
  21. package/dist/commands/edit.js.map +1 -0
  22. package/dist/commands/exec copy.d.ts +3 -0
  23. package/dist/commands/exec copy.js +20 -0
  24. package/dist/commands/exec copy.js.map +1 -0
  25. package/dist/commands/exec.d.ts +5 -0
  26. package/dist/commands/exec.js +40 -0
  27. package/dist/commands/exec.js.map +1 -0
  28. package/dist/commands/files.d.ts +7 -0
  29. package/dist/commands/files.js +28 -0
  30. package/dist/commands/files.js.map +1 -0
  31. package/dist/commands/git.d.ts +8 -0
  32. package/dist/commands/git.js +104 -0
  33. package/dist/commands/git.js.map +1 -0
  34. package/dist/commands/home.d.ts +4 -0
  35. package/dist/commands/home.js +18 -0
  36. package/dist/commands/home.js.map +1 -0
  37. package/dist/commands/install.d.ts +8 -0
  38. package/dist/commands/install.js +110 -0
  39. package/dist/commands/install.js.map +1 -0
  40. package/dist/commands/read.d.ts +6 -0
  41. package/dist/commands/read.js +41 -0
  42. package/dist/commands/read.js.map +1 -0
  43. package/dist/commands/write.d.ts +7 -0
  44. package/dist/commands/write.js +28 -0
  45. package/dist/commands/write.js.map +1 -0
  46. package/dist/commands.js +1 -0
  47. package/dist/commands.js.map +1 -0
  48. package/dist/config.d.ts +30 -7
  49. package/dist/config.js +89 -26
  50. package/dist/config.js.map +1 -0
  51. package/dist/error.d.ts +1 -9
  52. package/dist/error.js +1 -2
  53. package/dist/error.js.map +1 -0
  54. package/dist/gulp/backend.d.ts +3 -0
  55. package/dist/gulp/backend.js +92 -0
  56. package/dist/gulp/backend.js.map +1 -0
  57. package/dist/gulp/checks.d.ts +3 -0
  58. package/dist/gulp/checks.js +194 -0
  59. package/dist/gulp/checks.js.map +1 -0
  60. package/dist/gulp/clean.d.ts +3 -0
  61. package/dist/gulp/clean.js +33 -0
  62. package/dist/gulp/clean.js.map +1 -0
  63. package/dist/gulp/copy.d.ts +2 -0
  64. package/dist/gulp/copy.js +34 -0
  65. package/dist/gulp/copy.js.map +1 -0
  66. package/dist/gulp/helpers.d.ts +2 -0
  67. package/dist/gulp/helpers.js +21 -0
  68. package/dist/gulp/helpers.js.map +1 -0
  69. package/dist/gulp/pages.d.ts +2 -0
  70. package/dist/gulp/pages.js +39 -0
  71. package/dist/gulp/pages.js.map +1 -0
  72. package/dist/gulp/pipeline.d.ts +1 -0
  73. package/dist/gulp/pipeline.js +29 -0
  74. package/dist/gulp/pipeline.js.map +1 -0
  75. package/dist/gulp/public.d.ts +2 -0
  76. package/dist/gulp/public.js +50 -0
  77. package/dist/gulp/public.js.map +1 -0
  78. package/dist/gulp/styles.d.ts +2 -0
  79. package/dist/gulp/styles.js +40 -0
  80. package/dist/gulp/styles.js.map +1 -0
  81. package/dist/gulp/templates.d.ts +2 -0
  82. package/dist/gulp/templates.js +33 -0
  83. package/dist/gulp/templates.js.map +1 -0
  84. package/dist/gulp/types.d.ts +4 -0
  85. package/dist/gulp/types.js +289 -0
  86. package/dist/gulp/types.js.map +1 -0
  87. package/dist/gulp/watchers.d.ts +9 -0
  88. package/dist/gulp/watchers.js +57 -0
  89. package/dist/gulp/watchers.js.map +1 -0
  90. package/dist/helpers.d.ts +9 -0
  91. package/dist/helpers.js +87 -0
  92. package/dist/helpers.js.map +1 -0
  93. package/dist/index.d.ts +1 -0
  94. package/dist/index.js +78 -9
  95. package/dist/index.js.map +1 -0
  96. package/dist/init/blocks.d.ts +5 -0
  97. package/dist/init/blocks.js +60 -0
  98. package/dist/init/blocks.js.map +1 -0
  99. package/dist/init/cargo copy.d.ts +2 -0
  100. package/dist/init/cargo copy.js +16 -0
  101. package/dist/init/cargo copy.js.map +1 -0
  102. package/dist/init/cargo.d.ts +2 -0
  103. package/dist/init/cargo.js +19 -0
  104. package/dist/init/cargo.js.map +1 -0
  105. package/dist/init/expo copy.d.ts +5 -0
  106. package/dist/init/expo copy.js +48 -0
  107. package/dist/init/expo copy.js.map +1 -0
  108. package/dist/init/expo.d.ts +5 -0
  109. package/dist/init/expo.js +50 -0
  110. package/dist/init/expo.js.map +1 -0
  111. package/dist/init/gitModules.d.ts +2 -0
  112. package/dist/init/gitModules.js +13 -0
  113. package/dist/init/gitModules.js.map +1 -0
  114. package/dist/init/index.d.ts +4 -0
  115. package/dist/init/index.js +62 -0
  116. package/dist/init/index.js.map +1 -0
  117. package/dist/init/lucy.d.ts +1 -0
  118. package/dist/init/lucy.js +2 -0
  119. package/dist/init/monorepo copy.d.ts +4 -0
  120. package/dist/init/monorepo copy.js +28 -0
  121. package/dist/init/monorepo copy.js.map +1 -0
  122. package/dist/init/monorepo.d.ts +4 -0
  123. package/dist/init/monorepo.js +35 -0
  124. package/dist/init/monorepo.js.map +1 -0
  125. package/dist/init/prepare.d.ts +8 -0
  126. package/dist/init/prepare.js +20 -0
  127. package/dist/init/prepare.js.map +1 -0
  128. package/dist/init/prepareVelo.d.ts +2 -0
  129. package/dist/init/prepareVelo.js +16 -0
  130. package/dist/init/prepareVelo.js.map +1 -0
  131. package/dist/init/sync.d.ts +2 -0
  132. package/dist/init/sync.js +88 -0
  133. package/dist/init/sync.js.map +1 -0
  134. package/dist/init/tauri.d.ts +5 -0
  135. package/dist/init/tauri.js +29 -0
  136. package/dist/init/tauri.js.map +1 -0
  137. package/dist/init/templates.d.ts +5 -0
  138. package/dist/init/templates.js +93 -0
  139. package/dist/init/templates.js.map +1 -0
  140. package/dist/init/velo.d.ts +5 -0
  141. package/dist/init/velo.js +58 -0
  142. package/dist/init/velo.js.map +1 -0
  143. package/dist/init/write.d.ts +5 -0
  144. package/dist/init/write.js +15 -0
  145. package/dist/models.js +1 -0
  146. package/dist/models.js.map +1 -0
  147. package/dist/policy.js +1 -0
  148. package/dist/policy.js.map +1 -0
  149. package/dist/prepare.js +1 -0
  150. package/dist/prepare.js.map +1 -0
  151. package/dist/runtime.d.ts +1 -1
  152. package/dist/runtime.js +1 -0
  153. package/dist/runtime.js.map +1 -0
  154. package/dist/schemas/gulp.d.ts +26 -0
  155. package/dist/schemas/gulp.js +8 -0
  156. package/dist/schemas/gulp.js.map +1 -0
  157. package/dist/schemas/index.d.ts +10 -0
  158. package/dist/schemas/index.js +9 -0
  159. package/dist/schemas/index.js.map +1 -0
  160. package/dist/schemas/lucy.d.ts +26 -0
  161. package/dist/schemas/lucy.js +39 -0
  162. package/dist/schemas/lucy.js.map +1 -0
  163. package/dist/schemas/models.d.ts +37 -0
  164. package/dist/schemas/models.js +2 -0
  165. package/dist/schemas/models.js.map +1 -0
  166. package/dist/schemas/tsconfig.d.ts +37 -0
  167. package/dist/schemas/tsconfig.js +2 -0
  168. package/dist/schemas/tsconfig.js.map +1 -0
  169. package/dist/schemas/types.d.ts +31 -0
  170. package/dist/schemas/types.js +5 -1
  171. package/dist/schemas/types.js.map +1 -0
  172. package/dist/states.js +1 -0
  173. package/dist/states.js.map +1 -0
  174. package/dist/sync/index.js +2 -0
  175. package/dist/sync/index.js.map +1 -0
  176. package/dist/sync/sync.d.ts +3 -0
  177. package/dist/sync/sync.js +92 -0
  178. package/dist/sync/sync.js.map +1 -0
  179. package/dist/tasks/Gulpfile.d.ts +4 -0
  180. package/dist/tasks/Gulpfile.js +112 -0
  181. package/dist/tasks/Gulpfile.js.map +1 -0
  182. package/dist/tasks/gitModules.d.ts +2 -0
  183. package/dist/tasks/gitModules.js +13 -0
  184. package/dist/tasks/gitModules.js.map +1 -0
  185. package/dist/tasks/gulp/backend.d.ts +3 -0
  186. package/dist/tasks/gulp/backend.js +92 -0
  187. package/dist/tasks/gulp/backend.js.map +1 -0
  188. package/dist/tasks/gulp/checks.d.ts +3 -0
  189. package/dist/tasks/gulp/checks.js +196 -0
  190. package/dist/tasks/gulp/checks.js.map +1 -0
  191. package/dist/tasks/gulp/clean.d.ts +3 -0
  192. package/dist/tasks/gulp/clean.js +33 -0
  193. package/dist/tasks/gulp/clean.js.map +1 -0
  194. package/dist/tasks/gulp/copy.d.ts +2 -0
  195. package/dist/tasks/gulp/copy.js +33 -0
  196. package/dist/tasks/gulp/copy.js.map +1 -0
  197. package/dist/tasks/gulp/helpers.d.ts +3 -0
  198. package/dist/tasks/gulp/helpers.js +19 -0
  199. package/dist/tasks/gulp/helpers.js.map +1 -0
  200. package/dist/tasks/gulp/pages.d.ts +2 -0
  201. package/dist/tasks/gulp/pages.js +39 -0
  202. package/dist/tasks/gulp/pages.js.map +1 -0
  203. package/dist/tasks/gulp/pipeline.d.ts +1 -0
  204. package/dist/tasks/gulp/pipeline.js +29 -0
  205. package/dist/tasks/gulp/pipeline.js.map +1 -0
  206. package/dist/tasks/gulp/public.d.ts +2 -0
  207. package/dist/tasks/gulp/public.js +50 -0
  208. package/dist/tasks/gulp/public.js.map +1 -0
  209. package/dist/tasks/gulp/styles.d.ts +2 -0
  210. package/dist/tasks/gulp/styles.js +40 -0
  211. package/dist/tasks/gulp/styles.js.map +1 -0
  212. package/dist/tasks/gulp/templates.d.ts +2 -0
  213. package/dist/tasks/gulp/templates.js +45 -0
  214. package/dist/tasks/gulp/templates.js.map +1 -0
  215. package/dist/tasks/gulp/types.d.ts +4 -0
  216. package/dist/tasks/gulp/types.js +293 -0
  217. package/dist/tasks/gulp/types.js.map +1 -0
  218. package/dist/tasks/gulp/watchers.d.ts +2 -0
  219. package/dist/tasks/gulp/watchers.js +59 -0
  220. package/dist/tasks/gulp/watchers.js.map +1 -0
  221. package/dist/tasks/index.d.ts +4 -0
  222. package/dist/tasks/index.js +23 -0
  223. package/dist/tasks/index.js.map +1 -0
  224. package/dist/tasks/sync.d.ts +2 -0
  225. package/dist/tasks/sync.js +88 -0
  226. package/dist/tasks/sync.js.map +1 -0
  227. package/dist/tasks/syncPkg.d.ts +3 -0
  228. package/dist/tasks/syncPkg.js +13 -0
  229. package/dist/tasks/syncPkg.js.map +1 -0
  230. package/dist/tasks/syncSettings.d.ts +3 -0
  231. package/dist/tasks/syncSettings.js +18 -0
  232. package/dist/tasks/syncSettings.js.map +1 -0
  233. package/dist/utils/index.js +2 -0
  234. package/dist/utils/index.js.map +1 -0
  235. package/dist/utils/install.js +1 -0
  236. package/dist/utils/logger.d.ts +17 -0
  237. package/dist/utils/logger.js +37 -0
  238. package/dist/utils/logger.js.map +1 -0
  239. package/dist/wix-sdk/check.d.ts +4 -0
  240. package/dist/wix-sdk/check.js +23 -0
  241. package/dist/wix-sdk/check.js.map +1 -0
  242. package/dist/wix-sdk/client.d.ts +10 -0
  243. package/dist/wix-sdk/client.js +18 -0
  244. package/dist/wix-sdk/client.js.map +1 -0
  245. package/dist/wix-sdk/import.d.ts +1 -0
  246. package/dist/wix-sdk/import.js +88 -0
  247. package/dist/wix-sdk/import.js.map +1 -0
  248. package/dist/wix-sdk/index.d.ts +4 -0
  249. package/dist/wix-sdk/index.js +15 -0
  250. package/dist/wix-sdk/index.js.map +1 -0
  251. package/dist/wix-sdk/init copy.d.ts +4 -0
  252. package/dist/wix-sdk/init copy.js +51 -0
  253. package/dist/wix-sdk/init copy.js.map +1 -0
  254. package/dist/wix-sdk/init.d.ts +4 -0
  255. package/dist/wix-sdk/init.js +51 -0
  256. package/dist/wix-sdk/init.js.map +1 -0
  257. package/dist/wix-sdk/is-allive.d.ts +4 -0
  258. package/dist/wix-sdk/is-allive.js +37 -0
  259. package/dist/wix-sdk/is-allive.js.map +1 -0
  260. package/dist/wix-sdk/run.d.ts +4 -0
  261. package/dist/wix-sdk/run.js +53 -0
  262. package/dist/wix-sdk/run.js.map +1 -0
  263. package/dist/wix-sdk/sync copy.d.ts +1 -0
  264. package/dist/wix-sdk/sync copy.js +88 -0
  265. package/dist/wix-sdk/sync copy.js.map +1 -0
  266. package/dist/wix-sdk/sync.d.ts +1 -0
  267. package/dist/wix-sdk/sync.js +88 -0
  268. package/dist/wix-sdk/sync.js.map +1 -0
  269. package/dist/wix-sdk/wix_sdk_check.d.ts +4 -0
  270. package/dist/wix-sdk/wix_sdk_check.js +37 -0
  271. package/dist/wix-sdk/wix_sdk_check.js.map +1 -0
  272. package/dist/wix-sync/client.d.ts +3 -0
  273. package/dist/wix-sync/client.js +5 -0
  274. package/dist/wix-sync/client.js.map +1 -0
  275. package/dist/wix-sync/export copy.d.ts +4 -0
  276. package/dist/wix-sync/export copy.js +21 -0
  277. package/dist/wix-sync/export copy.js.map +1 -0
  278. package/dist/wix-sync/export.d.ts +4 -0
  279. package/dist/wix-sync/export.js +15 -0
  280. package/dist/wix-sync/export.js.map +1 -0
  281. package/dist/wix-sync/import copy.d.ts +4 -0
  282. package/dist/wix-sync/import copy.js +21 -0
  283. package/dist/wix-sync/import copy.js.map +1 -0
  284. package/dist/wix-sync/import.d.ts +4 -0
  285. package/dist/wix-sync/import.js +26 -0
  286. package/dist/wix-sync/import.js.map +1 -0
  287. package/dist/wix-sync/index.d.ts +4 -0
  288. package/dist/wix-sync/index.js +35 -0
  289. package/dist/wix-sync/index.js.map +1 -0
  290. package/dist/wix-sync/init copy.d.ts +4 -0
  291. package/dist/wix-sync/init copy.js +54 -0
  292. package/dist/wix-sync/init copy.js.map +1 -0
  293. package/dist/wix-sync/init.d.ts +4 -0
  294. package/dist/wix-sync/init.js +74 -0
  295. package/dist/wix-sync/init.js.map +1 -0
  296. package/dist/wix-sync/is-alive.d.ts +4 -0
  297. package/dist/wix-sync/is-alive.js +23 -0
  298. package/dist/wix-sync/is-alive.js.map +1 -0
  299. package/dist/wix-sync/is-allive copy.d.ts +4 -0
  300. package/dist/wix-sync/is-allive copy.js +23 -0
  301. package/dist/wix-sync/is-allive copy.js.map +1 -0
  302. package/dist/wix-sync/is-allive.d.ts +4 -0
  303. package/dist/wix-sync/is-allive.js +23 -0
  304. package/dist/wix-sync/is-allive.js.map +1 -0
  305. package/dist/wix-sync/migrate.d.ts +4 -0
  306. package/dist/wix-sync/migrate.js +21 -0
  307. package/dist/wix-sync/migrate.js.map +1 -0
  308. package/dist/wix-sync/sync-od.js +100 -0
  309. package/dist/wix-sync/sync-od.js.map +1 -0
  310. package/dist/wix-sync/sync.d.ts +4 -0
  311. package/dist/wix-sync/sync.js +26 -0
  312. package/dist/wix-sync/sync.js.map +1 -0
  313. package/dist/wix-sync/sync2.d.ts +4 -0
  314. package/dist/wix-sync/sync2.js +25 -0
  315. package/dist/wix-sync/sync2.js.map +1 -0
  316. package/dist/wix-sync copy/index.d.ts +4 -0
  317. package/dist/wix-sync copy/index.js +17 -0
  318. package/dist/wix-sync copy/index.js.map +1 -0
  319. package/dist/wix-sync copy/init.d.ts +4 -0
  320. package/dist/wix-sync copy/init.js +58 -0
  321. package/dist/wix-sync copy/init.js.map +1 -0
  322. package/dist/wix-sync copy/is-allive.d.ts +4 -0
  323. package/dist/wix-sync copy/is-allive.js +36 -0
  324. package/dist/wix-sync copy/is-allive.js.map +1 -0
  325. package/dist/wix-sync copy/sync.d.ts +1 -0
  326. package/dist/wix-sync copy/sync.js +88 -0
  327. package/dist/wix-sync copy/sync.js.map +1 -0
  328. package/files/sync-data/data/test.csv +17 -0
  329. package/files/sync-data/schema/test.json +11 -0
  330. package/files/templates/block[D]/files/.stylelintrc.js +8 -0
  331. package/files/templates/block[D]/lucy.json +8 -0
  332. package/files/templates/cargo[D]/files/.env +1 -0
  333. package/files/templates/cargo[D]/files/Cargo.toml +238 -0
  334. package/files/templates/cargo[D]/files/Makefile.toml +4 -0
  335. package/files/templates/cargo[D]/files/build/main.rs +35 -0
  336. package/files/templates/cargo[D]/files/config/beta.json +19 -0
  337. package/files/templates/cargo[D]/files/config/ci.json +15 -0
  338. package/files/templates/cargo[D]/files/config/default.json +71 -0
  339. package/files/templates/cargo[D]/files/config/development.json +10 -0
  340. package/files/templates/cargo[D]/files/config/produktion.json +5 -0
  341. package/files/templates/cargo[D]/files/config/stage.json +4 -0
  342. package/files/templates/cargo[D]/files/locales/todo.yml +3 -0
  343. package/files/templates/cargo[D]/files/public/index.html +1 -0
  344. package/files/templates/cargo[D]/lucy.json +14 -0
  345. package/files/templates/expo[D]/files/.stylelintrc.js +8 -0
  346. package/files/templates/expo[D]/files/components/ui/.gitkeep +0 -0
  347. package/files/templates/expo[D]/lucy.json +81 -0
  348. package/files/templates/monorepo[D]/files/.nvmrc +1 -0
  349. package/files/templates/monorepo[D]/files/.prettierignore +23 -0
  350. package/files/templates/monorepo[D]/files/.prettierrc.json +15 -0
  351. package/files/templates/monorepo[D]/files/.stylelintrc.js +8 -0
  352. package/files/templates/monorepo[D]/files/.yarnrc +1 -0
  353. package/files/templates/monorepo[D]/files/.yarnrc.yml +3 -0
  354. package/files/templates/monorepo[D]/files/README.md +137 -0
  355. package/files/templates/monorepo[D]/files/currents.config.ts +5 -0
  356. package/files/templates/monorepo[D]/files/package.json +39 -0
  357. package/files/templates/monorepo[D]/files/turbo.json +34 -0
  358. package/files/templates/monorepo[D]/files/typedoc.json +25 -0
  359. package/files/templates/monorepo[D]/files/vitest.config.ts +27 -0
  360. package/files/templates/monorepo[D]/lucy.json +45 -0
  361. package/files/templates/tauri[D]/lucy.json +8 -0
  362. package/files/templates/velo[D]/files/.gitmodules +0 -0
  363. package/files/templates/velo[D]/files/.prettierignore +23 -0
  364. package/files/templates/velo[D]/files/.prettierrc.js +16 -0
  365. package/files/templates/velo[D]/files/typescript/__mocks__/.gitkeep +0 -0
  366. package/files/templates/velo[D]/files/typescript/backend/data.ts +0 -0
  367. package/files/templates/velo[D]/files/typescript/backend/events.ts +0 -0
  368. package/files/templates/velo[D]/files/typescript/pages/.gitkeep +0 -0
  369. package/files/templates/velo[D]/files/typescript/public/.gitkeep +0 -0
  370. package/files/templates/velo[D]/files/typescript/public/scss/app.scss +0 -0
  371. package/files/templates/velo[D]/files/typescript/styles/.gitkeep +0 -0
  372. package/files/templates/velo[D]/files/typescript/styles/global.scss +0 -0
  373. package/files/templates/velo[D]/lucy.json +136 -0
  374. package/old/Gulpfile.d.ts +34 -0
  375. package/old/Gulpfile.js +116 -0
  376. package/old/Gulpfile.js.map +1 -0
  377. package/old/gulp/backend.d.ts +3 -0
  378. package/old/gulp/backend.js +92 -0
  379. package/old/gulp/backend.js.map +1 -0
  380. package/old/gulp/checks.d.ts +3 -0
  381. package/old/gulp/checks.js +205 -0
  382. package/old/gulp/checks.js.map +1 -0
  383. package/old/gulp/clean.d.ts +3 -0
  384. package/old/gulp/clean.js +29 -0
  385. package/old/gulp/clean.js.map +1 -0
  386. package/old/gulp/copy.d.ts +2 -0
  387. package/old/gulp/copy.js +34 -0
  388. package/old/gulp/copy.js.map +1 -0
  389. package/old/gulp/helpers.d.ts +2 -0
  390. package/old/gulp/helpers.js +25 -0
  391. package/old/gulp/helpers.js.map +1 -0
  392. package/old/gulp/pages.d.ts +2 -0
  393. package/old/gulp/pages.js +37 -0
  394. package/old/gulp/pages.js.map +1 -0
  395. package/old/gulp/pipeline.d.ts +1 -0
  396. package/old/gulp/pipeline.js +29 -0
  397. package/old/gulp/pipeline.js.map +1 -0
  398. package/old/gulp/public.d.ts +2 -0
  399. package/old/gulp/public.js +50 -0
  400. package/old/gulp/public.js.map +1 -0
  401. package/old/gulp/styles.d.ts +2 -0
  402. package/old/gulp/styles.js +40 -0
  403. package/old/gulp/styles.js.map +1 -0
  404. package/old/gulp/templates.d.ts +2 -0
  405. package/old/gulp/templates.js +33 -0
  406. package/old/gulp/templates.js.map +1 -0
  407. package/old/gulp/types.d.ts +4 -0
  408. package/old/gulp/types.js +289 -0
  409. package/old/gulp/types.js.map +1 -0
  410. package/old/gulp/watchers.d.ts +9 -0
  411. package/old/gulp/watchers.js +59 -0
  412. package/old/gulp/watchers.js.map +1 -0
  413. package/old/helpers.d.ts +32 -0
  414. package/old/helpers.js +267 -0
  415. package/old/helpers.js.map +1 -0
  416. package/{src copy/helpers.ts → old/helpers.ts} +1 -1
  417. package/old/index.d.ts +59 -0
  418. package/old/index.js +288 -0
  419. package/old/index.js.map +1 -0
  420. package/old/init.d.ts +8 -0
  421. package/old/init.js +165 -0
  422. package/old/init.js.map +1 -0
  423. package/old/models.d.ts +37 -0
  424. package/old/models.js +2 -0
  425. package/old/models.js.map +1 -0
  426. package/old/prepare.d.ts +8 -0
  427. package/old/prepare.js +20 -0
  428. package/old/prepare.js.map +1 -0
  429. package/old/schemas/index.d.ts +0 -0
  430. package/old/schemas/index.js +2 -0
  431. package/old/schemas/index.js.map +1 -0
  432. package/old/schemas/index.ts +0 -0
  433. package/old/schemas/types.d.ts +0 -0
  434. package/old/schemas/types.js +2 -0
  435. package/old/schemas/types.js.map +1 -0
  436. package/old/schemas/types.ts +0 -0
  437. package/old/sync.d.ts +2 -0
  438. package/old/sync.js +88 -0
  439. package/old/sync.js.map +1 -0
  440. package/package.json +7 -7
  441. package/src/args.ts +56 -18
  442. package/src/commands/checks.ts +51 -0
  443. package/src/commands/cleanup.ts +11 -0
  444. package/src/commands/copy.ts +28 -0
  445. package/src/commands/edit.ts +83 -0
  446. package/src/commands/exec.ts +37 -0
  447. package/src/commands/git.ts +113 -0
  448. package/src/commands/home.ts +22 -0
  449. package/src/commands/install.ts +186 -0
  450. package/src/commands/read.ts +46 -0
  451. package/src/commands/write.ts +45 -0
  452. package/src/config.ts +116 -35
  453. package/src/error.ts +1 -2
  454. package/src/helpers.ts +90 -0
  455. package/src/index.ts +89 -13
  456. package/src/init/blocks.ts +82 -0
  457. package/src/init/cargo.ts +22 -0
  458. package/src/init/expo.ts +66 -0
  459. package/src/init/gitModules.ts +15 -0
  460. package/src/init/index.ts +63 -0
  461. package/src/init/monorepo.ts +39 -0
  462. package/src/init/prepareVelo.ts +19 -0
  463. package/src/init/tauri.ts +40 -0
  464. package/src/init/templates.ts +98 -0
  465. package/src/init/velo.ts +62 -0
  466. package/src/runtime.ts +1 -0
  467. package/src/schemas/gulp.ts +32 -0
  468. package/src/schemas/index.ts +12 -1
  469. package/src/schemas/lucy.ts +40 -0
  470. package/src/schemas/types.ts +38 -0
  471. package/src/tasks/Gulpfile.ts +208 -0
  472. package/src/tasks/gulp/backend.ts +112 -0
  473. package/src/tasks/gulp/checks.ts +215 -0
  474. package/src/tasks/gulp/clean.ts +38 -0
  475. package/src/tasks/gulp/copy.ts +37 -0
  476. package/src/tasks/gulp/helpers.ts +18 -0
  477. package/src/tasks/gulp/pages.ts +43 -0
  478. package/src/tasks/gulp/pipeline.ts +31 -0
  479. package/src/tasks/gulp/public.ts +60 -0
  480. package/src/tasks/gulp/styles.ts +46 -0
  481. package/src/tasks/gulp/templates.ts +53 -0
  482. package/src/tasks/gulp/types.ts +310 -0
  483. package/src/tasks/gulp/watchers.ts +96 -0
  484. package/src/tasks/index.ts +26 -0
  485. package/src/tasks/syncSettings.ts +21 -0
  486. package/src/types.d.ts +1 -1
  487. package/src/utils/index.ts +0 -0
  488. package/src/utils/logger.ts +40 -0
  489. package/src/wix-sdk/check.ts +24 -0
  490. package/src/wix-sdk/client.ts +18 -0
  491. package/src/wix-sdk/index.ts +17 -0
  492. package/src/wix-sdk/init.ts +54 -0
  493. package/src/wix-sdk/run.ts +56 -0
  494. package/src/wix-sync/client.ts +6 -0
  495. package/src/wix-sync/export.ts +19 -0
  496. package/src/wix-sync/import.ts +27 -0
  497. package/src/wix-sync/index.ts +36 -0
  498. package/src/wix-sync/init.ts +77 -0
  499. package/src/wix-sync/is-alive.ts +25 -0
  500. package/src/wix-sync/migrate.ts +23 -0
  501. package/src/wix-sync/sync.ts +27 -0
  502. package/tsconfig.json +6 -5
  503. package/files/expo/lucy.json +0 -8
  504. package/src/init.ts +0 -392
  505. /package/{files/expo/components/.gitkeep → .turbo/cookies/1.cookie} +0 -0
  506. /package/{files/expo/components/ui/.gitkeep → .turbo/cookies/2.cookie} +0 -0
  507. /package/{files/velo/.gitmodules → .turbo/cookies/3.cookie} +0 -0
  508. /package/{files/velo/typescript/__mocks__/.gitkeep → .turbo/cookies/4.cookie} +0 -0
  509. /package/{files/velo/typescript/backend/data.ts → .turbo/cookies/5.cookie} +0 -0
  510. /package/{files/velo/typescript/backend/events.ts → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-07-31} +0 -0
  511. /package/{files/velo/typescript/pages/.gitkeep → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-08-01} +0 -0
  512. /package/{files/velo/typescript/public/.gitkeep → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-08-02} +0 -0
  513. /package/{files/velo/typescript/public/scss/app.scss → dist/sync/index.d.ts} +0 -0
  514. /package/{files/velo/typescript/styles/.gitkeep → dist/utils/index.d.ts} +0 -0
  515. /package/{files/velo/typescript/styles/global.scss → dist/utils/install.d.ts} +0 -0
  516. /package/{src copy/schemas/index.ts → dist/wix-sync/sync-od.d.ts} +0 -0
  517. /package/files/{expo → templates/expo[D]/files}/.nvmrc +0 -0
  518. /package/files/{expo → templates/expo[D]/files}/.prettierignore +0 -0
  519. /package/files/{expo → templates/expo[D]/files}/.prettierrc.js +0 -0
  520. /package/files/{expo → templates/expo[D]/files}/.yarnrc +0 -0
  521. /package/files/{expo → templates/expo[D]/files}/.yarnrc.yml +0 -0
  522. /package/files/{expo → templates/expo[D]/files}/README.md +0 -0
  523. /package/files/{expo → templates/expo[D]/files}/assets/fonts/SpaceMono-Regular.ttf +0 -0
  524. /package/files/{expo → templates/expo[D]/files}/assets/images/adaptive-icon.png +0 -0
  525. /package/files/{expo → templates/expo[D]/files}/assets/images/favicon.png +0 -0
  526. /package/files/{expo → templates/expo[D]/files}/assets/images/icon.png +0 -0
  527. /package/files/{expo → templates/expo[D]/files}/assets/images/splash-icon.png +0 -0
  528. /package/files/{expo → templates/expo[D]/files}/babel.config.js +0 -0
  529. /package/{src copy/schemas/types.ts → files/templates/expo[D]/files/components/.gitkeep} +0 -0
  530. /package/files/{expo → templates/expo[D]/files}/constants/theme.ts +0 -0
  531. /package/files/{expo → templates/expo[D]/files}/eas.json +0 -0
  532. /package/files/{expo → templates/expo[D]/files}/eslint.config.mjs +0 -0
  533. /package/files/{expo → templates/expo[D]/files}/global.css +0 -0
  534. /package/files/{expo → templates/expo[D]/files}/hooks/useColorScheme.ts +0 -0
  535. /package/files/{expo → templates/expo[D]/files}/index.ts +0 -0
  536. /package/files/{expo → templates/expo[D]/files}/lib/data.ts +0 -0
  537. /package/files/{expo → templates/expo[D]/files}/lib/utils/index.ts +0 -0
  538. /package/files/{expo → templates/expo[D]/files}/lib/utils/polyfills.ts +0 -0
  539. /package/files/{expo → templates/expo[D]/files}/lib/wix/client.ts +0 -0
  540. /package/files/{expo → templates/expo[D]/files}/lib/wix/error.ts +0 -0
  541. /package/files/{expo → templates/expo[D]/files}/lib/wix/index.ts +0 -0
  542. /package/files/{expo → templates/expo[D]/files}/metro.config.js +0 -0
  543. /package/files/{expo → templates/expo[D]/files}/nativewind-env.d.ts +0 -0
  544. /package/files/{expo → templates/expo[D]/files}/scripts/reset-project.ts +0 -0
  545. /package/files/{expo → templates/expo[D]/files}/tailwind.config.js +0 -0
  546. /package/files/{expo → templates/expo[D]/files}/tsconfig.json +0 -0
  547. /package/files/{expo → templates/expo[D]/files}/types/reset.d.ts +0 -0
  548. /package/files/{velo → templates/velo[D]/files}/.madgerc +0 -0
  549. /package/files/{velo → templates/velo[D]/files}/.nvmrc +0 -0
  550. /package/files/{velo → templates/velo[D]/files}/.stylelintrc.js +0 -0
  551. /package/files/{velo → templates/velo[D]/files}/.yarnrc.yml +0 -0
  552. /package/files/{velo → templates/velo[D]/files}/currents.config.js +0 -0
  553. /package/files/{velo → templates/velo[D]/files}/cypress/e2e/base/base.cy.ts +0 -0
  554. /package/files/{velo → templates/velo[D]/files}/cypress/fixtures/example.json +0 -0
  555. /package/files/{velo → templates/velo[D]/files}/cypress/support/commands.ts +0 -0
  556. /package/files/{velo → templates/velo[D]/files}/cypress/support/e2e.ts +0 -0
  557. /package/files/{velo → templates/velo[D]/files}/cypress/tsconfig.json +0 -0
  558. /package/files/{velo → templates/velo[D]/files}/cypress.config.mjs +0 -0
  559. /package/files/{velo → templates/velo[D]/files}/eslint.config.mjs +0 -0
  560. /package/files/{velo → templates/velo[D]/files}/local.tsconfig.json +0 -0
  561. /package/files/{velo → templates/velo[D]/files}/typedoc.json +0 -0
  562. /package/files/{velo → templates/velo[D]/files}/typescript/backend/http-functions.ts +0 -0
  563. /package/files/{velo → templates/velo[D]/files}/typescript/backend/lib/http-functions/sync.ts +0 -0
  564. /package/files/{velo → templates/velo[D]/files}/typescript/backend/permissions.json +0 -0
  565. /package/files/{velo → templates/velo[D]/files}/typescript/tsconfig.json +0 -0
  566. /package/files/{velo → templates/velo[D]/files}/vitest.config.ts +0 -0
  567. /package/{src copy → old}/Gulpfile.ts +0 -0
  568. /package/{src copy → old}/gulp/backend.ts +0 -0
  569. /package/{src copy → old}/gulp/checks.ts +0 -0
  570. /package/{src copy → old}/gulp/clean.ts +0 -0
  571. /package/{src copy → old}/gulp/copy.ts +0 -0
  572. /package/{src copy → old}/gulp/helpers.ts +0 -0
  573. /package/{src copy → old}/gulp/pages.ts +0 -0
  574. /package/{src copy → old}/gulp/pipeline.ts +0 -0
  575. /package/{src copy → old}/gulp/public.ts +0 -0
  576. /package/{src copy → old}/gulp/styles.ts +0 -0
  577. /package/{src copy → old}/gulp/templates.ts +0 -0
  578. /package/{src copy → old}/gulp/types.ts +0 -0
  579. /package/{src copy → old}/gulp/watchers.ts +0 -0
  580. /package/{src copy → old}/index.ts +0 -0
  581. /package/{src copy → old}/init.ts +0 -0
  582. /package/{src copy → old}/models.ts +0 -0
  583. /package/{src copy → old}/prepare.ts +0 -0
  584. /package/{src copy → old}/settings.json +0 -0
  585. /package/{src copy → old}/sync.ts +0 -0
  586. /package/{src copy → old}/types.d.ts +0 -0
  587. /package/src/{models.ts → schemas/tsconfig.ts} +0 -0
@@ -0,0 +1,112 @@
1
+ import gulp from 'gulp';
2
+ import rename from 'gulp-rename';
3
+ import * as path from 'path';
4
+ import swc from 'gulp-swc';
5
+ import { logger } from '../../utils/logger.js';
6
+ import { TaskOptions } from '../../schemas/gulp.js';
7
+
8
+ const swcOptions = {
9
+ jsc: {
10
+ target: 'es2020',
11
+ parser: {
12
+ syntax: "typescript",
13
+ tsx: true,
14
+ decorators: true,
15
+ // preserveAllComments: true
16
+ },
17
+ preserveAllComments: false,
18
+ minify: {
19
+ compress: true // equivalent to {}
20
+ }
21
+ },
22
+ };
23
+
24
+ export function buildBackend(options: TaskOptions) {
25
+ const folders = ['typescript', ...options.modulesSourcePaths];
26
+
27
+ const { outputDir } = options;
28
+
29
+ // Create tasks for each folder
30
+ const tasks = folders.map((folder) => {
31
+ const taskName = `build_Backend-${folder}`; // Create a unique name for each task
32
+
33
+ const task = () =>
34
+ gulp.src([
35
+ `${folder}/backend/**/*.ts`,
36
+ `${folder}/backend/**/*.tsx`,
37
+ `!${folder}/backend/**/*.jsw.ts`,
38
+ `!${folder}/backend/**/*.spec.ts`,
39
+ ])
40
+ .pipe(swc(swcOptions))
41
+ .on('error', function (e: Error) {
42
+ logger.error(`Build of Backend files for ${folder} failed!`);
43
+ logger.error(`Error: ${e.message}`);
44
+
45
+ this.emit('end');
46
+ })
47
+ .pipe(gulp.dest(path.join(outputDir, 'backend')))
48
+ .on('error', function (e: Error) {
49
+ logger.error(`Build of Backend files for ${folder} failed!`);
50
+ logger.error(`Error: ${e.message}`);
51
+
52
+ this.emit('end');
53
+ })
54
+ .on('end', function () {
55
+ logger.success(`Build of Backend files for ${folder} succeeded!`);
56
+ });
57
+
58
+ // Register the task with Gulp
59
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
60
+ return task;
61
+ });
62
+
63
+ // Run all tasks in parallel
64
+ return gulp.parallel(...tasks);
65
+ }
66
+
67
+
68
+ export function buildBackendJSW(options: TaskOptions) {
69
+ const folders = ['typescript', ...options.modulesSourcePaths];
70
+
71
+ const swcOptions = {
72
+ jsc: {
73
+ target: 'es6',
74
+ },
75
+ };
76
+ const { outputDir } = options;
77
+
78
+ // Create tasks for each folder
79
+ const tasks = folders.map((folder) => {
80
+ const taskName = `build-${folder}`; // Create a unique name for each task
81
+
82
+ const task = () =>
83
+ gulp.src([
84
+ `${folder}/backend/**/*.jsw.ts`,
85
+ ])
86
+ .pipe(swc(swcOptions))
87
+ .on('error', function (e: Error) {
88
+ logger.error(`Build of JSW files for ${folder} failed!`);
89
+ logger.error(`Error: ${e.message}`);
90
+
91
+ this.emit('end');
92
+ })
93
+ .pipe(rename({ extname: '' }))
94
+ .pipe(gulp.dest(path.join(outputDir, 'backend')))
95
+ .on('error', function (e: Error) {
96
+ logger.error(`Build of JSW files for ${folder} failed!`);
97
+ logger.error(`Error: ${e.message}`);
98
+
99
+ this.emit('end');
100
+ })
101
+ .on('end', function () {
102
+ logger.success(`Build of JSW files for ${folder} succeeded!`);
103
+ });
104
+
105
+ // Register the task with Gulp
106
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
107
+ return task;
108
+ });
109
+
110
+ // Run all tasks in parallel
111
+ return gulp.parallel(...tasks);
112
+ }
@@ -0,0 +1,215 @@
1
+ import * as fs from 'fs';
2
+ import { glob } from 'glob';
3
+
4
+ import * as path from 'path';
5
+ import gulp from 'gulp';
6
+ import ts from 'gulp-typescript';
7
+ import { blue, logger, red, yellow } from '../../utils/logger.js';
8
+ import { TaskOptions } from '../../schemas/gulp.js';
9
+
10
+ // /**
11
+ // * Extracts a match from a file
12
+ // * @param {string} filePath File path
13
+ // * @param {string} pattern Pattern to match
14
+ // */
15
+ // function extractMatchFromFile(filePath: string, pattern: string) {
16
+ // return new Promise((resolve, reject) => {
17
+ // fs.readFile(filePath, 'utf8', (err, data) => {
18
+ // if (err){
19
+ // reject(err);
20
+
21
+ // return;
22
+ // }
23
+ // const regex = new RegExp(pattern);
24
+ // const match = regex.exec(data);
25
+ // const capturedGroup = match ? match.groups?.page : null;
26
+ // resolve(capturedGroup);
27
+ // });
28
+ // });
29
+ // }
30
+
31
+ // async function readFilesInFolder(folderPath: string, pattern: string | null, globPattern: string): Promise<Object[]> {
32
+ // const files = await glob(path.join(folderPath, globPattern));
33
+ // const filenameList: Object[] = [];
34
+
35
+ // for (const file of files) {
36
+ // if (pattern) {
37
+ // const capturedGroup = await extractMatchFromFile(file, pattern);
38
+ // if (capturedGroup) {
39
+ // filenameList.push(capturedGroup);
40
+ // }
41
+ // } else {
42
+ // filenameList.push(path.basename(file));
43
+ // }
44
+ // }
45
+
46
+ // return filenameList;
47
+ // }
48
+
49
+ /**
50
+ * Extracts a match from a file
51
+ * @param {string} filePath File path
52
+ * @param {string} pattern Pattern to match
53
+ */
54
+ function extractMatchFromFile(filePath: string, pattern: string) {
55
+ return new Promise((resolve, reject) => {
56
+ fs.readFile(filePath, 'utf8', (err, data) => {
57
+ if (err){
58
+ reject(err);
59
+
60
+ return;
61
+ }
62
+ const regex = new RegExp(pattern);
63
+ const match = regex.exec(data);
64
+ const capturedGroup = match ? match.groups?.page : null;
65
+ resolve(capturedGroup);
66
+ });
67
+ });
68
+ }
69
+
70
+ /**
71
+ * Reads files in a folder
72
+ * @param {string} folderPath Folder path
73
+ * @param {string} pattern Pattern to match
74
+ * @param {string} globPattern Glob pattern
75
+ */
76
+ async function readFilesInFolder(folderPath: string, pattern: string | null, globPattern: string,) {
77
+ const files = await glob.glob(path.join(folderPath, globPattern));
78
+ const filenameList: Object[] = [];
79
+ function traverseFiles(index: number) {
80
+ if (index === files.length){
81
+ return;
82
+ }
83
+ const file = files[index];
84
+ if(pattern){
85
+ if(!file) return
86
+ extractMatchFromFile(file, pattern)
87
+ .then((capturedGroup) => {
88
+ if (capturedGroup){
89
+ filenameList.push(capturedGroup);
90
+ }
91
+ traverseFiles(index + 1);
92
+ })
93
+ .catch(() => { throw new Error(`Error reading file: ${file}`); });
94
+ }
95
+ if(!pattern){
96
+ if(!file) return
97
+ filenameList.push(path.basename(file));
98
+ traverseFiles(index + 1);
99
+ }
100
+ }
101
+ traverseFiles(0);
102
+
103
+ return filenameList;
104
+ }
105
+ export async function checkPages(fail: boolean, force: boolean) {
106
+ logger.action('Checking pages...');
107
+ return new Promise<void>(async (resolve, reject) => {
108
+ try {
109
+ const sourcePages = await readFilesInFolder('./.wix/types/', '\\/pages\\/(?<page>.*\\.ts)', '**/*.json',) as string[];
110
+ const tsPages = await readFilesInFolder('./typescript/pages', null, '**/*.ts',) as string[];
111
+
112
+ const sourcePagesSet = new Set(sourcePages);
113
+ const tsPagesSet = new Set(tsPages);
114
+ const missingInTs = Array.from(sourcePagesSet).filter((item: string) => !tsPages.includes(item));
115
+ const obsoleteInTs = Array.from(tsPagesSet).filter((item: string) => !sourcePages.includes(item));
116
+ if (missingInTs.length > 0){
117
+ if(!force){
118
+ const formattedList = missingInTs.map(page => ` • ${page}`).join('\n');
119
+ logger.error('Missing pages in ts folder::\n' + yellow(formattedList));
120
+ }
121
+ if(force) {
122
+ for (const page of missingInTs) {
123
+ logger.action('Creating missing page: ', page);
124
+ fs.writeFileSync(`./typescript/pages/${page}`, '');
125
+ }
126
+ }
127
+ }
128
+ if (obsoleteInTs.length > 0){
129
+ if(!force){
130
+ const formattedList = obsoleteInTs.map(page => ` • ${page}`).join('\n');
131
+ logger.error('Obsolete pages in TS folder:\n' + yellow(formattedList));
132
+ }
133
+ if(force) {
134
+ for (const page of obsoleteInTs) {
135
+ logger.action('Deleting obsolete page: ', page);
136
+ fs.rmSync(`./typescript/pages/${page}`);
137
+ }
138
+ }
139
+ }
140
+ if (missingInTs.length === 0 && obsoleteInTs.length === 0) {
141
+ logger.success("All pages are in-sync!");
142
+ } else if(fail){
143
+ process.exit(1);
144
+ };
145
+ } catch (error) {
146
+ reject(error);
147
+ }
148
+ });
149
+ }
150
+
151
+ const customReporter: ts.reporter.Reporter = {
152
+ error: (error, tsInstance) => {
153
+ if (!error.diagnostic) {
154
+ logger.error(error.message);
155
+ return;
156
+ }
157
+ const { fullFilename, startPosition } = error;
158
+ const relativePath = path.relative(process.cwd(), fullFilename ?? '');
159
+ const line = startPosition ? startPosition.line + 1 : 0;
160
+ const col = startPosition ? startPosition.character + 1 : 0;
161
+
162
+ const message = tsInstance.flattenDiagnosticMessageText(error.diagnostic.messageText, '\n');
163
+
164
+ logger.info(`${blue.underline(relativePath)}:${yellow(String(line))}:${yellow(String(col))}`);
165
+ logger.error(` ${red('error')} ${yellow(`TS${error.diagnostic.code}`)}: ${message}`);
166
+ },
167
+ finish: (results) => {
168
+ const errorCount = results.transpileErrors + results.semanticErrors + results.declarationErrors;
169
+ if (errorCount > 0) {
170
+ logger.error(`\n${red.bold(`Found ${errorCount} error${errorCount > 1 ? 's' : ''}.`)}`);
171
+ }
172
+ },
173
+ };
174
+
175
+ export function checkTs(options: TaskOptions) {
176
+ const folders = ['typescript', ...options.modulesSourcePaths];
177
+
178
+
179
+ // Create tasks for each folder
180
+ const tasks = folders.map((folder) => {
181
+ const tsProject = ts.createProject(`./local.tsconfig.json`, { noEmit: true, declaration: false, skipDefaultLibCheck: true });
182
+
183
+ const taskName = `test-${folder}`; // Create a unique name for each task
184
+
185
+ const task = () => {
186
+ let hasError = false;
187
+ const stream = gulp.src([`${folder}/**/*.ts`, `!${folder}/types/**/*.ts`])
188
+ .pipe(tsProject(customReporter))
189
+ .on('error', () => {
190
+ hasError = true;
191
+ });
192
+
193
+ if (options.isWatching) {
194
+ stream.on('error', function (this: NodeJS.ReadWriteStream) {
195
+ this.emit('end');
196
+ });
197
+ }
198
+
199
+ stream.on('end', () => {
200
+ if (!hasError) {
201
+ logger.success(`Typescript check for ${folder} succeeded!`);
202
+ }
203
+ });
204
+
205
+ return stream;
206
+ };
207
+
208
+ // Register the task with Gulp
209
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
210
+ return task;
211
+ });
212
+
213
+ // Run all tasks in parallel
214
+ return gulp.parallel(...tasks);
215
+ }
@@ -0,0 +1,38 @@
1
+ import gulp from 'gulp';
2
+ import clean from 'gulp-clean';
3
+ import { logger } from '../../utils/logger.js';
4
+ import { TaskOptions } from '../../schemas/gulp.js';
5
+
6
+ export function cleanWix() {
7
+ return () => {
8
+ return gulp.src('./.wix', { read: false, allowEmpty: true })
9
+ .pipe(clean({ force: true }))
10
+ .on('error', function (e: Error) {
11
+ logger.error('Cleaning of .wix failed!');
12
+ logger.error(`Error: ${e.message}`);
13
+
14
+
15
+ this.emit('end');
16
+ })
17
+ .on('end', function() {
18
+ logger.success("Cleaning of .wix succeeded!");
19
+ });
20
+ }
21
+ }
22
+
23
+ export function cleanSrc(options: TaskOptions) {
24
+ const { outputDir } = options;
25
+
26
+ return () => {
27
+ return gulp.src([`${outputDir}/pages`, `${outputDir}/public`, `${outputDir}/backend`], { read: false, allowEmpty: true })
28
+ .pipe(clean({ force: true }))
29
+ .on('error', function (e: Error) {
30
+ logger.error('Cleaning of output files failed!');
31
+ logger.error(`Error: ${e.message}`);
32
+ this.emit('end');
33
+ })
34
+ .on('end', function() {
35
+ logger.success('Cleaning of .src succeeded!');
36
+ });
37
+ }
38
+ }
@@ -0,0 +1,37 @@
1
+ import gulp from 'gulp';
2
+ import { logger } from '../../utils/logger.js';
3
+ import { TaskOptions } from '../../schemas/gulp.js';
4
+
5
+ export function copyFiles(options: TaskOptions) {
6
+ const folders = ['typescript', ...options.modulesSourcePaths];
7
+ const tasks = folders.map((folder) => {
8
+ const { outputDir} = options;
9
+ const taskName = `copy-${folder}`; // Create a unique name for each task
10
+ const task = () =>
11
+ gulp.src([
12
+ `${folder}/**/*`,
13
+ `!${folder}/*tsconfig.json`,
14
+ `!${folder}/**/*.ts`,
15
+ `!${folder}/**/*.tsx`,
16
+ `!${folder}/types/**/**`,
17
+ `!${folder}/__mocks__/**/**`,
18
+ `!${folder}/styles/**`,
19
+ ])
20
+ .pipe(gulp.dest(outputDir))
21
+ .on('error', function (e: Error) {
22
+ logger.error(`Copy of files for ${folder} failed!`);
23
+ logger.error(`Error: ${e.message}`);
24
+ this.emit('end');
25
+ })
26
+ .on('end', function () {
27
+ logger.success(`Copy of files for ${folder} succeeded!`);
28
+ });
29
+
30
+ // Register the task with Gulp
31
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
32
+ return task;
33
+ });
34
+
35
+ // Run all tasks in parallel
36
+ return gulp.parallel(...tasks);
37
+ }
@@ -0,0 +1,18 @@
1
+ import { Effect } from 'effect/index';
2
+ import { Config } from '../../config.js';
3
+
4
+ export const getModulesSourcePaths = Effect.gen(function* () {
5
+ const config = yield* Config
6
+ const data = config.config.lucySettings.modules;
7
+ const paths: string[] = [];
8
+ for (const module of Object.keys(data)) {
9
+ if (!data[module].noCompile) {
10
+ if (data[module].path) {
11
+ paths.push(data[module].path);
12
+ } else {
13
+ paths.push(module);
14
+ }
15
+ }
16
+ }
17
+ return paths;
18
+ });
@@ -0,0 +1,43 @@
1
+ import gulp from 'gulp';
2
+ import * as path from 'path';
3
+ import swc from 'gulp-swc';
4
+ import { logger } from '../../utils/logger.js';
5
+ import { TaskOptions } from '../../schemas/gulp.js';
6
+
7
+ const swcOptions = {
8
+ jsc: {
9
+ target: 'es2020',
10
+ parser: {
11
+ syntax: "typescript",
12
+ tsx: true,
13
+ },
14
+ preserveAllComments: false,
15
+ minify: {
16
+ compress: true // equivalent to {}
17
+ }
18
+ },
19
+ };
20
+
21
+ export function buildPages(options: TaskOptions) {
22
+ const { outputDir} = options;
23
+
24
+ return () => {
25
+ return gulp.src('typescript/pages/*.ts')
26
+ .pipe(swc(swcOptions))
27
+ .on('error', function (e: Error) {
28
+ logger.error('Build of Pages files failed!');
29
+ logger.error(`Error: ${e.message}`);
30
+
31
+ this.emit('end');
32
+ })
33
+ .pipe(gulp.dest(path.join(outputDir, 'pages')))
34
+ .on('error', function (e: Error) {
35
+ logger.error('Build of Pages TS files failed!');
36
+ logger.error(`Error: ${e.message}`);
37
+ this.emit('end');
38
+ })
39
+ .on('end', function() {
40
+ logger.success('Build of Pages TS files succeeded!');
41
+ });
42
+ };
43
+ }
@@ -0,0 +1,31 @@
1
+ import gulp from 'gulp';
2
+ import * as path from 'path';
3
+ import replace from 'gulp-string-replace';
4
+ import { logger } from '../../utils/logger.js';
5
+ import { File } from "../../schemas/gulp.js";
6
+ export function setProdConfig() {
7
+ const tag = process.env.GIT_TAG || 'development';
8
+ const regexGit = /gitTag:\s*(.*),/g;
9
+ const regexDev = /devMode:\s*(.*),/g;
10
+
11
+ return () => {
12
+ return gulp
13
+ .src(['./typescript/public/constants/env.ts'])
14
+ .pipe(replace(regexGit, `gitTag: '${tag}',`))
15
+ .pipe(replace(regexDev, `devMode: false,`))
16
+ .pipe(gulp.dest((file: File) => {
17
+ const filePath = file.dirname;
18
+ const outputDir = path.dirname(filePath);
19
+
20
+ return path.join(`${outputDir}/constants`);
21
+ }))
22
+ .on('error', function (e: Error) {
23
+ logger.error('Setting the git tag failed!');
24
+ logger.error(`Error: ${e.message}`);
25
+ this.emit('end');
26
+ })
27
+ .on('end', function() {
28
+ logger.success('Setting the git tag succeeded!');
29
+ });
30
+ }
31
+ }
@@ -0,0 +1,60 @@
1
+ import gulp from 'gulp';
2
+ import * as path from 'path';
3
+ import swc from 'gulp-swc';
4
+ import { logger } from '../../utils/logger.js';
5
+ import { TaskOptions } from '../../schemas/gulp.js';
6
+
7
+ const swcOptions = {
8
+ jsc: {
9
+ target: 'es2020',
10
+ parser: {
11
+ syntax: "typescript",
12
+ tsx: true,
13
+ },
14
+ preserveAllComments: false,
15
+ minify: {
16
+ compress: true // equivalent to {}
17
+ }
18
+ },
19
+ };
20
+
21
+ export function buildPublic(options: TaskOptions) {
22
+ const folders = ['typescript', ...options.modulesSourcePaths];
23
+
24
+ const { outputDir } = options;
25
+
26
+ // Create tasks for each folder
27
+ const tasks = folders.map((folder) => {
28
+ const taskName = `build_Public-${folder}`; // Create a unique name for each task
29
+
30
+ const task = () =>
31
+ gulp.src([
32
+ `${folder}/public/**/*.ts`,
33
+ `${folder}/public/**/*.tsx`,
34
+ ])
35
+ .pipe(swc(swcOptions))
36
+ .on('error', function (e: Error) {
37
+ logger.error(`Build of Public files for ${folder} failed!`);
38
+ logger.error(`Error: ${e.message}`);
39
+
40
+ this.emit('end');
41
+ })
42
+ .pipe(gulp.dest(path.join(outputDir, 'public')))
43
+ .on('error', function (e: Error) {
44
+ logger.error(`Build of Public files for ${folder} failed!`);
45
+ logger.error(`Error: ${e.message}`);
46
+ this.emit('end');
47
+ })
48
+ .on('end', function () {
49
+ logger.success(`Build of Public files for ${folder} succeeded!`);
50
+ });
51
+
52
+ // Register the task with Gulp
53
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
54
+ return task;
55
+ });
56
+
57
+ // Run all tasks in parallel
58
+ return gulp.parallel(...tasks);
59
+ }
60
+
@@ -0,0 +1,46 @@
1
+ import gulp from 'gulp';
2
+ import chalk from 'chalk';
3
+ import { logger, orange } from '../../utils/logger.js';
4
+ import { TaskOptions } from '../../schemas/gulp.js';
5
+
6
+ export function compileScss(options: TaskOptions) {
7
+ const folders = ['typescript'];
8
+
9
+ const { sass, outputDir} = options;
10
+
11
+ const buildWixScss = () => gulp.src(['typescript/styles/global.scss'], { allowEmpty: true })
12
+ .pipe(sass().on('error', sass.logError))
13
+ .on('error', function (e: Error) {
14
+ logger.error(`Build of SCSS files for ${orange('global.scs')} failed!`);
15
+ logger.error(`Error: ${orange(e.message)}`);
16
+ this.emit('end');
17
+ })
18
+ .pipe(gulp.dest(`${outputDir}/styles`))
19
+ .on('error', function (e: Error) {
20
+ logger.error(`Compiling of scss files for ${orange('global.scs')} failed!`);
21
+ logger.error(`Error: ${orange(e.message)}`);
22
+ this.emit('end');
23
+ })
24
+ .on('end', function () {
25
+ logger.success(`Compiling of scss files for ${orange('global.scs')} succeeded!`);
26
+ });
27
+
28
+ const buildScss = () => gulp.src(['typescript/public/scss/app.scss'], { allowEmpty: true })
29
+ .pipe(sass().on('error', sass.logError))
30
+ .on('error', function (e: Error) {
31
+ logger.error(`Build of SCSS files for ${orange('app.scss')} failed!`);
32
+ logger.error(`Error: ${orange(e.message)}`);
33
+ this.emit('end');
34
+ })
35
+ .pipe(gulp.dest(`${outputDir}/public/css`))
36
+ .on('error', function (e: Error) {
37
+ logger.error(`Compiling of scss files for ${orange('app.scss')} failed!`);
38
+ logger.error(`Error: ${orange(e.message)}`);
39
+ this.emit('end');
40
+ })
41
+ .on('end', function () {
42
+ logger.success(`Compiling of scss files for ${orange('app.scss')} succeeded!`);
43
+ });
44
+
45
+ return gulp.parallel(buildWixScss, buildScss);
46
+ }
@@ -0,0 +1,53 @@
1
+ import gulp from 'gulp';
2
+ import { File, TaskOptions } from '../../schemas/gulp.js';
3
+ import exec from 'gulp-exec';
4
+ import { logger, orange } from '../../utils/logger.js';
5
+ import path from 'path';
6
+ import fs from 'fs';
7
+
8
+ export function previewTemplates(options: TaskOptions) {
9
+ const allFolders = ['typescript', ...options.modulesSourcePaths];
10
+
11
+ // Filter folders to only include those that have a 'backend/templates' directory
12
+ const foldersWithTemplates = allFolders.filter(folder => {
13
+ const templateDir = path.join(folder, 'backend', 'templates');
14
+ return fs.existsSync(templateDir);
15
+ });
16
+
17
+ if (foldersWithTemplates.length === 0) {
18
+ logger.info("No template folders found to preview.");
19
+ // Return a Gulp task that does nothing.
20
+ return (done: () => void) => done();
21
+ }
22
+
23
+ const taskOpt = {
24
+ continueOnError: true,
25
+ };
26
+
27
+ // Create tasks for each folder that has a template directory
28
+ const tasks = foldersWithTemplates.map((folder) => {
29
+ const taskName = `render_templates-${folder}`;
30
+ const task = () =>
31
+ gulp.src([
32
+ `${folder}/backend/templates/**/*.tsx`,
33
+ `${folder}/backend/templates/data/*.json`,
34
+ `!${folder}/backend/templates/render.ts`,
35
+ ])
36
+ .pipe(exec((file: File) => `npx tsx --tsconfig ./local.tsconfig.json ${file.path}`, taskOpt))
37
+ .on('error', function (e: Error) {
38
+ logger.error(`Render of Template for ${orange(folder)} failed!`);
39
+ logger.error(`Error: ${orange(e.message)}`);
40
+ this.emit('end');
41
+ })
42
+ .on('end', function () {
43
+ logger.success(`Render of Template for ${orange(folder)} succeeded!`);
44
+ });
45
+
46
+ // Register the task with Gulp
47
+ Object.defineProperty(task, 'name', { value: taskName }); // Set a unique name for debugging
48
+ return task;
49
+ });
50
+
51
+ // Run all tasks in parallel
52
+ return gulp.parallel(...tasks);
53
+ }