@reliverse/config 1.5.6 → 1.5.8
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/LICENSE +1 -1
- package/bin/main.d.ts +41 -5
- package/bin/main.js +109 -6
- package/package.json +8 -5
package/LICENSE
CHANGED
package/bin/main.d.ts
CHANGED
|
@@ -31,7 +31,43 @@ export declare const reliverseConfigSchema: import("@sinclair/typebox").TObject<
|
|
|
31
31
|
language: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
32
32
|
themes: import("@sinclair/typebox").TArray<import("@sinclair/typebox").TString>;
|
|
33
33
|
}>;
|
|
34
|
-
preferredLibraries: import("@sinclair/typebox").
|
|
34
|
+
preferredLibraries: import("@sinclair/typebox").TObject<{
|
|
35
|
+
stateManagement: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"zustand">, import("@sinclair/typebox").TLiteral<"jotai">, import("@sinclair/typebox").TLiteral<"redux-toolkit">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
36
|
+
formManagement: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"react-hook-form">, import("@sinclair/typebox").TLiteral<"formik">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
37
|
+
styling: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"tailwind">, import("@sinclair/typebox").TLiteral<"styled-components">, import("@sinclair/typebox").TLiteral<"css-modules">, import("@sinclair/typebox").TLiteral<"sass">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
38
|
+
uiComponents: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"shadcn-ui">, import("@sinclair/typebox").TLiteral<"chakra-ui">, import("@sinclair/typebox").TLiteral<"material-ui">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
39
|
+
testing: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"bun">, import("@sinclair/typebox").TLiteral<"vitest">, import("@sinclair/typebox").TLiteral<"jest">, import("@sinclair/typebox").TLiteral<"playwright">, import("@sinclair/typebox").TLiteral<"cypress">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
40
|
+
authentication: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"better-auth">, import("@sinclair/typebox").TLiteral<"clerk">, import("@sinclair/typebox").TLiteral<"next-auth">, import("@sinclair/typebox").TLiteral<"supabase-auth">, import("@sinclair/typebox").TLiteral<"auth0">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
41
|
+
databaseLibrary: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"drizzle">, import("@sinclair/typebox").TLiteral<"prisma">, import("@sinclair/typebox").TLiteral<"supabase">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
42
|
+
databaseProvider: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"pg">, import("@sinclair/typebox").TLiteral<"mysql">, import("@sinclair/typebox").TLiteral<"sqlite">, import("@sinclair/typebox").TLiteral<"mongodb">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
43
|
+
api: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"hono">, import("@sinclair/typebox").TLiteral<"trpc">, import("@sinclair/typebox").TLiteral<"graphql">, import("@sinclair/typebox").TLiteral<"rest">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
44
|
+
linting: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"eslint">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
45
|
+
formatting: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"biome">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
46
|
+
payment: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"stripe">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
47
|
+
analytics: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"vercel">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
48
|
+
monitoring: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"sentry">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
49
|
+
logging: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"axiom">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
50
|
+
forms: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"react-hook-form">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
51
|
+
notifications: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"sonner">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
52
|
+
search: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"algolia">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
53
|
+
uploads: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"uploadthing">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
54
|
+
validation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"zod">, import("@sinclair/typebox").TLiteral<"typebox">, import("@sinclair/typebox").TLiteral<"valibot">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
55
|
+
documentation: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"starlight">, import("@sinclair/typebox").TLiteral<"nextra">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
56
|
+
icons: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"lucide">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
57
|
+
mail: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"resend">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
58
|
+
cache: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"redis">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
59
|
+
storage: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"cloudflare">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
60
|
+
cdn: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"cloudflare">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
61
|
+
cms: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"contentlayer">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
62
|
+
i18n: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"next-intl">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
63
|
+
seo: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"next-seo">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
64
|
+
motion: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"framer">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
65
|
+
charts: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"recharts">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
66
|
+
dates: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"dayjs">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
67
|
+
markdown: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"mdx">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
68
|
+
security: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"auth">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
69
|
+
routing: import("@sinclair/typebox").TUnion<[import("@sinclair/typebox").TLiteral<"next">, import("@sinclair/typebox").TLiteral<"react-router">, import("@sinclair/typebox").TLiteral<"tanstack-router">, import("@sinclair/typebox").TLiteral<"unknown">]>;
|
|
70
|
+
}>;
|
|
35
71
|
codeStyle: import("@sinclair/typebox").TObject<{
|
|
36
72
|
lineWidth: import("@sinclair/typebox").TNumber;
|
|
37
73
|
indentSize: import("@sinclair/typebox").TNumber;
|
|
@@ -88,10 +124,6 @@ export type ProjectCategory = Exclude<ReliverseConfig["projectCategory"], undefi
|
|
|
88
124
|
export type ProjectSubcategory = Exclude<ReliverseConfig["projectSubcategory"], undefined>;
|
|
89
125
|
export type ProjectFramework = Exclude<ReliverseConfig["projectFramework"], undefined>;
|
|
90
126
|
export type ProjectArchitecture = Exclude<ReliverseConfig["projectArchitecture"], undefined>;
|
|
91
|
-
/**
|
|
92
|
-
* A helper to define a Reliverse configuration in the reliverse.ts file
|
|
93
|
-
*/
|
|
94
|
-
export declare function defineConfig<T extends ReliverseConfig>(config: T): T;
|
|
95
127
|
/**
|
|
96
128
|
* Generates a JSON schema file from the TypeBox schema
|
|
97
129
|
*/
|
|
@@ -100,3 +132,7 @@ export declare function generateJsonSchema(outputPath: string): Promise<void>;
|
|
|
100
132
|
* Generates the schema.json in the project root
|
|
101
133
|
*/
|
|
102
134
|
export declare function generateSchemaFile(): Promise<void>;
|
|
135
|
+
/**
|
|
136
|
+
* A helper to define a Reliverse configuration in the reliverse.ts file
|
|
137
|
+
*/
|
|
138
|
+
export declare function defineConfig<T extends ReliverseConfig>(config: T): T;
|
package/bin/main.js
CHANGED
|
@@ -8,6 +8,7 @@ const cliDomainRoot = `https://docs.${reliverseOrgBase}`;
|
|
|
8
8
|
const cliDomainDocs = `${cliDomainRoot}/cli`;
|
|
9
9
|
const RELIVERSE_SCHEMA_DEV = "./schema.json";
|
|
10
10
|
const RELIVERSE_SCHEMA_URL = `${reliverseOrgRoot}/schema.json`;
|
|
11
|
+
const unknownLiteral = Type.Literal("unknown");
|
|
11
12
|
const featuresSchema = Type.Object({
|
|
12
13
|
i18n: Type.Boolean(),
|
|
13
14
|
analytics: Type.Boolean(),
|
|
@@ -76,6 +77,108 @@ const monorepoSchema = Type.Object({
|
|
|
76
77
|
packages: Type.Array(Type.String()),
|
|
77
78
|
sharedPackages: Type.Array(Type.String())
|
|
78
79
|
});
|
|
80
|
+
const preferredLibrariesSchema = Type.Object({
|
|
81
|
+
stateManagement: Type.Union([
|
|
82
|
+
Type.Literal("zustand"),
|
|
83
|
+
Type.Literal("jotai"),
|
|
84
|
+
Type.Literal("redux-toolkit"),
|
|
85
|
+
unknownLiteral
|
|
86
|
+
]),
|
|
87
|
+
formManagement: Type.Union([
|
|
88
|
+
Type.Literal("react-hook-form"),
|
|
89
|
+
Type.Literal("formik"),
|
|
90
|
+
unknownLiteral
|
|
91
|
+
]),
|
|
92
|
+
styling: Type.Union([
|
|
93
|
+
Type.Literal("tailwind"),
|
|
94
|
+
Type.Literal("styled-components"),
|
|
95
|
+
Type.Literal("css-modules"),
|
|
96
|
+
Type.Literal("sass"),
|
|
97
|
+
unknownLiteral
|
|
98
|
+
]),
|
|
99
|
+
uiComponents: Type.Union([
|
|
100
|
+
Type.Literal("shadcn-ui"),
|
|
101
|
+
Type.Literal("chakra-ui"),
|
|
102
|
+
Type.Literal("material-ui"),
|
|
103
|
+
unknownLiteral
|
|
104
|
+
]),
|
|
105
|
+
testing: 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
|
+
authentication: Type.Union([
|
|
114
|
+
Type.Literal("better-auth"),
|
|
115
|
+
Type.Literal("clerk"),
|
|
116
|
+
Type.Literal("next-auth"),
|
|
117
|
+
Type.Literal("supabase-auth"),
|
|
118
|
+
Type.Literal("auth0"),
|
|
119
|
+
unknownLiteral
|
|
120
|
+
]),
|
|
121
|
+
databaseLibrary: Type.Union([
|
|
122
|
+
Type.Literal("drizzle"),
|
|
123
|
+
Type.Literal("prisma"),
|
|
124
|
+
Type.Literal("supabase"),
|
|
125
|
+
unknownLiteral
|
|
126
|
+
]),
|
|
127
|
+
databaseProvider: Type.Union([
|
|
128
|
+
Type.Literal("pg"),
|
|
129
|
+
Type.Literal("mysql"),
|
|
130
|
+
Type.Literal("sqlite"),
|
|
131
|
+
Type.Literal("mongodb"),
|
|
132
|
+
unknownLiteral
|
|
133
|
+
]),
|
|
134
|
+
api: Type.Union([
|
|
135
|
+
Type.Literal("hono"),
|
|
136
|
+
Type.Literal("trpc"),
|
|
137
|
+
Type.Literal("graphql"),
|
|
138
|
+
Type.Literal("rest"),
|
|
139
|
+
unknownLiteral
|
|
140
|
+
]),
|
|
141
|
+
linting: Type.Union([Type.Literal("eslint"), unknownLiteral]),
|
|
142
|
+
formatting: Type.Union([Type.Literal("biome"), unknownLiteral]),
|
|
143
|
+
payment: Type.Union([Type.Literal("stripe"), unknownLiteral]),
|
|
144
|
+
analytics: Type.Union([Type.Literal("vercel"), unknownLiteral]),
|
|
145
|
+
monitoring: Type.Union([Type.Literal("sentry"), unknownLiteral]),
|
|
146
|
+
logging: Type.Union([Type.Literal("axiom"), unknownLiteral]),
|
|
147
|
+
forms: Type.Union([Type.Literal("react-hook-form"), unknownLiteral]),
|
|
148
|
+
notifications: Type.Union([Type.Literal("sonner"), unknownLiteral]),
|
|
149
|
+
search: Type.Union([Type.Literal("algolia"), unknownLiteral]),
|
|
150
|
+
uploads: Type.Union([Type.Literal("uploadthing"), unknownLiteral]),
|
|
151
|
+
validation: Type.Union([
|
|
152
|
+
Type.Literal("zod"),
|
|
153
|
+
Type.Literal("typebox"),
|
|
154
|
+
Type.Literal("valibot"),
|
|
155
|
+
unknownLiteral
|
|
156
|
+
]),
|
|
157
|
+
documentation: Type.Union([
|
|
158
|
+
Type.Literal("starlight"),
|
|
159
|
+
Type.Literal("nextra"),
|
|
160
|
+
unknownLiteral
|
|
161
|
+
]),
|
|
162
|
+
icons: Type.Union([Type.Literal("lucide"), unknownLiteral]),
|
|
163
|
+
mail: Type.Union([Type.Literal("resend"), unknownLiteral]),
|
|
164
|
+
cache: Type.Union([Type.Literal("redis"), unknownLiteral]),
|
|
165
|
+
storage: Type.Union([Type.Literal("cloudflare"), unknownLiteral]),
|
|
166
|
+
cdn: Type.Union([Type.Literal("cloudflare"), unknownLiteral]),
|
|
167
|
+
cms: Type.Union([Type.Literal("contentlayer"), unknownLiteral]),
|
|
168
|
+
i18n: Type.Union([Type.Literal("next-intl"), unknownLiteral]),
|
|
169
|
+
seo: Type.Union([Type.Literal("next-seo"), unknownLiteral]),
|
|
170
|
+
motion: Type.Union([Type.Literal("framer"), unknownLiteral]),
|
|
171
|
+
charts: Type.Union([Type.Literal("recharts"), unknownLiteral]),
|
|
172
|
+
dates: Type.Union([Type.Literal("dayjs"), unknownLiteral]),
|
|
173
|
+
markdown: Type.Union([Type.Literal("mdx"), unknownLiteral]),
|
|
174
|
+
security: Type.Union([Type.Literal("auth"), unknownLiteral]),
|
|
175
|
+
routing: Type.Union([
|
|
176
|
+
Type.Literal("next"),
|
|
177
|
+
Type.Literal("react-router"),
|
|
178
|
+
Type.Literal("tanstack-router"),
|
|
179
|
+
unknownLiteral
|
|
180
|
+
])
|
|
181
|
+
});
|
|
79
182
|
export const reliverseConfigSchema = Type.Object({
|
|
80
183
|
// Reliverse config schema
|
|
81
184
|
$schema: Type.Union([
|
|
@@ -161,7 +264,7 @@ export const reliverseConfigSchema = Type.Object({
|
|
|
161
264
|
Type.Literal("blefnk/deno-cli-tutorial")
|
|
162
265
|
]),
|
|
163
266
|
features: featuresSchema,
|
|
164
|
-
preferredLibraries:
|
|
267
|
+
preferredLibraries: preferredLibrariesSchema,
|
|
165
268
|
codeStyle: codeStyleSchema,
|
|
166
269
|
monorepo: monorepoSchema,
|
|
167
270
|
ignoreDependencies: Type.Array(Type.String()),
|
|
@@ -175,12 +278,12 @@ export const reliverseConfigSchema = Type.Object({
|
|
|
175
278
|
envComposerOpenBrowser: Type.Boolean(),
|
|
176
279
|
repoBranch: Type.String(),
|
|
177
280
|
repoPrivacy: Type.Union([
|
|
178
|
-
|
|
281
|
+
unknownLiteral,
|
|
179
282
|
Type.Literal("public"),
|
|
180
283
|
Type.Literal("private")
|
|
181
284
|
]),
|
|
182
285
|
projectArchitecture: Type.Union([
|
|
183
|
-
|
|
286
|
+
unknownLiteral,
|
|
184
287
|
Type.Literal("fullstack"),
|
|
185
288
|
Type.Literal("separated")
|
|
186
289
|
]),
|
|
@@ -226,9 +329,6 @@ export const reliverseConfigSchema = Type.Object({
|
|
|
226
329
|
Type.Literal("autoNo")
|
|
227
330
|
])
|
|
228
331
|
});
|
|
229
|
-
export function defineConfig(config) {
|
|
230
|
-
return config;
|
|
231
|
-
}
|
|
232
332
|
function convertTypeBoxToJsonSchema(schema) {
|
|
233
333
|
if (!schema || typeof schema !== "object") return schema;
|
|
234
334
|
if (schema.type === "string" && schema.enum) {
|
|
@@ -311,3 +411,6 @@ export async function generateSchemaFile() {
|
|
|
311
411
|
}
|
|
312
412
|
await generateJsonSchema(schemaPath);
|
|
313
413
|
}
|
|
414
|
+
export function defineConfig(config) {
|
|
415
|
+
return config;
|
|
416
|
+
}
|
package/package.json
CHANGED
|
@@ -1,16 +1,16 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@reliverse/config",
|
|
3
|
-
"version": "1.5.
|
|
3
|
+
"version": "1.5.8",
|
|
4
4
|
"license": "MIT",
|
|
5
|
-
"description": "
|
|
5
|
+
"description": "This CLI tool can help you easily create new web projects, manage existing projects, and automatically make advanced codebase modifications, with more features coming soon.",
|
|
6
6
|
"type": "module",
|
|
7
7
|
"author": "reliverse",
|
|
8
8
|
"repository": {
|
|
9
9
|
"type": "git",
|
|
10
|
-
"url": "git+https://github.com/reliverse
|
|
10
|
+
"url": "git+https://github.com/reliverse/cli.git"
|
|
11
11
|
},
|
|
12
12
|
"bugs": {
|
|
13
|
-
"url": "https://github.com/reliverse
|
|
13
|
+
"url": "https://github.com/reliverse/cli/issues",
|
|
14
14
|
"email": "blefnk@gmail.com"
|
|
15
15
|
},
|
|
16
16
|
"keywords": [
|
|
@@ -22,6 +22,9 @@
|
|
|
22
22
|
"exports": {
|
|
23
23
|
".": "./bin/main.js"
|
|
24
24
|
},
|
|
25
|
+
"bin": {
|
|
26
|
+
"config": "bin/main.js"
|
|
27
|
+
},
|
|
25
28
|
"files": [
|
|
26
29
|
"bin",
|
|
27
30
|
"package.json",
|
|
@@ -32,7 +35,7 @@
|
|
|
32
35
|
"access": "public"
|
|
33
36
|
},
|
|
34
37
|
"dependencies": {
|
|
35
|
-
"@sinclair/typebox": "^0.34.
|
|
38
|
+
"@sinclair/typebox": "^0.34.28",
|
|
36
39
|
"fs-extra": "^11.3.0",
|
|
37
40
|
"pathe": "^2.0.3"
|
|
38
41
|
},
|