lucy-cli 2.0.0-alpha.9 → 2.0.0-beta.2

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 (453) hide show
  1. package/.yarnrc.yml +0 -1
  2. package/README.md +117 -102
  3. package/dist/args.d.ts +1 -6
  4. package/dist/args.js +103 -7
  5. package/dist/args.js.map +1 -0
  6. package/dist/commands/checks.d.ts +7 -0
  7. package/dist/commands/checks.js +47 -0
  8. package/dist/commands/checks.js.map +1 -0
  9. package/dist/commands/cleanup.d.ts +4 -0
  10. package/dist/commands/cleanup.js +10 -0
  11. package/dist/commands/cleanup.js.map +1 -0
  12. package/dist/commands/copy.d.ts +6 -0
  13. package/dist/commands/copy.js +20 -0
  14. package/dist/commands/copy.js.map +1 -0
  15. package/dist/commands/edit.d.ts +10 -0
  16. package/dist/commands/edit.js +67 -0
  17. package/dist/commands/edit.js.map +1 -0
  18. package/dist/commands/exec.d.ts +7 -0
  19. package/dist/commands/exec.js +67 -0
  20. package/dist/commands/exec.js.map +1 -0
  21. package/dist/commands/git.d.ts +8 -0
  22. package/dist/commands/git.js +104 -0
  23. package/dist/commands/git.js.map +1 -0
  24. package/dist/commands/home.d.ts +4 -0
  25. package/dist/commands/home.js +18 -0
  26. package/dist/commands/home.js.map +1 -0
  27. package/dist/commands/install.d.ts +8 -0
  28. package/dist/commands/install.js +165 -0
  29. package/dist/commands/install.js.map +1 -0
  30. package/dist/commands/read.d.ts +6 -0
  31. package/dist/commands/read.js +40 -0
  32. package/dist/commands/read.js.map +1 -0
  33. package/dist/commands/write.d.ts +7 -0
  34. package/dist/commands/write.js +28 -0
  35. package/dist/commands/write.js.map +1 -0
  36. package/dist/commands.js +1 -0
  37. package/dist/commands.js.map +1 -0
  38. package/dist/config.d.ts +29 -7
  39. package/dist/config.js +90 -26
  40. package/dist/config.js.map +1 -0
  41. package/dist/error.d.ts +1 -9
  42. package/dist/error.js +1 -2
  43. package/dist/error.js.map +1 -0
  44. package/dist/helpers.d.ts +9 -0
  45. package/dist/helpers.js +83 -0
  46. package/dist/helpers.js.map +1 -0
  47. package/dist/index.d.ts +1 -0
  48. package/dist/index.js +77 -9
  49. package/dist/index.js.map +1 -0
  50. package/dist/init/blocks.d.ts +5 -0
  51. package/dist/init/blocks.js +62 -0
  52. package/dist/init/blocks.js.map +1 -0
  53. package/dist/init/cargo.d.ts +2 -0
  54. package/dist/init/cargo.js +21 -0
  55. package/dist/init/cargo.js.map +1 -0
  56. package/dist/init/expo.d.ts +5 -0
  57. package/dist/init/expo.js +52 -0
  58. package/dist/init/expo.js.map +1 -0
  59. package/dist/init/gitModules.d.ts +2 -0
  60. package/dist/init/gitModules.js +13 -0
  61. package/dist/init/gitModules.js.map +1 -0
  62. package/dist/init/index.d.ts +4 -0
  63. package/dist/init/index.js +77 -0
  64. package/dist/init/index.js.map +1 -0
  65. package/dist/init/monorepo.d.ts +4 -0
  66. package/dist/init/monorepo.js +48 -0
  67. package/dist/init/monorepo.js.map +1 -0
  68. package/dist/init/prepareVelo.d.ts +2 -0
  69. package/dist/init/prepareVelo.js +16 -0
  70. package/dist/init/prepareVelo.js.map +1 -0
  71. package/dist/init/tauri.d.ts +5 -0
  72. package/dist/init/tauri.js +32 -0
  73. package/dist/init/tauri.js.map +1 -0
  74. package/dist/init/templates.d.ts +5 -0
  75. package/dist/init/templates.js +93 -0
  76. package/dist/init/templates.js.map +1 -0
  77. package/dist/init/velo.d.ts +5 -0
  78. package/dist/init/velo.js +60 -0
  79. package/dist/init/velo.js.map +1 -0
  80. package/dist/policy.js +1 -0
  81. package/dist/policy.js.map +1 -0
  82. package/dist/prepare.js +1 -0
  83. package/dist/prepare.js.map +1 -0
  84. package/dist/runtime.d.ts +1 -1
  85. package/dist/runtime.js +1 -0
  86. package/dist/runtime.js.map +1 -0
  87. package/dist/schemas/gulp.d.ts +25 -0
  88. package/dist/schemas/gulp.js +8 -0
  89. package/dist/schemas/gulp.js.map +1 -0
  90. package/dist/schemas/index.d.ts +10 -0
  91. package/dist/schemas/index.js +9 -0
  92. package/dist/schemas/index.js.map +1 -0
  93. package/dist/schemas/lucy.d.ts +29 -0
  94. package/dist/schemas/lucy.js +42 -0
  95. package/dist/schemas/lucy.js.map +1 -0
  96. package/dist/schemas/tsconfig.js +2 -0
  97. package/dist/schemas/tsconfig.js.map +1 -0
  98. package/dist/schemas/types.d.ts +33 -0
  99. package/dist/schemas/types.js +5 -1
  100. package/dist/schemas/types.js.map +1 -0
  101. package/dist/states.js +1 -0
  102. package/dist/states.js.map +1 -0
  103. package/dist/tasks/Gulpfile.d.ts +4 -0
  104. package/dist/tasks/Gulpfile.js +111 -0
  105. package/dist/tasks/Gulpfile.js.map +1 -0
  106. package/dist/tasks/gulp/backend.d.ts +4 -0
  107. package/dist/tasks/gulp/backend.js +92 -0
  108. package/dist/tasks/gulp/backend.js.map +1 -0
  109. package/dist/tasks/gulp/checks.d.ts +4 -0
  110. package/dist/tasks/gulp/checks.js +202 -0
  111. package/dist/tasks/gulp/checks.js.map +1 -0
  112. package/dist/tasks/gulp/clean.d.ts +3 -0
  113. package/dist/tasks/gulp/clean.js +33 -0
  114. package/dist/tasks/gulp/clean.js.map +1 -0
  115. package/dist/tasks/gulp/copy.d.ts +3 -0
  116. package/dist/tasks/gulp/copy.js +34 -0
  117. package/dist/tasks/gulp/copy.js.map +1 -0
  118. package/dist/tasks/gulp/helpers.d.ts +3 -0
  119. package/dist/tasks/gulp/helpers.js +19 -0
  120. package/dist/tasks/gulp/helpers.js.map +1 -0
  121. package/dist/tasks/gulp/pages.d.ts +2 -0
  122. package/dist/tasks/gulp/pages.js +39 -0
  123. package/dist/tasks/gulp/pages.js.map +1 -0
  124. package/dist/tasks/gulp/pipeline.d.ts +1 -0
  125. package/dist/tasks/gulp/pipeline.js +29 -0
  126. package/dist/tasks/gulp/pipeline.js.map +1 -0
  127. package/dist/tasks/gulp/public.d.ts +3 -0
  128. package/dist/tasks/gulp/public.js +50 -0
  129. package/dist/tasks/gulp/public.js.map +1 -0
  130. package/dist/tasks/gulp/styles.d.ts +3 -0
  131. package/dist/tasks/gulp/styles.js +40 -0
  132. package/dist/tasks/gulp/styles.js.map +1 -0
  133. package/dist/tasks/gulp/templates.d.ts +2 -0
  134. package/dist/tasks/gulp/templates.js +45 -0
  135. package/dist/tasks/gulp/templates.js.map +1 -0
  136. package/dist/tasks/gulp/types.d.ts +4 -0
  137. package/dist/tasks/gulp/types.js +293 -0
  138. package/dist/tasks/gulp/types.js.map +1 -0
  139. package/dist/tasks/gulp/watchers.d.ts +3 -0
  140. package/dist/tasks/gulp/watchers.js +59 -0
  141. package/dist/tasks/gulp/watchers.js.map +1 -0
  142. package/dist/tasks/index.d.ts +4 -0
  143. package/dist/tasks/index.js +23 -0
  144. package/dist/tasks/index.js.map +1 -0
  145. package/dist/tasks/syncSettings.d.ts +3 -0
  146. package/dist/tasks/syncSettings.js +18 -0
  147. package/dist/tasks/syncSettings.js.map +1 -0
  148. package/dist/utils/index.js +2 -0
  149. package/dist/utils/index.js.map +1 -0
  150. package/dist/utils/logger.d.ts +17 -0
  151. package/dist/utils/logger.js +37 -0
  152. package/dist/utils/logger.js.map +1 -0
  153. package/dist/wix-sdk/check.d.ts +4 -0
  154. package/dist/wix-sdk/check.js +23 -0
  155. package/dist/wix-sdk/check.js.map +1 -0
  156. package/dist/wix-sdk/client.d.ts +10 -0
  157. package/dist/wix-sdk/client.js +18 -0
  158. package/dist/wix-sdk/client.js.map +1 -0
  159. package/dist/wix-sdk/index.d.ts +4 -0
  160. package/dist/wix-sdk/index.js +15 -0
  161. package/dist/wix-sdk/index.js.map +1 -0
  162. package/dist/wix-sdk/init.d.ts +4 -0
  163. package/dist/wix-sdk/init.js +51 -0
  164. package/dist/wix-sdk/init.js.map +1 -0
  165. package/dist/wix-sdk/run.d.ts +4 -0
  166. package/dist/wix-sdk/run.js +53 -0
  167. package/dist/wix-sdk/run.js.map +1 -0
  168. package/dist/wix-sync/client.d.ts +3 -0
  169. package/dist/wix-sync/client.js +5 -0
  170. package/dist/wix-sync/client.js.map +1 -0
  171. package/dist/wix-sync/export.d.ts +4 -0
  172. package/dist/wix-sync/export.js +15 -0
  173. package/dist/wix-sync/export.js.map +1 -0
  174. package/dist/wix-sync/import.d.ts +4 -0
  175. package/dist/wix-sync/import.js +26 -0
  176. package/dist/wix-sync/import.js.map +1 -0
  177. package/dist/wix-sync/index.d.ts +4 -0
  178. package/dist/wix-sync/index.js +35 -0
  179. package/dist/wix-sync/index.js.map +1 -0
  180. package/dist/wix-sync/init.d.ts +4 -0
  181. package/dist/wix-sync/init.js +74 -0
  182. package/dist/wix-sync/init.js.map +1 -0
  183. package/dist/wix-sync/is-alive.d.ts +4 -0
  184. package/dist/wix-sync/is-alive.js +23 -0
  185. package/dist/wix-sync/is-alive.js.map +1 -0
  186. package/dist/wix-sync/migrate.d.ts +4 -0
  187. package/dist/wix-sync/migrate.js +21 -0
  188. package/dist/wix-sync/migrate.js.map +1 -0
  189. package/dist/wix-sync/sync.d.ts +4 -0
  190. package/dist/wix-sync/sync.js +26 -0
  191. package/dist/wix-sync/sync.js.map +1 -0
  192. package/files/sync-data/data/test.csv +17 -0
  193. package/files/sync-data/files/lucy.jpg +0 -0
  194. package/files/sync-data/schema/test.json +11 -0
  195. package/files/templates/block[D]/files/.stylelintrc.js +8 -0
  196. package/files/templates/block[D]/lucy.json +9 -0
  197. package/files/templates/cargo[D]/files/.env +1 -0
  198. package/files/templates/cargo[D]/files/Cargo.toml +238 -0
  199. package/files/templates/cargo[D]/files/Makefile.toml +4 -0
  200. package/files/templates/cargo[D]/files/build/main.rs +35 -0
  201. package/files/templates/cargo[D]/files/config/beta.json +19 -0
  202. package/files/templates/cargo[D]/files/config/ci.json +15 -0
  203. package/files/templates/cargo[D]/files/config/default.json +71 -0
  204. package/files/templates/cargo[D]/files/config/development.json +10 -0
  205. package/files/templates/cargo[D]/files/config/produktion.json +5 -0
  206. package/files/templates/cargo[D]/files/config/stage.json +4 -0
  207. package/files/templates/cargo[D]/files/locales/todo.yml +3 -0
  208. package/files/templates/cargo[D]/files/public/index.html +1 -0
  209. package/files/templates/cargo[D]/lucy.json +15 -0
  210. package/files/templates/expo[D]/files/.stylelintrc.js +8 -0
  211. package/files/{expo → templates/expo[D]/files}/eas.json +9 -3
  212. package/files/templates/expo[D]/files/lib/data.ts +197 -0
  213. package/files/{expo → templates/expo[D]/files}/metro.config.js +6 -0
  214. package/files/templates/expo[D]/files/pnpm-workspace.yaml +3 -0
  215. package/files/templates/expo[D]/lucy.json +86 -0
  216. package/files/templates/monorepo[D]/files/.editorconfig +10 -0
  217. package/files/templates/monorepo[D]/files/.nvmrc +1 -0
  218. package/files/templates/monorepo[D]/files/.prettierignore +23 -0
  219. package/files/templates/monorepo[D]/files/.prettierrc.json +15 -0
  220. package/files/templates/monorepo[D]/files/.stylelintrc.js +8 -0
  221. package/files/templates/monorepo[D]/files/.yarnrc +1 -0
  222. package/files/templates/monorepo[D]/files/.yarnrc.yml +3 -0
  223. package/files/templates/monorepo[D]/files/README.md +109 -0
  224. package/files/templates/monorepo[D]/files/currents.config.ts +5 -0
  225. package/files/templates/monorepo[D]/files/nx.json +25 -0
  226. package/files/templates/monorepo[D]/files/pnpm-workspace.yaml +11 -0
  227. package/files/templates/monorepo[D]/files/tsconfig.json +6 -0
  228. package/files/templates/monorepo[D]/files/typedoc.json +25 -0
  229. package/files/templates/monorepo[D]/files/vitest.config.ts +27 -0
  230. package/files/templates/monorepo[D]/lucy.json +69 -0
  231. package/files/templates/tauri[D]/lucy.json +9 -0
  232. package/files/templates/velo[D]/files/.prettierignore +23 -0
  233. package/files/templates/velo[D]/files/.prettierrc.js +16 -0
  234. package/files/templates/velo[D]/lucy.json +137 -0
  235. package/lucy.jpg +0 -0
  236. package/old/Gulpfile.d.ts +34 -0
  237. package/old/Gulpfile.js +116 -0
  238. package/old/Gulpfile.js.map +1 -0
  239. package/old/gulp/backend.d.ts +3 -0
  240. package/old/gulp/backend.js +92 -0
  241. package/old/gulp/backend.js.map +1 -0
  242. package/old/gulp/checks.d.ts +3 -0
  243. package/old/gulp/checks.js +205 -0
  244. package/old/gulp/checks.js.map +1 -0
  245. package/old/gulp/clean.d.ts +3 -0
  246. package/old/gulp/clean.js +29 -0
  247. package/old/gulp/clean.js.map +1 -0
  248. package/old/gulp/copy.d.ts +2 -0
  249. package/old/gulp/copy.js +34 -0
  250. package/old/gulp/copy.js.map +1 -0
  251. package/old/gulp/helpers.d.ts +2 -0
  252. package/old/gulp/helpers.js +25 -0
  253. package/old/gulp/helpers.js.map +1 -0
  254. package/old/gulp/pages.d.ts +2 -0
  255. package/old/gulp/pages.js +37 -0
  256. package/old/gulp/pages.js.map +1 -0
  257. package/old/gulp/pipeline.d.ts +1 -0
  258. package/old/gulp/pipeline.js +29 -0
  259. package/old/gulp/pipeline.js.map +1 -0
  260. package/old/gulp/public.d.ts +2 -0
  261. package/old/gulp/public.js +50 -0
  262. package/old/gulp/public.js.map +1 -0
  263. package/old/gulp/styles.d.ts +2 -0
  264. package/old/gulp/styles.js +40 -0
  265. package/old/gulp/styles.js.map +1 -0
  266. package/old/gulp/templates.d.ts +2 -0
  267. package/old/gulp/templates.js +33 -0
  268. package/old/gulp/templates.js.map +1 -0
  269. package/old/gulp/types.d.ts +4 -0
  270. package/old/gulp/types.js +289 -0
  271. package/old/gulp/types.js.map +1 -0
  272. package/old/gulp/watchers.d.ts +9 -0
  273. package/old/gulp/watchers.js +59 -0
  274. package/old/gulp/watchers.js.map +1 -0
  275. package/old/helpers.d.ts +32 -0
  276. package/old/helpers.js +267 -0
  277. package/old/helpers.js.map +1 -0
  278. package/{src copy/helpers.ts → old/helpers.ts} +1 -1
  279. package/old/index.d.ts +59 -0
  280. package/old/index.js +288 -0
  281. package/old/index.js.map +1 -0
  282. package/old/init.d.ts +8 -0
  283. package/old/init.js +165 -0
  284. package/old/init.js.map +1 -0
  285. package/old/models.d.ts +37 -0
  286. package/old/models.js +2 -0
  287. package/old/models.js.map +1 -0
  288. package/old/prepare.d.ts +8 -0
  289. package/old/prepare.js +20 -0
  290. package/old/prepare.js.map +1 -0
  291. package/old/schemas/index.js +2 -0
  292. package/old/schemas/index.js.map +1 -0
  293. package/old/schemas/index.ts +0 -0
  294. package/old/schemas/types.d.ts +0 -0
  295. package/old/schemas/types.js +2 -0
  296. package/old/schemas/types.js.map +1 -0
  297. package/old/schemas/types.ts +0 -0
  298. package/old/sync.d.ts +2 -0
  299. package/old/sync.js +88 -0
  300. package/old/sync.js.map +1 -0
  301. package/package.json +18 -19
  302. package/patches/velo-sync+0.0.9.patch +13 -0
  303. package/src/args.ts +103 -17
  304. package/src/commands/checks.ts +51 -0
  305. package/src/commands/cleanup.ts +11 -0
  306. package/src/commands/copy.ts +28 -0
  307. package/src/commands/edit.ts +81 -0
  308. package/src/commands/exec.ts +69 -0
  309. package/src/commands/git.ts +113 -0
  310. package/src/commands/home.ts +22 -0
  311. package/src/commands/install.ts +249 -0
  312. package/src/commands/read.ts +45 -0
  313. package/src/commands/write.ts +45 -0
  314. package/src/config.ts +116 -35
  315. package/src/error.ts +1 -2
  316. package/src/helpers.ts +92 -0
  317. package/src/index.ts +88 -13
  318. package/src/init/blocks.ts +85 -0
  319. package/src/init/cargo.ts +25 -0
  320. package/src/init/expo.ts +69 -0
  321. package/src/init/gitModules.ts +15 -0
  322. package/src/init/index.ts +81 -0
  323. package/src/init/monorepo.ts +72 -0
  324. package/src/init/prepareVelo.ts +19 -0
  325. package/src/init/tauri.ts +42 -0
  326. package/src/init/templates.ts +98 -0
  327. package/src/init/velo.ts +65 -0
  328. package/src/runtime.ts +1 -0
  329. package/src/schemas/gulp.ts +31 -0
  330. package/src/schemas/index.ts +13 -1
  331. package/src/schemas/lucy.ts +43 -0
  332. package/src/schemas/types.ts +40 -0
  333. package/src/tasks/Gulpfile.ts +207 -0
  334. package/src/tasks/gulp/backend.ts +113 -0
  335. package/src/tasks/gulp/checks.ts +218 -0
  336. package/src/tasks/gulp/clean.ts +38 -0
  337. package/src/tasks/gulp/copy.ts +38 -0
  338. package/src/tasks/gulp/helpers.ts +18 -0
  339. package/src/tasks/gulp/pages.ts +43 -0
  340. package/src/tasks/gulp/pipeline.ts +31 -0
  341. package/src/tasks/gulp/public.ts +61 -0
  342. package/src/tasks/gulp/styles.ts +47 -0
  343. package/src/tasks/gulp/templates.ts +53 -0
  344. package/src/tasks/gulp/types.ts +310 -0
  345. package/src/tasks/gulp/watchers.ts +97 -0
  346. package/src/tasks/index.ts +24 -0
  347. package/src/tasks/syncSettings.ts +21 -0
  348. package/src/types.d.ts +1 -1
  349. package/src/utils/index.ts +0 -0
  350. package/src/utils/logger.ts +40 -0
  351. package/src/wix-sdk/check.ts +24 -0
  352. package/src/wix-sdk/client.ts +18 -0
  353. package/src/wix-sdk/index.ts +17 -0
  354. package/src/wix-sdk/init.ts +54 -0
  355. package/src/wix-sdk/run.ts +56 -0
  356. package/src/wix-sync/client.ts +6 -0
  357. package/src/wix-sync/export.ts +19 -0
  358. package/src/wix-sync/import.ts +27 -0
  359. package/src/wix-sync/index.ts +36 -0
  360. package/src/wix-sync/init.ts +77 -0
  361. package/src/wix-sync/is-alive.ts +25 -0
  362. package/src/wix-sync/migrate.ts +23 -0
  363. package/src/wix-sync/sync.ts +27 -0
  364. package/tsconfig.json +6 -5
  365. package/dist/init.d.ts +0 -4
  366. package/dist/init.js +0 -275
  367. package/dist/models.js +0 -1
  368. package/dist/params.d.ts +0 -7
  369. package/dist/params.js +0 -23
  370. package/files/expo/lib/data.ts +0 -48
  371. package/files/expo/lucy.json +0 -8
  372. package/src/init.ts +0 -392
  373. /package/dist/{models.d.ts → schemas/tsconfig.d.ts} +0 -0
  374. /package/{files/expo/components/.gitkeep → dist/utils/index.d.ts} +0 -0
  375. /package/files/{expo → templates/expo[D]/files}/.nvmrc +0 -0
  376. /package/files/{expo → templates/expo[D]/files}/.prettierignore +0 -0
  377. /package/files/{expo → templates/expo[D]/files}/.prettierrc.js +0 -0
  378. /package/files/{expo → templates/expo[D]/files}/.yarnrc +0 -0
  379. /package/files/{expo → templates/expo[D]/files}/.yarnrc.yml +0 -0
  380. /package/files/{expo → templates/expo[D]/files}/README.md +0 -0
  381. /package/files/{expo → templates/expo[D]/files}/assets/fonts/SpaceMono-Regular.ttf +0 -0
  382. /package/files/{expo → templates/expo[D]/files}/assets/images/adaptive-icon.png +0 -0
  383. /package/files/{expo → templates/expo[D]/files}/assets/images/favicon.png +0 -0
  384. /package/files/{expo → templates/expo[D]/files}/assets/images/icon.png +0 -0
  385. /package/files/{expo → templates/expo[D]/files}/assets/images/splash-icon.png +0 -0
  386. /package/files/{expo → templates/expo[D]/files}/babel.config.js +0 -0
  387. /package/files/{expo/components/ui → templates/expo[D]/files/components}/.gitkeep +0 -0
  388. /package/files/{velo/typescript/__mocks__ → templates/expo[D]/files/components/ui}/.gitkeep +0 -0
  389. /package/files/{expo → templates/expo[D]/files}/constants/theme.ts +0 -0
  390. /package/files/{expo → templates/expo[D]/files}/eslint.config.mjs +0 -0
  391. /package/files/{expo → templates/expo[D]/files}/global.css +0 -0
  392. /package/files/{expo → templates/expo[D]/files}/hooks/useColorScheme.ts +0 -0
  393. /package/files/{expo → templates/expo[D]/files}/index.ts +0 -0
  394. /package/files/{expo → templates/expo[D]/files}/lib/utils/index.ts +0 -0
  395. /package/files/{expo → templates/expo[D]/files}/lib/utils/polyfills.ts +0 -0
  396. /package/files/{expo → templates/expo[D]/files}/lib/wix/client.ts +0 -0
  397. /package/files/{expo → templates/expo[D]/files}/lib/wix/error.ts +0 -0
  398. /package/files/{expo → templates/expo[D]/files}/lib/wix/index.ts +0 -0
  399. /package/files/{expo → templates/expo[D]/files}/nativewind-env.d.ts +0 -0
  400. /package/files/{expo → templates/expo[D]/files}/scripts/reset-project.ts +0 -0
  401. /package/files/{expo → templates/expo[D]/files}/tailwind.config.js +0 -0
  402. /package/files/{expo → templates/expo[D]/files}/tsconfig.json +0 -0
  403. /package/files/{expo → templates/expo[D]/files}/types/reset.d.ts +0 -0
  404. /package/files/{velo → templates/velo[D]/files}/.gitmodules +0 -0
  405. /package/files/{velo → templates/velo[D]/files}/.madgerc +0 -0
  406. /package/files/{velo → templates/velo[D]/files}/.nvmrc +0 -0
  407. /package/files/{velo → templates/velo[D]/files}/.stylelintrc.js +0 -0
  408. /package/files/{velo → templates/velo[D]/files}/.yarnrc.yml +0 -0
  409. /package/files/{velo → templates/velo[D]/files}/currents.config.js +0 -0
  410. /package/files/{velo → templates/velo[D]/files}/cypress/e2e/base/base.cy.ts +0 -0
  411. /package/files/{velo → templates/velo[D]/files}/cypress/fixtures/example.json +0 -0
  412. /package/files/{velo → templates/velo[D]/files}/cypress/support/commands.ts +0 -0
  413. /package/files/{velo → templates/velo[D]/files}/cypress/support/e2e.ts +0 -0
  414. /package/files/{velo → templates/velo[D]/files}/cypress/tsconfig.json +0 -0
  415. /package/files/{velo → templates/velo[D]/files}/cypress.config.mjs +0 -0
  416. /package/files/{velo → templates/velo[D]/files}/eslint.config.mjs +0 -0
  417. /package/files/{velo → templates/velo[D]/files}/local.tsconfig.json +0 -0
  418. /package/files/{velo → templates/velo[D]/files}/typedoc.json +0 -0
  419. /package/files/{velo/typescript/pages → templates/velo[D]/files/typescript/__mocks__}/.gitkeep +0 -0
  420. /package/files/{velo → templates/velo[D]/files}/typescript/backend/data.ts +0 -0
  421. /package/files/{velo → templates/velo[D]/files}/typescript/backend/events.ts +0 -0
  422. /package/files/{velo → templates/velo[D]/files}/typescript/backend/http-functions.ts +0 -0
  423. /package/files/{velo → templates/velo[D]/files}/typescript/backend/lib/http-functions/sync.ts +0 -0
  424. /package/files/{velo → templates/velo[D]/files}/typescript/backend/permissions.json +0 -0
  425. /package/files/{velo/typescript/public → templates/velo[D]/files/typescript/pages}/.gitkeep +0 -0
  426. /package/files/{velo/typescript/styles → templates/velo[D]/files/typescript/public}/.gitkeep +0 -0
  427. /package/files/{velo → templates/velo[D]/files}/typescript/public/scss/app.scss +0 -0
  428. /package/files/{velo/typescript/styles/global.scss → templates/velo[D]/files/typescript/styles/.gitkeep} +0 -0
  429. /package/{src copy/schemas/index.ts → files/templates/velo[D]/files/typescript/styles/global.scss} +0 -0
  430. /package/files/{velo → templates/velo[D]/files}/typescript/tsconfig.json +0 -0
  431. /package/files/{velo → templates/velo[D]/files}/vitest.config.ts +0 -0
  432. /package/{src copy → old}/Gulpfile.ts +0 -0
  433. /package/{src copy → old}/gulp/backend.ts +0 -0
  434. /package/{src copy → old}/gulp/checks.ts +0 -0
  435. /package/{src copy → old}/gulp/clean.ts +0 -0
  436. /package/{src copy → old}/gulp/copy.ts +0 -0
  437. /package/{src copy → old}/gulp/helpers.ts +0 -0
  438. /package/{src copy → old}/gulp/pages.ts +0 -0
  439. /package/{src copy → old}/gulp/pipeline.ts +0 -0
  440. /package/{src copy → old}/gulp/public.ts +0 -0
  441. /package/{src copy → old}/gulp/styles.ts +0 -0
  442. /package/{src copy → old}/gulp/templates.ts +0 -0
  443. /package/{src copy → old}/gulp/types.ts +0 -0
  444. /package/{src copy → old}/gulp/watchers.ts +0 -0
  445. /package/{src copy → old}/index.ts +0 -0
  446. /package/{src copy → old}/init.ts +0 -0
  447. /package/{src copy → old}/models.ts +0 -0
  448. /package/{src copy → old}/prepare.ts +0 -0
  449. /package/{src copy/schemas/types.ts → old/schemas/index.d.ts} +0 -0
  450. /package/{src copy → old}/settings.json +0 -0
  451. /package/{src copy → old}/sync.ts +0 -0
  452. /package/{src copy → old}/types.d.ts +0 -0
  453. /package/src/{models.ts → schemas/tsconfig.ts} +0 -0
@@ -0,0 +1,74 @@
1
+ import { Effect, Schema } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import Enquirer from "enquirer";
4
+ import { AppError } from "../error.js";
5
+ import { writeVeloSyncSettings } from "../commands/write.js";
6
+ import { veloSyncSettings } from "../schemas/index.js";
7
+ import { logger } from "../utils/logger.js";
8
+ import { is_alive } from "./is-alive.js";
9
+ import { copySyncFiles } from "../commands/copy.js";
10
+ export const init = Effect.gen(function* (_) {
11
+ const config = yield* Config;
12
+ const prompter = new Enquirer();
13
+ const choice = yield* Effect.tryPromise({
14
+ try: () => prompter.prompt([
15
+ {
16
+ type: 'input',
17
+ name: 'siteUrl',
18
+ message: 'Enter a project URL',
19
+ initial: config.config.veloSyncSettings?.siteUrl || 'https://example.com',
20
+ validate: (value) => {
21
+ const urlPattern = /^https:\/\/[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;
22
+ if (!value.trim())
23
+ return 'Project URL cannot be empty';
24
+ if (!urlPattern.test(value.trim()))
25
+ return 'URL must be in the format https://domain.com';
26
+ return true;
27
+ }
28
+ },
29
+ {
30
+ type: 'input',
31
+ name: 'secret',
32
+ message: 'Enter the velo-sync secret',
33
+ initial: config.config.veloSyncSettings?.secret || 'secret',
34
+ validate: (value) => value.trim() !== '' ? true : 'Secret cannot be empty'
35
+ }
36
+ ]),
37
+ catch: (e) => {
38
+ return new AppError({ cause: e, message: 'Error initializing velo-sync settings' });
39
+ }
40
+ });
41
+ config.config.veloSyncSettings = yield* Schema.decodeUnknown(veloSyncSettings)(choice);
42
+ yield* writeVeloSyncSettings;
43
+ const copyFilesQuestion = new Enquirer();
44
+ const copyFiles = yield* Effect.tryPromise({
45
+ try: () => copyFilesQuestion.prompt({
46
+ type: 'confirm',
47
+ name: 'copyFiles',
48
+ message: 'Do you want to copy the velo-sync files to your project?',
49
+ }),
50
+ catch: (e) => {
51
+ return new AppError({ cause: e, message: 'Error copying velo-sync files' });
52
+ }
53
+ });
54
+ const copy = yield* Schema.decodeUnknown(Schema.Struct({ copyFiles: Schema.Boolean }))(copyFiles);
55
+ if (copy.copyFiles) {
56
+ yield* copySyncFiles;
57
+ }
58
+ const question = new Enquirer();
59
+ const verify = yield* Effect.tryPromise({
60
+ try: () => question.prompt({
61
+ type: 'confirm',
62
+ name: 'verify',
63
+ message: 'Do you want to verify the velo-sync settings?',
64
+ }),
65
+ catch: (e) => {
66
+ return new AppError({ cause: e, message: 'Error setting up velo-sync settings' });
67
+ }
68
+ });
69
+ const verifySync = yield* Schema.decodeUnknown(Schema.Struct({ verify: Schema.Boolean }))(verify);
70
+ if (verifySync.verify)
71
+ yield* is_alive;
72
+ logger.success(`Velo-sync settings initialized successfully!`);
73
+ });
74
+ //# sourceMappingURL=init.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"init.js","sourceRoot":"","sources":["../../src/wix-sync/init.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import { AppError } from "../error.js";
4
+ export declare const is_alive: Effect.Effect<undefined, AppError, Config>;
@@ -0,0 +1,23 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import Enquirer from "enquirer";
4
+ import { AppError } from "../error.js";
5
+ import { logger } from "../utils/logger.js";
6
+ import veloAPI from 'velo-sync/dist/velo/velo-api.js';
7
+ export const is_alive = Effect.gen(function* (_) {
8
+ const config = yield* Config;
9
+ const prompter = new Enquirer();
10
+ const veloSyncSettings = config.config.veloSyncSettings;
11
+ if (!veloSyncSettings)
12
+ return yield* Effect.fail(new AppError({ message: 'Velo-sync settings not found', cause: new Error('Velo-sync settings not found') }));
13
+ logger.action(`Checking if the API for site ${veloSyncSettings.siteUrl} is alive...`);
14
+ const res = yield* Effect.tryPromise({
15
+ try: () => veloAPI.isAlive(veloSyncSettings),
16
+ catch: (e) => {
17
+ return new AppError({ cause: e, message: 'Error checking if the API is alive' });
18
+ }
19
+ });
20
+ logger.success(`API for site ${veloSyncSettings.siteUrl} is alive and working!`);
21
+ return;
22
+ });
23
+ //# sourceMappingURL=is-alive.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"is-alive.js","sourceRoot":"","sources":["../../src/wix-sync/is-alive.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,QAAQ,MAAM,UAAU,CAAC;AAChC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,OAAO,MAAM,iCAAiC,CAAC;AAEtD,MAAM,CAAC,MAAM,QAAQ,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC3C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,QAAQ,GAAG,IAAI,QAAQ,EAAE,CAAC;IAChC,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACxD,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9J,MAAM,CAAC,MAAM,CAAC,gCAAgC,gBAAgB,CAAC,OAAO,cAAc,CAAC,CAAC;IAEtF,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjC,GAAG,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,gBAAgB,CAAC;QAC5C,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,oCAAoC,EAAE,CAAC,CAAC;QACrF,CAAC;KACJ,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,gBAAgB,gBAAgB,CAAC,OAAO,wBAAwB,CAAC,CAAC;IACjF,OAAM;AACV,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import { AppError } from "../error.js";
4
+ export declare const migrate: Effect.Effect<undefined, AppError, Config>;
@@ -0,0 +1,21 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import { AppError } from "../error.js";
4
+ import { logger } from "../utils/logger.js";
5
+ import { migrateFileCacheTask } from "./client.js";
6
+ export const migrate = Effect.gen(function* (_) {
7
+ const config = yield* Config;
8
+ const veloSyncSettings = config.config.veloSyncSettings;
9
+ if (!veloSyncSettings)
10
+ return yield* Effect.fail(new AppError({ message: 'Velo-sync settings not found', cause: new Error('Velo-sync settings not found') }));
11
+ logger.action(`Migrating file cache for site ${veloSyncSettings.siteUrl}...`);
12
+ const res = yield* Effect.tryPromise({
13
+ try: () => migrateFileCacheTask(),
14
+ catch: (e) => {
15
+ return new AppError({ cause: e, message: 'Error migrating file cache' });
16
+ }
17
+ });
18
+ logger.success(`File cache for site ${veloSyncSettings.siteUrl} migrated successfully!`);
19
+ return;
20
+ });
21
+ //# sourceMappingURL=migrate.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrate.js","sourceRoot":"","sources":["../../src/wix-sync/migrate.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnD,MAAM,CAAC,MAAM,OAAO,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IAC1C,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACxD,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9J,MAAM,CAAC,MAAM,CAAC,iCAAiC,gBAAgB,CAAC,OAAO,KAAK,CAAC,CAAC;IAE9E,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjC,GAAG,EAAE,GAAG,EAAE,CAAC,oBAAoB,EAAE;QACjC,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,4BAA4B,EAAE,CAAC,CAAC;QAC7E,CAAC;KACJ,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,uBAAuB,gBAAgB,CAAC,OAAO,yBAAyB,CAAC,CAAC;IACzF,OAAM;AACV,CAAC,CAAC,CAAA"}
@@ -0,0 +1,4 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import { AppError } from "../error.js";
4
+ export declare const sync: Effect.Effect<undefined, AppError, Config>;
@@ -0,0 +1,26 @@
1
+ import { Effect } from "effect/index";
2
+ import { Config } from "../config.js";
3
+ import { AppError } from "../error.js";
4
+ import { logger } from "../utils/logger.js";
5
+ import { runSyncTask } from "./client.js";
6
+ export const sync = Effect.gen(function* (_) {
7
+ const config = yield* Config;
8
+ const veloSyncSettings = config.config.veloSyncSettings;
9
+ if (!veloSyncSettings)
10
+ return yield* Effect.fail(new AppError({ message: 'Velo-sync settings not found', cause: new Error('Velo-sync settings not found') }));
11
+ logger.action(`Syncing data for site ${veloSyncSettings.siteUrl}...`);
12
+ let filename = config.config.veloSyncArguments?.data || '';
13
+ let collection = config.config.veloSyncArguments?.collection || '';
14
+ let schema = config.config.veloSyncArguments?.schema || '';
15
+ let dryrun = config.config.veloSyncArguments?.dry || false;
16
+ let importOnly = false;
17
+ const res = yield* Effect.tryPromise({
18
+ try: () => runSyncTask(filename, collection, schema, importOnly, dryrun),
19
+ catch: (e) => {
20
+ return new AppError({ cause: e, message: 'Error syncing data' });
21
+ }
22
+ });
23
+ logger.success(`Data for site ${veloSyncSettings.siteUrl} synced successfully!`);
24
+ return;
25
+ });
26
+ //# sourceMappingURL=sync.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"sync.js","sourceRoot":"","sources":["../../src/wix-sync/sync.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,MAAM,EAAU,MAAM,cAAc,CAAC;AAC9C,OAAO,EAAE,MAAM,EAAE,MAAM,cAAc,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AACvC,OAAO,EAAE,MAAM,EAAE,MAAM,oBAAoB,CAAC;AAC5C,OAAO,EAAE,WAAW,EAAE,MAAM,aAAa,CAAC;AAE1C,MAAM,CAAC,MAAM,IAAI,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC;IACvC,MAAM,MAAM,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC;IAC7B,MAAM,gBAAgB,GAAG,MAAM,CAAC,MAAM,CAAC,gBAAgB,CAAC;IACxD,IAAI,CAAC,gBAAgB;QAAE,OAAO,KAAK,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,IAAI,QAAQ,CAAC,EAAE,OAAO,EAAE,8BAA8B,EAAE,KAAK,EAAE,IAAI,KAAK,CAAC,8BAA8B,CAAC,EAAE,CAAC,CAAC,CAAC;IAE9J,MAAM,CAAC,MAAM,CAAC,yBAAyB,gBAAgB,CAAC,OAAO,KAAK,CAAC,CAAC;IACtE,IAAI,QAAQ,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,IAAI,IAAI,EAAE,CAAC;IAC3D,IAAI,UAAU,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,UAAU,IAAI,EAAE,CAAC;IACnE,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,MAAM,IAAI,EAAE,CAAC;IAC3D,IAAI,MAAM,GAAG,MAAM,CAAC,MAAM,CAAC,iBAAiB,EAAE,GAAG,IAAI,KAAK,CAAC;IAC3D,IAAI,UAAU,GAAG,KAAK,CAAA;IACtB,MAAM,GAAG,GAAG,KAAK,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC;QACjC,GAAG,EAAE,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,UAAU,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC;QACxE,KAAK,EAAE,CAAC,CAAC,EAAE,EAAE;YACT,OAAO,IAAI,QAAQ,CAAC,EAAE,KAAK,EAAE,CAAC,EAAE,OAAO,EAAE,oBAAoB,EAAE,CAAC,CAAC;QACrE,CAAC;KACJ,CAAC,CAAA;IAEF,MAAM,CAAC,OAAO,CAAC,iBAAiB,gBAAgB,CAAC,OAAO,uBAAuB,CAAC,CAAC;IACjF,OAAM;AACV,CAAC,CAAC,CAAA"}
@@ -0,0 +1,17 @@
1
+ Image,Artist,Location,Description,ID,Name
2
+ ../files/lucy.jpg,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,0451962b-9cd2-4fe2-aa24-f7973d073d75,Little Mermaid
3
+ wix:image://v1/fc7570_846eb609b9d640d184345e6309f8768c~mv2.jpg/%20Shop%20till%20you%20drop%20%20%20.JPG#originWidth=1600&originHeight=1067,50072d76-8368-42f7-99ee-0e9296029d75, Bruton Street,"Also known as the “Falling Shopper”, the mural is located on Bruton Lane on the side of a large office building in the heart of the West End district. The piece is over two storeys up and represents a woman falling with a trolley from the top of a building. Banksy’s aim was to point out the dangers of consumerism. The mural was painted in November 2011 in broad daylight. A scaffolding and a tarpaulin were used to make sure nobody caught the artist red-handed. “Shop Till You Drop” is still visible and quite damaged.",0560c783-f374-44f6-b318-908d6de77816, Shop Till You Drop
4
+ wix:image://v1/596320_f0681085ac544bea9527272059955ba2~mv2.jpg/46600548_595929587504016_290259145196053.jpg#originWidth=1080&originHeight=1080,777a0f48-b2ff-421e-a435-739081cf05ba,King John Court,,0a910c5e-cf3c-4d92-b911-8db7819296f1,Artemis
5
+ wix:image://v1/596320_65dfa944076d44a9a945868d7702331b~mv2.jpeg/IMG_6611.jpeg#originWidth=1000&originHeight=750,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch Underground,,0b75e1d7-073c-44ae-b965-a1fa6bb2c15a,Hey Baby
6
+ wix:image://v1/fc7570_dfbf8d18bf2f4d8db98a48b65e491d78~mv2.jpg/Banksy-There-is-Always-Hope.jpg#originWidth=1500&originHeight=1076,50072d76-8368-42f7-99ee-0e9296029d75,South Bank,"Arguably Banksy’s most iconic piece, it appeared in South Bank, London in around 2002. The words ‘There Is Always Hope’ are written just behind a young girl, who can be seen reaching for a balloon in the shape of a heart. Intense debate has raged on over the years regarding the true meaning of this stencil, with a variety of ideas involving love, innocence and – obviously – hope",1c138979-d640-4d53-b390-187a4196db5f,There Is Always Hope
7
+ wix:image://v1/596320_a2535724be2c4376b382260f10d7f069~mv2.jpg/BaltimoreBorn.jpg#originWidth=1080&originHeight=827,777a0f48-b2ff-421e-a435-739081cf05ba,Old Street,,297516b7-3389-49ae-b1c7-14a28b4ba76b,Baltimore Born
8
+ wix:image://v1/fc7570_221a6ef024794bb69a43a208225643bd~mv2.jpg/street-art-in-london-banksy-graffiti-pai.jpg#originWidth=640&originHeight=428,50072d76-8368-42f7-99ee-0e9296029d75,Portobello Road Market," This piece can be found beside Regent’s Canal tunnel and under the London Transport Police Headquarters in Camden. The mural, painted in 2009, represents a city worker covering the work of another graffiti artist painted in 1985 with grey wallpaper. This wall became the battleground of a graffiti war between Banksy and the deceased London graffiti legend King Robbo. Shortly after, Robbo struck back and covered Banksy’s piece on the pretext that he broke the underground code of conduct. The wall undergone eight other modifications from both artists. The feud stopped when King Robbo was hospitalised for life-threatening head injuries. When Banksy heard about King Robbo’s serious health condition, he painted an ode to Robbo’s original graffiti piece. As a tribute to Robbo, the mural was restored to its original form with slight changes.",414c339e-0300-44b9-b8a4-376d8f0acbca, Graffiti Painter
9
+ wix:image://v1/596320_057219a2167d4b6dbdac4ffc8bf70012~mv2.jpg/G.%20Davis%20is%20Innocent%20OK.jpg#originWidth=1200&originHeight=800,777a0f48-b2ff-421e-a435-739081cf05ba,Sclater Street,,63d5d8d0-3939-4c68-b641-8e93e7bc61f5,G. Davis is Innocent OK
10
+ wix:image://v1/fc7570_d259e3c970094cb3a2cdec0c8e28eb93~mv2.png/Screenshot%20at%20Mar%2005%2011-13-56.png#originWidth=1702&originHeight=1176,50072d76-8368-42f7-99ee-0e9296029d75,Rivington Street Shoreditch,"Banksy’s mural is located on Essex Road, North London. Painted in 2008 on the side of a pharmacy, Banksy’s work depicts a group of three children pledging their allegiance to the British supermarket chain Tesco. One of them is raising a flag composed by a Tesco carrier bag. Even though it was quickly covered in perspex, “Very Little Help” has been vandalised on several occasions and it is currently partially damaged. The flag has been painted over and replaced with a tag from Robbo.",696f7b91-cd61-4a6c-a5f8-06fe1e916354,Tesco Kids
11
+ wix:image://v1/596320_e970850a978147cf89d49d62e0442736~mv2.jpg/ad2dd_Jose-Mendez-1.jpg#originWidth=470&originHeight=470,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,6d779be3-bc57-49e0-b1a7-291d9429bbf8,Happy Walk
12
+ wix:image://v1/596320_25360281cc7e491bb4870bd5d32e909f~mv2.jpg/Garden+Of+Desire6+WEB.jpg#originWidth=709&originHeight=653,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,7242d0da-73b7-431e-abaa-7efc18fa56f0,Garden of Desire
13
+ wix:image://v1/596320_c29d9c5caa03466ebe86d216f0c652f1~mv2.jpg/ben-wilson8_orig.jpg#originWidth=796&originHeight=800,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,7bd23aac-2bce-4a69-8907-69152838ba82,London Sky
14
+ wix:image://v1/596320_1f2d833d379047579240f9f0e9c1ddad~mv2.jpg/1.jpg#originWidth=1000&originHeight=1000,59430c6f-11f4-49c5-a7f5-19b855d2b5f3,Shoreditch,,aed627a9-47da-404d-96ee-42e042eb6602,Red Gallery Window
15
+ wix:image://v1/596320_e8f7ee11aaa9428bb25233cf1304cb54~mv2.jpg/fingercrossed.jpg#originWidth=640&originHeight=640,777a0f48-b2ff-421e-a435-739081cf05ba,Brick Lane,,c1ba82f3-fd79-4860-87ce-d894c15c98fb,Fingers Crossed
16
+ wix:image://v1/596320_44bc2bdb102a48f3ae6e596bb2d2806c~mv2.jpg/tn_IMG_5069.jpg#originWidth=555&originHeight=740,c1c03e11-024b-4dad-a689-1c3610913b9b,London Bridge,,c2e3c665-664b-4797-a91f-f59559497ad2,I'll Quit Tomorrow
17
+ wix:image://v1/596320_1e8978648f0e4e56b79712f03ff80fa7~mv2.jpg/tn_IMG_0369-001.jpg#originWidth=864&originHeight=837,c1c03e11-024b-4dad-a689-1c3610913b9b,Old Street,,d5e474f2-7faf-47be-9702-27cbab81d0e7,BW Face
Binary file
@@ -0,0 +1,11 @@
1
+ {
2
+ "keyField": "ID",
3
+ "fields": {
4
+ "Image": "Image",
5
+ "Artist": "Reference",
6
+ "Location": "string",
7
+ "Description": "string",
8
+ "ID": "string",
9
+ "Name": "string"
10
+ }
11
+ }
@@ -0,0 +1,8 @@
1
+ module.exports = {
2
+ overrides: [
3
+ {
4
+ files: ["**/*.{ts,tsx}"],
5
+ customSyntax: "@stylelint/postcss-css-in-js",
6
+ },
7
+ ],
8
+ };
@@ -0,0 +1,9 @@
1
+ {
2
+ "modules": {},
3
+ "devDependencies": {},
4
+ "dependencies": {},
5
+ "scripts": {},
6
+ "initialized": false,
7
+ "type": "blocks",
8
+ "packageManager": "pnpm"
9
+ }
@@ -0,0 +1 @@
1
+ # DATABASE_URL="postgresql://dev:dev@localhost:5432/shopping-trolley?schema=public"
@@ -0,0 +1,238 @@
1
+ [package]
2
+ name = "wiicle_backend"
3
+ version.workspace = true
4
+ authors.workspace = true
5
+ description.workspace = true
6
+ edition.workspace = true
7
+ license.workspace = true
8
+ repository.workspace = true
9
+ homepage.workspace = true
10
+ publish = false
11
+ build = "build/main.rs"
12
+
13
+ [workspace]
14
+ members = [
15
+ ".",
16
+ "./lib/core",
17
+ "./services/grpc",
18
+ "./services/http",
19
+ "./lib/common",
20
+ "./services/database",
21
+ "./lib/cli",
22
+ "./services/database/migrations",
23
+ "./lib/context",
24
+ "./features/auth",
25
+ "./features/authz",
26
+ "./lib/i18n",
27
+ "./lib/settings"
28
+ ]
29
+ resolver = "2"
30
+ exclude = ["target/*"]
31
+
32
+ [workspace.metadata]
33
+
34
+ [package.metadata.docs.rs]
35
+ # Set dependencies to false if you don't want docs from external crates
36
+ dependencies = false
37
+
38
+ [workspace.package]
39
+ authors = ["Gradlon von Känel"]
40
+ description = "Wiicle Backend"
41
+ edition = "2021"
42
+ license = "MIT"
43
+ repository = ""
44
+ version = "0.1.0"
45
+ homepage = "https://www.integral-systems.ch"
46
+
47
+ [workspace.lints.rust]
48
+ unsafe-code = "forbid"
49
+ # unused = "allow"
50
+ unused = "warn"
51
+ missing_docs = "warn"
52
+
53
+ [workspace.lints.rustdoc]
54
+ missing_crate_level_docs = "allow"
55
+
56
+ [workspace.lints.clippy]
57
+ unwrap_used = "warn"
58
+ cargo = "allow"
59
+ pedantic = "allow"
60
+ expect_used = "warn"
61
+ multiple_crate_versions = "allow"
62
+
63
+ [lints]
64
+ workspace = true
65
+
66
+ [build-dependencies]
67
+ serde.workspace = true
68
+ serde_json.workspace = true
69
+ config.workspace = true
70
+ once_cell.workspace = true
71
+ serde_derive.workspace = true
72
+ schemars.workspace = true
73
+ strum_macros.workspace = true
74
+ language-tags.workspace = true
75
+ thiserror.workspace = true
76
+ anyhow.workspace = true
77
+ color-eyre.workspace = true
78
+ settings.workspace = true
79
+
80
+ [dependencies]
81
+ # Crates
82
+ cli = { path = "./lib/cli" }
83
+ lucy_core.workspace = true
84
+ settings.workspace = true
85
+ i18n_lib.workspace = true
86
+ autometrics.workspace = true
87
+ http_service.workspace = true
88
+ grpc_service.workspace = true
89
+ tracing.workspace = true
90
+ anyhow_trace.workspace = true
91
+ tokio.workspace = true
92
+ tracing-subscriber.workspace = true
93
+ color-eyre.workspace = true
94
+ anyhow.workspace = true
95
+ http.workspace = true
96
+ database.workspace = true
97
+ common.workspace = true
98
+ rust-i18n.workspace = true
99
+ async-trait.workspace = true
100
+
101
+ [workspace.dependencies]
102
+ # Crates
103
+ lucy_core = { path = "./lib/core" } # depends on your needs
104
+ database = { path = "./services/database" } # depends on your needs
105
+ common = { path = "./lib/common" }
106
+ context = { path = "./lib/context" }
107
+ auth = { path = "./features/auth" }
108
+ authz = { path = "./features/authz" }
109
+ http_service = { path = "./services/http"}
110
+ grpc_service = { path = "./services/grpc"}
111
+ i18n_lib = { path = "./lib/i18n" }
112
+ settings = { path = "./lib/settings" }
113
+
114
+ # Base
115
+ tokio = { version = "1.36.0", features = ["full", "rt-multi-thread"] }
116
+ async-std = { version = "1", features = ["attributes", "tokio1"] }
117
+ async-trait = "0.1.57"
118
+ futures = "0.3"
119
+
120
+ # http
121
+ http = "1.1"
122
+ http-body = "1.0"
123
+
124
+ # hyper
125
+ hyper = { version = "1.0.0", features = ["full"] }
126
+ hyper-util = "0.1"
127
+
128
+ tower = { version = "0.5.1", features = ["steer", "util"] }
129
+ tower-http = { version = "0.5.2", features = ["cors", "trace", "fs"] }
130
+ tower-cookies = { version = "0.10.0" }
131
+ tower-service = "0.3.3"
132
+
133
+ # Axum
134
+ axum = { version = "0.7.5", features = ["ws", "macros", "multipart", "tracing"] }
135
+ axum-macros = "0.4.1"
136
+ axum-messages = "0.7.0"
137
+ axum-extra = "0.9.3"
138
+ axum-helmet = "0.1"
139
+
140
+ # Datatypes
141
+ axum-jsonschema = { version = "0.8.0", features = ["aide"] }
142
+ serde = { version = "1.0.144", features = ["derive", "rc"] }
143
+ serde_json = "1.0.113"
144
+ serde_yaml = "0.9"
145
+ serde_derive = "1.0.196"
146
+ schemars = { version = "0.8.16", features = ["uuid1"] }
147
+ schemars-zod = "0.1.5"
148
+
149
+ # Swagger
150
+ utoipa = {git = "https://github.com/juhaku/utoipa", branch = "master", features = ["axum_extras"]}
151
+ utoipa-scalar = {git = "https://github.com/juhaku/utoipa", branch = "master", features = ["axum"]}
152
+
153
+ # Tonic
154
+ tonic = "0.12.0"
155
+ tonic-middleware = "0.2.1"
156
+ tonic-web = "0.12.0"
157
+ tonic-reflection = "0.12.0"
158
+ tonic-async-interceptor = "0.12.0"
159
+ prost = "0.13.1"
160
+
161
+ # DB's
162
+ fred = { version = "9.1.2", features = ["mocks"] }
163
+ sea-orm = { version = "1.0.1", features = [ "sqlx-postgres", "runtime-tokio-rustls", "macros", "debug-print", "mock"] }
164
+ sea-orm-migration = { version = "1.0.1", features = ["sqlx-postgres", "runtime-tokio-rustls"]}
165
+ sqlx = { version = "0.7.4", features = ["sqlite", "time", "runtime-tokio"] }
166
+ surrealdb = "1.5.4"
167
+
168
+ # Tracing and Logging
169
+ autometrics = { version = "2.0.0", features = ["prometheus-exporter"] }
170
+ tracing-subscriber = { version = "0.3", features = ["env-filter", "fmt", "chrono"] }
171
+ anyhow = { version = "1.0.82", features = ["backtrace"] }
172
+ thiserror = "1.0.50"
173
+ anyhow_trace = "0.1.3"
174
+ tracing = "0.1"
175
+ tower-otel = "0.2.0"
176
+ color-eyre = "0.6.3"
177
+
178
+ # I18N
179
+ language-tags = { version = "0.3.2", features = ["serde"] }
180
+ rust-i18n = "3.1.2"
181
+
182
+ # Auth/Authz
183
+ casdoor-rust-sdk = "1.3.0"
184
+ casbin = { version = "2.2.0", default-features = false, features = ["runtime-async-std", "logging", "incremental"] }
185
+
186
+ # Utils
187
+ uuid = { version = "1.8.0", features = ["v4", "v7","serde", "fast-rng"] }
188
+ lazy-regex = "3.1.0"
189
+ strum_macros = "0.26.2"
190
+ derive_more = { version = "1.0.0-beta", features = ["from"]}
191
+ serde_with = "3.8.1"
192
+ time = "0.3.30"
193
+ config = "0.14.0"
194
+ clap = { version = "4.5.3", features = ["derive"]}
195
+ reqwest = { version = "0.12.2", features = ["json"] }
196
+ structstruck ={ version = "0.4.1"}
197
+ rayon = "1.10.0"
198
+ figlet-rs = "0.1.5"
199
+ ansi_term = "0.12.1"
200
+ argon2 = "0.5.3"
201
+ lazy_static = "1.4.0"
202
+
203
+ # Time
204
+ chrono = "0.4.19"
205
+ chrono-tz = "0.10.0"
206
+
207
+ # Datatypes
208
+ once_cell = "1.19.0"
209
+
210
+ #testing
211
+ mockall ="0.13.0"
212
+ serial_test = "3.1.1"
213
+ tokio-test = "0.4.4"
214
+ pretty_assertions = "1.4.0"
215
+ tonic-mock = "0.3.0"
216
+
217
+ [workspace.dev-dependencies]
218
+ tokio = { version = "1", features = ["full"] }
219
+ testresult = "0.4.0"
220
+ pretty_assertions.workspace = true
221
+
222
+ [dev-dependencies]
223
+ anyhow.workspace = true
224
+ reqwest.workspace = true
225
+ tokio.workspace = true
226
+ serde_json.workspace = true
227
+ tokio-test.workspace = true
228
+ lucy_core.workspace = true
229
+ pretty_assertions.workspace = true
230
+
231
+ [profile.dev]
232
+ debug = true
233
+
234
+ [profile.release]
235
+ debug = false
236
+ lto = true
237
+ codegen-units = 1
238
+ panic = "abort"
@@ -0,0 +1,4 @@
1
+ [tasks.build]
2
+ command = "cargo"
3
+ args = ["build"]
4
+ dependencies = ["clean"]
@@ -0,0 +1,35 @@
1
+ //! This build script generates a JSON schema for the `Settings` struct.
2
+ //! The schema is used by the `config` crate to validate the configuration file.
3
+ //! The schema is written to `config/schema.json`.
4
+ macro_rules! p {
5
+ ($($tokens: tt)*) => {
6
+ println!("cargo:warning={}", format!($($tokens)*))
7
+ }
8
+ }
9
+
10
+ /// This build script generates a JSON schema for the `Settings` struct.
11
+ /// The schema is used by the `config` crate to validate the configuration file.
12
+ /// The schema is written to `../../config/schema.json`.
13
+ /// The build script is re-run if `src/lib.rs` changes.
14
+ fn main() {
15
+ p!("cargo:rerun-if-changed=src/lib.rs");
16
+ let schema = schemars::schema_for!(Settings);
17
+ let schema_file = Path::new("config/schema.json");
18
+ fs::write(
19
+ schema_file,
20
+ serde_json::to_string_pretty(&schema).unwrap_or_else(|error| {
21
+ p!("Error: {}", error);
22
+ String::new()
23
+ }),
24
+ )
25
+ .unwrap_or_else(|error| {
26
+ p!("Error: {}", error);
27
+ });
28
+
29
+ p!("Writing JSON schema to {:?}", schema_file);
30
+ }
31
+
32
+ // include!("src/lib.rs");
33
+ use std::fs;
34
+ use std::path::Path;
35
+ use settings::Settings;
@@ -0,0 +1,19 @@
1
+ {
2
+ "$schema": "schema.json",
3
+ "environment": "Beta",
4
+ "databases": {
5
+ "redis": {
6
+ "key_prefix": "wiicle_beta"
7
+ }
8
+ },
9
+ "security": {
10
+ "alias_session_expiry": 7200,
11
+ "session_expiry": 7200
12
+ },
13
+ "product": {
14
+ "name": "Wiicle(BETA)"
15
+ },
16
+ "app": {
17
+ "log_level": "Info"
18
+ }
19
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "schema.json",
3
+ "message": "Wellcome to The Wiicle Backend",
4
+ "databases": {
5
+ "postgres": {
6
+ "url": "postgres://dev:dev@postgres/wiicle"
7
+ },
8
+ "redis": {
9
+ "url": "redis://default@redis:6379/0"
10
+ }
11
+ },
12
+ "product": {
13
+ "name": "Wiicle(CI)"
14
+ }
15
+ }
@@ -0,0 +1,71 @@
1
+ {
2
+ "$schema": "schema.json",
3
+ "message": "Wellcome to The Wiicle Backend",
4
+ "databases": {
5
+ "postgres": {
6
+ "url": "postgres://root:root@localhost:26257/wiicle_beta"
7
+ },
8
+ "mongo": {
9
+ "url": "mongodb://mongo:27017/api"
10
+ },
11
+ "redis": {
12
+ "url": "redis://default@127.0.0.1:6379/0",
13
+ "key_prefix": "wiicle",
14
+ "pool_size": 5
15
+ },
16
+ "meilisearch": {
17
+ "url": "http://localhost:7700",
18
+ "api_key": "dev"
19
+ },
20
+ "elasticsearch": {
21
+ "url": "http://127.0.0.1:9271"
22
+ }
23
+ },
24
+ "i18n": {
25
+ "default_locale": "en",
26
+ "supported_locales": ["en", "de", "fr"]
27
+ },
28
+ "security": {
29
+ "jwt_secret": "SuperSecretToken",
30
+ "jwt_expiry": 7200,
31
+ "session_expiry": 300,
32
+ "alias_session_expiry": 300,
33
+ "api_keys": ["ca03na188ame03u1d78620de67282882a84"],
34
+ "api_key_field": "api-key",
35
+ "cookie_name": "session",
36
+ "cookie_lifetime": 90,
37
+ "cors": {
38
+ "allowed_origins": ["http://localhost:8085", "http://192.168.1.87:8085"]
39
+ },
40
+ "admin": {
41
+ "username": "admin",
42
+ "password": "admin",
43
+ "password_hashed": "$2b$10$o4OYI2SOrkBZl17X1d2hg.gip6M5xNZPmpF0IsrpS62eXP4B/WoRy"
44
+ }
45
+ },
46
+ "app": {
47
+ "http_port": 3000,
48
+ "grpc_port": 3100,
49
+ "proto_out_dir": "../grpc",
50
+ "log_level": "Debug",
51
+ "lang_field": "lang",
52
+ "default_lang": "de-CH",
53
+ "context_field": "x-context",
54
+ "frontend_dir": "public"
55
+ },
56
+ "mail": {
57
+ "host": "smtp.gmail.com",
58
+ "port": 465,
59
+ "secure": true,
60
+ "auth": {
61
+ "user": "",
62
+ "pass": ""
63
+ }
64
+ },
65
+ "product": {
66
+ "name": "Wiicle",
67
+ "telegram_bot_token": "5386225720:AAEKgiysSjy-p6Z0yNgDcCl_QmqNjSSPPw4",
68
+ "telegram_chat_id": "-933647200",
69
+ "default_avatar": "https://cdn.vectorstock.com/i/1000v/45/94/default-avatar-profile-icon-grey-photo-vector-31934594.jpg"
70
+ }
71
+ }
@@ -0,0 +1,10 @@
1
+ {
2
+ "$schema": "schema.json",
3
+ "message": "Wellcome",
4
+ "app": {
5
+ "frontend_dir": "../app/dist"
6
+ },
7
+ "product": {
8
+ "name": "Wiicle(DEV)"
9
+ }
10
+ }
@@ -0,0 +1,5 @@
1
+ {
2
+ "$schema": "schema.json",
3
+ "environment": "Production",
4
+ "message": "Integral Systems API"
5
+ }