lucy-cli 2.0.0-alpha.11 → 2.0.0-alpha.13
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/Gulpfile.d.ts +35 -0
- package/dist/Gulpfile.js +132 -0
- package/dist/Gulpfile.js.map +1 -0
- package/dist/args.d.ts +1 -6
- package/dist/args.js +57 -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 copy.d.ts +4 -0
- package/dist/commands/cleanup copy.js +10 -0
- package/dist/commands/cleanup copy.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 +69 -0
- package/dist/commands/edit.js.map +1 -0
- package/dist/commands/exec copy.d.ts +3 -0
- package/dist/commands/exec copy.js +20 -0
- package/dist/commands/exec copy.js.map +1 -0
- package/dist/commands/exec.d.ts +5 -0
- package/dist/commands/exec.js +40 -0
- package/dist/commands/exec.js.map +1 -0
- package/dist/commands/files.d.ts +7 -0
- package/dist/commands/files.js +28 -0
- package/dist/commands/files.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 +110 -0
- package/dist/commands/install.js.map +1 -0
- package/dist/commands/read.d.ts +6 -0
- package/dist/commands/read.js +41 -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 +30 -7
- package/dist/config.js +89 -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/gulp/backend.d.ts +3 -0
- package/dist/gulp/backend.js +92 -0
- package/dist/gulp/backend.js.map +1 -0
- package/dist/gulp/checks.d.ts +3 -0
- package/dist/gulp/checks.js +194 -0
- package/dist/gulp/checks.js.map +1 -0
- package/dist/gulp/clean.d.ts +3 -0
- package/dist/gulp/clean.js +33 -0
- package/dist/gulp/clean.js.map +1 -0
- package/dist/gulp/copy.d.ts +2 -0
- package/dist/gulp/copy.js +34 -0
- package/dist/gulp/copy.js.map +1 -0
- package/dist/gulp/helpers.d.ts +2 -0
- package/dist/gulp/helpers.js +21 -0
- package/dist/gulp/helpers.js.map +1 -0
- package/dist/gulp/pages.d.ts +2 -0
- package/dist/gulp/pages.js +39 -0
- package/dist/gulp/pages.js.map +1 -0
- package/dist/gulp/pipeline.d.ts +1 -0
- package/dist/gulp/pipeline.js +29 -0
- package/dist/gulp/pipeline.js.map +1 -0
- package/dist/gulp/public.d.ts +2 -0
- package/dist/gulp/public.js +50 -0
- package/dist/gulp/public.js.map +1 -0
- package/dist/gulp/styles.d.ts +2 -0
- package/dist/gulp/styles.js +40 -0
- package/dist/gulp/styles.js.map +1 -0
- package/dist/gulp/templates.d.ts +2 -0
- package/dist/gulp/templates.js +33 -0
- package/dist/gulp/templates.js.map +1 -0
- package/dist/gulp/types.d.ts +4 -0
- package/dist/gulp/types.js +289 -0
- package/dist/gulp/types.js.map +1 -0
- package/dist/gulp/watchers.d.ts +9 -0
- package/dist/gulp/watchers.js +57 -0
- package/dist/gulp/watchers.js.map +1 -0
- package/dist/helpers.d.ts +9 -0
- package/dist/helpers.js +87 -0
- package/dist/helpers.js.map +1 -0
- package/dist/index.d.ts +1 -0
- package/dist/index.js +78 -9
- package/dist/index.js.map +1 -0
- package/dist/init/blocks.d.ts +5 -0
- package/dist/init/blocks.js +60 -0
- package/dist/init/blocks.js.map +1 -0
- package/dist/init/cargo copy.d.ts +2 -0
- package/dist/init/cargo copy.js +16 -0
- package/dist/init/cargo copy.js.map +1 -0
- package/dist/init/cargo.d.ts +2 -0
- package/dist/init/cargo.js +19 -0
- package/dist/init/cargo.js.map +1 -0
- package/dist/init/expo copy.d.ts +5 -0
- package/dist/init/expo copy.js +48 -0
- package/dist/init/expo copy.js.map +1 -0
- package/dist/init/expo.d.ts +5 -0
- package/dist/init/expo.js +50 -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 +62 -0
- package/dist/init/index.js.map +1 -0
- package/dist/init/lucy.d.ts +1 -0
- package/dist/init/lucy.js +2 -0
- package/dist/init/monorepo copy.d.ts +4 -0
- package/dist/init/monorepo copy.js +28 -0
- package/dist/init/monorepo copy.js.map +1 -0
- package/dist/init/monorepo.d.ts +4 -0
- package/dist/init/monorepo.js +35 -0
- package/dist/init/monorepo.js.map +1 -0
- package/dist/init/prepare.d.ts +8 -0
- package/dist/init/prepare.js +20 -0
- package/dist/init/prepare.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/sync.d.ts +2 -0
- package/dist/init/sync.js +88 -0
- package/dist/init/sync.js.map +1 -0
- package/dist/init/tauri.d.ts +5 -0
- package/dist/init/tauri.js +29 -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 +58 -0
- package/dist/init/velo.js.map +1 -0
- package/dist/init/write.d.ts +5 -0
- package/dist/init/write.js +15 -0
- package/dist/models.js +1 -0
- package/dist/models.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 +26 -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 +26 -0
- package/dist/schemas/lucy.js +39 -0
- package/dist/schemas/lucy.js.map +1 -0
- package/dist/schemas/models.d.ts +37 -0
- package/dist/schemas/models.js +2 -0
- package/dist/schemas/models.js.map +1 -0
- package/dist/schemas/tsconfig.d.ts +37 -0
- package/dist/schemas/tsconfig.js +2 -0
- package/dist/schemas/tsconfig.js.map +1 -0
- package/dist/schemas/types.d.ts +31 -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/sync/index.js +2 -0
- package/dist/sync/index.js.map +1 -0
- package/dist/sync/sync.d.ts +3 -0
- package/dist/sync/sync.js +92 -0
- package/dist/sync/sync.js.map +1 -0
- package/dist/tasks/Gulpfile.d.ts +4 -0
- package/dist/tasks/Gulpfile.js +112 -0
- package/dist/tasks/Gulpfile.js.map +1 -0
- package/dist/tasks/gitModules.d.ts +2 -0
- package/dist/tasks/gitModules.js +13 -0
- package/dist/tasks/gitModules.js.map +1 -0
- package/dist/tasks/gulp/backend.d.ts +3 -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 +3 -0
- package/dist/tasks/gulp/checks.js +196 -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 +2 -0
- package/dist/tasks/gulp/copy.js +33 -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 +2 -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 +2 -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 +2 -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/sync.d.ts +2 -0
- package/dist/tasks/sync.js +88 -0
- package/dist/tasks/sync.js.map +1 -0
- package/dist/tasks/syncPkg.d.ts +3 -0
- package/dist/tasks/syncPkg.js +13 -0
- package/dist/tasks/syncPkg.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/install.js +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/import.d.ts +1 -0
- package/dist/wix-sdk/import.js +88 -0
- package/dist/wix-sdk/import.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 copy.d.ts +4 -0
- package/dist/wix-sdk/init copy.js +51 -0
- package/dist/wix-sdk/init copy.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/is-allive.d.ts +4 -0
- package/dist/wix-sdk/is-allive.js +37 -0
- package/dist/wix-sdk/is-allive.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-sdk/sync copy.d.ts +1 -0
- package/dist/wix-sdk/sync copy.js +88 -0
- package/dist/wix-sdk/sync copy.js.map +1 -0
- package/dist/wix-sdk/sync.d.ts +1 -0
- package/dist/wix-sdk/sync.js +88 -0
- package/dist/wix-sdk/sync.js.map +1 -0
- package/dist/wix-sdk/wix_sdk_check.d.ts +4 -0
- package/dist/wix-sdk/wix_sdk_check.js +37 -0
- package/dist/wix-sdk/wix_sdk_check.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 copy.d.ts +4 -0
- package/dist/wix-sync/export copy.js +21 -0
- package/dist/wix-sync/export copy.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 copy.d.ts +4 -0
- package/dist/wix-sync/import copy.js +21 -0
- package/dist/wix-sync/import copy.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 copy.d.ts +4 -0
- package/dist/wix-sync/init copy.js +54 -0
- package/dist/wix-sync/init copy.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/is-allive copy.d.ts +4 -0
- package/dist/wix-sync/is-allive copy.js +23 -0
- package/dist/wix-sync/is-allive copy.js.map +1 -0
- package/dist/wix-sync/is-allive.d.ts +4 -0
- package/dist/wix-sync/is-allive.js +23 -0
- package/dist/wix-sync/is-allive.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-od.js +100 -0
- package/dist/wix-sync/sync-od.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/dist/wix-sync/sync2.d.ts +4 -0
- package/dist/wix-sync/sync2.js +25 -0
- package/dist/wix-sync/sync2.js.map +1 -0
- package/dist/wix-sync copy/index.d.ts +4 -0
- package/dist/wix-sync copy/index.js +17 -0
- package/dist/wix-sync copy/index.js.map +1 -0
- package/dist/wix-sync copy/init.d.ts +4 -0
- package/dist/wix-sync copy/init.js +58 -0
- package/dist/wix-sync copy/init.js.map +1 -0
- package/dist/wix-sync copy/is-allive.d.ts +4 -0
- package/dist/wix-sync copy/is-allive.js +36 -0
- package/dist/wix-sync copy/is-allive.js.map +1 -0
- package/dist/wix-sync copy/sync.d.ts +1 -0
- package/dist/wix-sync copy/sync.js +88 -0
- package/dist/wix-sync copy/sync.js.map +1 -0
- package/files/sync-data/data/test.csv +17 -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 +8 -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 +14 -0
- package/files/templates/expo[D]/files/.stylelintrc.js +8 -0
- package/files/templates/expo[D]/files/components/ui/.gitkeep +0 -0
- package/files/templates/expo[D]/lucy.json +81 -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 +137 -0
- package/files/templates/monorepo[D]/files/currents.config.ts +5 -0
- package/files/templates/monorepo[D]/files/package.json +39 -0
- package/files/templates/monorepo[D]/files/turbo.json +34 -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 +45 -0
- package/files/templates/tauri[D]/lucy.json +8 -0
- package/files/templates/velo[D]/files/.gitmodules +0 -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]/files/typescript/__mocks__/.gitkeep +0 -0
- package/files/templates/velo[D]/files/typescript/backend/data.ts +0 -0
- package/files/templates/velo[D]/files/typescript/backend/events.ts +0 -0
- package/files/templates/velo[D]/files/typescript/pages/.gitkeep +0 -0
- package/files/templates/velo[D]/files/typescript/public/.gitkeep +0 -0
- package/files/templates/velo[D]/files/typescript/public/scss/app.scss +0 -0
- package/files/templates/velo[D]/files/typescript/styles/.gitkeep +0 -0
- package/files/templates/velo[D]/files/typescript/styles/global.scss +0 -0
- package/files/templates/velo[D]/lucy.json +136 -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.d.ts +0 -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 +7 -7
- package/src/args.ts +56 -18
- 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 +83 -0
- package/src/commands/exec.ts +37 -0
- package/src/commands/git.ts +113 -0
- package/src/commands/home.ts +22 -0
- package/src/commands/install.ts +186 -0
- package/src/commands/read.ts +46 -0
- package/src/commands/write.ts +45 -0
- package/src/config.ts +116 -35
- package/src/error.ts +1 -2
- package/src/helpers.ts +90 -0
- package/src/index.ts +89 -13
- package/src/init/blocks.ts +82 -0
- package/src/init/cargo.ts +22 -0
- package/src/init/expo.ts +66 -0
- package/src/init/gitModules.ts +15 -0
- package/src/init/index.ts +63 -0
- package/src/init/monorepo.ts +39 -0
- package/src/init/prepareVelo.ts +19 -0
- package/src/init/tauri.ts +40 -0
- package/src/init/templates.ts +98 -0
- package/src/init/velo.ts +62 -0
- package/src/runtime.ts +1 -0
- package/src/schemas/gulp.ts +32 -0
- package/src/schemas/index.ts +12 -1
- package/src/schemas/lucy.ts +40 -0
- package/src/schemas/types.ts +38 -0
- package/src/tasks/Gulpfile.ts +208 -0
- package/src/tasks/gulp/backend.ts +112 -0
- package/src/tasks/gulp/checks.ts +215 -0
- package/src/tasks/gulp/clean.ts +38 -0
- package/src/tasks/gulp/copy.ts +37 -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 +60 -0
- package/src/tasks/gulp/styles.ts +46 -0
- package/src/tasks/gulp/templates.ts +53 -0
- package/src/tasks/gulp/types.ts +310 -0
- package/src/tasks/gulp/watchers.ts +96 -0
- package/src/tasks/index.ts +26 -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/files/expo/lucy.json +0 -8
- package/src/init.ts +0 -392
- /package/{files/expo/components/.gitkeep → .turbo/cookies/1.cookie} +0 -0
- /package/{files/expo/components/ui/.gitkeep → .turbo/cookies/2.cookie} +0 -0
- /package/{files/velo/.gitmodules → .turbo/cookies/3.cookie} +0 -0
- /package/{files/velo/typescript/__mocks__/.gitkeep → .turbo/cookies/4.cookie} +0 -0
- /package/{files/velo/typescript/backend/data.ts → .turbo/cookies/5.cookie} +0 -0
- /package/{files/velo/typescript/backend/events.ts → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-07-31} +0 -0
- /package/{files/velo/typescript/pages/.gitkeep → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-08-01} +0 -0
- /package/{files/velo/typescript/public/.gitkeep → .turbo/daemon/ee24a4f4ab6aa3c0-turbo.log.2025-08-02} +0 -0
- /package/{files/velo/typescript/public/scss/app.scss → dist/sync/index.d.ts} +0 -0
- /package/{files/velo/typescript/styles/.gitkeep → dist/utils/index.d.ts} +0 -0
- /package/{files/velo/typescript/styles/global.scss → dist/utils/install.d.ts} +0 -0
- /package/{src copy/schemas/index.ts → dist/wix-sync/sync-od.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/{src copy/schemas/types.ts → files/templates/expo[D]/files/components/.gitkeep} +0 -0
- /package/files/{expo → templates/expo[D]/files}/constants/theme.ts +0 -0
- /package/files/{expo → templates/expo[D]/files}/eas.json +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/data.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}/metro.config.js +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}/.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 → 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 → 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 → 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,28 @@
|
|
1
|
+
import { Effect } from "effect/index";
|
2
|
+
import { Path } from "@effect/platform"
|
3
|
+
import { FileSystem } from "@effect/platform"
|
4
|
+
import { Config, syncDataName, syncFilesSource } from "../config.js";
|
5
|
+
|
6
|
+
export const copyTemplateFiles = Effect.gen(function*() {
|
7
|
+
const fs = yield* FileSystem.FileSystem;
|
8
|
+
const config = yield* Config;
|
9
|
+
const path = yield * Path.Path;
|
10
|
+
|
11
|
+
const templateFiles = yield* fs.readDirectory(config.config.templateFiles)
|
12
|
+
yield* Effect.forEach(
|
13
|
+
templateFiles,
|
14
|
+
(file) => fs.copy(path.join(config.config.templateFiles, file), path.join(config.config.cwd, file), { overwrite: true })
|
15
|
+
)
|
16
|
+
})
|
17
|
+
export const copySyncFiles = Effect.gen(function*() {
|
18
|
+
const fs = yield* FileSystem.FileSystem;
|
19
|
+
const config = yield* Config;
|
20
|
+
const path = yield * Path.Path;
|
21
|
+
|
22
|
+
const synDataFiles = yield* fs.readDirectory(syncFilesSource)
|
23
|
+
yield* fs.makeDirectory(path.join(config.config.cwd, syncDataName));
|
24
|
+
yield* Effect.forEach(
|
25
|
+
synDataFiles,
|
26
|
+
(file) => fs.copy(path.join(syncFilesSource, file), path.join(config.config.cwd, syncDataName, file), { overwrite: true })
|
27
|
+
)
|
28
|
+
})
|
@@ -0,0 +1,83 @@
|
|
1
|
+
import { Effect, Schema } from "effect/index";
|
2
|
+
import { Config, lucyJsonPath } from "../config.js";
|
3
|
+
import { FileSystem, Path } from "@effect/platform"
|
4
|
+
import { logger } from "../utils/logger.js";
|
5
|
+
import { JsonSchema } from "../schemas/index.js";
|
6
|
+
import { LucySettings } from "../schemas/lucy.js";
|
7
|
+
|
8
|
+
export const editJson = (json: any, keys: string[], values: string[] | Object[]) => {
|
9
|
+
return Effect.gen(function*() {
|
10
|
+
const config = yield* Config;
|
11
|
+
|
12
|
+
for (const key of keys){
|
13
|
+
const index = keys.indexOf(key);
|
14
|
+
const value = values[index];
|
15
|
+
json[key] = value;
|
16
|
+
}
|
17
|
+
})
|
18
|
+
}
|
19
|
+
|
20
|
+
export const mergeLucySettings2PackageJson = Effect.gen(function*() {
|
21
|
+
const config = yield* Config;
|
22
|
+
const lucySettings = config.config.lucySettings;
|
23
|
+
const packageJson = config.config.packageJson;
|
24
|
+
|
25
|
+
if (Object.keys(lucySettings.scripts).length > 0) {
|
26
|
+
yield* editJson(packageJson, ['scripts'], [{...packageJson.scripts, ...lucySettings.scripts}]);
|
27
|
+
}
|
28
|
+
})
|
29
|
+
|
30
|
+
export const setModule = Effect.gen(function*() {
|
31
|
+
const config = yield* Config;
|
32
|
+
const lucySettings = config.config.lucySettings;
|
33
|
+
const packageJson = config.config.packageJson;
|
34
|
+
|
35
|
+
yield* editJson(packageJson, ['type'], ['module']);
|
36
|
+
})
|
37
|
+
|
38
|
+
export const mergeAdditions = Effect.gen(function*() {
|
39
|
+
const config = yield* Config;
|
40
|
+
const lucySettings = config.config.lucySettings;
|
41
|
+
const packageJson = config.config.packageJson;
|
42
|
+
|
43
|
+
config.config.packageJson = {
|
44
|
+
...packageJson,
|
45
|
+
...lucySettings.additionalPkgProps,
|
46
|
+
}
|
47
|
+
})
|
48
|
+
|
49
|
+
export const setProjectName = Effect.gen(function*() {
|
50
|
+
const config = yield* Config;
|
51
|
+
const packageJson = config.config.packageJson;
|
52
|
+
|
53
|
+
yield * editJson(packageJson, ["name"], [config.config.projectName]);
|
54
|
+
})
|
55
|
+
|
56
|
+
export const setInitialized = Effect.gen(function*() {
|
57
|
+
const config = yield* Config;
|
58
|
+
const fs = yield* FileSystem.FileSystem;
|
59
|
+
const path = yield* Path.Path;
|
60
|
+
const lucyRaw = yield* fs.readFileString(lucyJsonPath);
|
61
|
+
const lucyJSON = (yield* Schema.decodeUnknown(JsonSchema)(lucyRaw)) as any;
|
62
|
+
lucyJSON.initialized = true;
|
63
|
+
|
64
|
+
yield* fs.writeFileString(lucyJsonPath, JSON.stringify(lucyJSON, null, 2));
|
65
|
+
})
|
66
|
+
|
67
|
+
export const stringReplace = (filePath: string, keys: string[], values: string[]) => {
|
68
|
+
return Effect.gen(function*() {
|
69
|
+
const fs = yield* FileSystem.FileSystem;
|
70
|
+
let modifiedContent: string = '';
|
71
|
+
|
72
|
+
logger.action(`Replacing ${keys} with ${values} in ${filePath}`);
|
73
|
+
const data = yield* fs.readFileString(filePath, 'utf8');
|
74
|
+
for (const key of keys){
|
75
|
+
const index = keys.indexOf(key);
|
76
|
+
const value = values[index];
|
77
|
+
const regex = new RegExp(`${key}`, 'g');
|
78
|
+
modifiedContent = data.replace(regex, `${value}`);
|
79
|
+
}
|
80
|
+
yield* fs.writeFileString(filePath, modifiedContent);
|
81
|
+
logger.info(`Updated file ${filePath}`);
|
82
|
+
})
|
83
|
+
}
|
@@ -0,0 +1,37 @@
|
|
1
|
+
import { Effect } from "effect/index";
|
2
|
+
import { Config } from "../config.js";
|
3
|
+
import { Command } from "@effect/platform/index";
|
4
|
+
import { logger } from "../utils/logger.js";
|
5
|
+
import { FileSystem } from "@effect/platform"
|
6
|
+
|
7
|
+
export const execCommand = Effect.gen(function*() {
|
8
|
+
const config = yield* Config;
|
9
|
+
const cmds = config.config.lucySettings.additionalCommands ?? [];
|
10
|
+
logger.info("Executing additional commands...", cmds);
|
11
|
+
if (cmds.length > 0) {
|
12
|
+
logger.info("Executing additional commands");
|
13
|
+
yield *
|
14
|
+
Effect.all([
|
15
|
+
...cmds.map((cmd) => {
|
16
|
+
return Command.make(cmd[0], ...cmd.slice(1))
|
17
|
+
.pipe()
|
18
|
+
.pipe(Command.stdout("inherit"), Command.exitCode);
|
19
|
+
}),
|
20
|
+
]);
|
21
|
+
}
|
22
|
+
})
|
23
|
+
|
24
|
+
export const open = Effect.scoped(Effect.gen(function*() {
|
25
|
+
const config = yield* Config;
|
26
|
+
const fs = yield* FileSystem.FileSystem
|
27
|
+
console.log("Opening Lucy home directory:", config.config.lucyHome);
|
28
|
+
let command: ReturnType<typeof Command.make>;
|
29
|
+
switch (process.platform) {
|
30
|
+
case 'darwin': command = Command.make('open', config.config.lucyHome); break;
|
31
|
+
case 'win32': command = Command.make('start', config.config.lucyHome); break;
|
32
|
+
default: command = Command.make('xdg-open', config.config.lucyHome); break;
|
33
|
+
}
|
34
|
+
|
35
|
+
command.pipe().pipe(Command.stdout("inherit"), Command.exitCode);
|
36
|
+
yield* command.pipe().pipe(Command.stdout("inherit"), Command.exitCode);
|
37
|
+
}))
|
@@ -0,0 +1,113 @@
|
|
1
|
+
import { Effect } from 'effect/index';
|
2
|
+
import { simpleGit, SimpleGit } from 'simple-git';
|
3
|
+
import { Config } from '../config.js';
|
4
|
+
import { AppError } from '../error.js';
|
5
|
+
import { logger } from '../utils/logger.js';
|
6
|
+
import { FileSystem, Path } from "@effect/platform"
|
7
|
+
|
8
|
+
export const isSubmoduleRegistered = (git: SimpleGit, submoduleName: string) => Effect.gen(function* () {
|
9
|
+
const value = yield* Effect.tryPromise({
|
10
|
+
try: () => git.getConfig(`submodule.${submoduleName}.url`),
|
11
|
+
catch: (error) => {
|
12
|
+
return new AppError({
|
13
|
+
cause: error,
|
14
|
+
message: "Failed to get submodule url",
|
15
|
+
});
|
16
|
+
}
|
17
|
+
})
|
18
|
+
return !!value.value;
|
19
|
+
})
|
20
|
+
|
21
|
+
export const gitInit = (update: boolean = false) => Effect.gen(function* () {
|
22
|
+
const config = yield* Config;
|
23
|
+
const git = simpleGit({ baseDir: config.config.cwd });
|
24
|
+
const path = yield * Path.Path;
|
25
|
+
|
26
|
+
const isGit = yield* Effect.tryPromise({
|
27
|
+
try: () => git.checkIsRepo(),
|
28
|
+
catch: (error) => {
|
29
|
+
return new AppError({
|
30
|
+
cause: error,
|
31
|
+
message: "Failed to check if the directory is a git repository",
|
32
|
+
});
|
33
|
+
}
|
34
|
+
})
|
35
|
+
|
36
|
+
if(!isGit) {
|
37
|
+
yield* Effect.tryPromise({
|
38
|
+
try: () => git.init(),
|
39
|
+
catch: (error) => {
|
40
|
+
return new AppError({
|
41
|
+
cause: error,
|
42
|
+
message: "Failed to initialize git repository",
|
43
|
+
});
|
44
|
+
}
|
45
|
+
})
|
46
|
+
}
|
47
|
+
|
48
|
+
if (!config.config.lucySettings.modules) {
|
49
|
+
logger.alert('No submodules defined in settings, skipping.');
|
50
|
+
return;
|
51
|
+
}
|
52
|
+
yield* initSubmodules(update);
|
53
|
+
})
|
54
|
+
|
55
|
+
export const initSubmodules = (update: boolean = false) => Effect.gen(function* () {
|
56
|
+
const config = yield* Config;
|
57
|
+
const git = simpleGit({ baseDir: config.config.cwd });
|
58
|
+
const path = yield* Path.Path;
|
59
|
+
const fs = yield* FileSystem.FileSystem;
|
60
|
+
const gitmodulesPath = path.join(config.config.cwd, ".gitmodules");
|
61
|
+
|
62
|
+
for (const [name, repo] of Object.entries(config.config.lucySettings.modules)) {
|
63
|
+
logger.action(`Processing submodule ${name}`);
|
64
|
+
const clonePath = repo.path || path.join(config.config.defaultModuleBasePath, name);
|
65
|
+
|
66
|
+
const isRegistered = yield* isSubmoduleRegistered(git, clonePath);
|
67
|
+
const isConfiguredInFile = (yield* fs.exists(gitmodulesPath)) && (yield* fs.readFileString(gitmodulesPath, 'utf-8')).includes(`[submodule "${clonePath}"]`);
|
68
|
+
|
69
|
+
if (!isConfiguredInFile || config.config.force) {
|
70
|
+
logger.action(`Adding/updating submodule ${name} at ${clonePath}...`);
|
71
|
+
// If git already has a config entry, we must use --force to repair it.
|
72
|
+
const submoduleArgs = () => {
|
73
|
+
if (update) {
|
74
|
+
return ['add', '--force', repo.source, clonePath];
|
75
|
+
}
|
76
|
+
return ['add', ...(config.config.force || isRegistered ? ['--force'] : []), repo.source, clonePath];
|
77
|
+
}
|
78
|
+
// await git.subModule(submoduleArgs);
|
79
|
+
yield* Effect.tryPromise({
|
80
|
+
try: () => git.subModule(submoduleArgs()),
|
81
|
+
catch: (error) => {
|
82
|
+
return new AppError({
|
83
|
+
cause: error,
|
84
|
+
message: "Failed to add submodule",
|
85
|
+
});
|
86
|
+
}
|
87
|
+
})
|
88
|
+
} else {
|
89
|
+
logger.alert(`Submodule ${name} at ${clonePath} already registered. Skipping add.`);
|
90
|
+
}
|
91
|
+
|
92
|
+
yield* Effect.tryPromise({
|
93
|
+
try: () => git.submoduleUpdate(['--init', '--recursive', clonePath]),
|
94
|
+
catch: (error) => {
|
95
|
+
return new AppError({
|
96
|
+
cause: error,
|
97
|
+
message: "Failed to update submodule",
|
98
|
+
});
|
99
|
+
}
|
100
|
+
})
|
101
|
+
yield* Effect.tryPromise({
|
102
|
+
try: () => simpleGit({ baseDir: path.join(config.config.cwd, clonePath) }).checkout(repo.branch),
|
103
|
+
catch: (error) => {
|
104
|
+
return new AppError({
|
105
|
+
cause: error,
|
106
|
+
message: `Failed to checkout submodule ${repo} branch ${repo.branch}`,
|
107
|
+
});
|
108
|
+
}
|
109
|
+
})
|
110
|
+
}
|
111
|
+
logger.success("All modules processed!");
|
112
|
+
|
113
|
+
})
|
@@ -0,0 +1,22 @@
|
|
1
|
+
import { Effect } from "effect/index";
|
2
|
+
import { Config } from "../config.js";
|
3
|
+
import { FileSystem } from "@effect/platform"
|
4
|
+
import { logger, orange } from "../utils/logger.js";
|
5
|
+
import path, { join } from 'path';
|
6
|
+
|
7
|
+
export const createLucyHome = () => {
|
8
|
+
return Effect.gen(function*() {
|
9
|
+
const config = yield* Config
|
10
|
+
const fs = yield* FileSystem.FileSystem
|
11
|
+
|
12
|
+
if(!(yield* fs.exists(config.config.lucyHome))) {
|
13
|
+
logger.action(`Creating Lucy home directory at ${orange(config.config.lucyHome)}`);
|
14
|
+
yield* fs.makeDirectory(config.config.lucyHome, { recursive: true });
|
15
|
+
}
|
16
|
+
const templateFiles = yield* fs.readDirectory(config.config.filesFolder)
|
17
|
+
yield* Effect.forEach(
|
18
|
+
templateFiles,
|
19
|
+
(file) => fs.copy(path.join(config.config.filesFolder, file), path.join(config.config.lucyHome, file), { overwrite: true })
|
20
|
+
)
|
21
|
+
});
|
22
|
+
}
|
@@ -0,0 +1,186 @@
|
|
1
|
+
import { Command } from "@effect/platform/index";
|
2
|
+
import { Effect, Schedule } from "effect/index";
|
3
|
+
import { Config } from "../config.js";
|
4
|
+
import { logger } from "../utils/logger.js";
|
5
|
+
import { CommandExecutor, ExitCode } from "@effect/platform/CommandExecutor";
|
6
|
+
import { PlatformError } from "@effect/platform/Error";
|
7
|
+
|
8
|
+
export const installPackages = Effect.gen(function*() {
|
9
|
+
const config = yield* Config;
|
10
|
+
|
11
|
+
const pkgs: string[] = []
|
12
|
+
for (const [key, value] of Object.entries(config.config.lucySettings.dependencies)) {
|
13
|
+
if (value.length > 0) {
|
14
|
+
pkgs.push(`${key}@${value}`);
|
15
|
+
continue
|
16
|
+
}
|
17
|
+
pkgs.push(key);
|
18
|
+
}
|
19
|
+
const devPkgs: string[] = []
|
20
|
+
for (const [key, value] of Object.entries(config.config.lucySettings.devDependencies)) {
|
21
|
+
if (value.length > 0) {
|
22
|
+
devPkgs.push(`${key}@${value}`);
|
23
|
+
continue
|
24
|
+
}
|
25
|
+
devPkgs.push(key);
|
26
|
+
}
|
27
|
+
|
28
|
+
|
29
|
+
logger.info("Installing dependencies");
|
30
|
+
const yarn = Command.make(
|
31
|
+
"yarn",
|
32
|
+
"add",
|
33
|
+
...pkgs,
|
34
|
+
).pipe(
|
35
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
36
|
+
Command.exitCode // Get the exit code
|
37
|
+
)
|
38
|
+
logger.info("Installing dev dependencies");
|
39
|
+
const yarnDev = Command.make(
|
40
|
+
"yarn",
|
41
|
+
"add",
|
42
|
+
"-D",
|
43
|
+
...devPkgs,
|
44
|
+
).pipe(
|
45
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
46
|
+
Command.exitCode // Get the exit code
|
47
|
+
)
|
48
|
+
|
49
|
+
if ((yield* yarn) !== 0) {
|
50
|
+
return logger.error("Failed to install dependencies. Please check the error message above.");
|
51
|
+
}
|
52
|
+
if ((yield* yarnDev) !== 0) {
|
53
|
+
return logger.error("Failed to install dev dependencies. Please check the error message above.");
|
54
|
+
}
|
55
|
+
})
|
56
|
+
|
57
|
+
export const runYarn = Effect.gen(function*() {
|
58
|
+
const yarnDev = Command.make(
|
59
|
+
"yarn",
|
60
|
+
).pipe(
|
61
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
62
|
+
Command.exitCode // Get the exit code
|
63
|
+
)
|
64
|
+
yield* yarnDev;
|
65
|
+
})
|
66
|
+
|
67
|
+
export const yarnSetVersion = Effect.gen(function*() {
|
68
|
+
const yarnDev = Command.make(
|
69
|
+
"yarn",
|
70
|
+
"set",
|
71
|
+
"version",
|
72
|
+
"berry",
|
73
|
+
).pipe(
|
74
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
75
|
+
Command.exitCode // Get the exit code
|
76
|
+
)
|
77
|
+
yield* yarnDev;
|
78
|
+
})
|
79
|
+
export const installVeloPackages = Effect.gen(function*() {
|
80
|
+
const config = yield* Config;
|
81
|
+
const simpleSchedule = Schedule.tapOutput(
|
82
|
+
Schedule.fromDelays(50, 100, 200, 400, 800, 1600, 3200),
|
83
|
+
(n, ) => Effect.succeed(logger.warning(`Failed to install WIX package. Retrying...`))
|
84
|
+
);
|
85
|
+
|
86
|
+
const pkgs: string[] = []
|
87
|
+
for (const [key, value] of Object.entries(config.config.lucySettings.dependencies)) {
|
88
|
+
if (value.length > 0) {
|
89
|
+
pkgs.push(`${key}@${value}`);
|
90
|
+
continue
|
91
|
+
}
|
92
|
+
pkgs.push(key);
|
93
|
+
}
|
94
|
+
|
95
|
+
const wixPkgs: Effect.Effect<ExitCode, PlatformError, CommandExecutor>[] = []
|
96
|
+
const wixInstall = (cmd: Effect.Effect<ExitCode, PlatformError, CommandExecutor>) => Effect.gen(function*() {
|
97
|
+
const code = yield* Effect.retryOrElse(
|
98
|
+
Effect.gen(function*() {
|
99
|
+
const code = yield* cmd;
|
100
|
+
if (code !== 0) {
|
101
|
+
return yield* Effect.fail(code);
|
102
|
+
}
|
103
|
+
return yield* Effect.succeed(code);
|
104
|
+
}),
|
105
|
+
simpleSchedule,
|
106
|
+
() => Effect.succeed(0 as ExitCode)
|
107
|
+
)
|
108
|
+
if (code !== 0) {
|
109
|
+
logger.error("Failed to install WIX package.");
|
110
|
+
}
|
111
|
+
return code;
|
112
|
+
})
|
113
|
+
|
114
|
+
for (const [key, value] of Object.entries(config.config.lucySettings.dependencies)) {
|
115
|
+
if (value.length > 0) {
|
116
|
+
wixPkgs.push(
|
117
|
+
wixInstall(
|
118
|
+
Command.make(
|
119
|
+
"wix",
|
120
|
+
"install",
|
121
|
+
`${key}@${value}`
|
122
|
+
).pipe(
|
123
|
+
Command.stdout("inherit"),
|
124
|
+
Command.exitCode
|
125
|
+
)
|
126
|
+
)
|
127
|
+
)
|
128
|
+
continue
|
129
|
+
}
|
130
|
+
wixPkgs.push(
|
131
|
+
wixInstall(
|
132
|
+
Command.make(
|
133
|
+
"wix",
|
134
|
+
"install",
|
135
|
+
`${key}`
|
136
|
+
).pipe(
|
137
|
+
Command.stdout("inherit"),
|
138
|
+
Command.exitCode
|
139
|
+
),
|
140
|
+
))
|
141
|
+
}
|
142
|
+
|
143
|
+
const devPkgs: string[] = []
|
144
|
+
for (const [key, value] of Object.entries(config.config.lucySettings.devDependencies)) {
|
145
|
+
if (value.length > 0) {
|
146
|
+
devPkgs.push(`${key}@${value}`);
|
147
|
+
continue
|
148
|
+
}
|
149
|
+
devPkgs.push(key);
|
150
|
+
}
|
151
|
+
|
152
|
+
const yarn = Command.make(
|
153
|
+
"yarn",
|
154
|
+
"add",
|
155
|
+
...pkgs,
|
156
|
+
).pipe(
|
157
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
158
|
+
Command.exitCode // Get the exit code
|
159
|
+
)
|
160
|
+
const yarnDev = Command.make(
|
161
|
+
"yarn",
|
162
|
+
"add",
|
163
|
+
"-D",
|
164
|
+
...devPkgs,
|
165
|
+
).pipe(
|
166
|
+
Command.stdout("inherit"), // Stream stdout to process.stdout
|
167
|
+
Command.exitCode // Get the exit code
|
168
|
+
)
|
169
|
+
|
170
|
+
logger.info("Installing dependencies with wix...");
|
171
|
+
const status = yield* Effect.all([...wixPkgs], { concurrency: 15});
|
172
|
+
if(status.every((s) => s !== 0)) {
|
173
|
+
return logger.error("Failed to install WIX dependencies. Please check the error message above.");
|
174
|
+
}
|
175
|
+
|
176
|
+
logger.info("Installing dependencies");
|
177
|
+
if ((yield* yarn) !== 0) {
|
178
|
+
return logger.error("Failed to install dependencies. Please check the error message above.");
|
179
|
+
}
|
180
|
+
|
181
|
+
logger.info("Installing dev dependencies");
|
182
|
+
if ((yield* yarnDev) !== 0) {
|
183
|
+
return logger.error("Failed to install dev dependencies. Please check the error message above.");
|
184
|
+
}
|
185
|
+
|
186
|
+
})
|
@@ -0,0 +1,46 @@
|
|
1
|
+
import { Effect, Schema } from "effect/index";
|
2
|
+
import { FileSystem, Path } from "@effect/platform"
|
3
|
+
import { Config, lucyJsonName, lucyJsonPath, packageJsonPath, veloSyncJsonPath } from "../config.js";
|
4
|
+
import { JsonSchema, veloSyncSettings } from "../schemas/index.js";
|
5
|
+
import { lucySettings } from "../schemas/lucy.js";
|
6
|
+
import { logger } from "../utils/logger.js";
|
7
|
+
|
8
|
+
export const readPackageJson = Effect.gen(function* () {
|
9
|
+
const config = yield* Config;
|
10
|
+
const fs = yield* FileSystem.FileSystem;
|
11
|
+
const path = yield* Path.Path;
|
12
|
+
|
13
|
+
const packageJsonRaw = yield* fs.readFile(packageJsonPath)
|
14
|
+
config.config.packageJson = yield* Schema.decodeUnknown(JsonSchema)(packageJsonRaw.toString());
|
15
|
+
})
|
16
|
+
|
17
|
+
export const readLucyJsonFromTemplate = Effect.gen(function* () {
|
18
|
+
const config = yield* Config;
|
19
|
+
const fs = yield* FileSystem.FileSystem;
|
20
|
+
const path = yield* Path.Path;
|
21
|
+
|
22
|
+
const lucyRaw = yield* fs.readFileString(lucyJsonPath);
|
23
|
+
const lucySettingsJSON = yield* Schema.decodeUnknown(JsonSchema)(lucyRaw);
|
24
|
+
const lucySetting = yield* Schema.decodeUnknown(lucySettings)(lucySettingsJSON)
|
25
|
+
|
26
|
+
if(config.config.lucySettings.initialized) {
|
27
|
+
if(config.config.force) {
|
28
|
+
logger.warning(`${lucyJsonName} already exists in the template directory, but 'force' is set. Overwriting...`);
|
29
|
+
config.config.lucySettings = lucySetting;
|
30
|
+
return;
|
31
|
+
}
|
32
|
+
logger.warning(`${lucyJsonName} already exists in the template directory. Skipping reading ${lucyJsonName} from template.`);
|
33
|
+
return;
|
34
|
+
}
|
35
|
+
config.config.lucySettings = lucySetting;
|
36
|
+
})
|
37
|
+
|
38
|
+
export const readVeloSyncSettings = Effect.gen(function* () {
|
39
|
+
const config = yield* Config;
|
40
|
+
const fs = yield* FileSystem.FileSystem;
|
41
|
+
const path = yield* Path.Path;
|
42
|
+
if (yield* fs.exists(veloSyncJsonPath)) {
|
43
|
+
const snyConfigRaw = yield* fs.readFileString(veloSyncJsonPath)
|
44
|
+
config.config.veloSyncSettings = yield* Schema.decodeUnknown(veloSyncSettings)(snyConfigRaw);
|
45
|
+
}
|
46
|
+
});
|
@@ -0,0 +1,45 @@
|
|
1
|
+
import { Effect } from "effect/index";
|
2
|
+
import { Command, FileSystem, Path } from "@effect/platform"
|
3
|
+
import { Config, lucyJsonPath, packageJsonPath, veloSyncJsonPath, wixSDKSettingsJsonPath } from "../config.js";
|
4
|
+
|
5
|
+
export const writeLucySettings = Effect.gen(function* (_) {
|
6
|
+
const fs = yield* FileSystem.FileSystem;
|
7
|
+
const path = yield* Path.Path;
|
8
|
+
const config = yield* Config;
|
9
|
+
|
10
|
+
yield* fs.writeFileString(
|
11
|
+
lucyJsonPath,
|
12
|
+
JSON.stringify(config.config.lucySettings, null, 2)
|
13
|
+
);
|
14
|
+
})
|
15
|
+
|
16
|
+
export const writePackageJson = Effect.gen(function* (_) {
|
17
|
+
const fs = yield* FileSystem.FileSystem;
|
18
|
+
const path = yield* Path.Path;
|
19
|
+
const config = yield* Config;
|
20
|
+
yield* fs.writeFileString(
|
21
|
+
packageJsonPath,
|
22
|
+
JSON.stringify(config.config.packageJson, null, 2)
|
23
|
+
);
|
24
|
+
})
|
25
|
+
|
26
|
+
export const writeVeloSyncSettings = Effect.gen(function* () {
|
27
|
+
const config = yield* Config;
|
28
|
+
const fs = yield* FileSystem.FileSystem;
|
29
|
+
const path = yield* Path.Path;
|
30
|
+
yield* fs.writeFileString(
|
31
|
+
veloSyncJsonPath,
|
32
|
+
JSON.stringify(config.config.veloSyncSettings, null, 2)
|
33
|
+
);
|
34
|
+
});
|
35
|
+
|
36
|
+
export const writeWixSDKSettings = Effect.gen(function* () {
|
37
|
+
const config = yield* Config;
|
38
|
+
const fs = yield* FileSystem.FileSystem;
|
39
|
+
const path = yield* Path.Path;
|
40
|
+
yield* fs.writeFileString(
|
41
|
+
wixSDKSettingsJsonPath,
|
42
|
+
JSON.stringify(config.config.wixSDKSettings, null, 2)
|
43
|
+
);
|
44
|
+
});
|
45
|
+
|