lucy-cli 2.0.0-beta.11 → 2.0.0-beta.12

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 (290) hide show
  1. package/dist/commands/copy.js.map +1 -1
  2. package/dist/commands/git.d.ts +3 -2
  3. package/dist/commands/git.js +34 -0
  4. package/dist/commands/git.js.map +1 -1
  5. package/dist/commands/home.d.ts +1 -1
  6. package/dist/commands/home.js +2 -25
  7. package/dist/commands/home.js.map +1 -1
  8. package/dist/index.js.map +1 -1
  9. package/dist/init/cargo.d.ts +1 -1
  10. package/dist/init/git.d.ts +2 -0
  11. package/dist/init/git.js +13 -0
  12. package/dist/init/git.js.map +1 -0
  13. package/dist/init/gitModules.d.ts +1 -1
  14. package/dist/init/index.d.ts +2 -1
  15. package/dist/init/index.js +0 -1
  16. package/dist/init/index.js.map +1 -1
  17. package/dist/init/monorepo.d.ts +1 -1
  18. package/dist/init/prepareVelo.d.ts +1 -1
  19. package/dist/init/tauri.d.ts +1 -1
  20. package/dist/init/templates.d.ts +1 -1
  21. package/dist/init/templates.js +1 -1
  22. package/dist/init/templates.js.map +1 -1
  23. package/dist/init/velo.d.ts +1 -1
  24. package/package.json +1 -1
  25. package/src/commands/copy.ts +1 -0
  26. package/src/commands/git.ts +39 -0
  27. package/src/commands/home.ts +2 -38
  28. package/src/index.ts +1 -1
  29. package/src/init/index.ts +0 -1
  30. package/src/init/templates.ts +1 -1
  31. package/files/templates/Default[B]/files/.cursorignore +0 -4
  32. package/files/templates/Default[B]/files/.stylelintrc.js +0 -8
  33. package/files/templates/Default[B]/lucy.json +0 -9
  34. package/files/templates/Default[C]/files/.cursorignore +0 -4
  35. package/files/templates/Default[C]/files/.env +0 -1
  36. package/files/templates/Default[C]/files/Cargo.toml +0 -238
  37. package/files/templates/Default[C]/files/Makefile.toml +0 -4
  38. package/files/templates/Default[C]/files/build/main.rs +0 -35
  39. package/files/templates/Default[C]/files/config/beta.json +0 -19
  40. package/files/templates/Default[C]/files/config/ci.json +0 -15
  41. package/files/templates/Default[C]/files/config/default.json +0 -71
  42. package/files/templates/Default[C]/files/config/development.json +0 -10
  43. package/files/templates/Default[C]/files/config/produktion.json +0 -5
  44. package/files/templates/Default[C]/files/config/stage.json +0 -4
  45. package/files/templates/Default[C]/files/locales/todo.yml +0 -3
  46. package/files/templates/Default[C]/files/public/index.html +0 -1
  47. package/files/templates/Default[C]/lucy.json +0 -15
  48. package/files/templates/Default[E]/files/.cursorignore +0 -4
  49. package/files/templates/Default[E]/files/.nvmrc +0 -1
  50. package/files/templates/Default[E]/files/.prettierignore +0 -23
  51. package/files/templates/Default[E]/files/.prettierrc.js +0 -16
  52. package/files/templates/Default[E]/files/.stylelintrc.js +0 -8
  53. package/files/templates/Default[E]/files/.yarnrc +0 -1
  54. package/files/templates/Default[E]/files/.yarnrc.yml +0 -3
  55. package/files/templates/Default[E]/files/README.md +0 -45
  56. package/files/templates/Default[E]/files/app.config.ts +0 -69
  57. package/files/templates/Default[E]/files/assets/fonts/SpaceMono-Regular.ttf +0 -0
  58. package/files/templates/Default[E]/files/assets/images/adaptive-icon.png +0 -0
  59. package/files/templates/Default[E]/files/assets/images/favicon.png +0 -0
  60. package/files/templates/Default[E]/files/assets/images/icon.png +0 -0
  61. package/files/templates/Default[E]/files/assets/images/splash-icon.png +0 -0
  62. package/files/templates/Default[E]/files/babel.config.js +0 -10
  63. package/files/templates/Default[E]/files/components/.gitkeep +0 -0
  64. package/files/templates/Default[E]/files/components/ui/.gitkeep +0 -0
  65. package/files/templates/Default[E]/files/constants/theme.ts +0 -18
  66. package/files/templates/Default[E]/files/eas.json +0 -32
  67. package/files/templates/Default[E]/files/eslint.config.mjs +0 -181
  68. package/files/templates/Default[E]/files/global.css +0 -47
  69. package/files/templates/Default[E]/files/hooks/useColorScheme.ts +0 -17
  70. package/files/templates/Default[E]/files/index.ts +0 -11
  71. package/files/templates/Default[E]/files/lib/data.ts +0 -197
  72. package/files/templates/Default[E]/files/lib/utils/index.ts +0 -11
  73. package/files/templates/Default[E]/files/lib/utils/polyfills.ts +0 -29
  74. package/files/templates/Default[E]/files/lib/wix/client.ts +0 -12
  75. package/files/templates/Default[E]/files/lib/wix/error.ts +0 -3
  76. package/files/templates/Default[E]/files/lib/wix/index.ts +0 -2
  77. package/files/templates/Default[E]/files/metro.config.js +0 -63
  78. package/files/templates/Default[E]/files/nativewind-env.d.ts +0 -1
  79. package/files/templates/Default[E]/files/pnpm-workspace.yaml +0 -3
  80. package/files/templates/Default[E]/files/scripts/reset-project.ts +0 -116
  81. package/files/templates/Default[E]/files/tailwind.config.js +0 -63
  82. package/files/templates/Default[E]/files/tsconfig.json +0 -46
  83. package/files/templates/Default[E]/files/types/reset.d.ts +0 -1
  84. package/files/templates/Default[E]/lucy.json +0 -86
  85. package/files/templates/Default[M]/files/.cursorignore +0 -4
  86. package/files/templates/Default[M]/files/.editorconfig +0 -10
  87. package/files/templates/Default[M]/files/.nvmrc +0 -1
  88. package/files/templates/Default[M]/files/.prettierignore +0 -23
  89. package/files/templates/Default[M]/files/.prettierrc.json +0 -15
  90. package/files/templates/Default[M]/files/.stylelintrc.js +0 -8
  91. package/files/templates/Default[M]/files/.yarnrc +0 -1
  92. package/files/templates/Default[M]/files/.yarnrc.yml +0 -3
  93. package/files/templates/Default[M]/files/README.md +0 -109
  94. package/files/templates/Default[M]/files/currents.config.ts +0 -5
  95. package/files/templates/Default[M]/files/nx.json +0 -25
  96. package/files/templates/Default[M]/files/pnpm-workspace.yaml +0 -11
  97. package/files/templates/Default[M]/files/tsconfig.json +0 -6
  98. package/files/templates/Default[M]/files/typedoc.json +0 -25
  99. package/files/templates/Default[M]/files/vitest.config.ts +0 -27
  100. package/files/templates/Default[M]/lucy.json +0 -69
  101. package/files/templates/Default[T]/files/.cursorignore +0 -4
  102. package/files/templates/Default[T]/lucy.json +0 -9
  103. package/files/templates/expo verse[E]/files/.nvmrc +0 -1
  104. package/files/templates/expo verse[E]/files/.prettierignore +0 -23
  105. package/files/templates/expo verse[E]/files/.prettierrc.js +0 -16
  106. package/files/templates/expo verse[E]/files/.stylelintrc.json +0 -8
  107. package/files/templates/expo verse[E]/files/.vscode/extensions.json +0 -10
  108. package/files/templates/expo verse[E]/files/.vscode/launch.json +0 -54
  109. package/files/templates/expo verse[E]/files/.vscode/settings.json +0 -30
  110. package/files/templates/expo verse[E]/files/.vscode/tasks.json +0 -0
  111. package/files/templates/expo verse[E]/files/.yarnrc +0 -1
  112. package/files/templates/expo verse[E]/files/.yarnrc.yml +0 -8
  113. package/files/templates/expo verse[E]/files/App.tsx +0 -63
  114. package/files/templates/expo verse[E]/files/DEBUGGING.md +0 -126
  115. package/files/templates/expo verse[E]/files/README.md +0 -45
  116. package/files/templates/expo verse[E]/files/android/app/build.gradle +0 -177
  117. package/files/templates/expo verse[E]/files/android/app/debug.keystore +0 -0
  118. package/files/templates/expo verse[E]/files/android/app/proguard-rules.pro +0 -14
  119. package/files/templates/expo verse[E]/files/android/app/src/debug/AndroidManifest.xml +0 -7
  120. package/files/templates/expo verse[E]/files/android/app/src/main/AndroidManifest.xml +0 -33
  121. package/files/templates/expo verse[E]/files/android/app/src/main/java/so/sunnysideup/daily_verse/MainActivity.kt +0 -65
  122. package/files/templates/expo verse[E]/files/android/app/src/main/java/so/sunnysideup/daily_verse/MainApplication.kt +0 -57
  123. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable/ic_launcher_background.xml +0 -6
  124. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable/rn_edit_text_material.xml +0 -37
  125. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png +0 -0
  126. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png +0 -0
  127. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-night-hdpi/splashscreen_logo.png +0 -0
  128. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-night-mdpi/splashscreen_logo.png +0 -0
  129. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-night-xhdpi/splashscreen_logo.png +0 -0
  130. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-night-xxhdpi/splashscreen_logo.png +0 -0
  131. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-night-xxxhdpi/splashscreen_logo.png +0 -0
  132. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png +0 -0
  133. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png +0 -0
  134. package/files/templates/expo verse[E]/files/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png +0 -0
  135. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +0 -6
  136. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +0 -6
  137. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  138. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  139. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.webp +0 -0
  140. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  141. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  142. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  143. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.webp +0 -0
  144. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  145. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  146. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  147. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.webp +0 -0
  148. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  149. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  150. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  151. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.webp +0 -0
  152. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  153. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  154. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  155. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp +0 -0
  156. package/files/templates/expo verse[E]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  157. package/files/templates/expo verse[E]/files/android/app/src/main/res/values/colors.xml +0 -6
  158. package/files/templates/expo verse[E]/files/android/app/src/main/res/values/strings.xml +0 -7
  159. package/files/templates/expo verse[E]/files/android/app/src/main/res/values/styles.xml +0 -12
  160. package/files/templates/expo verse[E]/files/android/app/src/main/res/values-night/colors.xml +0 -3
  161. package/files/templates/expo verse[E]/files/android/build.gradle +0 -37
  162. package/files/templates/expo verse[E]/files/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  163. package/files/templates/expo verse[E]/files/android/gradle/wrapper/gradle-wrapper.properties +0 -7
  164. package/files/templates/expo verse[E]/files/android/gradle.properties +0 -59
  165. package/files/templates/expo verse[E]/files/android/gradlew +0 -251
  166. package/files/templates/expo verse[E]/files/android/gradlew.bat +0 -94
  167. package/files/templates/expo verse[E]/files/android/settings.gradle +0 -39
  168. package/files/templates/expo verse[E]/files/app.config.ts +0 -77
  169. package/files/templates/expo verse[E]/files/assets/data/de.csv +0 -949
  170. package/files/templates/expo verse[E]/files/assets/data/en.csv +0 -949
  171. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-Black.ttf +0 -0
  172. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-BlackItalic.ttf +0 -0
  173. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-Bold.ttf +0 -0
  174. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-BoldItalic.ttf +0 -0
  175. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-ExtraBold.ttf +0 -0
  176. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-ExtraBoldItalic.ttf +0 -0
  177. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-Italic.ttf +0 -0
  178. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-Medium.ttf +0 -0
  179. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-MediumItalic.ttf +0 -0
  180. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  181. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-SemiBold.ttf +0 -0
  182. package/files/templates/expo verse[E]/files/assets/fonts/PlayfairDisplay-SemiBoldItalic.ttf +0 -0
  183. package/files/templates/expo verse[E]/files/assets/fonts/SpaceMono-Regular.ttf +0 -0
  184. package/files/templates/expo verse[E]/files/assets/images/andorid/background.png +0 -0
  185. package/files/templates/expo verse[E]/files/assets/images/android-dark.png +0 -0
  186. package/files/templates/expo verse[E]/files/assets/images/android-light.png +0 -0
  187. package/files/templates/expo verse[E]/files/assets/images/background.png +0 -0
  188. package/files/templates/expo verse[E]/files/assets/images/ios-dark.png +0 -0
  189. package/files/templates/expo verse[E]/files/assets/images/ios-light.png +0 -0
  190. package/files/templates/expo verse[E]/files/assets/images/ios-tinted.png +0 -0
  191. package/files/templates/expo verse[E]/files/assets/images/splash-icon-dark.png +0 -0
  192. package/files/templates/expo verse[E]/files/assets/images/splash-icon-light.png +0 -0
  193. package/files/templates/expo verse[E]/files/babel.config.js +0 -10
  194. package/files/templates/expo verse[E]/files/components/.gitkeep +0 -0
  195. package/files/templates/expo verse[E]/files/components/MainScreen.tsx +0 -299
  196. package/files/templates/expo verse[E]/files/components/Share.tsx +0 -132
  197. package/files/templates/expo verse[E]/files/components/ui/.gitkeep +0 -0
  198. package/files/templates/expo verse[E]/files/components/ui/dev.tsx +0 -48
  199. package/files/templates/expo verse[E]/files/constants/config.ts +0 -30
  200. package/files/templates/expo verse[E]/files/constants/theme.ts +0 -18
  201. package/files/templates/expo verse[E]/files/data/de.csv +0 -219
  202. package/files/templates/expo verse[E]/files/data/en.csv +0 -219
  203. package/files/templates/expo verse[E]/files/data/version.json +0 -4
  204. package/files/templates/expo verse[E]/files/eas.json +0 -47
  205. package/files/templates/expo verse[E]/files/eslint.config.mjs +0 -185
  206. package/files/templates/expo verse[E]/files/global.css +0 -47
  207. package/files/templates/expo verse[E]/files/hooks/useColorScheme.ts +0 -17
  208. package/files/templates/expo verse[E]/files/index.ts +0 -28
  209. package/files/templates/expo verse[E]/files/lib/content.ts +0 -31
  210. package/files/templates/expo verse[E]/files/lib/data.ts +0 -180
  211. package/files/templates/expo verse[E]/files/lib/helper.ts +0 -54
  212. package/files/templates/expo verse[E]/files/lib/index.ts +0 -21
  213. package/files/templates/expo verse[E]/files/lib/state.ts +0 -128
  214. package/files/templates/expo verse[E]/files/lib/storage.ts +0 -17
  215. package/files/templates/expo verse[E]/files/lib/taskManager/index.ts +0 -38
  216. package/files/templates/expo verse[E]/files/lib/taskManager/loadData.ts +0 -14
  217. package/files/templates/expo verse[E]/files/lib/utils/index.ts +0 -11
  218. package/files/templates/expo verse[E]/files/lib/utils/polyfills.ts +0 -29
  219. package/files/templates/expo verse[E]/files/lib/utils/screenshot.ts +0 -77
  220. package/files/templates/expo verse[E]/files/lucy.json +0 -8
  221. package/files/templates/expo verse[E]/files/metro.config.js +0 -81
  222. package/files/templates/expo verse[E]/files/models/index.ts +0 -28
  223. package/files/templates/expo verse[E]/files/nativewind-env.d.ts +0 -1
  224. package/files/templates/expo verse[E]/files/package.json +0 -102
  225. package/files/templates/expo verse[E]/files/pnpm-workspace.yaml +0 -3
  226. package/files/templates/expo verse[E]/files/scripts/convert-verses.ts +0 -309
  227. package/files/templates/expo verse[E]/files/scripts/move-artifacts.ts +0 -83
  228. package/files/templates/expo verse[E]/files/scripts/reset-project.ts +0 -116
  229. package/files/templates/expo verse[E]/files/tailwind.config.js +0 -63
  230. package/files/templates/expo verse[E]/files/tsconfig.json +0 -45
  231. package/files/templates/expo verse[E]/files/types/index.ts +0 -4
  232. package/files/templates/expo verse[E]/files/types/reset.d.ts +0 -1
  233. package/files/templates/expo verse[E]/lucy.json +0 -86
  234. package/files/templates/velo[D]/files/.cursorignore +0 -4
  235. package/files/templates/velo[D]/files/.gitmodules +0 -0
  236. package/files/templates/velo[D]/files/.madgerc +0 -8
  237. package/files/templates/velo[D]/files/.nvmrc +0 -1
  238. package/files/templates/velo[D]/files/.prettierignore +0 -23
  239. package/files/templates/velo[D]/files/.prettierrc.js +0 -16
  240. package/files/templates/velo[D]/files/.stylelintrc.js +0 -9
  241. package/files/templates/velo[D]/files/.yarnrc.yml +0 -2
  242. package/files/templates/velo[D]/files/currents.config.js +0 -5
  243. package/files/templates/velo[D]/files/cypress/e2e/base/base.cy.ts +0 -14
  244. package/files/templates/velo[D]/files/cypress/fixtures/example.json +0 -5
  245. package/files/templates/velo[D]/files/cypress/support/commands.ts +0 -37
  246. package/files/templates/velo[D]/files/cypress/support/e2e.ts +0 -24
  247. package/files/templates/velo[D]/files/cypress/tsconfig.json +0 -9
  248. package/files/templates/velo[D]/files/cypress.config.mjs +0 -19
  249. package/files/templates/velo[D]/files/eslint.config.mjs +0 -186
  250. package/files/templates/velo[D]/files/local.tsconfig.json +0 -61
  251. package/files/templates/velo[D]/files/typedoc.json +0 -25
  252. package/files/templates/velo[D]/files/typescript/__mocks__/.gitkeep +0 -0
  253. package/files/templates/velo[D]/files/typescript/backend/config/authz.ts +0 -47
  254. package/files/templates/velo[D]/files/typescript/backend/config/env.ts +0 -8
  255. package/files/templates/velo[D]/files/typescript/backend/config/index.ts +0 -26
  256. package/files/templates/velo[D]/files/typescript/backend/config/mail.ts +0 -10
  257. package/files/templates/velo[D]/files/typescript/backend/config/nats.ts +0 -6
  258. package/files/templates/velo[D]/files/typescript/backend/data.ts +0 -0
  259. package/files/templates/velo[D]/files/typescript/backend/events.ts +0 -0
  260. package/files/templates/velo[D]/files/typescript/backend/http-functions.ts +0 -81
  261. package/files/templates/velo[D]/files/typescript/backend/lib/http-functions/sync.ts +0 -270
  262. package/files/templates/velo[D]/files/typescript/backend/permissions.json +0 -17
  263. package/files/templates/velo[D]/files/typescript/pages/.gitkeep +0 -0
  264. package/files/templates/velo[D]/files/typescript/public/.gitkeep +0 -0
  265. package/files/templates/velo[D]/files/typescript/public/config/env.ts +0 -9
  266. package/files/templates/velo[D]/files/typescript/public/config/index.ts +0 -76
  267. package/files/templates/velo[D]/files/typescript/public/config/locales.ts +0 -30
  268. package/files/templates/velo[D]/files/typescript/public/config/theme.ts +0 -110
  269. package/files/templates/velo[D]/files/typescript/public/i18n/default.ts +0 -123
  270. package/files/templates/velo[D]/files/typescript/public/i18n/en.ts +0 -117
  271. package/files/templates/velo[D]/files/typescript/public/models/collections/member_roles.mode.ts +0 -21
  272. package/files/templates/velo[D]/files/typescript/public/models/collections/organization.model.ts +0 -38
  273. package/files/templates/velo[D]/files/typescript/public/models/collections/plan.model.ts +0 -94
  274. package/files/templates/velo[D]/files/typescript/public/models/collections/stage.model.ts +0 -14
  275. package/files/templates/velo[D]/files/typescript/public/models/collections/subscriptions.model.ts +0 -80
  276. package/files/templates/velo[D]/files/typescript/public/models/collections/tag.model.ts +0 -15
  277. package/files/templates/velo[D]/files/typescript/public/models/collections/translations.model.ts +0 -16
  278. package/files/templates/velo[D]/files/typescript/public/models/modules/authz.model.ts +0 -31
  279. package/files/templates/velo[D]/files/typescript/public/models/modules/organization.ts +0 -20
  280. package/files/templates/velo[D]/files/typescript/public/models/splitwise.model.ts +0 -18
  281. package/files/templates/velo[D]/files/typescript/public/models/store/local.model.ts +0 -10
  282. package/files/templates/velo[D]/files/typescript/public/models/store/memory.model.ts +0 -10
  283. package/files/templates/velo[D]/files/typescript/public/models/store/session.model.ts +0 -10
  284. package/files/templates/velo[D]/files/typescript/public/models/wix/ecom/payment.ts +0 -236
  285. package/files/templates/velo[D]/files/typescript/public/scss/app.scss +0 -0
  286. package/files/templates/velo[D]/files/typescript/styles/.gitkeep +0 -0
  287. package/files/templates/velo[D]/files/typescript/styles/global.scss +0 -0
  288. package/files/templates/velo[D]/files/typescript/tsconfig.json +0 -72
  289. package/files/templates/velo[D]/files/vitest.config.ts +0 -45
  290. package/files/templates/velo[D]/lucy.json +0 -147
@@ -1,81 +0,0 @@
1
- /* eslint-disable @typescript-eslint/naming-convention */
2
- import { batchCheckUpdateState, clearStale, getImageUploadUrl, insertItemBatch, isAlive, saveItemBatch } from 'backend/lib/http-functions/sync';
3
- import { WixHttpFunctionRequest } from 'wix-http-functions';
4
-
5
- /**------------------------------------------------------------------------
6
- ** Health-Check endpoint
7
- * This function are for Health-Check
8
- * https://sunnyside-up.wixstudio.com/yeva/_functions/healthCheck
9
- *------------------------------------------------------------------------**/
10
- /**
11
- * Handle the HealthCheck request
12
- * @param request The request object
13
- * @returns The response object
14
- */
15
-
16
- export function get_healthCheck(request: WixHttpFunctionRequest) {
17
- return ok({ body: "I am alive 🦄!" });
18
- }
19
- /*--------------- END OF SECTION --------------*/
20
-
21
- /**------------------------------------------------------------------------
22
- ** Velo-Sync endpoints
23
- * This function are for the velo-sync functionality
24
- * https://www.npmjs.com/package/velo-sync
25
- *------------------------------------------------------------------------**/
26
- /**
27
- * Handle the isAlive request
28
- * @param request The request object
29
- * @returns The response object
30
- */
31
- export async function post_isAlive(request: WixHttpFunctionRequest) {
32
- return await isAlive(request);
33
- }
34
-
35
- /**
36
- * Handle the insertItemBatch request
37
- * @param request The request object
38
- * @returns The response object
39
- */
40
- export async function post_insertItemBatch(request: WixHttpFunctionRequest) {
41
-
42
- return await insertItemBatch(request);
43
- }
44
-
45
- /**
46
- * Handle the saveItemBatch request
47
- * @param request The request object
48
- * @returns The response object
49
- */
50
- export async function post_saveItemBatch(request: WixHttpFunctionRequest) {
51
- return await saveItemBatch(request);
52
- }
53
-
54
- /**
55
- * Handle the clearStale request
56
- * @param request The request object
57
- * @returns The response object
58
- */
59
- export async function post_clearStale(request: WixHttpFunctionRequest) {
60
- return await clearStale(request);
61
- }
62
-
63
- /**
64
- * Handle the batchCheckUpdateState request
65
- * @param request The request object
66
- * @returns The response object
67
- */
68
- export async function post_batchCheckUpdateState(request: WixHttpFunctionRequest) {
69
- return await batchCheckUpdateState(request);
70
- }
71
-
72
- /**
73
- * Handle the getImageUploadUrl request
74
- * @param request The request object
75
- * @returns The response object
76
- */
77
- export async function post_getImageUploadUrl(request: WixHttpFunctionRequest) {
78
- return await getImageUploadUrl(request);
79
- }
80
- /*--------------- END OF SECTION --------------*/
81
-
@@ -1,270 +0,0 @@
1
- /* eslint-disable @typescript-eslint/no-unsafe-call */
2
- /* eslint-disable @typescript-eslint/no-unsafe-argument */
3
- /* eslint-disable @typescript-eslint/no-unsafe-return */
4
- /* eslint-disable @typescript-eslint/naming-convention */
5
- /* eslint-disable @typescript-eslint/no-unsafe-member-access */
6
- /* eslint-disable @typescript-eslint/no-explicit-any */
7
- /* eslint-disable @typescript-eslint/no-unsafe-assignment */
8
-
9
- import crypto from 'crypto';
10
- import wixData from 'wix-data';
11
- import { forbidden, ok, serverError, WixHttpFunctionRequest, WixHttpFunctionResponse } from 'wix-http-functions';
12
- import { mediaManager } from 'wix-media-backend';
13
- import wixSecretsBackend from 'wix-secrets-backend';
14
-
15
- /**----------------------------------------------
16
- * * INFO
17
- * URL to call this HTTP function from your published site looks like:
18
- * Premium site - https://mysite.com/_functions/example/multiply?leftOperand=3&rightOperand=4
19
- * Free site - https://username.wixsite.com/mysite/_functions/example/multiply?leftOperand=3&rightOperand=4
20
- *
21
- * URL to test this HTTP function from your saved site looks like:
22
- * Premium site - https://mysite.com/_functions-dev/example/multiply?leftOperand=3&rightOperand=4
23
- * Free site - https://username.wixsite.com/mysite/_functions-dev/example/multiply?leftOperand=3&rightOperand=4
24
- *---------------------------------------------**/
25
-
26
- //! WARNING: The following code is taken out of velo-sync package.
27
- //! WARNING: This serves as example and is not tested.
28
-
29
- class ForbiddenError extends Error {
30
- constructor(message: string) {
31
- super(message);
32
- this.type = FORBIDDEN;
33
- }
34
- type: string;
35
- }
36
-
37
- const FORBIDDEN = 'forbidden';
38
-
39
- /**
40
- * Validates the request and parses the payload
41
- * @param request - the request object
42
- * @returns the parsed payload
43
- */
44
- export async function validateAndParseRequest(request: WixHttpFunctionRequest) {
45
- const payload = await request.body.text();
46
- const payloadJson = JSON.parse(payload, dateReviver) as any;
47
- const secret = await wixSecretsBackend.getSecret('velo-sync');
48
- const hmac = crypto.createHmac('sha256', secret);
49
- hmac.update(JSON.stringify(payloadJson.data, dateReplacer));
50
- const digest = hmac.digest('hex');
51
- if (digest !== payloadJson.signature){
52
- const forbiddenError = new ForbiddenError('invalid signature check');
53
- forbiddenError.type = FORBIDDEN;
54
- throw forbiddenError;
55
- }
56
-
57
- return payloadJson.data;
58
- }
59
-
60
- /**
61
- * Logs the request and handles the response
62
- * @param name - the name of the request
63
- * @param handler - the handler function
64
- * @returns the response object
65
- */
66
- export async function logRequest(name:string, handler: () => Promise<any>) {
67
- console.log(name, 'start');
68
- const start = new Date().getTime();
69
- try {
70
- const response = await handler();
71
- const now = new Date().getTime();
72
- console.log(name, 'completed ok, time:', now - start);
73
-
74
- return ok({ body: response });
75
- }
76
- catch (e: any){
77
- const now = new Date().getTime();
78
- if (e.type === FORBIDDEN){
79
- console.log(name, 'forbidden:', e.message, ', time:', now - start);
80
-
81
- return forbidden({ body: e.message });
82
- }
83
- else {
84
- console.log(name, 'failed with error:', e.message, ', time:', now - start);
85
-
86
- return serverError({ body: e.message });
87
- }
88
- }
89
- }
90
-
91
- /**
92
- * Checks if the service is alive
93
- * @param request - the request object
94
- * @returns the response object
95
- */
96
- export async function isAlive(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
97
- return await logRequest('isAlive', async () => {
98
- const data = await validateAndParseRequest(request);
99
- if (data.isAlive === '?')
100
- {return 'ok';}
101
- else
102
- {throw new Error('protocol error - the isAlive API expects isAlive member in the data payload');}
103
- });
104
- }
105
-
106
- /**
107
- * Inserts a batch of items
108
- * @param request - the request object
109
- * @returns the response object
110
- */
111
- export async function insertItemBatch(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
112
- return await logRequest('insertItemBatch', async () => {
113
- const data = await validateAndParseRequest(request);
114
- const itemsToInsert = data.items;
115
- const collection = data.collection;
116
-
117
- return await wixData.bulkInsert(collection, itemsToInsert, { suppressAuth: true });
118
- });
119
- }
120
-
121
- /**
122
- * Saves a batch of items
123
- * @param request - the request object
124
- * @returns the response object
125
- */
126
- export async function saveItemBatch(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
127
- return await logRequest('saveItemBatch', async () => {
128
- const data = await validateAndParseRequest(request);
129
- const items = data.items;
130
- const collection = data.collection;
131
-
132
- return await wixData.bulkSave(collection, items, { suppressAuth: true });
133
- });
134
- }
135
-
136
- /**
137
- * Clears stale items
138
- * @param request - the request object
139
- * @returns the response object
140
- */
141
- export async function clearStale(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
142
- return await logRequest('clearStale', async () => {
143
- const data = await validateAndParseRequest(request);
144
- const collection = data.collection;
145
-
146
- const date = new Date();
147
- date.setDate(date.getDate() - 3);
148
-
149
- const res = await wixData.query(collection)
150
- .lt('_updatedDate', date)
151
- .find({ suppressAuth: true });
152
- console.log(`clearStale - found ${res.totalCount} items to remove, current page ${res.length}`);
153
- const itemsToDelete = res.items;
154
- const ids = itemsToDelete.map((_: any )=> _._id);
155
- const removeResult = await wixData.bulkRemove(collection, ids, { suppressAuth: true });
156
-
157
- return { itemsRemoved: removeResult.removed, staleItems: res.totalCount - removeResult.removed, errors: removeResult.errors };
158
- });
159
- }
160
-
161
- /**
162
- * Batch checks the update state of items
163
- * @param request - the request object
164
- * @returns the response object
165
- */
166
- export async function batchCheckUpdateState(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
167
- return await logRequest('batchCheckUpdateState', async () => {
168
- const data = await validateAndParseRequest(request);
169
-
170
- const collection = data.collection;
171
- const items = data.items;
172
- const dryrun = data.dryrun;
173
-
174
- const queries = items.map((item: any) => wixData.query(collection).eq('_id', item._id));
175
-
176
- const query = queries.reduce((accuQuery: any, query: any) => (accuQuery)?accuQuery.or(query): query);
177
- const result:any[] = [];
178
- const itemsToUpdate: any[] = [];
179
- const res = await query.find({ suppressAuth: true });
180
- items.forEach((item: any) => {
181
- const foundItem = res.items.find((_: any) => _._id === item._id);
182
- if (foundItem && foundItem._hash === item._hash){
183
- itemsToUpdate.push(foundItem);
184
- result.push({ status: 'ok', _id: item._id });
185
- }
186
- else if (foundItem){
187
- result.push({ status: 'need-update', _id: item._id });
188
- }
189
- else {
190
- result.push({ status: 'not-found', _id: item._id });
191
- }
192
- });
193
- if (!dryrun)
194
- {await wixData.bulkUpdate(collection, itemsToUpdate, { suppressAuth: true });}
195
-
196
- return JSON.stringify(result);
197
- });
198
- }
199
-
200
- /**
201
- * Gets an image upload URL
202
- * @param request - the request object
203
- * @returns the response object
204
- */
205
- export async function getImageUploadUrl(request: WixHttpFunctionRequest): Promise<WixHttpFunctionResponse> {
206
- return await logRequest('getImageUploadUrl', async () => {
207
- const data = await validateAndParseRequest(request);
208
-
209
- const mimeType = data.mimeTypes;
210
- const _id = data._id;
211
- const fieldName = data.fieldName;
212
- const collection = data.collection;
213
- const mediaType = data.mediaType;
214
-
215
- const uploadUrlObj = await mediaManager.getUploadUrl('/synced-images',
216
- {
217
- 'mediaOptions': {
218
- mimeType,
219
- mediaType
220
- },
221
- 'metadataOptions': {
222
- 'isPrivate': false,
223
- 'isVisitorUpload': false,
224
- 'context': {
225
- _id,
226
- fieldName,
227
- collection
228
- }
229
- }
230
- });
231
-
232
- return uploadUrlObj;
233
- });
234
- }
235
-
236
- const dateRegex = /^Date\((\d+)\)$/;
237
- /**
238
- *
239
- * @param key
240
- * @param value
241
- */
242
-
243
- /**
244
- * Reviver function for JSON.parse that converts string representations of Date objects to Date objects
245
- * @param key The key of the value
246
- * @param value The value to convert
247
- * @returns The converted Date object
248
- */
249
- export function dateReviver(key: string, value: string) {
250
- const match = dateRegex.exec(value);
251
- if (match){
252
- return new Date(Number(match[1]));
253
- }
254
-
255
- return value;
256
- }
257
-
258
- /**
259
- * Replacer function for JSON.stringify that converts Date objects to a string representation
260
- * @param key The key of the value
261
- * @param value The value to convert
262
- * @returns The converted value
263
- */
264
- export function dateReplacer(this: any, key: string, value: string) {
265
- const v = this[key];
266
- if (v instanceof Date)
267
- {return 'Date('+v.getTime()+')';}
268
- else
269
- {return value;}
270
- }
@@ -1,17 +0,0 @@
1
- {
2
- "web-methods": {
3
- "*": {
4
- "*": {
5
- "siteOwner": {
6
- "invoke": true
7
- },
8
- "siteMember": {
9
- "invoke": true
10
- },
11
- "anonymous": {
12
- "invoke": true
13
- }
14
- }
15
- }
16
- }
17
- }
@@ -1,9 +0,0 @@
1
- import { satisfies } from 'effect/Function';
2
- import { PublicEnvironment } from 'public/lib/config/model';
3
-
4
- export const environment = satisfies<PublicEnvironment>()({
5
- gitTag: 'development',
6
- debug: true,
7
- } as const);
8
-
9
- export type Environment = typeof environment;
@@ -1,76 +0,0 @@
1
- import { satisfies } from 'effect/Function';
2
- import { Effect, Schedule } from 'effect/index';
3
- import { PublicConfig } from 'public/lib/config/model';
4
- import { parseError } from 'public/lib/error';
5
- import { isDataError } from 'public/lib/error/data';
6
-
7
- import { environment } from './env';
8
- import { defaultLocale } from './locales';
9
-
10
- const simpleSchedule = Schedule.fromDelays(50, 100, 200, 400, 800);
11
-
12
- const advancedSchedule = Schedule.intersect(
13
- Schedule.addDelay(
14
- Schedule.recurWhileEffect((e) =>
15
- Effect.gen(function* () {
16
- if (typeof e === 'object' && e !== null && 'cause' in e) {
17
- if (isDataError(e.cause)) {
18
- const errorCodes = [
19
- 'WDE0028',
20
- 'WDE0053',
21
- 'WDE0054',
22
- 'WDE0055',
23
- 'WDE0110',
24
- 'WDE0115',
25
- 'WDE0116',
26
- 'WDE0128',
27
- 'WDE0149',
28
- 'WDE0178',
29
- 'WDE0180',
30
- ];
31
- if (errorCodes.includes(e.cause.code)) {
32
- yield* Effect.logWarning('Retrying due to known error:', e);
33
-
34
- return true;
35
- }
36
- }
37
- }
38
-
39
- yield* Effect.logDebug('Not retrying due to error:', parseError(e));
40
-
41
- return false;
42
- }),
43
- ),
44
- () => 50,
45
- ),
46
- Schedule.fromDelays(100, 200, 400, 800, 1600, 2000),
47
- );
48
-
49
- export enum Roles {
50
- SUPER_ADMIN = 'super_admin',
51
- OWNER = 'owner',
52
- ADMIN = 'admin',
53
- MEMBER = 'member',
54
- VISITOR = 'visitor',
55
- }
56
-
57
- export const config = satisfies<PublicConfig<typeof Roles>>()({
58
- ...environment,
59
- defaultTimeZone: 'Europe/Zurich',
60
- defaultLanguage: defaultLocale,
61
- languageField: 'language_id',
62
- name: 'yeva',
63
- stateVersion: '0.0.1',
64
- persistErrors: false,
65
- frontendDevMode: true,
66
- simpleRetryPolicy: simpleSchedule,
67
- advancedRetryPolicy: advancedSchedule,
68
- roles: Roles,
69
- urlSchema: {
70
- targetPos: 1,
71
- actionPos: 2,
72
- resource: 0,
73
- },
74
- } as const);
75
-
76
- export type ConfigSchema = typeof config;
@@ -1,30 +0,0 @@
1
- import { LanguageTag } from 'public/lib/models/common/locales.model';
2
-
3
- export const languageTags: LanguageTag[] = [
4
- { isoCode: 'de-CH', short: 'de', name: 'Deutsch', id: '8fdb66f6-4bfd-47c9-a856-fbc2f19ece85' },
5
- { isoCode: 'en-US', short: 'en', name: 'English', id: '2a4ce40c-a478-4ff3-945b-09966f18a909' },
6
- { isoCode: 'fr-FR', short: 'fr', name: 'Français', id: 'e1b0bbeb-d38b-49c1-9b7a-83139ecc9435' },
7
- { isoCode: 'es-ES', short: 'es', name: 'Espanol', id: '8ec50660-fd3e-42e2-b5eb-8dd7aa861775' },
8
- { isoCode: 'it-IT', short: 'it', name: 'Italiano', id: '6fd616fa-8a78-414c-9d52-df082f11368f' },
9
- ];
10
-
11
- export const localeToLanguageTag = new Map<string, LanguageTag>(
12
- languageTags.map(lang => [lang.short, lang])
13
- );
14
-
15
- export const langISOMap = new Map<string, LanguageTag>(
16
- languageTags.map(lang => [lang.isoCode, lang])
17
- );
18
-
19
- export const formLocalsToLocales = new Map<string, Locales[number]>([
20
- ['Deutsch', 'de'],
21
- ['Englisch', 'en'],
22
- ]);
23
-
24
- export const locales = ['de', 'en', 'fr', 'es', 'it'] as const;
25
- export const enabledLocales = ['de', 'en'] as const satisfies readonly Locales[number][];
26
- export const defaultLocale: EnabledLocales[number] = 'en';
27
- export const defaultLocalTag: LanguageTag = localeToLanguageTag.get(defaultLocale) as LanguageTag;
28
-
29
- export type Locales = (typeof locales);
30
- export type EnabledLocales = (typeof enabledLocales);
@@ -1,110 +0,0 @@
1
- import { ThemeSchema } from 'public/lib/models/common/theme.model';
2
-
3
- export const theme: ThemeSchema = {
4
- extraFonts: [],
5
- extraFontName: 'Caveat',
6
- logoUrl: 'https://static.wixstatic.com/media/170496_e7f9760357224702a3865d488de6e52f~mv2.png/v1/fill/w_160,h_107,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/logo.png',
7
- logoSmUrl: 'https://static.wixstatic.com/media/1collectionItemsBaseSchema70496_e7f9760357224702a3865d488de6e52f~mv2.png/v1/fill/w_160,h_107,al_c,q_85,usm_0.66_1.00_0.01,enc_auto/logo.png',
8
- light: {
9
- backgroundAndTextColors: {
10
- color1: '#FFF',
11
- color2: '#E3E3E3',
12
- color3: '#979797',
13
- color4: '#4F4F4F',
14
- color5: '#000000',
15
- },
16
- actionColor: {
17
- color1: '#E8EAED',
18
- color2: '#959EE5',
19
- color3: '#384AD3',
20
- color4: '#25318D',
21
- color5: '#131946',
22
- },
23
- moreColors1: {
24
- color1: '#F0D3DE',
25
- color2: '#F0BDD4',
26
- color3: '#F0A0C4',
27
- color4: '#D0599D',
28
- color5: '#D00E74',
29
- },
30
- moreColors2: {
31
- color1: '#B0CED1',
32
- color2: '#99CDD1',
33
- color3: '#70CBD2',
34
- color4: '#4FC8D1',
35
- color5: '#0AC4D1',
36
- },
37
- moreColors3: {
38
- color1: '#C7D3D5',
39
- color2: '#9AA9AC',
40
- color3: '#677E82',
41
- color4: '#455457',
42
- color5: '#222A2B',
43
- },
44
- fonts: {
45
- fontH1: {
46
- fontFamily: 'Poppins Semi Bold',
47
- fontSize: '88px',
48
- bold: false,
49
- italic: false,
50
- color: '#FFFFFF',
51
- },
52
- fontH2: {
53
- fontFamily: 'Poppins Semi Bold',
54
- fontSize: '72px',
55
- bold: false,
56
- italic: false,
57
- color: '#FFFFFF',
58
- },
59
- fontH3: {
60
- fontFamily: 'Poppins Semi Bold',
61
- fontSize: '50px',
62
- bold: false,
63
- italic: false,
64
- color: '#FFFFFF',
65
- },
66
- fontH4: {
67
- fontFamily: 'Poppins Semi Bold',
68
- fontSize: '40px',
69
- bold: false,
70
- italic: false,
71
- color: '#FFFFFF',
72
- },
73
- fontH5: {
74
- fontFamily: 'Poppins Semi Bold',
75
- fontSize: '28px',
76
- bold: false,
77
- italic: false,
78
- color: '#FFFFFF',
79
- },
80
- fontH6: {
81
- fontFamily: 'Poppins Semi Bold',
82
- fontSize: '22px',
83
- bold: false,
84
- italic: false,
85
- color: '#FFFFFF',
86
- },
87
- paragraph1: {
88
- fontFamily: 'Avenir Light',
89
- fontSize: '18px',
90
- bold: false,
91
- italic: false,
92
- color: '#FFFFFF',
93
- },
94
- paragraph2: {
95
- fontFamily: 'Avenir Light',
96
- fontSize: '15px',
97
- bold: false,
98
- italic: false,
99
- color: '#FFFFFF',
100
- },
101
- paragraph3: {
102
- fontFamily: 'Avenir Light',
103
- fontSize: '14px',
104
- bold: false,
105
- italic: false,
106
- color: '#FFFFFF',
107
- }
108
- },
109
- }
110
- };