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.
- package/.yarnrc.yml +0 -1
- package/README.md +117 -102
- package/dist/args.d.ts +1 -6
- package/dist/args.js +103 -7
- package/dist/args.js.map +1 -0
- package/dist/commands/checks.d.ts +7 -0
- package/dist/commands/checks.js +47 -0
- package/dist/commands/checks.js.map +1 -0
- package/dist/commands/cleanup.d.ts +4 -0
- package/dist/commands/cleanup.js +10 -0
- package/dist/commands/cleanup.js.map +1 -0
- package/dist/commands/copy.d.ts +6 -0
- package/dist/commands/copy.js +20 -0
- package/dist/commands/copy.js.map +1 -0
- package/dist/commands/edit.d.ts +10 -0
- package/dist/commands/edit.js +67 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/exec.d.ts +7 -0
- package/dist/commands/exec.js +67 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/git.d.ts +8 -0
- package/dist/commands/git.js +104 -0
- package/dist/commands/git.js.map +1 -0
- package/dist/commands/home.d.ts +4 -0
- package/dist/commands/home.js +18 -0
- package/dist/commands/home.js.map +1 -0
- package/dist/commands/install.d.ts +8 -0
- package/dist/commands/install.js +165 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/read.d.ts +6 -0
- package/dist/commands/read.js +40 -0
- package/dist/commands/read.js.map +1 -0
- package/dist/commands/write.d.ts +7 -0
- package/dist/commands/write.js +28 -0
- package/dist/commands/write.js.map +1 -0
- package/dist/commands.js +1 -0
- package/dist/commands.js.map +1 -0
- package/dist/config.d.ts +29 -7
- package/dist/config.js +90 -26
- package/dist/config.js.map +1 -0
- package/dist/error.d.ts +1 -9
- package/dist/error.js +1 -2
- package/dist/error.js.map +1 -0
- package/dist/helpers.d.ts +9 -0
- package/dist/helpers.js +83 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +77 -9
- package/dist/index.js.map +1 -0
- package/dist/init/blocks.d.ts +5 -0
- package/dist/init/blocks.js +62 -0
- package/dist/init/blocks.js.map +1 -0
- package/dist/init/cargo.d.ts +2 -0
- package/dist/init/cargo.js +21 -0
- package/dist/init/cargo.js.map +1 -0
- package/dist/init/expo.d.ts +5 -0
- package/dist/init/expo.js +52 -0
- package/dist/init/expo.js.map +1 -0
- package/dist/init/gitModules.d.ts +2 -0
- package/dist/init/gitModules.js +13 -0
- package/dist/init/gitModules.js.map +1 -0
- package/dist/init/index.d.ts +4 -0
- package/dist/init/index.js +77 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/monorepo.d.ts +4 -0
- package/dist/init/monorepo.js +48 -0
- package/dist/init/monorepo.js.map +1 -0
- package/dist/init/prepareVelo.d.ts +2 -0
- package/dist/init/prepareVelo.js +16 -0
- package/dist/init/prepareVelo.js.map +1 -0
- package/dist/init/tauri.d.ts +5 -0
- package/dist/init/tauri.js +32 -0
- package/dist/init/tauri.js.map +1 -0
- package/dist/init/templates.d.ts +5 -0
- package/dist/init/templates.js +93 -0
- package/dist/init/templates.js.map +1 -0
- package/dist/init/velo.d.ts +5 -0
- package/dist/init/velo.js +60 -0
- package/dist/init/velo.js.map +1 -0
- package/dist/policy.js +1 -0
- package/dist/policy.js.map +1 -0
- package/dist/prepare.js +1 -0
- package/dist/prepare.js.map +1 -0
- package/dist/runtime.d.ts +1 -1
- package/dist/runtime.js +1 -0
- package/dist/runtime.js.map +1 -0
- package/dist/schemas/gulp.d.ts +25 -0
- package/dist/schemas/gulp.js +8 -0
- package/dist/schemas/gulp.js.map +1 -0
- package/dist/schemas/index.d.ts +10 -0
- package/dist/schemas/index.js +9 -0
- package/dist/schemas/index.js.map +1 -0
- package/dist/schemas/lucy.d.ts +29 -0
- package/dist/schemas/lucy.js +42 -0
- package/dist/schemas/lucy.js.map +1 -0
- package/dist/schemas/tsconfig.js +2 -0
- package/dist/schemas/tsconfig.js.map +1 -0
- package/dist/schemas/types.d.ts +33 -0
- package/dist/schemas/types.js +5 -1
- package/dist/schemas/types.js.map +1 -0
- package/dist/states.js +1 -0
- package/dist/states.js.map +1 -0
- package/dist/tasks/Gulpfile.d.ts +4 -0
- package/dist/tasks/Gulpfile.js +111 -0
- package/dist/tasks/Gulpfile.js.map +1 -0
- package/dist/tasks/gulp/backend.d.ts +4 -0
- package/dist/tasks/gulp/backend.js +92 -0
- package/dist/tasks/gulp/backend.js.map +1 -0
- package/dist/tasks/gulp/checks.d.ts +4 -0
- package/dist/tasks/gulp/checks.js +202 -0
- package/dist/tasks/gulp/checks.js.map +1 -0
- package/dist/tasks/gulp/clean.d.ts +3 -0
- package/dist/tasks/gulp/clean.js +33 -0
- package/dist/tasks/gulp/clean.js.map +1 -0
- package/dist/tasks/gulp/copy.d.ts +3 -0
- package/dist/tasks/gulp/copy.js +34 -0
- package/dist/tasks/gulp/copy.js.map +1 -0
- package/dist/tasks/gulp/helpers.d.ts +3 -0
- package/dist/tasks/gulp/helpers.js +19 -0
- package/dist/tasks/gulp/helpers.js.map +1 -0
- package/dist/tasks/gulp/pages.d.ts +2 -0
- package/dist/tasks/gulp/pages.js +39 -0
- package/dist/tasks/gulp/pages.js.map +1 -0
- package/dist/tasks/gulp/pipeline.d.ts +1 -0
- package/dist/tasks/gulp/pipeline.js +29 -0
- package/dist/tasks/gulp/pipeline.js.map +1 -0
- package/dist/tasks/gulp/public.d.ts +3 -0
- package/dist/tasks/gulp/public.js +50 -0
- package/dist/tasks/gulp/public.js.map +1 -0
- package/dist/tasks/gulp/styles.d.ts +3 -0
- package/dist/tasks/gulp/styles.js +40 -0
- package/dist/tasks/gulp/styles.js.map +1 -0
- package/dist/tasks/gulp/templates.d.ts +2 -0
- package/dist/tasks/gulp/templates.js +45 -0
- package/dist/tasks/gulp/templates.js.map +1 -0
- package/dist/tasks/gulp/types.d.ts +4 -0
- package/dist/tasks/gulp/types.js +293 -0
- package/dist/tasks/gulp/types.js.map +1 -0
- package/dist/tasks/gulp/watchers.d.ts +3 -0
- package/dist/tasks/gulp/watchers.js +59 -0
- package/dist/tasks/gulp/watchers.js.map +1 -0
- package/dist/tasks/index.d.ts +4 -0
- package/dist/tasks/index.js +23 -0
- package/dist/tasks/index.js.map +1 -0
- package/dist/tasks/syncSettings.d.ts +3 -0
- package/dist/tasks/syncSettings.js +18 -0
- package/dist/tasks/syncSettings.js.map +1 -0
- package/dist/utils/index.js +2 -0
- package/dist/utils/index.js.map +1 -0
- package/dist/utils/logger.d.ts +17 -0
- package/dist/utils/logger.js +37 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/wix-sdk/check.d.ts +4 -0
- package/dist/wix-sdk/check.js +23 -0
- package/dist/wix-sdk/check.js.map +1 -0
- package/dist/wix-sdk/client.d.ts +10 -0
- package/dist/wix-sdk/client.js +18 -0
- package/dist/wix-sdk/client.js.map +1 -0
- package/dist/wix-sdk/index.d.ts +4 -0
- package/dist/wix-sdk/index.js +15 -0
- package/dist/wix-sdk/index.js.map +1 -0
- package/dist/wix-sdk/init.d.ts +4 -0
- package/dist/wix-sdk/init.js +51 -0
- package/dist/wix-sdk/init.js.map +1 -0
- package/dist/wix-sdk/run.d.ts +4 -0
- package/dist/wix-sdk/run.js +53 -0
- package/dist/wix-sdk/run.js.map +1 -0
- package/dist/wix-sync/client.d.ts +3 -0
- package/dist/wix-sync/client.js +5 -0
- package/dist/wix-sync/client.js.map +1 -0
- package/dist/wix-sync/export.d.ts +4 -0
- package/dist/wix-sync/export.js +15 -0
- package/dist/wix-sync/export.js.map +1 -0
- package/dist/wix-sync/import.d.ts +4 -0
- package/dist/wix-sync/import.js +26 -0
- package/dist/wix-sync/import.js.map +1 -0
- package/dist/wix-sync/index.d.ts +4 -0
- package/dist/wix-sync/index.js +35 -0
- package/dist/wix-sync/index.js.map +1 -0
- package/dist/wix-sync/init.d.ts +4 -0
- package/dist/wix-sync/init.js +74 -0
- package/dist/wix-sync/init.js.map +1 -0
- package/dist/wix-sync/is-alive.d.ts +4 -0
- package/dist/wix-sync/is-alive.js +23 -0
- package/dist/wix-sync/is-alive.js.map +1 -0
- package/dist/wix-sync/migrate.d.ts +4 -0
- package/dist/wix-sync/migrate.js +21 -0
- package/dist/wix-sync/migrate.js.map +1 -0
- package/dist/wix-sync/sync.d.ts +4 -0
- package/dist/wix-sync/sync.js +26 -0
- package/dist/wix-sync/sync.js.map +1 -0
- package/files/sync-data/data/test.csv +17 -0
- package/files/sync-data/files/lucy.jpg +0 -0
- package/files/sync-data/schema/test.json +11 -0
- package/files/templates/block[D]/files/.stylelintrc.js +8 -0
- package/files/templates/block[D]/lucy.json +9 -0
- package/files/templates/cargo[D]/files/.env +1 -0
- package/files/templates/cargo[D]/files/Cargo.toml +238 -0
- package/files/templates/cargo[D]/files/Makefile.toml +4 -0
- package/files/templates/cargo[D]/files/build/main.rs +35 -0
- package/files/templates/cargo[D]/files/config/beta.json +19 -0
- package/files/templates/cargo[D]/files/config/ci.json +15 -0
- package/files/templates/cargo[D]/files/config/default.json +71 -0
- package/files/templates/cargo[D]/files/config/development.json +10 -0
- package/files/templates/cargo[D]/files/config/produktion.json +5 -0
- package/files/templates/cargo[D]/files/config/stage.json +4 -0
- package/files/templates/cargo[D]/files/locales/todo.yml +3 -0
- package/files/templates/cargo[D]/files/public/index.html +1 -0
- package/files/templates/cargo[D]/lucy.json +15 -0
- package/files/templates/expo[D]/files/.stylelintrc.js +8 -0
- package/files/{expo → templates/expo[D]/files}/eas.json +9 -3
- package/files/templates/expo[D]/files/lib/data.ts +197 -0
- package/files/{expo → templates/expo[D]/files}/metro.config.js +6 -0
- package/files/templates/expo[D]/files/pnpm-workspace.yaml +3 -0
- package/files/templates/expo[D]/lucy.json +86 -0
- package/files/templates/monorepo[D]/files/.editorconfig +10 -0
- package/files/templates/monorepo[D]/files/.nvmrc +1 -0
- package/files/templates/monorepo[D]/files/.prettierignore +23 -0
- package/files/templates/monorepo[D]/files/.prettierrc.json +15 -0
- package/files/templates/monorepo[D]/files/.stylelintrc.js +8 -0
- package/files/templates/monorepo[D]/files/.yarnrc +1 -0
- package/files/templates/monorepo[D]/files/.yarnrc.yml +3 -0
- package/files/templates/monorepo[D]/files/README.md +109 -0
- package/files/templates/monorepo[D]/files/currents.config.ts +5 -0
- package/files/templates/monorepo[D]/files/nx.json +25 -0
- package/files/templates/monorepo[D]/files/pnpm-workspace.yaml +11 -0
- package/files/templates/monorepo[D]/files/tsconfig.json +6 -0
- package/files/templates/monorepo[D]/files/typedoc.json +25 -0
- package/files/templates/monorepo[D]/files/vitest.config.ts +27 -0
- package/files/templates/monorepo[D]/lucy.json +69 -0
- package/files/templates/tauri[D]/lucy.json +9 -0
- package/files/templates/velo[D]/files/.prettierignore +23 -0
- package/files/templates/velo[D]/files/.prettierrc.js +16 -0
- package/files/templates/velo[D]/lucy.json +137 -0
- package/lucy.jpg +0 -0
- package/old/Gulpfile.d.ts +34 -0
- package/old/Gulpfile.js +116 -0
- package/old/Gulpfile.js.map +1 -0
- package/old/gulp/backend.d.ts +3 -0
- package/old/gulp/backend.js +92 -0
- package/old/gulp/backend.js.map +1 -0
- package/old/gulp/checks.d.ts +3 -0
- package/old/gulp/checks.js +205 -0
- package/old/gulp/checks.js.map +1 -0
- package/old/gulp/clean.d.ts +3 -0
- package/old/gulp/clean.js +29 -0
- package/old/gulp/clean.js.map +1 -0
- package/old/gulp/copy.d.ts +2 -0
- package/old/gulp/copy.js +34 -0
- package/old/gulp/copy.js.map +1 -0
- package/old/gulp/helpers.d.ts +2 -0
- package/old/gulp/helpers.js +25 -0
- package/old/gulp/helpers.js.map +1 -0
- package/old/gulp/pages.d.ts +2 -0
- package/old/gulp/pages.js +37 -0
- package/old/gulp/pages.js.map +1 -0
- package/old/gulp/pipeline.d.ts +1 -0
- package/old/gulp/pipeline.js +29 -0
- package/old/gulp/pipeline.js.map +1 -0
- package/old/gulp/public.d.ts +2 -0
- package/old/gulp/public.js +50 -0
- package/old/gulp/public.js.map +1 -0
- package/old/gulp/styles.d.ts +2 -0
- package/old/gulp/styles.js +40 -0
- package/old/gulp/styles.js.map +1 -0
- package/old/gulp/templates.d.ts +2 -0
- package/old/gulp/templates.js +33 -0
- package/old/gulp/templates.js.map +1 -0
- package/old/gulp/types.d.ts +4 -0
- package/old/gulp/types.js +289 -0
- package/old/gulp/types.js.map +1 -0
- package/old/gulp/watchers.d.ts +9 -0
- package/old/gulp/watchers.js +59 -0
- package/old/gulp/watchers.js.map +1 -0
- package/old/helpers.d.ts +32 -0
- package/old/helpers.js +267 -0
- package/old/helpers.js.map +1 -0
- package/{src copy/helpers.ts → old/helpers.ts} +1 -1
- package/old/index.d.ts +59 -0
- package/old/index.js +288 -0
- package/old/index.js.map +1 -0
- package/old/init.d.ts +8 -0
- package/old/init.js +165 -0
- package/old/init.js.map +1 -0
- package/old/models.d.ts +37 -0
- package/old/models.js +2 -0
- package/old/models.js.map +1 -0
- package/old/prepare.d.ts +8 -0
- package/old/prepare.js +20 -0
- package/old/prepare.js.map +1 -0
- package/old/schemas/index.js +2 -0
- package/old/schemas/index.js.map +1 -0
- package/old/schemas/index.ts +0 -0
- package/old/schemas/types.d.ts +0 -0
- package/old/schemas/types.js +2 -0
- package/old/schemas/types.js.map +1 -0
- package/old/schemas/types.ts +0 -0
- package/old/sync.d.ts +2 -0
- package/old/sync.js +88 -0
- package/old/sync.js.map +1 -0
- package/package.json +18 -19
- package/patches/velo-sync+0.0.9.patch +13 -0
- package/src/args.ts +103 -17
- package/src/commands/checks.ts +51 -0
- package/src/commands/cleanup.ts +11 -0
- package/src/commands/copy.ts +28 -0
- package/src/commands/edit.ts +81 -0
- package/src/commands/exec.ts +69 -0
- package/src/commands/git.ts +113 -0
- package/src/commands/home.ts +22 -0
- package/src/commands/install.ts +249 -0
- package/src/commands/read.ts +45 -0
- package/src/commands/write.ts +45 -0
- package/src/config.ts +116 -35
- package/src/error.ts +1 -2
- package/src/helpers.ts +92 -0
- package/src/index.ts +88 -13
- package/src/init/blocks.ts +85 -0
- package/src/init/cargo.ts +25 -0
- package/src/init/expo.ts +69 -0
- package/src/init/gitModules.ts +15 -0
- package/src/init/index.ts +81 -0
- package/src/init/monorepo.ts +72 -0
- package/src/init/prepareVelo.ts +19 -0
- package/src/init/tauri.ts +42 -0
- package/src/init/templates.ts +98 -0
- package/src/init/velo.ts +65 -0
- package/src/runtime.ts +1 -0
- package/src/schemas/gulp.ts +31 -0
- package/src/schemas/index.ts +13 -1
- package/src/schemas/lucy.ts +43 -0
- package/src/schemas/types.ts +40 -0
- package/src/tasks/Gulpfile.ts +207 -0
- package/src/tasks/gulp/backend.ts +113 -0
- package/src/tasks/gulp/checks.ts +218 -0
- package/src/tasks/gulp/clean.ts +38 -0
- package/src/tasks/gulp/copy.ts +38 -0
- package/src/tasks/gulp/helpers.ts +18 -0
- package/src/tasks/gulp/pages.ts +43 -0
- package/src/tasks/gulp/pipeline.ts +31 -0
- package/src/tasks/gulp/public.ts +61 -0
- package/src/tasks/gulp/styles.ts +47 -0
- package/src/tasks/gulp/templates.ts +53 -0
- package/src/tasks/gulp/types.ts +310 -0
- package/src/tasks/gulp/watchers.ts +97 -0
- package/src/tasks/index.ts +24 -0
- package/src/tasks/syncSettings.ts +21 -0
- package/src/types.d.ts +1 -1
- package/src/utils/index.ts +0 -0
- package/src/utils/logger.ts +40 -0
- package/src/wix-sdk/check.ts +24 -0
- package/src/wix-sdk/client.ts +18 -0
- package/src/wix-sdk/index.ts +17 -0
- package/src/wix-sdk/init.ts +54 -0
- package/src/wix-sdk/run.ts +56 -0
- package/src/wix-sync/client.ts +6 -0
- package/src/wix-sync/export.ts +19 -0
- package/src/wix-sync/import.ts +27 -0
- package/src/wix-sync/index.ts +36 -0
- package/src/wix-sync/init.ts +77 -0
- package/src/wix-sync/is-alive.ts +25 -0
- package/src/wix-sync/migrate.ts +23 -0
- package/src/wix-sync/sync.ts +27 -0
- package/tsconfig.json +6 -5
- package/dist/init.d.ts +0 -4
- package/dist/init.js +0 -275
- package/dist/models.js +0 -1
- package/dist/params.d.ts +0 -7
- package/dist/params.js +0 -23
- package/files/expo/lib/data.ts +0 -48
- package/files/expo/lucy.json +0 -8
- package/src/init.ts +0 -392
- /package/dist/{models.d.ts → schemas/tsconfig.d.ts} +0 -0
- /package/{files/expo/components/.gitkeep → dist/utils/index.d.ts} +0 -0
- /package/files/{expo → templates/expo[D]/files}/.nvmrc +0 -0
- /package/files/{expo → templates/expo[D]/files}/.prettierignore +0 -0
- /package/files/{expo → templates/expo[D]/files}/.prettierrc.js +0 -0
- /package/files/{expo → templates/expo[D]/files}/.yarnrc +0 -0
- /package/files/{expo → templates/expo[D]/files}/.yarnrc.yml +0 -0
- /package/files/{expo → templates/expo[D]/files}/README.md +0 -0
- /package/files/{expo → templates/expo[D]/files}/assets/fonts/SpaceMono-Regular.ttf +0 -0
- /package/files/{expo → templates/expo[D]/files}/assets/images/adaptive-icon.png +0 -0
- /package/files/{expo → templates/expo[D]/files}/assets/images/favicon.png +0 -0
- /package/files/{expo → templates/expo[D]/files}/assets/images/icon.png +0 -0
- /package/files/{expo → templates/expo[D]/files}/assets/images/splash-icon.png +0 -0
- /package/files/{expo → templates/expo[D]/files}/babel.config.js +0 -0
- /package/files/{expo/components/ui → templates/expo[D]/files/components}/.gitkeep +0 -0
- /package/files/{velo/typescript/__mocks__ → templates/expo[D]/files/components/ui}/.gitkeep +0 -0
- /package/files/{expo → templates/expo[D]/files}/constants/theme.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/eslint.config.mjs +0 -0
- /package/files/{expo → templates/expo[D]/files}/global.css +0 -0
- /package/files/{expo → templates/expo[D]/files}/hooks/useColorScheme.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/index.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/lib/utils/index.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/lib/utils/polyfills.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/lib/wix/client.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/lib/wix/error.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/lib/wix/index.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/nativewind-env.d.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/scripts/reset-project.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/tailwind.config.js +0 -0
- /package/files/{expo → templates/expo[D]/files}/tsconfig.json +0 -0
- /package/files/{expo → templates/expo[D]/files}/types/reset.d.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/.gitmodules +0 -0
- /package/files/{velo → templates/velo[D]/files}/.madgerc +0 -0
- /package/files/{velo → templates/velo[D]/files}/.nvmrc +0 -0
- /package/files/{velo → templates/velo[D]/files}/.stylelintrc.js +0 -0
- /package/files/{velo → templates/velo[D]/files}/.yarnrc.yml +0 -0
- /package/files/{velo → templates/velo[D]/files}/currents.config.js +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress/e2e/base/base.cy.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress/fixtures/example.json +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress/support/commands.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress/support/e2e.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress/tsconfig.json +0 -0
- /package/files/{velo → templates/velo[D]/files}/cypress.config.mjs +0 -0
- /package/files/{velo → templates/velo[D]/files}/eslint.config.mjs +0 -0
- /package/files/{velo → templates/velo[D]/files}/local.tsconfig.json +0 -0
- /package/files/{velo → templates/velo[D]/files}/typedoc.json +0 -0
- /package/files/{velo/typescript/pages → templates/velo[D]/files/typescript/__mocks__}/.gitkeep +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/backend/data.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/backend/events.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/backend/http-functions.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/backend/lib/http-functions/sync.ts +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/backend/permissions.json +0 -0
- /package/files/{velo/typescript/public → templates/velo[D]/files/typescript/pages}/.gitkeep +0 -0
- /package/files/{velo/typescript/styles → templates/velo[D]/files/typescript/public}/.gitkeep +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/public/scss/app.scss +0 -0
- /package/files/{velo/typescript/styles/global.scss → templates/velo[D]/files/typescript/styles/.gitkeep} +0 -0
- /package/{src copy/schemas/index.ts → files/templates/velo[D]/files/typescript/styles/global.scss} +0 -0
- /package/files/{velo → templates/velo[D]/files}/typescript/tsconfig.json +0 -0
- /package/files/{velo → templates/velo[D]/files}/vitest.config.ts +0 -0
- /package/{src copy → old}/Gulpfile.ts +0 -0
- /package/{src copy → old}/gulp/backend.ts +0 -0
- /package/{src copy → old}/gulp/checks.ts +0 -0
- /package/{src copy → old}/gulp/clean.ts +0 -0
- /package/{src copy → old}/gulp/copy.ts +0 -0
- /package/{src copy → old}/gulp/helpers.ts +0 -0
- /package/{src copy → old}/gulp/pages.ts +0 -0
- /package/{src copy → old}/gulp/pipeline.ts +0 -0
- /package/{src copy → old}/gulp/public.ts +0 -0
- /package/{src copy → old}/gulp/styles.ts +0 -0
- /package/{src copy → old}/gulp/templates.ts +0 -0
- /package/{src copy → old}/gulp/types.ts +0 -0
- /package/{src copy → old}/gulp/watchers.ts +0 -0
- /package/{src copy → old}/index.ts +0 -0
- /package/{src copy → old}/init.ts +0 -0
- /package/{src copy → old}/models.ts +0 -0
- /package/{src copy → old}/prepare.ts +0 -0
- /package/{src copy/schemas/types.ts → old/schemas/index.d.ts} +0 -0
- /package/{src copy → old}/settings.json +0 -0
- /package/{src copy → old}/sync.ts +0 -0
- /package/{src copy → old}/types.d.ts +0 -0
- /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,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,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,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 @@
|
|
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,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
|
+
}
|