@reliverse/config 1.5.5 → 1.5.7

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/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").TRecord<import("@sinclair/typebox").TString, import("@sinclair/typebox").TString>;
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: Type.Record(Type.String(), Type.String()),
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
- Type.Literal("unknown"),
281
+ unknownLiteral,
179
282
  Type.Literal("public"),
180
283
  Type.Literal("private")
181
284
  ]),
182
285
  projectArchitecture: Type.Union([
183
- Type.Literal("unknown"),
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,8 +1,8 @@
1
1
  {
2
2
  "name": "@reliverse/config",
3
- "version": "1.5.5",
3
+ "version": "1.5.7",
4
4
  "license": "MIT",
5
- "description": "A helper library for the Reliverse CLI",
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": {
@@ -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.22",
38
+ "@sinclair/typebox": "^0.34.28",
36
39
  "fs-extra": "^11.3.0",
37
40
  "pathe": "^2.0.3"
38
41
  },