@reliverse/dler 1.7.114 → 1.7.115

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 (155) hide show
  1. package/bin/app/add/add-local/core/templates.d.ts +3 -3
  2. package/bin/app/add/add-local/core/templates.js +8 -8
  3. package/bin/app/add/cmd.js +2 -2
  4. package/bin/app/ai/ai-impl/ai-chat.d.ts +2 -2
  5. package/bin/app/ai/ai-impl/ai-types.d.ts +2 -2
  6. package/bin/app/ai/ai-impl/relinter/relinter.d.ts +2 -2
  7. package/bin/app/ai/ai-menu.d.ts +2 -2
  8. package/bin/app/ai/cmd.js +4 -4
  9. package/bin/app/better/auth/cmd.js +1 -6
  10. package/bin/app/build/build-library.d.ts +5 -4
  11. package/bin/app/build/build-regular.d.ts +4 -3
  12. package/bin/app/build/cmd.d.ts +10 -0
  13. package/bin/app/build/cmd.js +29 -12
  14. package/bin/app/build/impl.d.ts +3 -2
  15. package/bin/app/build/library-flow.d.ts +5 -4
  16. package/bin/app/build/postbuild.d.ts +2 -2
  17. package/bin/app/build/postbuild.js +0 -6
  18. package/bin/app/build/prebuild.d.ts +2 -2
  19. package/bin/app/build/prebuild.js +0 -6
  20. package/bin/app/build/regular-flow.d.ts +4 -3
  21. package/bin/app/check/cmd.js +2 -2
  22. package/bin/app/config/constants.d.ts +1 -1
  23. package/bin/app/config/constants.js +1 -1
  24. package/bin/app/config/content.d.ts +1 -1
  25. package/bin/app/config/content.js +2 -2
  26. package/bin/app/config/core-cfg.d.ts +5 -5
  27. package/bin/app/config/core-cfg.js +27 -16
  28. package/bin/app/config/create.d.ts +6 -5
  29. package/bin/app/config/create.js +13 -22
  30. package/bin/app/config/def-utils.d.ts +3 -3
  31. package/bin/app/config/def-utils.js +10 -8
  32. package/bin/app/config/detect.d.ts +4 -2
  33. package/bin/app/config/detect.js +36 -6
  34. package/bin/app/config/gen-cfg.js +4 -4
  35. package/bin/app/config/load.d.ts +2 -2
  36. package/bin/app/config/load.js +1 -1
  37. package/bin/app/config/migrate.d.ts +1 -1
  38. package/bin/app/config/migrate.js +7 -3
  39. package/bin/app/config/path.d.ts +1 -1
  40. package/bin/app/config/path.js +3 -3
  41. package/bin/app/config/prepare.d.ts +1 -1
  42. package/bin/app/config/prepare.js +83 -81
  43. package/bin/app/config/prompts.d.ts +1 -1
  44. package/bin/app/config/prompts.js +1 -1
  45. package/bin/app/config/read.d.ts +3 -3
  46. package/bin/app/config/read.js +13 -35
  47. package/bin/app/config/repair.d.ts +2 -2
  48. package/bin/app/config/repair.js +12 -12
  49. package/bin/app/config/unstable.d.ts +3 -3
  50. package/bin/app/config/unstable.js +2 -14
  51. package/bin/app/config/update.d.ts +3 -3
  52. package/bin/app/config/update.js +41 -48
  53. package/bin/app/env/env-impl.js +2 -2
  54. package/bin/app/init/cmd-2.js +2 -2
  55. package/bin/app/init/init-utils/init-utils.js +7 -7
  56. package/bin/app/init/init-utils/mm-deprecated/editor-menu.d.ts +3 -2
  57. package/bin/app/init/init-utils/mm-deprecated/editor-menu.js +1 -6
  58. package/bin/app/init/use-template/cp-impl.d.ts +5 -4
  59. package/bin/app/init/use-template/cp-mod.d.ts +3 -3
  60. package/bin/app/init/use-template/cp-mod.js +5 -5
  61. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/showCloneProjectMenu.d.ts +2 -2
  62. package/bin/app/init/use-template/cp-modules/compose-env-file/cef-impl.d.ts +2 -2
  63. package/bin/app/init/use-template/cp-modules/compose-env-file/cef-mod.d.ts +2 -2
  64. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/deploy.d.ts +4 -3
  65. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/gdp-mod.d.ts +5 -4
  66. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/git.d.ts +6 -5
  67. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/github.d.ts +2 -2
  68. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-private-repo.d.ts +2 -2
  69. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-private-repo.js +6 -3
  70. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-repo-exists.d.ts +3 -2
  71. package/bin/app/init/use-template/cp-modules/git-deploy-prompts/utils-repo-exists.js +4 -4
  72. package/bin/app/invoke/cmd.js +2 -2
  73. package/bin/app/mrse/cmd.js +2 -2
  74. package/bin/app/mrse/mrse-impl.js +2 -2
  75. package/bin/app/providers/better-t-stack/types.d.ts +5 -5
  76. package/bin/app/providers/package.json +3 -0
  77. package/bin/app/providers/reliverse-stack/reliverse-stack-mod.js +2 -2
  78. package/bin/app/providers/reliverse-stack/rs-impl.d.ts +4 -4
  79. package/bin/app/pub/cmd.d.ts +10 -0
  80. package/bin/app/pub/cmd.js +27 -12
  81. package/bin/app/pub/impl.d.ts +3 -2
  82. package/bin/app/rempts/cmd.js +2 -2
  83. package/bin/app/rules/reliverse/dler-config-health/dler-config-health.d.ts +1 -1
  84. package/bin/app/rules/reliverse/dler-config-health/dler-config-health.js +1 -1
  85. package/bin/app/schema/cmd.js +3 -3
  86. package/bin/app/{config/reltypes-content.js → schema/gen.js} +475 -229
  87. package/bin/app/schema/mod.d.ts +1224 -0
  88. package/bin/app/schema/mod.js +329 -0
  89. package/bin/app/{config/reltypes-utils.js → schema/utils.js} +6 -3
  90. package/bin/app/toolbox/cmd.js +2 -2
  91. package/bin/app/toolbox/toolbox-impl.d.ts +3 -2
  92. package/bin/app/types/mod.d.ts +10 -1518
  93. package/bin/app/types/mod.js +0 -161
  94. package/bin/app/update/impl.d.ts +1 -0
  95. package/bin/app/update/impl.js +102 -1
  96. package/bin/app/utils/common.d.ts +3 -0
  97. package/bin/app/utils/common.js +28 -0
  98. package/bin/app/utils/decideHelper.d.ts +2 -2
  99. package/bin/app/utils/downloading/downloadRepo.d.ts +2 -2
  100. package/bin/app/utils/downloading/downloadRepo.js +3 -3
  101. package/bin/app/utils/downloading/handleDownload.d.ts +2 -2
  102. package/bin/app/utils/finalize.d.ts +2 -1
  103. package/bin/app/utils/handlers/handleCleanup.js +2 -2
  104. package/bin/app/utils/handlers/handleCodemods.d.ts +2 -2
  105. package/bin/app/utils/projectRepository.d.ts +3 -4
  106. package/bin/app/utils/prompts/askUsernameFrontend.d.ts +2 -2
  107. package/bin/app/utils/prompts/askUsernameFrontend.js +3 -3
  108. package/bin/app/utils/resolve-cross-libs.js +2 -2
  109. package/bin/app/utils/schemaMemory.d.ts +1 -1
  110. package/bin/app/utils/startEndPrompts.d.ts +8 -2
  111. package/bin/app/utils/startEndPrompts.js +43 -12
  112. package/bin/app/utils/utils-build.d.ts +2 -2
  113. package/bin/app/utils/utils-clean.d.ts +1 -1
  114. package/bin/app/utils/utils-deps.d.ts +2 -2
  115. package/bin/app/utils/utils-determine.d.ts +1 -1
  116. package/bin/app/utils/utils-jsr-json.d.ts +2 -2
  117. package/bin/app/utils/utils-package-json-libraries.d.ts +3 -3
  118. package/bin/app/utils/utils-package-json-regular.d.ts +2 -2
  119. package/bin/dler.js +2 -92
  120. package/bin/mod.d.ts +431 -438
  121. package/bin/mod.js +36 -27
  122. package/package.json +10 -10
  123. package/bin/app/agg/cmd.d.ts +0 -72
  124. package/bin/app/agg/cmd.js +0 -128
  125. package/bin/app/cli/cmd.d.ts +0 -12
  126. package/bin/app/cli/cmd.js +0 -56
  127. package/bin/app/cli/impl.d.ts +0 -3
  128. package/bin/app/cli/impl.js +0 -88
  129. package/bin/app/config/default-cfg.d.ts +0 -3
  130. package/bin/app/config/default-cfg.js +0 -155
  131. package/bin/app/config/default.d.ts +0 -6
  132. package/bin/app/config/default.js +0 -159
  133. package/bin/app/config/schema.d.ts +0 -130
  134. package/bin/app/config/schema.js +0 -443
  135. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.d.ts +0 -12
  136. package/bin/app/init/use-template/cp-modules/cli-main-modules/cli-menu-items/getMainMenuOptions.js +0 -69
  137. package/bin/app/init/use-template/cp-modules/cli-main-modules/modules/showStartEndPrompt.d.ts +0 -2
  138. package/bin/app/init/use-template/cp-modules/cli-main-modules/modules/showStartEndPrompt.js +0 -26
  139. package/bin/app/schema/schema-impl.d.ts +0 -2
  140. package/bin/app/schema/schema-impl.js +0 -24
  141. package/bin/app/update/cmd.d.ts +0 -103
  142. package/bin/app/update/cmd.js +0 -299
  143. package/bin/app/utils/native-cli/nc-impl.d.ts +0 -15
  144. package/bin/app/utils/native-cli/nc-impl.js +0 -154
  145. package/bin/app/utils/native-cli/nc-mod.d.ts +0 -3
  146. package/bin/app/utils/native-cli/nc-mod.js +0 -44
  147. package/bin/app/web/README.md +0 -149
  148. package/bin/app/web/cmd.d.ts +0 -2
  149. package/bin/app/web/cmd.js +0 -11
  150. package/bin/dler-go +0 -4
  151. package/bin/dler-rust +0 -4
  152. /package/bin/app/{config/reltypes-content.d.ts → schema/gen.d.ts} +0 -0
  153. /package/bin/app/{config/reltypes-utils.d.ts → schema/utils.d.ts} +0 -0
  154. /package/bin/app/utils/{hasOnlyRseConfig.d.ts → hasOnlyReliverseConfig.d.ts} +0 -0
  155. /package/bin/app/utils/{hasOnlyRseConfig.js → hasOnlyReliverseConfig.js} +0 -0
@@ -1,443 +0,0 @@
1
- import path from "@reliverse/pathkit";
2
- import fs from "@reliverse/relifso";
3
- import { Type } from "@sinclair/typebox";
4
- import {
5
- cliDomainDocs,
6
- RSE_SCHEMA_DEV,
7
- RSE_SCHEMA_URL,
8
- UNKNOWN_VALUE
9
- } from "./constants.js";
10
- const unknownLiteral = Type.Literal("unknown");
11
- const featuresSchema = Type.Object({
12
- i18n: Type.Optional(Type.Boolean()),
13
- analytics: Type.Optional(Type.Boolean()),
14
- themeMode: Type.Optional(
15
- Type.Union([Type.Literal("light"), Type.Literal("dark"), Type.Literal("dark-light")])
16
- ),
17
- authentication: Type.Optional(Type.Boolean()),
18
- api: Type.Optional(Type.Boolean()),
19
- database: Type.Optional(Type.Boolean()),
20
- testing: Type.Optional(Type.Boolean()),
21
- docker: Type.Optional(Type.Boolean()),
22
- ci: Type.Optional(Type.Boolean()),
23
- commands: Type.Optional(Type.Array(Type.String())),
24
- webview: Type.Optional(Type.Array(Type.String())),
25
- language: Type.Optional(Type.Array(Type.String())),
26
- themes: Type.Optional(Type.Array(Type.String()))
27
- });
28
- const codeStyleSchema = Type.Object({
29
- lineWidth: Type.Optional(Type.Number()),
30
- indentSize: Type.Optional(Type.Number()),
31
- indentStyle: Type.Optional(Type.Union([Type.Literal("space"), Type.Literal("tab")])),
32
- quoteMark: Type.Optional(Type.Union([Type.Literal("single"), Type.Literal("double")])),
33
- semicolons: Type.Optional(Type.Boolean()),
34
- trailingComma: Type.Optional(
35
- Type.Union([Type.Literal("none"), Type.Literal("es5"), Type.Literal("all")])
36
- ),
37
- bracketSpacing: Type.Optional(Type.Boolean()),
38
- arrowParens: Type.Optional(Type.Union([Type.Literal("always"), Type.Literal("avoid")])),
39
- tabWidth: Type.Optional(Type.Number()),
40
- jsToTs: Type.Optional(Type.Boolean()),
41
- dontRemoveComments: Type.Optional(Type.Boolean()),
42
- shouldAddComments: Type.Optional(Type.Boolean()),
43
- typeOrInterface: Type.Optional(
44
- Type.Union([Type.Literal("type"), Type.Literal("interface"), Type.Literal("mixed")])
45
- ),
46
- importOrRequire: Type.Optional(
47
- Type.Union([Type.Literal("import"), Type.Literal("require"), Type.Literal("mixed")])
48
- ),
49
- cjsToEsm: Type.Optional(Type.Boolean()),
50
- modernize: Type.Optional(
51
- Type.Object({
52
- replaceFs: Type.Optional(Type.Boolean()),
53
- replacePath: Type.Optional(Type.Boolean()),
54
- replaceHttp: Type.Optional(Type.Boolean()),
55
- replaceProcess: Type.Optional(Type.Boolean()),
56
- replaceConsole: Type.Optional(Type.Boolean()),
57
- replaceEvents: Type.Optional(Type.Boolean())
58
- })
59
- ),
60
- importSymbol: Type.Optional(Type.String())
61
- });
62
- const monorepoSchema = Type.Object({
63
- type: Type.Optional(
64
- Type.Union([
65
- Type.Literal("none"),
66
- Type.Literal("turborepo"),
67
- Type.Literal("nx"),
68
- Type.Literal("pnpm"),
69
- Type.Literal("bun")
70
- ])
71
- ),
72
- packages: Type.Optional(Type.Array(Type.String())),
73
- sharedPackages: Type.Optional(Type.Array(Type.String()))
74
- });
75
- const preferredLibrariesSchema = Type.Object({
76
- stateManagement: Type.Optional(
77
- Type.Union([
78
- Type.Literal("zustand"),
79
- Type.Literal("jotai"),
80
- Type.Literal("redux-toolkit"),
81
- unknownLiteral
82
- ])
83
- ),
84
- formManagement: Type.Optional(
85
- Type.Union([Type.Literal("react-hook-form"), Type.Literal("formik"), unknownLiteral])
86
- ),
87
- styling: Type.Optional(
88
- Type.Union([
89
- Type.Literal("tailwind"),
90
- Type.Literal("styled-components"),
91
- Type.Literal("css-modules"),
92
- Type.Literal("sass"),
93
- unknownLiteral
94
- ])
95
- ),
96
- uiComponents: Type.Optional(
97
- Type.Union([
98
- Type.Literal("shadcn-ui"),
99
- Type.Literal("chakra-ui"),
100
- Type.Literal("material-ui"),
101
- unknownLiteral
102
- ])
103
- ),
104
- testing: Type.Optional(
105
- Type.Union([
106
- Type.Literal("bun"),
107
- Type.Literal("vitest"),
108
- Type.Literal("jest"),
109
- Type.Literal("playwright"),
110
- Type.Literal("cypress"),
111
- unknownLiteral
112
- ])
113
- ),
114
- authentication: Type.Optional(
115
- Type.Union([
116
- Type.Literal("better-auth"),
117
- Type.Literal("clerk"),
118
- Type.Literal("next-auth"),
119
- Type.Literal("supabase-auth"),
120
- Type.Literal("auth0"),
121
- unknownLiteral
122
- ])
123
- ),
124
- databaseLibrary: Type.Optional(
125
- Type.Union([
126
- Type.Literal("drizzle"),
127
- Type.Literal("prisma"),
128
- Type.Literal("supabase"),
129
- unknownLiteral
130
- ])
131
- ),
132
- databaseProvider: Type.Optional(
133
- Type.Union([
134
- Type.Literal("pg"),
135
- Type.Literal("mysql"),
136
- Type.Literal("sqlite"),
137
- Type.Literal("mongodb"),
138
- unknownLiteral
139
- ])
140
- ),
141
- api: Type.Optional(
142
- Type.Union([
143
- Type.Literal("hono"),
144
- Type.Literal("trpc"),
145
- Type.Literal("graphql"),
146
- Type.Literal("rest"),
147
- unknownLiteral
148
- ])
149
- ),
150
- linting: Type.Optional(Type.Union([Type.Literal("eslint"), unknownLiteral])),
151
- formatting: Type.Optional(Type.Union([Type.Literal("biome"), unknownLiteral])),
152
- payment: Type.Optional(Type.Union([Type.Literal("stripe"), unknownLiteral])),
153
- analytics: Type.Optional(Type.Union([Type.Literal("vercel"), unknownLiteral])),
154
- monitoring: Type.Optional(Type.Union([Type.Literal("sentry"), unknownLiteral])),
155
- logging: Type.Optional(Type.Union([Type.Literal("axiom"), unknownLiteral])),
156
- forms: Type.Optional(Type.Union([Type.Literal("react-hook-form"), unknownLiteral])),
157
- notifications: Type.Optional(Type.Union([Type.Literal("sonner"), unknownLiteral])),
158
- search: Type.Optional(Type.Union([Type.Literal("algolia"), unknownLiteral])),
159
- uploads: Type.Optional(Type.Union([Type.Literal("uploadthing"), unknownLiteral])),
160
- validation: Type.Optional(
161
- Type.Union([
162
- Type.Literal("zod"),
163
- Type.Literal("typebox"),
164
- Type.Literal("valibot"),
165
- unknownLiteral
166
- ])
167
- ),
168
- documentation: Type.Optional(
169
- Type.Union([Type.Literal("starlight"), Type.Literal("nextra"), unknownLiteral])
170
- ),
171
- icons: Type.Optional(Type.Union([Type.Literal("lucide"), unknownLiteral])),
172
- mail: Type.Optional(Type.Union([Type.Literal("resend"), unknownLiteral])),
173
- cache: Type.Optional(Type.Union([Type.Literal("redis"), unknownLiteral])),
174
- storage: Type.Optional(Type.Union([Type.Literal("cloudflare"), unknownLiteral])),
175
- cdn: Type.Optional(Type.Union([Type.Literal("cloudflare"), unknownLiteral])),
176
- cms: Type.Optional(Type.Union([Type.Literal("contentlayer"), unknownLiteral])),
177
- i18n: Type.Optional(Type.Union([Type.Literal("next-intl"), unknownLiteral])),
178
- seo: Type.Optional(Type.Union([Type.Literal("next-seo"), unknownLiteral])),
179
- motion: Type.Optional(Type.Union([Type.Literal("framer"), unknownLiteral])),
180
- charts: Type.Optional(Type.Union([Type.Literal("recharts"), unknownLiteral])),
181
- dates: Type.Optional(Type.Union([Type.Literal("dayjs"), unknownLiteral])),
182
- markdown: Type.Optional(Type.Union([Type.Literal("mdx"), unknownLiteral])),
183
- security: Type.Optional(Type.Union([Type.Literal("auth"), unknownLiteral])),
184
- routing: Type.Optional(
185
- Type.Union([
186
- Type.Literal("next"),
187
- Type.Literal("react-router"),
188
- Type.Literal("tanstack-router"),
189
- unknownLiteral
190
- ])
191
- )
192
- });
193
- export const rseSchema = Type.Object({
194
- // rseg schema
195
- $schema: Type.Optional(Type.Union([Type.Literal(RSE_SCHEMA_URL), Type.Literal(RSE_SCHEMA_DEV)])),
196
- // General project information
197
- projectName: Type.Optional(
198
- Type.Union([Type.Literal(UNKNOWN_VALUE), Type.String({ minLength: 1 })])
199
- ),
200
- projectAuthor: Type.Optional(
201
- Type.Union([Type.Literal(UNKNOWN_VALUE), Type.String({ minLength: 1 })])
202
- ),
203
- projectDescription: Type.Optional(Type.String()),
204
- version: Type.Optional(Type.String()),
205
- projectLicense: Type.Optional(Type.String()),
206
- projectRepository: Type.Optional(Type.String()),
207
- projectDomain: Type.Optional(Type.String()),
208
- projectGitService: Type.Optional(
209
- Type.Union([
210
- Type.Literal("github"),
211
- Type.Literal("gitlab"),
212
- Type.Literal("bitbucket"),
213
- Type.Literal("none")
214
- ])
215
- ),
216
- projectDeployService: Type.Optional(
217
- Type.Union([
218
- Type.Literal("vercel"),
219
- Type.Literal("netlify"),
220
- Type.Literal("railway"),
221
- Type.Literal("deno"),
222
- Type.Literal("none")
223
- ])
224
- ),
225
- projectPackageManager: Type.Optional(
226
- Type.Union([
227
- Type.Literal("npm"),
228
- Type.Literal("pnpm"),
229
- Type.Literal("yarn"),
230
- Type.Literal("bun")
231
- ])
232
- ),
233
- projectState: Type.Optional(Type.Union([Type.Literal("creating"), Type.Literal("created")])),
234
- projectCategory: Type.Optional(
235
- Type.Union([
236
- Type.Literal(UNKNOWN_VALUE),
237
- Type.Literal("website"),
238
- Type.Literal("vscode"),
239
- Type.Literal("browser"),
240
- Type.Literal("cli"),
241
- Type.Literal("library"),
242
- Type.Literal("mobile")
243
- ])
244
- ),
245
- projectSubcategory: Type.Optional(
246
- Type.Union([Type.Literal(UNKNOWN_VALUE), Type.Literal("e-commerce"), Type.Literal("tool")])
247
- ),
248
- projectFramework: Type.Optional(
249
- Type.Union([
250
- Type.Literal(UNKNOWN_VALUE),
251
- // web app frameworks
252
- Type.Literal("nextjs"),
253
- Type.Literal("vite"),
254
- Type.Literal("svelte"),
255
- Type.Literal("remix"),
256
- Type.Literal("astro"),
257
- Type.Literal("nuxt"),
258
- Type.Literal("solid"),
259
- Type.Literal("qwik"),
260
- Type.Literal("vue"),
261
- Type.Literal("wxt"),
262
- // mobile frameworks
263
- Type.Literal("lynx"),
264
- Type.Literal("react-native"),
265
- Type.Literal("expo"),
266
- Type.Literal("capacitor"),
267
- Type.Literal("ionic"),
268
- // desktop frameworks
269
- Type.Literal("electron"),
270
- Type.Literal("tauri"),
271
- Type.Literal("neutralino"),
272
- // cli frameworks
273
- Type.Literal("rempts"),
274
- Type.Literal("citty"),
275
- Type.Literal("commander"),
276
- Type.Literal("cac"),
277
- Type.Literal("meow"),
278
- Type.Literal("yargs"),
279
- // vscode frameworks
280
- Type.Literal("vscode"),
281
- // browser frameworks
282
- Type.Literal("webextension"),
283
- Type.Literal("browser-extension"),
284
- // library frameworks
285
- Type.Literal("npm-jsr")
286
- ])
287
- ),
288
- projectTemplate: Type.Optional(
289
- Type.Union([
290
- Type.Literal(UNKNOWN_VALUE),
291
- Type.Literal("blefnk/relivator-nextjs-template"),
292
- Type.Literal("blefnk/relivator-docker-template"),
293
- Type.Literal("blefnk/next-react-ts-src-minimal"),
294
- Type.Literal("blefnk/all-in-one-nextjs-template"),
295
- Type.Literal("blefnk/create-t3-app"),
296
- Type.Literal("blefnk/create-next-app"),
297
- Type.Literal("blefnk/astro-starlight-template"),
298
- Type.Literal("blefnk/versator-nextjs-template"),
299
- Type.Literal("blefnk/relivator-lynxjs-template"),
300
- Type.Literal("blefnk/relivator-react-native-template"),
301
- Type.Literal("reliverse/template-browser-extension"),
302
- Type.Literal("microsoft/vscode-extension-samples"),
303
- Type.Literal("microsoft/vscode-extension-template"),
304
- Type.Literal("rsetarter-template"),
305
- Type.Literal("blefnk/deno-cli-tutorial")
306
- ])
307
- ),
308
- projectTemplateDate: Type.Optional(Type.String()),
309
- features: Type.Optional(featuresSchema),
310
- preferredLibraries: Type.Optional(preferredLibrariesSchema),
311
- codeStyle: Type.Optional(codeStyleSchema),
312
- monorepo: Type.Optional(monorepoSchema),
313
- ignoreDependencies: Type.Optional(Type.Array(Type.String())),
314
- customRules: Type.Optional(Type.Record(Type.String(), Type.Unknown())),
315
- // Custom repos configuration
316
- multipleRepoCloneMode: Type.Optional(Type.Boolean()),
317
- customUserFocusedRepos: Type.Optional(Type.Array(Type.String())),
318
- customDevsFocusedRepos: Type.Optional(Type.Array(Type.String())),
319
- hideRepoSuggestions: Type.Optional(Type.Boolean()),
320
- customReposOnNewProject: Type.Optional(Type.Boolean()),
321
- envComposerOpenBrowser: Type.Optional(Type.Boolean()),
322
- repoBranch: Type.Optional(Type.String()),
323
- repoPrivacy: Type.Optional(
324
- Type.Union([unknownLiteral, Type.Literal("public"), Type.Literal("private")])
325
- ),
326
- projectArchitecture: Type.Optional(
327
- Type.Union([unknownLiteral, Type.Literal("fullstack"), Type.Literal("separated")])
328
- ),
329
- projectRuntime: Type.Optional(
330
- Type.Union([Type.Literal("node"), Type.Literal("deno"), Type.Literal("bun")])
331
- ),
332
- skipPromptsUseAutoBehavior: Type.Optional(Type.Boolean()),
333
- deployBehavior: Type.Optional(
334
- Type.Union([Type.Literal("prompt"), Type.Literal("autoYes"), Type.Literal("autoNo")])
335
- ),
336
- depsBehavior: Type.Optional(
337
- Type.Union([Type.Literal("prompt"), Type.Literal("autoYes"), Type.Literal("autoNo")])
338
- ),
339
- gitBehavior: Type.Optional(
340
- Type.Union([Type.Literal("prompt"), Type.Literal("autoYes"), Type.Literal("autoNo")])
341
- ),
342
- i18nBehavior: Type.Optional(
343
- Type.Union([Type.Literal("prompt"), Type.Literal("autoYes"), Type.Literal("autoNo")])
344
- ),
345
- scriptsBehavior: Type.Optional(
346
- Type.Union([Type.Literal("prompt"), Type.Literal("autoYes"), Type.Literal("autoNo")])
347
- ),
348
- existingRepoBehavior: Type.Optional(
349
- Type.Union([
350
- Type.Literal("prompt"),
351
- Type.Literal("autoYes"),
352
- Type.Literal("autoYesSkipCommit"),
353
- Type.Literal("autoNo")
354
- ])
355
- ),
356
- relinterConfirm: Type.Optional(
357
- Type.Union([
358
- Type.Literal("promptOnce"),
359
- Type.Literal("promptEachFile"),
360
- Type.Literal("autoYes")
361
- ])
362
- )
363
- });
364
- function convertTypeBoxToJsonSchema(schema) {
365
- if (!schema || typeof schema !== "object") return schema;
366
- if (schema.type === "string" && schema.enum) {
367
- return {
368
- type: "string",
369
- enum: schema.enum
370
- };
371
- }
372
- if (schema.anyOf || schema.allOf || schema.oneOf) {
373
- const variants = schema.anyOf || schema.allOf || schema.oneOf;
374
- const allLiterals = variants.every((v) => v.const !== void 0);
375
- if (allLiterals) {
376
- return {
377
- type: "string",
378
- enum: variants.map((v) => v.const)
379
- };
380
- }
381
- }
382
- if (schema.type === "object") {
383
- const result = {
384
- type: "object",
385
- properties: {}
386
- };
387
- if (schema.required) {
388
- result.required = schema.required;
389
- }
390
- if (schema.properties) {
391
- for (const [key, value] of Object.entries(schema.properties)) {
392
- result.properties[key] = convertTypeBoxToJsonSchema(value);
393
- }
394
- }
395
- if (schema.additionalProperties) {
396
- result.additionalProperties = convertTypeBoxToJsonSchema(schema.additionalProperties);
397
- }
398
- if (schema.patternProperties) {
399
- result.patternProperties = {};
400
- for (const [pattern, value] of Object.entries(schema.patternProperties)) {
401
- result.patternProperties[pattern] = convertTypeBoxToJsonSchema(value);
402
- }
403
- }
404
- return result;
405
- }
406
- if (schema.type === "array") {
407
- return {
408
- type: "array",
409
- items: convertTypeBoxToJsonSchema(schema.items)
410
- };
411
- }
412
- if (schema.type) {
413
- const result = { type: schema.type };
414
- if (schema.minimum !== void 0) result.minimum = schema.minimum;
415
- if (schema.maximum !== void 0) result.maximum = schema.maximum;
416
- if (schema.minLength !== void 0) result.minLength = schema.minLength;
417
- if (schema.maxLength !== void 0) result.maxLength = schema.maxLength;
418
- if (schema.pattern !== void 0) result.pattern = schema.pattern;
419
- if (schema.format !== void 0) result.format = schema.format;
420
- if (schema.default !== void 0) result.default = schema.default;
421
- return result;
422
- }
423
- return schema;
424
- }
425
- export async function generateJsonSchema(outputPath) {
426
- const converted = convertTypeBoxToJsonSchema(rseSchema);
427
- const schema = {
428
- $schema: "http://json-schema.org/draft-07/schema#",
429
- title: "rse configuration schema",
430
- description: cliDomainDocs,
431
- type: "object",
432
- properties: converted.properties,
433
- required: converted.required
434
- };
435
- await fs.writeFile(outputPath, JSON.stringify(schema, null, 2));
436
- }
437
- export async function generateSchemaFile() {
438
- const schemaPath = path.join(process.cwd(), "schema.json");
439
- if (fs.existsSync(schemaPath)) {
440
- await fs.remove(schemaPath);
441
- }
442
- await generateJsonSchema(schemaPath);
443
- }
@@ -1,12 +0,0 @@
1
- import type { RseConfig } from "../../../../../types/mod.js";
2
- export type MainMenuChoice = "create" | "clone" | "detected-projects" | "isDevTools" | "native-cli" | "manual" | "exit" | "ai" | "web-ui";
3
- interface MainMenuOption {
4
- label: string;
5
- value: MainMenuChoice;
6
- hint?: string;
7
- }
8
- /**
9
- * Builds the main menu options based on dev mode, multi-rsegs, detected projects, etc.
10
- */
11
- export declare function getMainMenuOptions(cwd: string, isDev: boolean, mrse: RseConfig[]): Promise<MainMenuOption[]>;
12
- export {};
@@ -1,69 +0,0 @@
1
- import path from "@reliverse/pathkit";
2
- import { re } from "@reliverse/relico";
3
- import fs from "@reliverse/relifso";
4
- import { isBunPM, isBunRuntime } from "@reliverse/runtime";
5
- import { cliJsrPath } from "../../../../../config/constants.js";
6
- import { detectProjectsWithRseConfig } from "../../../../../config/detect.js";
7
- export async function getMainMenuOptions(cwd, isDev, mrse) {
8
- const multiConfigMsg = mrse.length > 0 ? re.dim(`multi-config mode with ${mrse.length} projects`) : "";
9
- const rseSearchPath = isDev ? path.join(cwd, "tests-runtime") : cwd;
10
- let detectedCount = 0;
11
- if (await fs.pathExists(rseSearchPath)) {
12
- const detectedProjects = await detectProjectsWithRseConfig(rseSearchPath, isDev);
13
- detectedCount = detectedProjects.length;
14
- }
15
- const detectedHint = detectedCount > 0 ? `Detected: ${detectedCount}` : "";
16
- const options = [
17
- {
18
- label: "\u2728 Create a project in terminal",
19
- hint: multiConfigMsg,
20
- value: "create"
21
- },
22
- {
23
- label: "\u{1F4BB} Open rse web ui",
24
- hint: "experimental",
25
- value: "web-ui"
26
- },
27
- {
28
- label: "\u{1F52C} Create/edit project manually",
29
- // Inject "Detected: N" near the manual creation if we found any
30
- hint: [multiConfigMsg, detectedHint].filter(Boolean).join(" | "),
31
- value: "manual"
32
- },
33
- {
34
- label: "\u{1F9F1} Clone an existing repository",
35
- hint: multiConfigMsg,
36
- value: "clone"
37
- },
38
- { label: "\u{1F4AC} Chat with Reliverse AI", value: "ai" },
39
- {
40
- label: "\u{1F9F0} Open developer toolkit",
41
- value: "isDevTools"
42
- },
43
- {
44
- label: "\u{1F448} Exit",
45
- value: "exit",
46
- hint: re.dim("ctrl+c anywhere")
47
- }
48
- ];
49
- const isBun = await isBunPM();
50
- if (isBun && !isBunRuntime) {
51
- const isNativeInstalled = await fs.pathExists(cliJsrPath);
52
- let msg = "Use";
53
- if (isNativeInstalled && isBunRuntime) {
54
- msg = "Configure";
55
- }
56
- options.push({
57
- label: `\u{1F680} ${msg} Bun-native @rse`,
58
- value: "native-cli"
59
- });
60
- }
61
- if (detectedCount > 0) {
62
- options.splice(1, 0, {
63
- label: "\u{1F4DD} Manage project (deprecated)",
64
- value: "detected-projects",
65
- hint: re.dim(`Detected: ${detectedCount}`)
66
- });
67
- }
68
- return options;
69
- }
@@ -1,2 +0,0 @@
1
- export declare function showStartPrompt(isDev: boolean, showRuntimeInfo: boolean): Promise<void>;
2
- export declare function showEndPrompt(): Promise<void>;
@@ -1,26 +0,0 @@
1
- import { endPrompt, startPrompt } from "@reliverse/rempts";
2
- import { isBun, isBunPM, isBunRuntime } from "@reliverse/runtime";
3
- import { cliVersion, dlerName } from "../../../../../config/constants.js";
4
- export async function showStartPrompt(isDev, showRuntimeInfo) {
5
- await startPrompt({
6
- titleColor: "inverse",
7
- clearConsole: true,
8
- packageName: dlerName,
9
- packageVersion: cliVersion,
10
- isDev
11
- });
12
- if (showRuntimeInfo) {
13
- console.log("isBunRuntime:", isBunRuntime());
14
- console.log("isBunPM:", await isBunPM());
15
- console.log("isBun:", isBun);
16
- }
17
- }
18
- export async function showEndPrompt() {
19
- await endPrompt({
20
- title: "\u2502 \u2764\uFE0F Please consider supporting rse development: https://github.com/sponsors/blefnk",
21
- titleAnimation: "glitch",
22
- titleColor: "dim",
23
- titleTypography: "bold",
24
- titleAnimationDelay: 800
25
- });
26
- }
@@ -1,2 +0,0 @@
1
- declare const _default: import("@reliverse/rempts").Command<import("@reliverse/rempts").EmptyArgs>;
2
- export default _default;
@@ -1,24 +0,0 @@
1
- import { relinka } from "@reliverse/relinka";
2
- import { defineCommand } from "@reliverse/rempts";
3
- import { cliConfigJsonc } from "../config/constants.js";
4
- import { generateSchemaFile } from "../config/schema.js";
5
- export default defineCommand({
6
- meta: {
7
- name: "schema",
8
- description: `Generate JSON schema for ${cliConfigJsonc} configuration`,
9
- hidden: true
10
- },
11
- run: async () => {
12
- try {
13
- await generateSchemaFile();
14
- relinka("success", `Generated schema.json for ${cliConfigJsonc} successfully!`);
15
- } catch (error) {
16
- relinka(
17
- "error",
18
- "Failed to generate schema:",
19
- error instanceof Error ? error.message : JSON.stringify(error)
20
- );
21
- process.exit(1);
22
- }
23
- }
24
- });
@@ -1,103 +0,0 @@
1
- declare const _default: import("@reliverse/rempts").Command<{
2
- name: {
3
- type: "array";
4
- description: string;
5
- };
6
- ignore: {
7
- type: "array";
8
- description: string;
9
- };
10
- "dev-only": {
11
- type: "boolean";
12
- description: string;
13
- };
14
- "prod-only": {
15
- type: "boolean";
16
- description: string;
17
- };
18
- "peer-only": {
19
- type: "boolean";
20
- description: string;
21
- };
22
- "optional-only": {
23
- type: "boolean";
24
- description: string;
25
- };
26
- "catalogs-only": {
27
- type: "boolean";
28
- description: string;
29
- };
30
- "dry-run": {
31
- type: "boolean";
32
- description: string;
33
- };
34
- concurrency: {
35
- type: "number";
36
- description: string;
37
- default: number;
38
- };
39
- "with-check-script": {
40
- type: "boolean";
41
- description: string;
42
- };
43
- linker: {
44
- type: "string";
45
- description: string;
46
- allowed: string[];
47
- default: string;
48
- };
49
- "with-install": {
50
- type: "boolean";
51
- description: string;
52
- alias: string;
53
- };
54
- global: {
55
- type: "boolean";
56
- description: string;
57
- alias: string;
58
- };
59
- interactive: {
60
- type: "boolean";
61
- description: string;
62
- };
63
- filter: {
64
- type: "array";
65
- description: string;
66
- };
67
- "all-workspaces": {
68
- type: "boolean";
69
- description: string;
70
- };
71
- "root-only": {
72
- type: "boolean";
73
- description: string;
74
- };
75
- recursive: {
76
- type: "boolean";
77
- description: string;
78
- alias: string;
79
- default: true;
80
- };
81
- "save-prefix": {
82
- type: "string";
83
- description: string;
84
- allowed: string[];
85
- default: string;
86
- };
87
- "allow-major": {
88
- type: "boolean";
89
- description: string;
90
- default: true;
91
- };
92
- "upgrade-tools": {
93
- type: "boolean";
94
- description: string;
95
- alias: string;
96
- };
97
- "upgrade-interactive": {
98
- type: "boolean";
99
- description: string;
100
- default: true;
101
- };
102
- }>;
103
- export default _default;