lucy-cli 2.0.0-beta.4 → 2.0.0-beta.6

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (162) hide show
  1. package/dist/commands/checks.d.ts +2 -2
  2. package/dist/commands/exec.d.ts +1 -1
  3. package/dist/commands/git.d.ts +2 -2
  4. package/dist/commands/home.d.ts +2 -2
  5. package/dist/commands/home.js +25 -2
  6. package/dist/commands/home.js.map +1 -1
  7. package/dist/index.js +0 -0
  8. package/dist/init/blocks.d.ts +1 -1
  9. package/dist/init/cargo.d.ts +1 -1
  10. package/dist/init/expo.d.ts +1 -1
  11. package/dist/init/gitModules.d.ts +1 -1
  12. package/dist/init/index.d.ts +1 -2
  13. package/dist/init/monorepo.d.ts +1 -1
  14. package/dist/init/prepareVelo.d.ts +1 -1
  15. package/dist/init/tauri.d.ts +1 -1
  16. package/dist/init/templates.d.ts +1 -1
  17. package/dist/init/velo.d.ts +1 -1
  18. package/dist/tasks/index.d.ts +1 -1
  19. package/dist/wix-sdk/index.d.ts +1 -1
  20. package/dist/wix-sdk/init.d.ts +1 -1
  21. package/dist/wix-sdk/run.d.ts +1 -1
  22. package/dist/wix-sync/index.d.ts +1 -1
  23. package/dist/wix-sync/init.d.ts +1 -1
  24. package/files/templates/expo verse[D]/files/.nvmrc +1 -0
  25. package/files/templates/expo verse[D]/files/.prettierignore +23 -0
  26. package/files/templates/expo verse[D]/files/.prettierrc.js +16 -0
  27. package/files/templates/expo verse[D]/files/.stylelintrc.json +8 -0
  28. package/files/templates/expo verse[D]/files/.vscode/extensions.json +10 -0
  29. package/files/templates/expo verse[D]/files/.vscode/launch.json +54 -0
  30. package/files/templates/expo verse[D]/files/.vscode/settings.json +30 -0
  31. package/files/templates/expo verse[D]/files/.vscode/tasks.json +0 -0
  32. package/files/templates/expo verse[D]/files/.yarnrc +1 -0
  33. package/files/templates/expo verse[D]/files/.yarnrc.yml +8 -0
  34. package/files/templates/expo verse[D]/files/App.tsx +63 -0
  35. package/files/templates/expo verse[D]/files/DEBUGGING.md +126 -0
  36. package/files/templates/expo verse[D]/files/README.md +45 -0
  37. package/files/templates/expo verse[D]/files/android/app/build.gradle +177 -0
  38. package/files/templates/expo verse[D]/files/android/app/debug.keystore +0 -0
  39. package/files/templates/expo verse[D]/files/android/app/proguard-rules.pro +14 -0
  40. package/files/templates/expo verse[D]/files/android/app/src/debug/AndroidManifest.xml +7 -0
  41. package/files/templates/expo verse[D]/files/android/app/src/main/AndroidManifest.xml +33 -0
  42. package/files/templates/expo verse[D]/files/android/app/src/main/java/so/sunnysideup/daily_verse/MainActivity.kt +65 -0
  43. package/files/templates/expo verse[D]/files/android/app/src/main/java/so/sunnysideup/daily_verse/MainApplication.kt +57 -0
  44. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable/ic_launcher_background.xml +6 -0
  45. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable/rn_edit_text_material.xml +37 -0
  46. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-hdpi/splashscreen_logo.png +0 -0
  47. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-mdpi/splashscreen_logo.png +0 -0
  48. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-night-hdpi/splashscreen_logo.png +0 -0
  49. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-night-mdpi/splashscreen_logo.png +0 -0
  50. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-night-xhdpi/splashscreen_logo.png +0 -0
  51. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-night-xxhdpi/splashscreen_logo.png +0 -0
  52. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-night-xxxhdpi/splashscreen_logo.png +0 -0
  53. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-xhdpi/splashscreen_logo.png +0 -0
  54. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-xxhdpi/splashscreen_logo.png +0 -0
  55. package/files/templates/expo verse[D]/files/android/app/src/main/res/drawable-xxxhdpi/splashscreen_logo.png +0 -0
  56. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher.xml +6 -0
  57. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-anydpi-v26/ic_launcher_round.xml +6 -0
  58. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher.webp +0 -0
  59. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_foreground.webp +0 -0
  60. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_monochrome.webp +0 -0
  61. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-hdpi/ic_launcher_round.webp +0 -0
  62. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher.webp +0 -0
  63. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_foreground.webp +0 -0
  64. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_monochrome.webp +0 -0
  65. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-mdpi/ic_launcher_round.webp +0 -0
  66. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher.webp +0 -0
  67. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_foreground.webp +0 -0
  68. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_monochrome.webp +0 -0
  69. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xhdpi/ic_launcher_round.webp +0 -0
  70. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher.webp +0 -0
  71. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_foreground.webp +0 -0
  72. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_monochrome.webp +0 -0
  73. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxhdpi/ic_launcher_round.webp +0 -0
  74. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.webp +0 -0
  75. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_foreground.webp +0 -0
  76. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_monochrome.webp +0 -0
  77. package/files/templates/expo verse[D]/files/android/app/src/main/res/mipmap-xxxhdpi/ic_launcher_round.webp +0 -0
  78. package/files/templates/expo verse[D]/files/android/app/src/main/res/values/colors.xml +6 -0
  79. package/files/templates/expo verse[D]/files/android/app/src/main/res/values/strings.xml +7 -0
  80. package/files/templates/expo verse[D]/files/android/app/src/main/res/values/styles.xml +12 -0
  81. package/files/templates/expo verse[D]/files/android/app/src/main/res/values-night/colors.xml +3 -0
  82. package/files/templates/expo verse[D]/files/android/build.gradle +37 -0
  83. package/files/templates/expo verse[D]/files/android/gradle/wrapper/gradle-wrapper.jar +0 -0
  84. package/files/templates/expo verse[D]/files/android/gradle/wrapper/gradle-wrapper.properties +7 -0
  85. package/files/templates/expo verse[D]/files/android/gradle.properties +59 -0
  86. package/files/templates/expo verse[D]/files/android/gradlew +251 -0
  87. package/files/templates/expo verse[D]/files/android/gradlew.bat +94 -0
  88. package/files/templates/expo verse[D]/files/android/settings.gradle +39 -0
  89. package/files/templates/expo verse[D]/files/app.config.ts +77 -0
  90. package/files/templates/expo verse[D]/files/assets/data/de.csv +949 -0
  91. package/files/templates/expo verse[D]/files/assets/data/en.csv +949 -0
  92. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-Black.ttf +0 -0
  93. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-BlackItalic.ttf +0 -0
  94. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-Bold.ttf +0 -0
  95. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-BoldItalic.ttf +0 -0
  96. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-ExtraBold.ttf +0 -0
  97. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-ExtraBoldItalic.ttf +0 -0
  98. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-Italic.ttf +0 -0
  99. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-Medium.ttf +0 -0
  100. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-MediumItalic.ttf +0 -0
  101. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-Regular.ttf +0 -0
  102. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-SemiBold.ttf +0 -0
  103. package/files/templates/expo verse[D]/files/assets/fonts/PlayfairDisplay-SemiBoldItalic.ttf +0 -0
  104. package/files/templates/expo verse[D]/files/assets/fonts/SpaceMono-Regular.ttf +0 -0
  105. package/files/templates/expo verse[D]/files/assets/images/andorid/background.png +0 -0
  106. package/files/templates/expo verse[D]/files/assets/images/android-dark.png +0 -0
  107. package/files/templates/expo verse[D]/files/assets/images/android-light.png +0 -0
  108. package/files/templates/expo verse[D]/files/assets/images/background.png +0 -0
  109. package/files/templates/expo verse[D]/files/assets/images/ios-dark.png +0 -0
  110. package/files/templates/expo verse[D]/files/assets/images/ios-light.png +0 -0
  111. package/files/templates/expo verse[D]/files/assets/images/ios-tinted.png +0 -0
  112. package/files/templates/expo verse[D]/files/assets/images/splash-icon-dark.png +0 -0
  113. package/files/templates/expo verse[D]/files/assets/images/splash-icon-light.png +0 -0
  114. package/files/templates/expo verse[D]/files/babel.config.js +10 -0
  115. package/files/templates/expo verse[D]/files/components/.gitkeep +0 -0
  116. package/files/templates/expo verse[D]/files/components/MainScreen.tsx +299 -0
  117. package/files/templates/expo verse[D]/files/components/Share.tsx +132 -0
  118. package/files/templates/expo verse[D]/files/components/ui/.gitkeep +0 -0
  119. package/files/templates/expo verse[D]/files/components/ui/dev.tsx +48 -0
  120. package/files/templates/expo verse[D]/files/constants/config.ts +30 -0
  121. package/files/templates/expo verse[D]/files/constants/theme.ts +18 -0
  122. package/files/templates/expo verse[D]/files/data/de.csv +219 -0
  123. package/files/templates/expo verse[D]/files/data/en.csv +219 -0
  124. package/files/templates/expo verse[D]/files/data/version.json +4 -0
  125. package/files/templates/expo verse[D]/files/eas.json +47 -0
  126. package/files/templates/expo verse[D]/files/eslint.config.mjs +185 -0
  127. package/files/templates/expo verse[D]/files/global.css +47 -0
  128. package/files/templates/expo verse[D]/files/hooks/useColorScheme.ts +17 -0
  129. package/files/templates/expo verse[D]/files/index.ts +28 -0
  130. package/files/templates/expo verse[D]/files/lib/content.ts +31 -0
  131. package/files/templates/expo verse[D]/files/lib/data.ts +180 -0
  132. package/files/templates/expo verse[D]/files/lib/helper.ts +54 -0
  133. package/files/templates/expo verse[D]/files/lib/index.ts +21 -0
  134. package/files/templates/expo verse[D]/files/lib/state.ts +128 -0
  135. package/files/templates/expo verse[D]/files/lib/storage.ts +17 -0
  136. package/files/templates/expo verse[D]/files/lib/taskManager/index.ts +38 -0
  137. package/files/templates/expo verse[D]/files/lib/taskManager/loadData.ts +14 -0
  138. package/files/templates/expo verse[D]/files/lib/utils/index.ts +11 -0
  139. package/files/templates/expo verse[D]/files/lib/utils/polyfills.ts +29 -0
  140. package/files/templates/expo verse[D]/files/lib/utils/screenshot.ts +77 -0
  141. package/files/templates/expo verse[D]/files/lucy.json +8 -0
  142. package/files/templates/expo verse[D]/files/metro.config.js +81 -0
  143. package/files/templates/expo verse[D]/files/models/index.ts +28 -0
  144. package/files/templates/expo verse[D]/files/nativewind-env.d.ts +1 -0
  145. package/files/templates/expo verse[D]/files/package.json +102 -0
  146. package/files/templates/expo verse[D]/files/pnpm-workspace.yaml +3 -0
  147. package/files/templates/expo verse[D]/files/scripts/convert-verses.ts +309 -0
  148. package/files/templates/expo verse[D]/files/scripts/move-artifacts.ts +83 -0
  149. package/files/templates/expo verse[D]/files/scripts/reset-project.ts +116 -0
  150. package/files/templates/expo verse[D]/files/tailwind.config.js +63 -0
  151. package/files/templates/expo verse[D]/files/tsconfig.json +45 -0
  152. package/files/templates/expo verse[D]/files/types/index.ts +4 -0
  153. package/files/templates/expo verse[D]/files/types/reset.d.ts +1 -0
  154. package/files/templates/expo verse[D]/lucy.json +86 -0
  155. package/files/templates/expo[D]/files/app.config.ts +69 -0
  156. package/files/templates/expo[D]/files/assets/fonts/SpaceMono-Regular.ttf +0 -0
  157. package/files/templates/expo[D]/files/scripts/reset-project.ts +0 -0
  158. package/old/index.ts +0 -0
  159. package/package.json +11 -12
  160. package/pnpm-workspace.yaml +6 -0
  161. package/src/commands/home.ts +36 -2
  162. package/src/index.ts +0 -0
@@ -0,0 +1,86 @@
1
+ {
2
+ "modules": {},
3
+ "devDependencies": {
4
+ "tailwindcss": "^3.4.17",
5
+ "prettier-plugin-tailwindcss": "^0.5.11",
6
+ "@styled/typescript-styled-plugin": "",
7
+ "typescript-eslint-language-service": "",
8
+ "eslint-config-prettier": "",
9
+ "eslint-plugin-jsdoc": "",
10
+ "eslint-plugin-named-import-spacing": "",
11
+ "eslint-plugin-only-warn": "",
12
+ "eslint-plugin-react": "",
13
+ "eslint-plugin-react-hooks": "",
14
+ "eslint-plugin-simple-import-sort": "",
15
+ "@next/eslint-plugin-next": "",
16
+ "@stylelint/postcss-css-in-js": "",
17
+ "@typescript-eslint/parser": "",
18
+ "typescript-eslint": "",
19
+ "@total-typescript/ts-reset": "",
20
+ "expo-doctor": "",
21
+ "tsx": ""
22
+ },
23
+ "dependencies": {
24
+ "nativewind": "",
25
+ "react-native-reanimated": "~3.17.4",
26
+ "react-native-safe-area-context": "5.4.0",
27
+ "@wix/sdk": "1.15.24",
28
+ "@wix/data": "",
29
+ "expo-standard-web-crypto": "",
30
+ "effect": "",
31
+ "node-libs-react-native": "",
32
+ "util": "",
33
+ "events": "",
34
+ "tailwindcss-animate": "",
35
+ "papaparse": ""
36
+ },
37
+ "additionalCommands": [
38
+ [
39
+ "npx",
40
+ "expo",
41
+ "install",
42
+ "tailwindcss-animate",
43
+ "class-variance-authority",
44
+ "clsx",
45
+ "tailwind-merge",
46
+ "expo-crypto",
47
+ "react-dom",
48
+ "react-native-web",
49
+ "@expo/metro-runtime",
50
+ "expo-system-ui",
51
+ "expo-localization",
52
+ "expo-file-system",
53
+ "expo-asset"
54
+ ]
55
+ ],
56
+ "scripts": {
57
+ "dev": "expo start",
58
+ "start": "expo start",
59
+ "android": "expo start --android",
60
+ "ios": "expo start --ios",
61
+ "web": "expo start --web",
62
+ "reset": "tsx ./scripts/reset-project.ts",
63
+ "format": "prettier --write \"./*.json\" \"**/*.{ts,tsx,md,json,jsonc,json5}\"",
64
+ "prebuild": "expo prebuild",
65
+ "pods": "npx pod-install",
66
+ "build:dev": "eas build --local --profile development",
67
+ "build:sim": "eas build --local --profile ios-simulator",
68
+ "build:prev": "eas build --local --profile preview",
69
+ "build:prod": "eas build --local --profile production",
70
+ "build:web": "expo export --platform web",
71
+ "doctor": "expo-doctor",
72
+ "eas-build-pre-install": "corepack enable && yarn set version 4"
73
+ },
74
+ "initialized": false,
75
+ "type": "expo",
76
+ "packageManager": "pnpm",
77
+ "additionalPkgProps": {
78
+ "expo": {
79
+ "doctor": {
80
+ "reactNativeDirectoryCheck": {
81
+ "listUnknownPackages": false
82
+ }
83
+ }
84
+ }
85
+ }
86
+ }
@@ -0,0 +1,69 @@
1
+ import { ExpoConfig, ConfigContext } from 'expo/config';
2
+
3
+ export default ({ config }: ConfigContext): ExpoConfig => ({
4
+ ...config,
5
+ slug: 'daily-verse',
6
+ name: 'Daily Verse',
7
+ owner: 'sunnyside-up',
8
+ version: '1.0.0',
9
+ orientation: 'portrait',
10
+ userInterfaceStyle: 'automatic',
11
+ icon: './assets/images/icon.png',
12
+ newArchEnabled: true,
13
+ ios: {
14
+ supportsTablet: true,
15
+ bundleIdentifier: 'so.sunnysideup.daily-verse',
16
+ config: {
17
+ usesNonExemptEncryption: false,
18
+ },
19
+ icon: {
20
+ dark: './assets/images/ios-dark.png',
21
+ light: './assets/images/ios-light.png',
22
+ tinted: './assets/images/ios-tinted.png',
23
+ },
24
+ },
25
+ android: {
26
+ adaptiveIcon: {
27
+ foregroundImage: './assets/images/adaptive-icon.png',
28
+ monochromeImage: './assets/images/adaptive-icon.png',
29
+ // backgroundImage: "./assets/images/adaptive-icon.png",
30
+ backgroundColor: '#ffffff',
31
+ },
32
+ edgeToEdgeEnabled: true,
33
+ package: 'so.sunnysideup.daily_verse',
34
+ },
35
+ web: {
36
+ favicon: './assets/favicon.png',
37
+ bundler: 'metro',
38
+ },
39
+ extra: {
40
+ eas: {
41
+ projectId: 'ce2e3d56-e924-46a0-a880-f9f9911558eb',
42
+ },
43
+ },
44
+ plugins: [
45
+ 'expo-localization',
46
+ 'expo-asset',
47
+ 'expo-font',
48
+ [
49
+ 'expo-splash-screen',
50
+ {
51
+ image: './assets/images/splash-icon-dark.png',
52
+ imageWith: 200,
53
+ resizeMode: 'contain',
54
+ backgroundColor: '#ffffff',
55
+ dark: {
56
+ image: './assets/images/splash-icon-light.png',
57
+ backgroundColor: '#000000',
58
+ },
59
+ },
60
+ ],
61
+ ],
62
+ sdkVersion: '53.0.0',
63
+ runtimeVersion: {
64
+ policy: 'appVersion',
65
+ },
66
+ updates: {
67
+ url: 'https://u.expo.dev/314ea1f7-8fd3-4748-8c27-c8b04616f6c2',
68
+ },
69
+ });
package/old/index.ts CHANGED
File without changes
package/package.json CHANGED
@@ -1,15 +1,9 @@
1
1
  {
2
2
  "type": "module",
3
3
  "name": "lucy-cli",
4
- "version": "2.0.0-beta.4",
4
+ "version": "2.0.0-beta.6",
5
5
  "description": "Lucy Framework for WIX Studio Editor",
6
6
  "main": ".dist/index.js",
7
- "scripts": {
8
- "build": "tsc",
9
- "dev": "tsc -w",
10
- "postinstall": "patch-package",
11
- "start": "NODE_OPTIONS='--no-warnings' node dist/index.js"
12
- },
13
7
  "repository": {
14
8
  "type": "git",
15
9
  "url": "git+https://github.com/Sunnyside-UP-GmbH/lucy-cli.git"
@@ -33,8 +27,8 @@
33
27
  "registry": "https://registry.npmjs.org"
34
28
  },
35
29
  "dependencies": {
36
- "@effect/platform": "^0.90.0",
37
- "@effect/platform-node": "^0.94.0",
30
+ "@effect/platform": "0.92.1",
31
+ "@effect/platform-node": "0.98.3",
38
32
  "@swc/core": "^1.9.3",
39
33
  "@wix/cli": "^1.0.83",
40
34
  "@wix/data": "^1.0.270",
@@ -99,10 +93,15 @@
99
93
  "@typescript-eslint/utils": "8.39.0",
100
94
  "eslint": "9.32.0",
101
95
  "eslint-plugin-import": "^2.27.5",
102
- "eslint-plugin-jsdoc": "52.0.4",
96
+ "eslint-plugin-jsdoc": "60.8.2",
103
97
  "eslint-plugin-named-import-spacing": "^1.0.3",
104
98
  "eslint-plugin-simple-import-sort": "12.1.1",
105
99
  "ts-node": "10.9.2"
106
100
  },
107
- "packageManager": "yarn@1.22.22+sha1.ac34549e6aa8e7ead463a7407e1c7390f61a6610"
108
- }
101
+ "scripts": {
102
+ "build": "tsc",
103
+ "dev": "tsc -w",
104
+ "postinstall": "patch-package",
105
+ "start": "NODE_OPTIONS='--no-warnings' node dist/index.js"
106
+ }
107
+ }
@@ -0,0 +1,6 @@
1
+ onlyBuiltDependencies:
2
+ - '@parcel/watcher'
3
+ - '@swc/core'
4
+ - msgpackr-extract
5
+ - sqlite3
6
+ - unrs-resolver
@@ -1,6 +1,6 @@
1
1
  import { Effect } from "effect/index";
2
2
  import { Config } from "../config.js";
3
- import { FileSystem } from "@effect/platform"
3
+ import { FileSystem, Path } from "@effect/platform"
4
4
  import { logger, orange } from "../utils/logger.js";
5
5
  import path, { join } from 'path';
6
6
 
@@ -8,15 +8,49 @@ export const createLucyHome = () => {
8
8
  return Effect.gen(function*() {
9
9
  const config = yield* Config
10
10
  const fs = yield* FileSystem.FileSystem
11
+ const p = yield* Path.Path
11
12
 
12
13
  if(!(yield* fs.exists(config.config.lucyHome))) {
13
14
  logger.action(`Creating Lucy home directory at ${orange(config.config.lucyHome)}`);
14
15
  yield* fs.makeDirectory(config.config.lucyHome, { recursive: true });
15
16
  }
16
17
  const templateFiles = yield* fs.readDirectory(config.config.filesFolder)
18
+
19
+ const shouldExclude = (relativePath: string): boolean => {
20
+ const segments = relativePath.split(/[/\\]/)
21
+ return segments.includes("node_modules") || segments.includes("Pods")
22
+ }
23
+
24
+ const copyDirFiltered = (src: string, dest: string, base?: string): Effect.Effect<void, any> =>
25
+ Effect.gen(function*() {
26
+ const entries = yield* fs.readDirectory(src)
27
+ yield* fs.makeDirectory(dest, { recursive: true })
28
+ yield* Effect.forEach(
29
+ entries,
30
+ (entry) => Effect.gen(function*() {
31
+ const from = p.join(src, entry)
32
+ const to = p.join(dest, entry)
33
+ const rel = base ? p.relative(base, from) : entry
34
+
35
+ if (shouldExclude(rel)) {
36
+ return
37
+ }
38
+
39
+ const stat = yield* fs.stat(from)
40
+ if (stat.type === "Directory") {
41
+ yield* copyDirFiltered(from, to, base ?? src)
42
+ return
43
+ }
44
+ yield* fs.copyFile(from, to)
45
+ }),
46
+ { discard: true }
47
+ )
48
+ })
49
+
17
50
  yield* Effect.forEach(
18
51
  templateFiles,
19
- (file) => fs.copy(path.join(config.config.filesFolder, file), path.join(config.config.lucyHome, file), { overwrite: true })
52
+ (file) => copyDirFiltered(path.join(config.config.filesFolder, file), path.join(config.config.lucyHome, file)),
53
+ { discard: true }
20
54
  )
21
55
  });
22
56
  }
package/src/index.ts CHANGED
File without changes