kofi-stack-types 2.0.23 → 2.2.0
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/.turbo/turbo-build.log +5 -5
- package/.turbo/turbo-typecheck.log +4 -0
- package/dist/index.d.ts +133 -100
- package/dist/index.js +75 -36
- package/package.json +7 -7
- package/src/index.ts +20 -8
- package/src/schemas.ts +84 -40
- package/src/types.ts +18 -8
package/.turbo/turbo-build.log
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
|
|
2
|
-
> kofi-stack-types@2.0
|
|
2
|
+
> kofi-stack-types@2.1.0 build /Users/theodenanyoh/Documents/Krumalabs/create-kofi-stack-v2/packages/types
|
|
3
3
|
> tsup src/index.ts --format esm --dts
|
|
4
4
|
|
|
5
5
|
CLI Building entry: src/index.ts
|
|
@@ -7,8 +7,8 @@ CLI Using tsconfig: tsconfig.json
|
|
|
7
7
|
CLI tsup v8.5.1
|
|
8
8
|
CLI Target: es2022
|
|
9
9
|
ESM Build start
|
|
10
|
-
ESM dist/index.js 4.
|
|
11
|
-
ESM ⚡️ Build success in
|
|
10
|
+
ESM dist/index.js 4.66 KB
|
|
11
|
+
ESM ⚡️ Build success in 29ms
|
|
12
12
|
DTS Build start
|
|
13
|
-
DTS ⚡️ Build success in
|
|
14
|
-
DTS dist/index.d.ts
|
|
13
|
+
DTS ⚡️ Build success in 517ms
|
|
14
|
+
DTS dist/index.d.ts 19.39 KB
|
package/dist/index.d.ts
CHANGED
|
@@ -5,42 +5,49 @@ declare const MarketingSiteSchema: z.ZodEnum<["none", "nextjs", "payload"]>;
|
|
|
5
5
|
declare const AuthProviderSchema: z.ZodEnum<["github", "google", "discord", "twitter", "apple", "microsoft", "linkedin"]>;
|
|
6
6
|
declare const AnalyticsProviderSchema: z.ZodEnum<["none", "posthog", "vercel"]>;
|
|
7
7
|
declare const UploadsProviderSchema: z.ZodEnum<["none", "convex-fs", "r2", "uploadthing", "s3", "vercel-blob"]>;
|
|
8
|
-
declare const
|
|
9
|
-
declare const
|
|
10
|
-
declare const
|
|
11
|
-
declare const
|
|
12
|
-
declare const
|
|
13
|
-
declare const
|
|
14
|
-
declare const
|
|
8
|
+
declare const PayloadStorageProviderSchema: z.ZodEnum<["local", "s3", "vercel-blob", "gcs", "r2"]>;
|
|
9
|
+
declare const PaymentProviderSchema: z.ZodEnum<["none", "stripe", "polar"]>;
|
|
10
|
+
declare const ComponentLibrarySchema: z.ZodEnum<["base", "radix"]>;
|
|
11
|
+
declare const ShadcnStyleSchema: z.ZodEnum<["vega", "nova", "maia", "lyra", "mira"]>;
|
|
12
|
+
declare const BaseColorSchema: z.ZodEnum<["neutral", "stone", "zinc", "gray"]>;
|
|
13
|
+
declare const ThemeColorSchema: z.ZodEnum<["neutral", "amber", "blue", "cyan", "emerald", "fuchsia", "green", "indigo", "lime", "orange", "pink", "purple", "red", "rose", "sky", "teal", "violet", "yellow"]>;
|
|
14
|
+
declare const IconLibrarySchema: z.ZodEnum<["lucide", "tabler", "hugeicons", "phosphor"]>;
|
|
15
|
+
declare const FontSchema: z.ZodEnum<["inter", "noto-sans", "nunito-sans", "figtree", "roboto", "raleway", "dm-sans", "public-sans", "outfit", "jetbrains-mono"]>;
|
|
16
|
+
declare const MenuAccentSchema: z.ZodEnum<["subtle", "bold"]>;
|
|
17
|
+
declare const MenuColorSchema: z.ZodEnum<["default", "inverted"]>;
|
|
18
|
+
declare const RadiusSchema: z.ZodEnum<["default", "none", "small", "medium", "large"]>;
|
|
15
19
|
declare const PackageManagerSchema: z.ZodEnum<["pnpm", "npm", "bun"]>;
|
|
16
20
|
declare const AddonSchema: z.ZodEnum<["biome", "husky", "turborepo", "playwright", "vitest", "rate-limiting", "monitoring"]>;
|
|
17
21
|
declare const DesignSystemConfigSchema: z.ZodObject<{
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
22
|
+
componentLibrary: z.ZodEnum<["base", "radix"]>;
|
|
23
|
+
style: z.ZodEnum<["vega", "nova", "maia", "lyra", "mira"]>;
|
|
24
|
+
baseColor: z.ZodEnum<["neutral", "stone", "zinc", "gray"]>;
|
|
25
|
+
themeColor: z.ZodEnum<["neutral", "amber", "blue", "cyan", "emerald", "fuchsia", "green", "indigo", "lime", "orange", "pink", "purple", "red", "rose", "sky", "teal", "violet", "yellow"]>;
|
|
26
|
+
iconLibrary: z.ZodEnum<["lucide", "tabler", "hugeicons", "phosphor"]>;
|
|
27
|
+
font: z.ZodEnum<["inter", "noto-sans", "nunito-sans", "figtree", "roboto", "raleway", "dm-sans", "public-sans", "outfit", "jetbrains-mono"]>;
|
|
28
|
+
menuAccent: z.ZodEnum<["subtle", "bold"]>;
|
|
29
|
+
menuColor: z.ZodEnum<["default", "inverted"]>;
|
|
30
|
+
radius: z.ZodEnum<["default", "none", "small", "medium", "large"]>;
|
|
26
31
|
}, "strip", z.ZodTypeAny, {
|
|
27
|
-
|
|
28
|
-
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
32
|
+
componentLibrary: "base" | "radix";
|
|
33
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
34
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
35
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
36
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
37
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
38
|
+
menuAccent: "subtle" | "bold";
|
|
39
|
+
menuColor: "default" | "inverted";
|
|
40
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
35
41
|
}, {
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
42
|
+
componentLibrary: "base" | "radix";
|
|
43
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
44
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
45
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
46
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
47
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
48
|
+
menuAccent: "subtle" | "bold";
|
|
49
|
+
menuColor: "default" | "inverted";
|
|
50
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
44
51
|
}>;
|
|
45
52
|
declare const AuthConfigSchema: z.ZodObject<{
|
|
46
53
|
providers: z.ZodArray<z.ZodEnum<["github", "google", "discord", "twitter", "apple", "microsoft", "linkedin"]>, "many">;
|
|
@@ -56,14 +63,17 @@ declare const IntegrationsConfigSchema: z.ZodObject<{
|
|
|
56
63
|
analytics: z.ZodEnum<["none", "posthog", "vercel"]>;
|
|
57
64
|
uploads: z.ZodEnum<["none", "convex-fs", "r2", "uploadthing", "s3", "vercel-blob"]>;
|
|
58
65
|
payments: z.ZodEnum<["none", "stripe", "polar"]>;
|
|
66
|
+
payloadStorage: z.ZodOptional<z.ZodEnum<["local", "s3", "vercel-blob", "gcs", "r2"]>>;
|
|
59
67
|
}, "strip", z.ZodTypeAny, {
|
|
60
68
|
analytics: "none" | "posthog" | "vercel";
|
|
61
69
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
62
70
|
payments: "none" | "stripe" | "polar";
|
|
71
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
63
72
|
}, {
|
|
64
73
|
analytics: "none" | "posthog" | "vercel";
|
|
65
74
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
66
75
|
payments: "none" | "stripe" | "polar";
|
|
76
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
67
77
|
}>;
|
|
68
78
|
declare const ProjectConfigSchema: z.ZodObject<{
|
|
69
79
|
projectName: z.ZodString;
|
|
@@ -71,32 +81,35 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
71
81
|
structure: z.ZodEnum<["standalone", "monorepo"]>;
|
|
72
82
|
marketingSite: z.ZodEnum<["none", "nextjs", "payload"]>;
|
|
73
83
|
shadcn: z.ZodObject<{
|
|
74
|
-
|
|
75
|
-
|
|
76
|
-
|
|
77
|
-
|
|
78
|
-
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
84
|
+
componentLibrary: z.ZodEnum<["base", "radix"]>;
|
|
85
|
+
style: z.ZodEnum<["vega", "nova", "maia", "lyra", "mira"]>;
|
|
86
|
+
baseColor: z.ZodEnum<["neutral", "stone", "zinc", "gray"]>;
|
|
87
|
+
themeColor: z.ZodEnum<["neutral", "amber", "blue", "cyan", "emerald", "fuchsia", "green", "indigo", "lime", "orange", "pink", "purple", "red", "rose", "sky", "teal", "violet", "yellow"]>;
|
|
88
|
+
iconLibrary: z.ZodEnum<["lucide", "tabler", "hugeicons", "phosphor"]>;
|
|
89
|
+
font: z.ZodEnum<["inter", "noto-sans", "nunito-sans", "figtree", "roboto", "raleway", "dm-sans", "public-sans", "outfit", "jetbrains-mono"]>;
|
|
90
|
+
menuAccent: z.ZodEnum<["subtle", "bold"]>;
|
|
91
|
+
menuColor: z.ZodEnum<["default", "inverted"]>;
|
|
92
|
+
radius: z.ZodEnum<["default", "none", "small", "medium", "large"]>;
|
|
82
93
|
}, "strip", z.ZodTypeAny, {
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
94
|
+
componentLibrary: "base" | "radix";
|
|
95
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
96
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
97
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
98
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
99
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
100
|
+
menuAccent: "subtle" | "bold";
|
|
101
|
+
menuColor: "default" | "inverted";
|
|
102
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
91
103
|
}, {
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
104
|
+
componentLibrary: "base" | "radix";
|
|
105
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
106
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
107
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
108
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
109
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
110
|
+
menuAccent: "subtle" | "bold";
|
|
111
|
+
menuColor: "default" | "inverted";
|
|
112
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
100
113
|
}>;
|
|
101
114
|
auth: z.ZodObject<{
|
|
102
115
|
providers: z.ZodArray<z.ZodEnum<["github", "google", "discord", "twitter", "apple", "microsoft", "linkedin"]>, "many">;
|
|
@@ -112,14 +125,17 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
112
125
|
analytics: z.ZodEnum<["none", "posthog", "vercel"]>;
|
|
113
126
|
uploads: z.ZodEnum<["none", "convex-fs", "r2", "uploadthing", "s3", "vercel-blob"]>;
|
|
114
127
|
payments: z.ZodEnum<["none", "stripe", "polar"]>;
|
|
128
|
+
payloadStorage: z.ZodOptional<z.ZodEnum<["local", "s3", "vercel-blob", "gcs", "r2"]>>;
|
|
115
129
|
}, "strip", z.ZodTypeAny, {
|
|
116
130
|
analytics: "none" | "posthog" | "vercel";
|
|
117
131
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
118
132
|
payments: "none" | "stripe" | "polar";
|
|
133
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
119
134
|
}, {
|
|
120
135
|
analytics: "none" | "posthog" | "vercel";
|
|
121
136
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
122
137
|
payments: "none" | "stripe" | "polar";
|
|
138
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
123
139
|
}>;
|
|
124
140
|
addons: z.ZodArray<z.ZodEnum<["biome", "husky", "turborepo", "playwright", "vitest", "rate-limiting", "monitoring"]>, "many">;
|
|
125
141
|
packageManager: z.ZodEnum<["pnpm", "npm", "bun"]>;
|
|
@@ -129,14 +145,15 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
129
145
|
structure: "standalone" | "monorepo";
|
|
130
146
|
marketingSite: "none" | "nextjs" | "payload";
|
|
131
147
|
shadcn: {
|
|
132
|
-
|
|
133
|
-
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
148
|
+
componentLibrary: "base" | "radix";
|
|
149
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
150
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
151
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
152
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
153
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
154
|
+
menuAccent: "subtle" | "bold";
|
|
155
|
+
menuColor: "default" | "inverted";
|
|
156
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
140
157
|
};
|
|
141
158
|
auth: {
|
|
142
159
|
providers: ("github" | "google" | "discord" | "twitter" | "apple" | "microsoft" | "linkedin")[];
|
|
@@ -146,6 +163,7 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
146
163
|
analytics: "none" | "posthog" | "vercel";
|
|
147
164
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
148
165
|
payments: "none" | "stripe" | "polar";
|
|
166
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
149
167
|
};
|
|
150
168
|
addons: ("biome" | "husky" | "turborepo" | "playwright" | "vitest" | "rate-limiting" | "monitoring")[];
|
|
151
169
|
packageManager: "pnpm" | "npm" | "bun";
|
|
@@ -155,14 +173,15 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
155
173
|
structure: "standalone" | "monorepo";
|
|
156
174
|
marketingSite: "none" | "nextjs" | "payload";
|
|
157
175
|
shadcn: {
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
164
|
-
|
|
165
|
-
|
|
176
|
+
componentLibrary: "base" | "radix";
|
|
177
|
+
style: "vega" | "nova" | "maia" | "lyra" | "mira";
|
|
178
|
+
baseColor: "neutral" | "stone" | "zinc" | "gray";
|
|
179
|
+
themeColor: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow";
|
|
180
|
+
iconLibrary: "lucide" | "tabler" | "hugeicons" | "phosphor";
|
|
181
|
+
font: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono";
|
|
182
|
+
menuAccent: "subtle" | "bold";
|
|
183
|
+
menuColor: "default" | "inverted";
|
|
184
|
+
radius: "none" | "default" | "small" | "medium" | "large";
|
|
166
185
|
};
|
|
167
186
|
auth: {
|
|
168
187
|
providers: ("github" | "google" | "discord" | "twitter" | "apple" | "microsoft" | "linkedin")[];
|
|
@@ -172,6 +191,7 @@ declare const ProjectConfigSchema: z.ZodObject<{
|
|
|
172
191
|
analytics: "none" | "posthog" | "vercel";
|
|
173
192
|
uploads: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob";
|
|
174
193
|
payments: "none" | "stripe" | "polar";
|
|
194
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
175
195
|
};
|
|
176
196
|
addons: ("biome" | "husky" | "turborepo" | "playwright" | "vitest" | "rate-limiting" | "monitoring")[];
|
|
177
197
|
packageManager: "pnpm" | "npm" | "bun";
|
|
@@ -180,35 +200,41 @@ declare const CLIInputSchema: z.ZodObject<{
|
|
|
180
200
|
projectName: z.ZodOptional<z.ZodString>;
|
|
181
201
|
structure: z.ZodOptional<z.ZodEnum<["standalone", "monorepo"]>>;
|
|
182
202
|
marketingSite: z.ZodOptional<z.ZodEnum<["none", "nextjs", "payload"]>>;
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
203
|
+
componentLibrary: z.ZodOptional<z.ZodEnum<["base", "radix"]>>;
|
|
204
|
+
style: z.ZodOptional<z.ZodEnum<["vega", "nova", "maia", "lyra", "mira"]>>;
|
|
205
|
+
baseColor: z.ZodOptional<z.ZodEnum<["neutral", "stone", "zinc", "gray"]>>;
|
|
206
|
+
themeColor: z.ZodOptional<z.ZodEnum<["neutral", "amber", "blue", "cyan", "emerald", "fuchsia", "green", "indigo", "lime", "orange", "pink", "purple", "red", "rose", "sky", "teal", "violet", "yellow"]>>;
|
|
207
|
+
iconLibrary: z.ZodOptional<z.ZodEnum<["lucide", "tabler", "hugeicons", "phosphor"]>>;
|
|
208
|
+
font: z.ZodOptional<z.ZodEnum<["inter", "noto-sans", "nunito-sans", "figtree", "roboto", "raleway", "dm-sans", "public-sans", "outfit", "jetbrains-mono"]>>;
|
|
209
|
+
menuAccent: z.ZodOptional<z.ZodEnum<["subtle", "bold"]>>;
|
|
210
|
+
menuColor: z.ZodOptional<z.ZodEnum<["default", "inverted"]>>;
|
|
211
|
+
radius: z.ZodOptional<z.ZodEnum<["default", "none", "small", "medium", "large"]>>;
|
|
191
212
|
authProviders: z.ZodOptional<z.ZodArray<z.ZodEnum<["github", "google", "discord", "twitter", "apple", "microsoft", "linkedin"]>, "many">>;
|
|
192
213
|
organizations: z.ZodOptional<z.ZodBoolean>;
|
|
193
214
|
analytics: z.ZodOptional<z.ZodEnum<["none", "posthog", "vercel"]>>;
|
|
194
215
|
uploads: z.ZodOptional<z.ZodEnum<["none", "convex-fs", "r2", "uploadthing", "s3", "vercel-blob"]>>;
|
|
216
|
+
payments: z.ZodOptional<z.ZodEnum<["none", "stripe", "polar"]>>;
|
|
217
|
+
payloadStorage: z.ZodOptional<z.ZodEnum<["local", "s3", "vercel-blob", "gcs", "r2"]>>;
|
|
195
218
|
addons: z.ZodOptional<z.ZodArray<z.ZodEnum<["biome", "husky", "turborepo", "playwright", "vitest", "rate-limiting", "monitoring"]>, "many">>;
|
|
196
219
|
git: z.ZodOptional<z.ZodBoolean>;
|
|
197
220
|
packageManager: z.ZodOptional<z.ZodEnum<["pnpm", "npm", "bun"]>>;
|
|
198
221
|
install: z.ZodOptional<z.ZodBoolean>;
|
|
199
222
|
yes: z.ZodOptional<z.ZodBoolean>;
|
|
200
223
|
}, "strip", z.ZodTypeAny, {
|
|
201
|
-
|
|
202
|
-
|
|
203
|
-
|
|
204
|
-
|
|
205
|
-
|
|
206
|
-
|
|
207
|
-
|
|
208
|
-
|
|
224
|
+
componentLibrary?: "base" | "radix" | undefined;
|
|
225
|
+
style?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
|
|
226
|
+
baseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
|
|
227
|
+
themeColor?: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
|
|
228
|
+
iconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | undefined;
|
|
229
|
+
font?: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | undefined;
|
|
230
|
+
menuAccent?: "subtle" | "bold" | undefined;
|
|
231
|
+
menuColor?: "default" | "inverted" | undefined;
|
|
232
|
+
radius?: "none" | "default" | "small" | "medium" | "large" | undefined;
|
|
209
233
|
organizations?: boolean | undefined;
|
|
210
234
|
analytics?: "none" | "posthog" | "vercel" | undefined;
|
|
211
235
|
uploads?: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob" | undefined;
|
|
236
|
+
payments?: "none" | "stripe" | "polar" | undefined;
|
|
237
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
212
238
|
projectName?: string | undefined;
|
|
213
239
|
structure?: "standalone" | "monorepo" | undefined;
|
|
214
240
|
marketingSite?: "none" | "nextjs" | "payload" | undefined;
|
|
@@ -219,17 +245,20 @@ declare const CLIInputSchema: z.ZodObject<{
|
|
|
219
245
|
install?: boolean | undefined;
|
|
220
246
|
yes?: boolean | undefined;
|
|
221
247
|
}, {
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
228
|
-
|
|
229
|
-
|
|
248
|
+
componentLibrary?: "base" | "radix" | undefined;
|
|
249
|
+
style?: "vega" | "nova" | "maia" | "lyra" | "mira" | undefined;
|
|
250
|
+
baseColor?: "neutral" | "stone" | "zinc" | "gray" | undefined;
|
|
251
|
+
themeColor?: "neutral" | "amber" | "blue" | "cyan" | "emerald" | "fuchsia" | "green" | "indigo" | "lime" | "orange" | "pink" | "purple" | "red" | "rose" | "sky" | "teal" | "violet" | "yellow" | undefined;
|
|
252
|
+
iconLibrary?: "lucide" | "tabler" | "hugeicons" | "phosphor" | undefined;
|
|
253
|
+
font?: "inter" | "noto-sans" | "nunito-sans" | "figtree" | "roboto" | "raleway" | "dm-sans" | "public-sans" | "outfit" | "jetbrains-mono" | undefined;
|
|
254
|
+
menuAccent?: "subtle" | "bold" | undefined;
|
|
255
|
+
menuColor?: "default" | "inverted" | undefined;
|
|
256
|
+
radius?: "none" | "default" | "small" | "medium" | "large" | undefined;
|
|
230
257
|
organizations?: boolean | undefined;
|
|
231
258
|
analytics?: "none" | "posthog" | "vercel" | undefined;
|
|
232
259
|
uploads?: "none" | "convex-fs" | "r2" | "uploadthing" | "s3" | "vercel-blob" | undefined;
|
|
260
|
+
payments?: "none" | "stripe" | "polar" | undefined;
|
|
261
|
+
payloadStorage?: "r2" | "s3" | "vercel-blob" | "local" | "gcs" | undefined;
|
|
233
262
|
projectName?: string | undefined;
|
|
234
263
|
structure?: "standalone" | "monorepo" | undefined;
|
|
235
264
|
marketingSite?: "none" | "nextjs" | "payload" | undefined;
|
|
@@ -247,13 +276,17 @@ type MarketingSite = z.infer<typeof MarketingSiteSchema>;
|
|
|
247
276
|
type AuthProvider = z.infer<typeof AuthProviderSchema>;
|
|
248
277
|
type AnalyticsProvider = z.infer<typeof AnalyticsProviderSchema>;
|
|
249
278
|
type UploadsProvider = z.infer<typeof UploadsProviderSchema>;
|
|
279
|
+
type PayloadStorageProvider = z.infer<typeof PayloadStorageProviderSchema>;
|
|
280
|
+
type PaymentProvider = z.infer<typeof PaymentProviderSchema>;
|
|
281
|
+
type ComponentLibrary = z.infer<typeof ComponentLibrarySchema>;
|
|
282
|
+
type ShadcnStyle = z.infer<typeof ShadcnStyleSchema>;
|
|
250
283
|
type BaseColor = z.infer<typeof BaseColorSchema>;
|
|
251
284
|
type ThemeColor = z.infer<typeof ThemeColorSchema>;
|
|
252
|
-
type MenuAccent = z.infer<typeof MenuAccentSchema>;
|
|
253
285
|
type IconLibrary = z.infer<typeof IconLibrarySchema>;
|
|
254
|
-
type
|
|
255
|
-
type
|
|
256
|
-
type
|
|
286
|
+
type Font = z.infer<typeof FontSchema>;
|
|
287
|
+
type MenuAccent = z.infer<typeof MenuAccentSchema>;
|
|
288
|
+
type MenuColor = z.infer<typeof MenuColorSchema>;
|
|
289
|
+
type Radius = z.infer<typeof RadiusSchema>;
|
|
257
290
|
type PackageManager = z.infer<typeof PackageManagerSchema>;
|
|
258
291
|
type Addon = z.infer<typeof AddonSchema>;
|
|
259
292
|
type DesignSystemConfig = z.infer<typeof DesignSystemConfigSchema>;
|
|
@@ -291,4 +324,4 @@ interface GeneratorResult {
|
|
|
291
324
|
errors?: string[];
|
|
292
325
|
}
|
|
293
326
|
|
|
294
|
-
export { type Addon, AddonSchema, type AnalyticsProvider, AnalyticsProviderSchema, type AuthConfig, AuthConfigSchema, type AuthProvider, AuthProviderSchema, type BaseColor, BaseColorSchema, type
|
|
327
|
+
export { type Addon, AddonSchema, type AnalyticsProvider, AnalyticsProviderSchema, type AuthConfig, AuthConfigSchema, type AuthProvider, AuthProviderSchema, type BaseColor, BaseColorSchema, type CLIInput, CLIInputSchema, type ComponentLibrary, ComponentLibrarySchema, DEFAULT_CONFIG, type DesignSystemConfig, DesignSystemConfigSchema, type Font, FontSchema, type GeneratorOptions, type GeneratorResult, type IconLibrary, IconLibrarySchema, type IntegrationsConfig, IntegrationsConfigSchema, type MarketingSite, MarketingSiteSchema, type MenuAccent, MenuAccentSchema, type MenuColor, MenuColorSchema, type PackageManager, PackageManagerSchema, type PayloadStorageProvider, PayloadStorageProviderSchema, type PaymentProvider, PaymentProviderSchema, type ProjectConfig, ProjectConfigSchema, type ProjectStructure, ProjectStructureSchema, type Radius, RadiusSchema, type ShadcnStyle, ShadcnStyleSchema, type ThemeColor, ThemeColorSchema, type UploadsProvider, UploadsProviderSchema, type VirtualDirectory, type VirtualFile, type VirtualFileTree, type VirtualNode };
|
package/dist/index.js
CHANGED
|
@@ -20,27 +20,53 @@ var UploadsProviderSchema = z.enum([
|
|
|
20
20
|
"s3",
|
|
21
21
|
"vercel-blob"
|
|
22
22
|
]);
|
|
23
|
+
var PayloadStorageProviderSchema = z.enum([
|
|
24
|
+
"local",
|
|
25
|
+
"s3",
|
|
26
|
+
"vercel-blob",
|
|
27
|
+
"gcs",
|
|
28
|
+
"r2"
|
|
29
|
+
]);
|
|
23
30
|
var PaymentProviderSchema = z.enum(["none", "stripe", "polar"]);
|
|
24
|
-
var
|
|
31
|
+
var ComponentLibrarySchema = z.enum(["base", "radix"]);
|
|
32
|
+
var ShadcnStyleSchema = z.enum(["vega", "nova", "maia", "lyra", "mira"]);
|
|
33
|
+
var BaseColorSchema = z.enum(["neutral", "stone", "zinc", "gray"]);
|
|
25
34
|
var ThemeColorSchema = z.enum([
|
|
26
|
-
"zinc",
|
|
27
|
-
"slate",
|
|
28
|
-
"stone",
|
|
29
|
-
"gray",
|
|
30
35
|
"neutral",
|
|
36
|
+
"amber",
|
|
37
|
+
"blue",
|
|
38
|
+
"cyan",
|
|
39
|
+
"emerald",
|
|
40
|
+
"fuchsia",
|
|
41
|
+
"green",
|
|
42
|
+
"indigo",
|
|
43
|
+
"lime",
|
|
44
|
+
"orange",
|
|
45
|
+
"pink",
|
|
46
|
+
"purple",
|
|
31
47
|
"red",
|
|
32
48
|
"rose",
|
|
33
|
-
"
|
|
34
|
-
"
|
|
35
|
-
"
|
|
36
|
-
"yellow"
|
|
37
|
-
"violet"
|
|
49
|
+
"sky",
|
|
50
|
+
"teal",
|
|
51
|
+
"violet",
|
|
52
|
+
"yellow"
|
|
38
53
|
]);
|
|
39
|
-
var
|
|
40
|
-
var
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
54
|
+
var IconLibrarySchema = z.enum(["lucide", "tabler", "hugeicons", "phosphor"]);
|
|
55
|
+
var FontSchema = z.enum([
|
|
56
|
+
"inter",
|
|
57
|
+
"noto-sans",
|
|
58
|
+
"nunito-sans",
|
|
59
|
+
"figtree",
|
|
60
|
+
"roboto",
|
|
61
|
+
"raleway",
|
|
62
|
+
"dm-sans",
|
|
63
|
+
"public-sans",
|
|
64
|
+
"outfit",
|
|
65
|
+
"jetbrains-mono"
|
|
66
|
+
]);
|
|
67
|
+
var MenuAccentSchema = z.enum(["subtle", "bold"]);
|
|
68
|
+
var MenuColorSchema = z.enum(["default", "inverted"]);
|
|
69
|
+
var RadiusSchema = z.enum(["default", "none", "small", "medium", "large"]);
|
|
44
70
|
var PackageManagerSchema = z.enum(["pnpm", "npm", "bun"]);
|
|
45
71
|
var AddonSchema = z.enum([
|
|
46
72
|
"biome",
|
|
@@ -52,14 +78,15 @@ var AddonSchema = z.enum([
|
|
|
52
78
|
"monitoring"
|
|
53
79
|
]);
|
|
54
80
|
var DesignSystemConfigSchema = z.object({
|
|
81
|
+
componentLibrary: ComponentLibrarySchema,
|
|
82
|
+
style: ShadcnStyleSchema,
|
|
55
83
|
baseColor: BaseColorSchema,
|
|
56
84
|
themeColor: ThemeColorSchema,
|
|
57
|
-
menuAccent: MenuAccentSchema,
|
|
58
85
|
iconLibrary: IconLibrarySchema,
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
86
|
+
font: FontSchema,
|
|
87
|
+
menuAccent: MenuAccentSchema,
|
|
88
|
+
menuColor: MenuColorSchema,
|
|
89
|
+
radius: RadiusSchema
|
|
63
90
|
});
|
|
64
91
|
var AuthConfigSchema = z.object({
|
|
65
92
|
providers: z.array(AuthProviderSchema),
|
|
@@ -68,7 +95,8 @@ var AuthConfigSchema = z.object({
|
|
|
68
95
|
var IntegrationsConfigSchema = z.object({
|
|
69
96
|
analytics: AnalyticsProviderSchema,
|
|
70
97
|
uploads: UploadsProviderSchema,
|
|
71
|
-
payments: PaymentProviderSchema
|
|
98
|
+
payments: PaymentProviderSchema,
|
|
99
|
+
payloadStorage: PayloadStorageProviderSchema.optional()
|
|
72
100
|
});
|
|
73
101
|
var ProjectConfigSchema = z.object({
|
|
74
102
|
// Basic info
|
|
@@ -92,18 +120,24 @@ var CLIInputSchema = z.object({
|
|
|
92
120
|
projectName: z.string().optional(),
|
|
93
121
|
structure: ProjectStructureSchema.optional(),
|
|
94
122
|
marketingSite: MarketingSiteSchema.optional(),
|
|
123
|
+
// shadcn v4 options
|
|
124
|
+
componentLibrary: ComponentLibrarySchema.optional(),
|
|
125
|
+
style: ShadcnStyleSchema.optional(),
|
|
95
126
|
baseColor: BaseColorSchema.optional(),
|
|
96
127
|
themeColor: ThemeColorSchema.optional(),
|
|
97
|
-
menuAccent: MenuAccentSchema.optional(),
|
|
98
128
|
iconLibrary: IconLibrarySchema.optional(),
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
129
|
+
font: FontSchema.optional(),
|
|
130
|
+
menuAccent: MenuAccentSchema.optional(),
|
|
131
|
+
menuColor: MenuColorSchema.optional(),
|
|
132
|
+
radius: RadiusSchema.optional(),
|
|
133
|
+
// Auth
|
|
103
134
|
authProviders: z.array(AuthProviderSchema).optional(),
|
|
104
135
|
organizations: z.boolean().optional(),
|
|
136
|
+
// Integrations
|
|
105
137
|
analytics: AnalyticsProviderSchema.optional(),
|
|
106
138
|
uploads: UploadsProviderSchema.optional(),
|
|
139
|
+
payments: PaymentProviderSchema.optional(),
|
|
140
|
+
payloadStorage: PayloadStorageProviderSchema.optional(),
|
|
107
141
|
addons: z.array(AddonSchema).optional(),
|
|
108
142
|
git: z.boolean().optional(),
|
|
109
143
|
packageManager: PackageManagerSchema.optional(),
|
|
@@ -117,14 +151,15 @@ var DEFAULT_CONFIG = {
|
|
|
117
151
|
structure: "standalone",
|
|
118
152
|
marketingSite: "none",
|
|
119
153
|
shadcn: {
|
|
154
|
+
componentLibrary: "base",
|
|
155
|
+
style: "nova",
|
|
120
156
|
baseColor: "neutral",
|
|
121
|
-
themeColor: "
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
125
|
-
|
|
126
|
-
|
|
127
|
-
spacingScale: "default"
|
|
157
|
+
themeColor: "neutral",
|
|
158
|
+
iconLibrary: "hugeicons",
|
|
159
|
+
font: "inter",
|
|
160
|
+
menuAccent: "subtle",
|
|
161
|
+
menuColor: "default",
|
|
162
|
+
radius: "default"
|
|
128
163
|
},
|
|
129
164
|
auth: {
|
|
130
165
|
providers: ["github", "google"],
|
|
@@ -144,19 +179,23 @@ export {
|
|
|
144
179
|
AuthConfigSchema,
|
|
145
180
|
AuthProviderSchema,
|
|
146
181
|
BaseColorSchema,
|
|
147
|
-
BorderRadiusSchema,
|
|
148
182
|
CLIInputSchema,
|
|
183
|
+
ComponentLibrarySchema,
|
|
149
184
|
DEFAULT_CONFIG,
|
|
150
185
|
DesignSystemConfigSchema,
|
|
151
|
-
|
|
186
|
+
FontSchema,
|
|
152
187
|
IconLibrarySchema,
|
|
153
188
|
IntegrationsConfigSchema,
|
|
154
189
|
MarketingSiteSchema,
|
|
155
190
|
MenuAccentSchema,
|
|
191
|
+
MenuColorSchema,
|
|
156
192
|
PackageManagerSchema,
|
|
193
|
+
PayloadStorageProviderSchema,
|
|
194
|
+
PaymentProviderSchema,
|
|
157
195
|
ProjectConfigSchema,
|
|
158
196
|
ProjectStructureSchema,
|
|
159
|
-
|
|
197
|
+
RadiusSchema,
|
|
198
|
+
ShadcnStyleSchema,
|
|
160
199
|
ThemeColorSchema,
|
|
161
200
|
UploadsProviderSchema
|
|
162
201
|
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "kofi-stack-types",
|
|
3
|
-
"version": "2.0
|
|
3
|
+
"version": "2.2.0",
|
|
4
4
|
"type": "module",
|
|
5
5
|
"main": "./dist/index.js",
|
|
6
6
|
"types": "./dist/index.d.ts",
|
|
@@ -10,6 +10,11 @@
|
|
|
10
10
|
"types": "./dist/index.d.ts"
|
|
11
11
|
}
|
|
12
12
|
},
|
|
13
|
+
"scripts": {
|
|
14
|
+
"build": "tsup src/index.ts --format esm --dts",
|
|
15
|
+
"dev": "tsup src/index.ts --format esm --dts --watch",
|
|
16
|
+
"typecheck": "tsc --noEmit"
|
|
17
|
+
},
|
|
13
18
|
"dependencies": {
|
|
14
19
|
"zod": "^3.23.0"
|
|
15
20
|
},
|
|
@@ -17,10 +22,5 @@
|
|
|
17
22
|
"@types/node": "^20.0.0",
|
|
18
23
|
"tsup": "^8.0.0",
|
|
19
24
|
"typescript": "^5.0.0"
|
|
20
|
-
},
|
|
21
|
-
"scripts": {
|
|
22
|
-
"build": "tsup src/index.ts --format esm --dts",
|
|
23
|
-
"dev": "tsup src/index.ts --format esm --dts --watch",
|
|
24
|
-
"typecheck": "tsc --noEmit"
|
|
25
25
|
}
|
|
26
|
-
}
|
|
26
|
+
}
|
package/src/index.ts
CHANGED
|
@@ -5,13 +5,19 @@ export {
|
|
|
5
5
|
AuthProviderSchema,
|
|
6
6
|
AnalyticsProviderSchema,
|
|
7
7
|
UploadsProviderSchema,
|
|
8
|
+
PayloadStorageProviderSchema,
|
|
9
|
+
PaymentProviderSchema,
|
|
10
|
+
// shadcn v4 schemas
|
|
11
|
+
ComponentLibrarySchema,
|
|
12
|
+
ShadcnStyleSchema,
|
|
8
13
|
BaseColorSchema,
|
|
9
14
|
ThemeColorSchema,
|
|
10
|
-
MenuAccentSchema,
|
|
11
15
|
IconLibrarySchema,
|
|
12
|
-
|
|
13
|
-
|
|
14
|
-
|
|
16
|
+
FontSchema,
|
|
17
|
+
MenuAccentSchema,
|
|
18
|
+
MenuColorSchema,
|
|
19
|
+
RadiusSchema,
|
|
20
|
+
// Config schemas
|
|
15
21
|
PackageManagerSchema,
|
|
16
22
|
AddonSchema,
|
|
17
23
|
DesignSystemConfigSchema,
|
|
@@ -29,13 +35,19 @@ export type {
|
|
|
29
35
|
AuthProvider,
|
|
30
36
|
AnalyticsProvider,
|
|
31
37
|
UploadsProvider,
|
|
38
|
+
PayloadStorageProvider,
|
|
39
|
+
PaymentProvider,
|
|
40
|
+
// shadcn v4 types
|
|
41
|
+
ComponentLibrary,
|
|
42
|
+
ShadcnStyle,
|
|
32
43
|
BaseColor,
|
|
33
44
|
ThemeColor,
|
|
34
|
-
MenuAccent,
|
|
35
45
|
IconLibrary,
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
46
|
+
Font,
|
|
47
|
+
MenuAccent,
|
|
48
|
+
MenuColor,
|
|
49
|
+
Radius,
|
|
50
|
+
// Config types
|
|
39
51
|
PackageManager,
|
|
40
52
|
Addon,
|
|
41
53
|
DesignSystemConfig,
|
package/src/schemas.ts
CHANGED
|
@@ -20,7 +20,7 @@ export const AuthProviderSchema = z.enum([
|
|
|
20
20
|
// Analytics providers
|
|
21
21
|
export const AnalyticsProviderSchema = z.enum(['none', 'posthog', 'vercel'])
|
|
22
22
|
|
|
23
|
-
// Upload/Storage providers
|
|
23
|
+
// Upload/Storage providers (for web app - Convex-based)
|
|
24
24
|
export const UploadsProviderSchema = z.enum([
|
|
25
25
|
'none',
|
|
26
26
|
'convex-fs',
|
|
@@ -30,43 +30,78 @@ export const UploadsProviderSchema = z.enum([
|
|
|
30
30
|
'vercel-blob',
|
|
31
31
|
])
|
|
32
32
|
|
|
33
|
+
// Payload CMS Storage providers
|
|
34
|
+
export const PayloadStorageProviderSchema = z.enum([
|
|
35
|
+
'local',
|
|
36
|
+
's3',
|
|
37
|
+
'vercel-blob',
|
|
38
|
+
'gcs',
|
|
39
|
+
'r2',
|
|
40
|
+
])
|
|
41
|
+
|
|
33
42
|
// Payment providers
|
|
34
43
|
export const PaymentProviderSchema = z.enum(['none', 'stripe', 'polar'])
|
|
35
44
|
|
|
45
|
+
// ============================================
|
|
46
|
+
// shadcn UI v4 Design System Options
|
|
47
|
+
// ============================================
|
|
48
|
+
|
|
49
|
+
// Component library (base or radix primitives)
|
|
50
|
+
export const ComponentLibrarySchema = z.enum(['base', 'radix'])
|
|
51
|
+
|
|
52
|
+
// Style presets (shadcn v4)
|
|
53
|
+
export const ShadcnStyleSchema = z.enum(['vega', 'nova', 'maia', 'lyra', 'mira'])
|
|
36
54
|
|
|
37
|
-
// Base color
|
|
38
|
-
export const BaseColorSchema = z.enum(['neutral', '
|
|
55
|
+
// Base color (background/surface colors)
|
|
56
|
+
export const BaseColorSchema = z.enum(['neutral', 'stone', 'zinc', 'gray'])
|
|
39
57
|
|
|
40
|
-
// Theme color
|
|
58
|
+
// Theme color (accent/primary color)
|
|
41
59
|
export const ThemeColorSchema = z.enum([
|
|
42
|
-
'zinc',
|
|
43
|
-
'slate',
|
|
44
|
-
'stone',
|
|
45
|
-
'gray',
|
|
46
60
|
'neutral',
|
|
61
|
+
'amber',
|
|
62
|
+
'blue',
|
|
63
|
+
'cyan',
|
|
64
|
+
'emerald',
|
|
65
|
+
'fuchsia',
|
|
66
|
+
'green',
|
|
67
|
+
'indigo',
|
|
68
|
+
'lime',
|
|
69
|
+
'orange',
|
|
70
|
+
'pink',
|
|
71
|
+
'purple',
|
|
47
72
|
'red',
|
|
48
73
|
'rose',
|
|
49
|
-
'
|
|
50
|
-
'
|
|
51
|
-
'blue',
|
|
52
|
-
'yellow',
|
|
74
|
+
'sky',
|
|
75
|
+
'teal',
|
|
53
76
|
'violet',
|
|
77
|
+
'yellow',
|
|
54
78
|
])
|
|
55
79
|
|
|
56
|
-
// Menu accent
|
|
57
|
-
export const MenuAccentSchema = z.enum(['none', 'muted', 'primary'])
|
|
58
|
-
|
|
59
80
|
// Icon library
|
|
60
|
-
export const IconLibrarySchema = z.enum(['lucide', 'hugeicons'])
|
|
81
|
+
export const IconLibrarySchema = z.enum(['lucide', 'tabler', 'hugeicons', 'phosphor'])
|
|
82
|
+
|
|
83
|
+
// Font
|
|
84
|
+
export const FontSchema = z.enum([
|
|
85
|
+
'inter',
|
|
86
|
+
'noto-sans',
|
|
87
|
+
'nunito-sans',
|
|
88
|
+
'figtree',
|
|
89
|
+
'roboto',
|
|
90
|
+
'raleway',
|
|
91
|
+
'dm-sans',
|
|
92
|
+
'public-sans',
|
|
93
|
+
'outfit',
|
|
94
|
+
'jetbrains-mono',
|
|
95
|
+
])
|
|
61
96
|
|
|
62
|
-
//
|
|
63
|
-
export const
|
|
97
|
+
// Menu accent
|
|
98
|
+
export const MenuAccentSchema = z.enum(['subtle', 'bold'])
|
|
64
99
|
|
|
65
|
-
//
|
|
66
|
-
export const
|
|
100
|
+
// Menu color
|
|
101
|
+
export const MenuColorSchema = z.enum(['default', 'inverted'])
|
|
67
102
|
|
|
68
|
-
//
|
|
69
|
-
export const
|
|
103
|
+
// Border radius
|
|
104
|
+
export const RadiusSchema = z.enum(['default', 'none', 'small', 'medium', 'large'])
|
|
70
105
|
|
|
71
106
|
// Package manager
|
|
72
107
|
export const PackageManagerSchema = z.enum(['pnpm', 'npm', 'bun'])
|
|
@@ -82,16 +117,17 @@ export const AddonSchema = z.enum([
|
|
|
82
117
|
'monitoring',
|
|
83
118
|
])
|
|
84
119
|
|
|
85
|
-
// Design system configuration
|
|
120
|
+
// Design system configuration (shadcn v4)
|
|
86
121
|
export const DesignSystemConfigSchema = z.object({
|
|
122
|
+
componentLibrary: ComponentLibrarySchema,
|
|
123
|
+
style: ShadcnStyleSchema,
|
|
87
124
|
baseColor: BaseColorSchema,
|
|
88
125
|
themeColor: ThemeColorSchema,
|
|
89
|
-
menuAccent: MenuAccentSchema,
|
|
90
126
|
iconLibrary: IconLibrarySchema,
|
|
91
|
-
|
|
92
|
-
|
|
93
|
-
|
|
94
|
-
|
|
127
|
+
font: FontSchema,
|
|
128
|
+
menuAccent: MenuAccentSchema,
|
|
129
|
+
menuColor: MenuColorSchema,
|
|
130
|
+
radius: RadiusSchema,
|
|
95
131
|
})
|
|
96
132
|
|
|
97
133
|
// Auth configuration
|
|
@@ -105,6 +141,7 @@ export const IntegrationsConfigSchema = z.object({
|
|
|
105
141
|
analytics: AnalyticsProviderSchema,
|
|
106
142
|
uploads: UploadsProviderSchema,
|
|
107
143
|
payments: PaymentProviderSchema,
|
|
144
|
+
payloadStorage: PayloadStorageProviderSchema.optional(),
|
|
108
145
|
})
|
|
109
146
|
|
|
110
147
|
// Complete project configuration
|
|
@@ -138,18 +175,24 @@ export const CLIInputSchema = z.object({
|
|
|
138
175
|
projectName: z.string().optional(),
|
|
139
176
|
structure: ProjectStructureSchema.optional(),
|
|
140
177
|
marketingSite: MarketingSiteSchema.optional(),
|
|
178
|
+
// shadcn v4 options
|
|
179
|
+
componentLibrary: ComponentLibrarySchema.optional(),
|
|
180
|
+
style: ShadcnStyleSchema.optional(),
|
|
141
181
|
baseColor: BaseColorSchema.optional(),
|
|
142
182
|
themeColor: ThemeColorSchema.optional(),
|
|
143
|
-
menuAccent: MenuAccentSchema.optional(),
|
|
144
183
|
iconLibrary: IconLibrarySchema.optional(),
|
|
145
|
-
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
184
|
+
font: FontSchema.optional(),
|
|
185
|
+
menuAccent: MenuAccentSchema.optional(),
|
|
186
|
+
menuColor: MenuColorSchema.optional(),
|
|
187
|
+
radius: RadiusSchema.optional(),
|
|
188
|
+
// Auth
|
|
149
189
|
authProviders: z.array(AuthProviderSchema).optional(),
|
|
150
190
|
organizations: z.boolean().optional(),
|
|
191
|
+
// Integrations
|
|
151
192
|
analytics: AnalyticsProviderSchema.optional(),
|
|
152
193
|
uploads: UploadsProviderSchema.optional(),
|
|
194
|
+
payments: PaymentProviderSchema.optional(),
|
|
195
|
+
payloadStorage: PayloadStorageProviderSchema.optional(),
|
|
153
196
|
addons: z.array(AddonSchema).optional(),
|
|
154
197
|
git: z.boolean().optional(),
|
|
155
198
|
packageManager: PackageManagerSchema.optional(),
|
|
@@ -164,14 +207,15 @@ export const DEFAULT_CONFIG: z.infer<typeof ProjectConfigSchema> = {
|
|
|
164
207
|
structure: 'standalone',
|
|
165
208
|
marketingSite: 'none',
|
|
166
209
|
shadcn: {
|
|
210
|
+
componentLibrary: 'base',
|
|
211
|
+
style: 'nova',
|
|
167
212
|
baseColor: 'neutral',
|
|
168
|
-
themeColor: '
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
172
|
-
|
|
173
|
-
|
|
174
|
-
spacingScale: 'default',
|
|
213
|
+
themeColor: 'neutral',
|
|
214
|
+
iconLibrary: 'hugeicons',
|
|
215
|
+
font: 'inter',
|
|
216
|
+
menuAccent: 'subtle',
|
|
217
|
+
menuColor: 'default',
|
|
218
|
+
radius: 'default',
|
|
175
219
|
},
|
|
176
220
|
auth: {
|
|
177
221
|
providers: ['github', 'google'],
|
package/src/types.ts
CHANGED
|
@@ -5,14 +5,18 @@ import type {
|
|
|
5
5
|
AuthProviderSchema,
|
|
6
6
|
AnalyticsProviderSchema,
|
|
7
7
|
UploadsProviderSchema,
|
|
8
|
+
PayloadStorageProviderSchema,
|
|
8
9
|
PaymentProviderSchema,
|
|
10
|
+
// shadcn v4 schemas
|
|
11
|
+
ComponentLibrarySchema,
|
|
12
|
+
ShadcnStyleSchema,
|
|
9
13
|
BaseColorSchema,
|
|
10
14
|
ThemeColorSchema,
|
|
11
|
-
MenuAccentSchema,
|
|
12
15
|
IconLibrarySchema,
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
+
FontSchema,
|
|
17
|
+
MenuAccentSchema,
|
|
18
|
+
MenuColorSchema,
|
|
19
|
+
RadiusSchema,
|
|
16
20
|
PackageManagerSchema,
|
|
17
21
|
AddonSchema,
|
|
18
22
|
DesignSystemConfigSchema,
|
|
@@ -28,14 +32,20 @@ export type MarketingSite = z.infer<typeof MarketingSiteSchema>
|
|
|
28
32
|
export type AuthProvider = z.infer<typeof AuthProviderSchema>
|
|
29
33
|
export type AnalyticsProvider = z.infer<typeof AnalyticsProviderSchema>
|
|
30
34
|
export type UploadsProvider = z.infer<typeof UploadsProviderSchema>
|
|
35
|
+
export type PayloadStorageProvider = z.infer<typeof PayloadStorageProviderSchema>
|
|
31
36
|
export type PaymentProvider = z.infer<typeof PaymentProviderSchema>
|
|
37
|
+
|
|
38
|
+
// shadcn v4 types
|
|
39
|
+
export type ComponentLibrary = z.infer<typeof ComponentLibrarySchema>
|
|
40
|
+
export type ShadcnStyle = z.infer<typeof ShadcnStyleSchema>
|
|
32
41
|
export type BaseColor = z.infer<typeof BaseColorSchema>
|
|
33
42
|
export type ThemeColor = z.infer<typeof ThemeColorSchema>
|
|
34
|
-
export type MenuAccent = z.infer<typeof MenuAccentSchema>
|
|
35
43
|
export type IconLibrary = z.infer<typeof IconLibrarySchema>
|
|
36
|
-
export type
|
|
37
|
-
export type
|
|
38
|
-
export type
|
|
44
|
+
export type Font = z.infer<typeof FontSchema>
|
|
45
|
+
export type MenuAccent = z.infer<typeof MenuAccentSchema>
|
|
46
|
+
export type MenuColor = z.infer<typeof MenuColorSchema>
|
|
47
|
+
export type Radius = z.infer<typeof RadiusSchema>
|
|
48
|
+
|
|
39
49
|
export type PackageManager = z.infer<typeof PackageManagerSchema>
|
|
40
50
|
export type Addon = z.infer<typeof AddonSchema>
|
|
41
51
|
export type DesignSystemConfig = z.infer<typeof DesignSystemConfigSchema>
|