@baseplate-dev/project-builder-lib 0.3.7 → 0.4.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/dist/compiler/model-transformer-compiler-spec.d.ts +1 -1
- package/dist/compiler/model-transformer-compiler-spec.d.ts.map +1 -1
- package/dist/definition/apps/app-utils.d.ts +4 -3
- package/dist/definition/apps/app-utils.d.ts.map +1 -1
- package/dist/definition/apps/app-utils.js +6 -6
- package/dist/definition/apps/app-utils.js.map +1 -1
- package/dist/definition/project-definition-container.test-utils.d.ts.map +1 -1
- package/dist/definition/project-definition-container.test-utils.js +10 -1
- package/dist/definition/project-definition-container.test-utils.js.map +1 -1
- package/dist/index.d.ts +0 -1
- package/dist/index.js.map +1 -1
- package/dist/migrations/index.d.ts.map +1 -1
- package/dist/migrations/index.js +2 -0
- package/dist/migrations/index.js.map +1 -1
- package/dist/migrations/migration-020-move-redis-to-infrastructure.d.ts +56 -0
- package/dist/migrations/migration-020-move-redis-to-infrastructure.d.ts.map +1 -0
- package/dist/migrations/migration-020-move-redis-to-infrastructure.js +44 -0
- package/dist/migrations/migration-020-move-redis-to-infrastructure.js.map +1 -0
- package/dist/parser/types.d.ts +21 -0
- package/dist/parser/types.d.ts.map +1 -1
- package/dist/schema/apps/backend/index.d.ts +0 -8
- package/dist/schema/apps/backend/index.d.ts.map +1 -1
- package/dist/schema/apps/backend/index.js +0 -1
- package/dist/schema/apps/backend/index.js.map +1 -1
- package/dist/schema/apps/base.d.ts +0 -4
- package/dist/schema/apps/base.d.ts.map +1 -1
- package/dist/schema/apps/base.js +0 -6
- package/dist/schema/apps/base.js.map +1 -1
- package/dist/schema/apps/web/web-app.d.ts +0 -4
- package/dist/schema/apps/web/web-app.d.ts.map +1 -1
- package/dist/schema/features/index.d.ts +0 -1
- package/dist/schema/features/index.d.ts.map +1 -1
- package/dist/schema/features/index.js +0 -1
- package/dist/schema/features/index.js.map +1 -1
- package/dist/schema/index.d.ts +1 -2
- package/dist/schema/index.d.ts.map +1 -1
- package/dist/schema/index.js +1 -2
- package/dist/schema/index.js.map +1 -1
- package/dist/schema/models/transformers/built-in-transformers.d.ts +2 -34
- package/dist/schema/models/transformers/built-in-transformers.d.ts.map +1 -1
- package/dist/schema/models/transformers/built-in-transformers.js +0 -13
- package/dist/schema/models/transformers/built-in-transformers.js.map +1 -1
- package/dist/schema/project-definition.d.ts +57 -37
- package/dist/schema/project-definition.d.ts.map +1 -1
- package/dist/schema/project-definition.js +1 -1
- package/dist/schema/project-definition.js.map +1 -1
- package/dist/schema/settings/general.d.ts +50 -0
- package/dist/schema/settings/general.d.ts.map +1 -0
- package/dist/schema/settings/general.js +42 -0
- package/dist/schema/settings/general.js.map +1 -0
- package/dist/schema/settings/index.d.ts +7 -0
- package/dist/schema/settings/index.d.ts.map +1 -0
- package/dist/schema/settings/index.js +7 -0
- package/dist/schema/settings/index.js.map +1 -0
- package/dist/schema/settings/infrastructure.d.ts +47 -0
- package/dist/schema/settings/infrastructure.d.ts.map +1 -0
- package/dist/schema/settings/infrastructure.js +29 -0
- package/dist/schema/settings/infrastructure.js.map +1 -0
- package/dist/schema/settings/monorepo.d.ts +33 -0
- package/dist/schema/settings/monorepo.d.ts.map +1 -0
- package/dist/schema/settings/monorepo.js +27 -0
- package/dist/schema/settings/monorepo.js.map +1 -0
- package/dist/schema/{settings.d.ts → settings/settings.d.ts} +76 -32
- package/dist/schema/settings/settings.d.ts.map +1 -0
- package/dist/schema/settings/settings.js +52 -0
- package/dist/schema/settings/settings.js.map +1 -0
- package/dist/schema/settings/template-extractor.d.ts +52 -0
- package/dist/schema/settings/template-extractor.d.ts.map +1 -0
- package/dist/schema/settings/template-extractor.js +42 -0
- package/dist/schema/settings/template-extractor.js.map +1 -0
- package/dist/schema/{features → settings}/theme.d.ts +118 -0
- package/dist/schema/settings/theme.d.ts.map +1 -0
- package/dist/schema/settings/theme.js +97 -0
- package/dist/schema/settings/theme.js.map +1 -0
- package/dist/utils/theme.d.ts +1 -1
- package/package.json +6 -6
- package/dist/schema/features/theme.d.ts.map +0 -1
- package/dist/schema/features/theme.js +0 -35
- package/dist/schema/features/theme.js.map +0 -1
- package/dist/schema/settings.d.ts.map +0 -1
- package/dist/schema/settings.js +0 -32
- package/dist/schema/settings.js.map +0 -1
- package/dist/schema/template-extractor/index.d.ts +0 -26
- package/dist/schema/template-extractor/index.d.ts.map +0 -1
- package/dist/schema/template-extractor/index.js +0 -19
- package/dist/schema/template-extractor/index.js.map +0 -1
- package/dist/types/files.d.ts +0 -8
- package/dist/types/files.d.ts.map +0 -1
- package/dist/types/files.js +0 -2
- package/dist/types/files.js.map +0 -1
|
@@ -1,41 +1,21 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
|
-
|
|
2
|
+
/**
|
|
3
|
+
* Complete project settings schema
|
|
4
|
+
*
|
|
5
|
+
* Combines all settings categories:
|
|
6
|
+
* - general: Project name, scope, and port configuration
|
|
7
|
+
* - infrastructure: Infrastructure services (Postgres, Redis)
|
|
8
|
+
* - monorepo: Monorepo folder configuration (optional)
|
|
9
|
+
* - templateExtractor: Template extraction configuration (optional)
|
|
10
|
+
* - theme: UI theme and color palette configuration (optional)
|
|
11
|
+
*/
|
|
12
|
+
export declare const createSettingsSchema: (context: import("../index.js").DefinitionSchemaParserContext) => z.ZodObject<{
|
|
3
13
|
/**
|
|
4
|
-
*
|
|
14
|
+
* General project settings (required)
|
|
5
15
|
*/
|
|
6
|
-
name: z.ZodString;
|
|
7
|
-
/**
|
|
8
|
-
* The package scope of the project if any e.g. halfdomelabs for @baseplate-dev/package-name.
|
|
9
|
-
*/
|
|
10
|
-
packageScope: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"">, z.ZodString]>>;
|
|
11
|
-
/**
|
|
12
|
-
* The port offset to base the app ports on for development (e.g. 8000 => 8432 for DB).
|
|
13
|
-
*/
|
|
14
|
-
portOffset: z.ZodEffects<z.ZodNumber, number, number>;
|
|
15
|
-
}, "strip", z.ZodTypeAny, {
|
|
16
|
-
name: string;
|
|
17
|
-
packageScope: string;
|
|
18
|
-
portOffset: number;
|
|
19
|
-
}, {
|
|
20
|
-
name: string;
|
|
21
|
-
portOffset: number;
|
|
22
|
-
packageScope?: string | undefined;
|
|
23
|
-
}>;
|
|
24
|
-
export type GeneralSettingsInput = z.input<typeof generalSettingsSchema>;
|
|
25
|
-
export type GeneralSettingsDefinition = z.output<typeof generalSettingsSchema>;
|
|
26
|
-
export declare const createSettingsSchema: (context: import("./index.js").DefinitionSchemaParserContext) => z.ZodObject<{
|
|
27
16
|
general: z.ZodObject<{
|
|
28
|
-
/**
|
|
29
|
-
* The name of the project.
|
|
30
|
-
*/
|
|
31
17
|
name: z.ZodString;
|
|
32
|
-
/**
|
|
33
|
-
* The package scope of the project if any e.g. halfdomelabs for @baseplate-dev/package-name.
|
|
34
|
-
*/
|
|
35
18
|
packageScope: z.ZodDefault<z.ZodUnion<[z.ZodLiteral<"">, z.ZodString]>>;
|
|
36
|
-
/**
|
|
37
|
-
* The port offset to base the app ports on for development (e.g. 8000 => 8432 for DB).
|
|
38
|
-
*/
|
|
39
19
|
portOffset: z.ZodEffects<z.ZodNumber, number, number>;
|
|
40
20
|
}, "strip", z.ZodTypeAny, {
|
|
41
21
|
name: string;
|
|
@@ -46,6 +26,48 @@ export declare const createSettingsSchema: (context: import("./index.js").Defini
|
|
|
46
26
|
portOffset: number;
|
|
47
27
|
packageScope?: string | undefined;
|
|
48
28
|
}>;
|
|
29
|
+
/**
|
|
30
|
+
* Infrastructure settings (optional)
|
|
31
|
+
*
|
|
32
|
+
* Configures infrastructure services like Postgres and Redis.
|
|
33
|
+
* When omitted, uses default configuration (Postgres enabled, Redis disabled).
|
|
34
|
+
*/
|
|
35
|
+
infrastructure: z.ZodOptional<z.ZodObject<{
|
|
36
|
+
redis: z.ZodOptional<z.ZodObject<{
|
|
37
|
+
enabled: z.ZodDefault<z.ZodBoolean>;
|
|
38
|
+
}, "strip", z.ZodTypeAny, {
|
|
39
|
+
enabled: boolean;
|
|
40
|
+
}, {
|
|
41
|
+
enabled?: boolean | undefined;
|
|
42
|
+
}>>;
|
|
43
|
+
}, "strip", z.ZodTypeAny, {
|
|
44
|
+
redis?: {
|
|
45
|
+
enabled: boolean;
|
|
46
|
+
} | undefined;
|
|
47
|
+
}, {
|
|
48
|
+
redis?: {
|
|
49
|
+
enabled?: boolean | undefined;
|
|
50
|
+
} | undefined;
|
|
51
|
+
}>>;
|
|
52
|
+
/**
|
|
53
|
+
* Monorepo configuration (optional)
|
|
54
|
+
*
|
|
55
|
+
* Configures the folder structure for monorepo packages.
|
|
56
|
+
* When omitted, uses default folder structure (apps/*).
|
|
57
|
+
*/
|
|
58
|
+
monorepo: z.ZodOptional<z.ZodObject<{
|
|
59
|
+
appsFolder: z.ZodDefault<z.ZodString>;
|
|
60
|
+
}, "strip", z.ZodTypeAny, {
|
|
61
|
+
appsFolder: string;
|
|
62
|
+
}, {
|
|
63
|
+
appsFolder?: string | undefined;
|
|
64
|
+
}>>;
|
|
65
|
+
/**
|
|
66
|
+
* Template extractor configuration (optional)
|
|
67
|
+
*
|
|
68
|
+
* Controls how template extraction works when syncing projects.
|
|
69
|
+
* Only needed when developing generators or extracting templates.
|
|
70
|
+
*/
|
|
49
71
|
templateExtractor: z.ZodOptional<z.ZodObject<{
|
|
50
72
|
writeMetadata: z.ZodDefault<z.ZodBoolean>;
|
|
51
73
|
fileIdRegexWhitelist: z.ZodDefault<z.ZodString>;
|
|
@@ -56,6 +78,12 @@ export declare const createSettingsSchema: (context: import("./index.js").Defini
|
|
|
56
78
|
writeMetadata?: boolean | undefined;
|
|
57
79
|
fileIdRegexWhitelist?: string | undefined;
|
|
58
80
|
}>>;
|
|
81
|
+
/**
|
|
82
|
+
* Theme configuration (optional)
|
|
83
|
+
*
|
|
84
|
+
* Defines color palettes and semantic color mappings for the UI.
|
|
85
|
+
* When omitted, uses default theme configuration.
|
|
86
|
+
*/
|
|
59
87
|
theme: z.ZodOptional<z.ZodObject<{
|
|
60
88
|
palettes: z.ZodObject<{
|
|
61
89
|
base: z.ZodEffects<z.ZodObject<{
|
|
@@ -174,6 +202,14 @@ export declare const createSettingsSchema: (context: import("./index.js").Defini
|
|
|
174
202
|
packageScope: string;
|
|
175
203
|
portOffset: number;
|
|
176
204
|
};
|
|
205
|
+
infrastructure?: {
|
|
206
|
+
redis?: {
|
|
207
|
+
enabled: boolean;
|
|
208
|
+
} | undefined;
|
|
209
|
+
} | undefined;
|
|
210
|
+
monorepo?: {
|
|
211
|
+
appsFolder: string;
|
|
212
|
+
} | undefined;
|
|
177
213
|
templateExtractor?: {
|
|
178
214
|
writeMetadata: boolean;
|
|
179
215
|
fileIdRegexWhitelist: string;
|
|
@@ -202,6 +238,14 @@ export declare const createSettingsSchema: (context: import("./index.js").Defini
|
|
|
202
238
|
portOffset: number;
|
|
203
239
|
packageScope?: string | undefined;
|
|
204
240
|
};
|
|
241
|
+
infrastructure?: {
|
|
242
|
+
redis?: {
|
|
243
|
+
enabled?: boolean | undefined;
|
|
244
|
+
} | undefined;
|
|
245
|
+
} | undefined;
|
|
246
|
+
monorepo?: {
|
|
247
|
+
appsFolder?: string | undefined;
|
|
248
|
+
} | undefined;
|
|
205
249
|
templateExtractor?: {
|
|
206
250
|
writeMetadata?: boolean | undefined;
|
|
207
251
|
fileIdRegexWhitelist?: string | undefined;
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAUxB;;;;;;;;;GASG;AACH,eAAO,MAAM,oBAAoB;IAE7B;;OAEG;;;;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;IAGH;;;;;OAKG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGN,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { definitionSchema } from '#src/schema/creator/schema-creator.js';
|
|
3
|
+
import { generalSettingsSchema } from './general.js';
|
|
4
|
+
import { infrastructureSettingsSchema } from './infrastructure.js';
|
|
5
|
+
import { monorepoSettingsSchema } from './monorepo.js';
|
|
6
|
+
import { createTemplateExtractorSchema } from './template-extractor.js';
|
|
7
|
+
import { createThemeSchema } from './theme.js';
|
|
8
|
+
/**
|
|
9
|
+
* Complete project settings schema
|
|
10
|
+
*
|
|
11
|
+
* Combines all settings categories:
|
|
12
|
+
* - general: Project name, scope, and port configuration
|
|
13
|
+
* - infrastructure: Infrastructure services (Postgres, Redis)
|
|
14
|
+
* - monorepo: Monorepo folder configuration (optional)
|
|
15
|
+
* - templateExtractor: Template extraction configuration (optional)
|
|
16
|
+
* - theme: UI theme and color palette configuration (optional)
|
|
17
|
+
*/
|
|
18
|
+
export const createSettingsSchema = definitionSchema((ctx) => z.object({
|
|
19
|
+
/**
|
|
20
|
+
* General project settings (required)
|
|
21
|
+
*/
|
|
22
|
+
general: generalSettingsSchema,
|
|
23
|
+
/**
|
|
24
|
+
* Infrastructure settings (optional)
|
|
25
|
+
*
|
|
26
|
+
* Configures infrastructure services like Postgres and Redis.
|
|
27
|
+
* When omitted, uses default configuration (Postgres enabled, Redis disabled).
|
|
28
|
+
*/
|
|
29
|
+
infrastructure: infrastructureSettingsSchema.optional(),
|
|
30
|
+
/**
|
|
31
|
+
* Monorepo configuration (optional)
|
|
32
|
+
*
|
|
33
|
+
* Configures the folder structure for monorepo packages.
|
|
34
|
+
* When omitted, uses default folder structure (apps/*).
|
|
35
|
+
*/
|
|
36
|
+
monorepo: monorepoSettingsSchema.optional(),
|
|
37
|
+
/**
|
|
38
|
+
* Template extractor configuration (optional)
|
|
39
|
+
*
|
|
40
|
+
* Controls how template extraction works when syncing projects.
|
|
41
|
+
* Only needed when developing generators or extracting templates.
|
|
42
|
+
*/
|
|
43
|
+
templateExtractor: createTemplateExtractorSchema(ctx).optional(),
|
|
44
|
+
/**
|
|
45
|
+
* Theme configuration (optional)
|
|
46
|
+
*
|
|
47
|
+
* Defines color palettes and semantic color mappings for the UI.
|
|
48
|
+
* When omitted, uses default theme configuration.
|
|
49
|
+
*/
|
|
50
|
+
theme: createThemeSchema(ctx).optional(),
|
|
51
|
+
}));
|
|
52
|
+
//# sourceMappingURL=settings.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"settings.js","sourceRoot":"","sources":["../../../src/schema/settings/settings.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE,OAAO,EAAE,qBAAqB,EAAE,MAAM,cAAc,CAAC;AACrD,OAAO,EAAE,4BAA4B,EAAE,MAAM,qBAAqB,CAAC;AACnE,OAAO,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AACvD,OAAO,EAAE,6BAA6B,EAAE,MAAM,yBAAyB,CAAC;AACxE,OAAO,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAE/C;;;;;;;;;GASG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAG,gBAAgB,CAAC,CAAC,GAAG,EAAE,EAAE,CAC3D,CAAC,CAAC,MAAM,CAAC;IACP;;OAEG;IACH,OAAO,EAAE,qBAAqB;IAE9B;;;;;OAKG;IACH,cAAc,EAAE,4BAA4B,CAAC,QAAQ,EAAE;IAEvD;;;;;OAKG;IACH,QAAQ,EAAE,sBAAsB,CAAC,QAAQ,EAAE;IAE3C;;;;;OAKG;IACH,iBAAiB,EAAE,6BAA6B,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAEhE;;;;;OAKG;IACH,KAAK,EAAE,iBAAiB,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;CACzC,CAAC,CACH,CAAC"}
|
|
@@ -0,0 +1,52 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import type { def } from '../creator/index.js';
|
|
3
|
+
/**
|
|
4
|
+
* Template extractor configuration schema
|
|
5
|
+
*
|
|
6
|
+
* Controls how template extraction works when syncing projects.
|
|
7
|
+
* Template extraction allows updating generator templates from working code.
|
|
8
|
+
*/
|
|
9
|
+
export declare const createTemplateExtractorSchema: (context: import("../creator/types.js").DefinitionSchemaParserContext) => z.ZodObject<{
|
|
10
|
+
/**
|
|
11
|
+
* Whether to write template extractor metadata when writing files to the project.
|
|
12
|
+
*
|
|
13
|
+
* When enabled, Baseplate will write `.templates-info.json` files that track
|
|
14
|
+
* which generated files correspond to which templates. This metadata enables
|
|
15
|
+
* the template extraction process to update the generator's templates from
|
|
16
|
+
* your working code.
|
|
17
|
+
*
|
|
18
|
+
* Useful for: Generator development, template refinement, extracting patterns
|
|
19
|
+
* Default: false
|
|
20
|
+
*/
|
|
21
|
+
writeMetadata: z.ZodDefault<z.ZodBoolean>;
|
|
22
|
+
/**
|
|
23
|
+
* A list of file IDs to include in the template extractor metadata.
|
|
24
|
+
*
|
|
25
|
+
* Used for generators that have manually assigned file IDs, particularly
|
|
26
|
+
* generators with multiple instances (e.g. one generator per model).
|
|
27
|
+
*
|
|
28
|
+
* Format: Newline-delimited list of patterns
|
|
29
|
+
* Supports wildcards: Use * to match any number of characters
|
|
30
|
+
*
|
|
31
|
+
* Example:
|
|
32
|
+
* ```
|
|
33
|
+
* user-*
|
|
34
|
+
* post-*
|
|
35
|
+
* comment-service-*
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Default: empty string (no file ID whitelist)
|
|
39
|
+
*/
|
|
40
|
+
fileIdRegexWhitelist: z.ZodDefault<z.ZodString>;
|
|
41
|
+
}, "strip", z.ZodTypeAny, {
|
|
42
|
+
writeMetadata: boolean;
|
|
43
|
+
fileIdRegexWhitelist: string;
|
|
44
|
+
}, {
|
|
45
|
+
writeMetadata?: boolean | undefined;
|
|
46
|
+
fileIdRegexWhitelist?: string | undefined;
|
|
47
|
+
}>;
|
|
48
|
+
/**
|
|
49
|
+
* Template extractor configuration type (output after validation)
|
|
50
|
+
*/
|
|
51
|
+
export type TemplateExtractorDefinition = def.InferOutput<typeof createTemplateExtractorSchema>;
|
|
52
|
+
//# sourceMappingURL=template-extractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-extractor.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/template-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,qBAAqB,CAAC;AAE/C;;;;;GAKG;AACH,eAAO,MAAM,6BAA6B;IAEtC;;;;;;;;;;OAUG;;IAGH;;;;;;;;;;;;;;;;;OAiBG;;;;;;;;EAGN,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,2BAA2B,GAAG,GAAG,CAAC,WAAW,CACvD,OAAO,6BAA6B,CACrC,CAAC"}
|
|
@@ -0,0 +1,42 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { definitionSchema } from '#src/schema/creator/schema-creator.js';
|
|
3
|
+
/**
|
|
4
|
+
* Template extractor configuration schema
|
|
5
|
+
*
|
|
6
|
+
* Controls how template extraction works when syncing projects.
|
|
7
|
+
* Template extraction allows updating generator templates from working code.
|
|
8
|
+
*/
|
|
9
|
+
export const createTemplateExtractorSchema = definitionSchema(() => z.object({
|
|
10
|
+
/**
|
|
11
|
+
* Whether to write template extractor metadata when writing files to the project.
|
|
12
|
+
*
|
|
13
|
+
* When enabled, Baseplate will write `.templates-info.json` files that track
|
|
14
|
+
* which generated files correspond to which templates. This metadata enables
|
|
15
|
+
* the template extraction process to update the generator's templates from
|
|
16
|
+
* your working code.
|
|
17
|
+
*
|
|
18
|
+
* Useful for: Generator development, template refinement, extracting patterns
|
|
19
|
+
* Default: false
|
|
20
|
+
*/
|
|
21
|
+
writeMetadata: z.boolean().default(false),
|
|
22
|
+
/**
|
|
23
|
+
* A list of file IDs to include in the template extractor metadata.
|
|
24
|
+
*
|
|
25
|
+
* Used for generators that have manually assigned file IDs, particularly
|
|
26
|
+
* generators with multiple instances (e.g. one generator per model).
|
|
27
|
+
*
|
|
28
|
+
* Format: Newline-delimited list of patterns
|
|
29
|
+
* Supports wildcards: Use * to match any number of characters
|
|
30
|
+
*
|
|
31
|
+
* Example:
|
|
32
|
+
* ```
|
|
33
|
+
* user-*
|
|
34
|
+
* post-*
|
|
35
|
+
* comment-service-*
|
|
36
|
+
* ```
|
|
37
|
+
*
|
|
38
|
+
* Default: empty string (no file ID whitelist)
|
|
39
|
+
*/
|
|
40
|
+
fileIdRegexWhitelist: z.string().default(''),
|
|
41
|
+
}));
|
|
42
|
+
//# sourceMappingURL=template-extractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"template-extractor.js","sourceRoot":"","sources":["../../../src/schema/settings/template-extractor.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAIzE;;;;;GAKG;AACH,MAAM,CAAC,MAAM,6BAA6B,GAAG,gBAAgB,CAAC,GAAG,EAAE,CACjE,CAAC,CAAC,MAAM,CAAC;IACP;;;;;;;;;;OAUG;IACH,aAAa,EAAE,CAAC,CAAC,OAAO,EAAE,CAAC,OAAO,CAAC,KAAK,CAAC;IAEzC;;;;;;;;;;;;;;;;;OAiBG;IACH,oBAAoB,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC;CAC7C,CAAC,CACH,CAAC"}
|
|
@@ -1,13 +1,53 @@
|
|
|
1
1
|
import { z } from 'zod';
|
|
2
2
|
import type { PaletteShade } from '#src/constants/colors.js';
|
|
3
3
|
import type { def } from '#src/schema/creator/index.js';
|
|
4
|
+
/**
|
|
5
|
+
* OKLCH color format validator
|
|
6
|
+
*
|
|
7
|
+
* OKLCH is a perceptually uniform color space that provides better color manipulation than RGB/HEX.
|
|
8
|
+
* Format: oklch(l c h [/ a]) where:
|
|
9
|
+
* - l (lightness): 0-1
|
|
10
|
+
* - c (chroma): 0-1
|
|
11
|
+
* - h (hue): 0-360
|
|
12
|
+
* - a (alpha, optional): 0-100
|
|
13
|
+
*
|
|
14
|
+
* Example: "oklch(0.5 0.2 180)" or "oklch(0.5 0.2 180 / 50)"
|
|
15
|
+
*/
|
|
4
16
|
export declare const oklchColor: z.ZodString;
|
|
17
|
+
/**
|
|
18
|
+
* Theme color configuration
|
|
19
|
+
*
|
|
20
|
+
* Maps semantic color keys (e.g. "background", "foreground", "primary") to OKLCH color values.
|
|
21
|
+
*/
|
|
5
22
|
export declare const themeColorSchema: z.ZodRecord<z.ZodEnum<["link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring", ...("link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring")[]]>, z.ZodString>;
|
|
23
|
+
/**
|
|
24
|
+
* Theme colors configuration type
|
|
25
|
+
*/
|
|
6
26
|
export type ThemeColorsConfig = z.infer<typeof themeColorSchema>;
|
|
27
|
+
/**
|
|
28
|
+
* Palette shades type - maps shade names to OKLCH colors
|
|
29
|
+
*/
|
|
7
30
|
export type PaletteShades = Record<PaletteShade, string>;
|
|
31
|
+
/**
|
|
32
|
+
* Palette configuration schema
|
|
33
|
+
*
|
|
34
|
+
* Defines a color palette with a base color and generated shades.
|
|
35
|
+
* Palettes can use predefined bases (zinc, slate, etc.) or a custom base color.
|
|
36
|
+
*/
|
|
8
37
|
export declare const paletteSchema: z.ZodEffects<z.ZodObject<{
|
|
38
|
+
/**
|
|
39
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
40
|
+
*/
|
|
9
41
|
paletteName: z.ZodString;
|
|
42
|
+
/**
|
|
43
|
+
* Custom base color in OKLCH format.
|
|
44
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
45
|
+
*/
|
|
10
46
|
customBase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
47
|
+
/**
|
|
48
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
49
|
+
* Automatically computed from the base color
|
|
50
|
+
*/
|
|
11
51
|
shades: z.ZodRecord<z.ZodEnum<["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"]>, z.ZodString>;
|
|
12
52
|
}, "strip", z.ZodTypeAny, {
|
|
13
53
|
paletteName: string;
|
|
@@ -26,10 +66,29 @@ export declare const paletteSchema: z.ZodEffects<z.ZodObject<{
|
|
|
26
66
|
shades: Partial<Record<"50" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "950", string>>;
|
|
27
67
|
customBase?: string | null | undefined;
|
|
28
68
|
}>;
|
|
69
|
+
/**
|
|
70
|
+
* Palettes configuration schema
|
|
71
|
+
*
|
|
72
|
+
* Defines base (neutral colors) and primary (brand colors) palettes
|
|
73
|
+
*/
|
|
29
74
|
export declare const palettesSchema: z.ZodObject<{
|
|
75
|
+
/**
|
|
76
|
+
* Base palette used for neutral colors (backgrounds, borders, text)
|
|
77
|
+
*/
|
|
30
78
|
base: z.ZodEffects<z.ZodObject<{
|
|
79
|
+
/**
|
|
80
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
81
|
+
*/
|
|
31
82
|
paletteName: z.ZodString;
|
|
83
|
+
/**
|
|
84
|
+
* Custom base color in OKLCH format.
|
|
85
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
86
|
+
*/
|
|
32
87
|
customBase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
88
|
+
/**
|
|
89
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
90
|
+
* Automatically computed from the base color
|
|
91
|
+
*/
|
|
33
92
|
shades: z.ZodRecord<z.ZodEnum<["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"]>, z.ZodString>;
|
|
34
93
|
}, "strip", z.ZodTypeAny, {
|
|
35
94
|
paletteName: string;
|
|
@@ -48,9 +107,23 @@ export declare const palettesSchema: z.ZodObject<{
|
|
|
48
107
|
shades: Partial<Record<"50" | "100" | "200" | "300" | "400" | "500" | "600" | "700" | "800" | "900" | "950", string>>;
|
|
49
108
|
customBase?: string | null | undefined;
|
|
50
109
|
}>;
|
|
110
|
+
/**
|
|
111
|
+
* Primary palette used for brand colors (buttons, links, highlights)
|
|
112
|
+
*/
|
|
51
113
|
primary: z.ZodEffects<z.ZodObject<{
|
|
114
|
+
/**
|
|
115
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
116
|
+
*/
|
|
52
117
|
paletteName: z.ZodString;
|
|
118
|
+
/**
|
|
119
|
+
* Custom base color in OKLCH format.
|
|
120
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
121
|
+
*/
|
|
53
122
|
customBase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
123
|
+
/**
|
|
124
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
125
|
+
* Automatically computed from the base color
|
|
126
|
+
*/
|
|
54
127
|
shades: z.ZodRecord<z.ZodEnum<["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"]>, z.ZodString>;
|
|
55
128
|
}, "strip", z.ZodTypeAny, {
|
|
56
129
|
paletteName: string;
|
|
@@ -92,12 +165,34 @@ export declare const palettesSchema: z.ZodObject<{
|
|
|
92
165
|
customBase?: string | null | undefined;
|
|
93
166
|
};
|
|
94
167
|
}>;
|
|
168
|
+
/**
|
|
169
|
+
* Palettes configuration type
|
|
170
|
+
*/
|
|
95
171
|
export type PalettesConfig = z.infer<typeof palettesSchema>;
|
|
172
|
+
/**
|
|
173
|
+
* Theme configuration schema
|
|
174
|
+
*
|
|
175
|
+
* Defines the complete theme including palettes and semantic color mappings for light and dark modes.
|
|
176
|
+
*/
|
|
96
177
|
export declare const createThemeSchema: (context: import("#src/schema/creator/index.js").DefinitionSchemaParserContext) => z.ZodObject<{
|
|
178
|
+
/**
|
|
179
|
+
* Color palettes for base and primary colors
|
|
180
|
+
*/
|
|
97
181
|
palettes: z.ZodObject<{
|
|
98
182
|
base: z.ZodEffects<z.ZodObject<{
|
|
183
|
+
/**
|
|
184
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
185
|
+
*/
|
|
99
186
|
paletteName: z.ZodString;
|
|
187
|
+
/**
|
|
188
|
+
* Custom base color in OKLCH format.
|
|
189
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
190
|
+
*/
|
|
100
191
|
customBase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
192
|
+
/**
|
|
193
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
194
|
+
* Automatically computed from the base color
|
|
195
|
+
*/
|
|
101
196
|
shades: z.ZodRecord<z.ZodEnum<["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"]>, z.ZodString>;
|
|
102
197
|
}, "strip", z.ZodTypeAny, {
|
|
103
198
|
paletteName: string;
|
|
@@ -117,8 +212,19 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
|
|
|
117
212
|
customBase?: string | null | undefined;
|
|
118
213
|
}>;
|
|
119
214
|
primary: z.ZodEffects<z.ZodObject<{
|
|
215
|
+
/**
|
|
216
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
217
|
+
*/
|
|
120
218
|
paletteName: z.ZodString;
|
|
219
|
+
/**
|
|
220
|
+
* Custom base color in OKLCH format.
|
|
221
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
222
|
+
*/
|
|
121
223
|
customBase: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
224
|
+
/**
|
|
225
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
226
|
+
* Automatically computed from the base color
|
|
227
|
+
*/
|
|
122
228
|
shades: z.ZodRecord<z.ZodEnum<["50", "100", "200", "300", "400", "500", "600", "700", "800", "900", "950"]>, z.ZodString>;
|
|
123
229
|
}, "strip", z.ZodTypeAny, {
|
|
124
230
|
paletteName: string;
|
|
@@ -160,8 +266,17 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
|
|
|
160
266
|
customBase?: string | null | undefined;
|
|
161
267
|
};
|
|
162
268
|
}>;
|
|
269
|
+
/**
|
|
270
|
+
* Semantic color mappings for light and dark modes
|
|
271
|
+
*/
|
|
163
272
|
colors: z.ZodObject<{
|
|
273
|
+
/**
|
|
274
|
+
* Light mode color mappings
|
|
275
|
+
*/
|
|
164
276
|
light: z.ZodRecord<z.ZodEnum<["link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring", ...("link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring")[]]>, z.ZodString>;
|
|
277
|
+
/**
|
|
278
|
+
* Dark mode color mappings
|
|
279
|
+
*/
|
|
165
280
|
dark: z.ZodRecord<z.ZodEnum<["link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring", ...("link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring")[]]>, z.ZodString>;
|
|
166
281
|
}, "strip", z.ZodTypeAny, {
|
|
167
282
|
light: Partial<Record<"link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring", string>>;
|
|
@@ -205,5 +320,8 @@ export declare const createThemeSchema: (context: import("#src/schema/creator/in
|
|
|
205
320
|
dark: Partial<Record<"link" | "success" | "background" | "foreground" | "muted" | "mutedForeground" | "card" | "cardForeground" | "popover" | "popoverForeground" | "accent" | "accentForeground" | "successForeground" | "warning" | "warningForeground" | "error" | "errorForeground" | "primary" | "primaryHover" | "primaryForeground" | "secondary" | "secondaryHover" | "secondaryForeground" | "destructive" | "destructiveHover" | "destructiveForeground" | "linkVisited" | "border" | "input" | "ring", string>>;
|
|
206
321
|
};
|
|
207
322
|
}>;
|
|
323
|
+
/**
|
|
324
|
+
* Theme configuration type (output after validation)
|
|
325
|
+
*/
|
|
208
326
|
export type ThemeConfig = def.InferOutput<typeof createThemeSchema>;
|
|
209
327
|
//# sourceMappingURL=theme.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/schema/settings/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAMxD;;;;;;;;;;;GAWG;AACH,eAAO,MAAM,UAAU,aAQpB,CAAC;AAEJ;;;;GAIG;AACH,eAAO,MAAM,gBAAgB,w+BAG5B,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE;;GAEG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,aAAa;IAEtB;;OAEG;;IAGH;;;OAGG;;IAGH;;;OAGG;;;;;;;;;;;;;;;;;;EAMH,CAAC;AAEL;;;;GAIG;AACH,eAAO,MAAM,cAAc;IACzB;;OAEG;;QA9BD;;WAEG;;QAGH;;;WAGG;;QAGH;;;WAGG;;;;;;;;;;;;;;;;;;;IAmBL;;OAEG;;QAnCD;;WAEG;;QAGH;;;WAGG;;QAGH;;;WAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAuBL,CAAC;AAEH;;GAEG;AACH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D;;;;GAIG;AACH,eAAO,MAAM,iBAAiB;IAE1B;;OAEG;;;YArDH;;eAEG;;YAGH;;;eAGG;;YAGH;;;eAGG;;;;;;;;;;;;;;;;;;;;YAdH;;eAEG;;YAGH;;;eAGG;;YAGH;;;eAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;IA6CH;;OAEG;;QAED;;WAEG;;QAGH;;WAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAIR,CAAC;AAEF;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|
|
@@ -0,0 +1,97 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { PALETTE_SHADES } from '#src/constants/colors.js';
|
|
3
|
+
import { THEME_COLOR_KEYS } from '#src/constants/theme-colors.js';
|
|
4
|
+
import { definitionSchema } from '#src/schema/creator/schema-creator.js';
|
|
5
|
+
/**
|
|
6
|
+
* OKLCH color format validator
|
|
7
|
+
*
|
|
8
|
+
* OKLCH is a perceptually uniform color space that provides better color manipulation than RGB/HEX.
|
|
9
|
+
* Format: oklch(l c h [/ a]) where:
|
|
10
|
+
* - l (lightness): 0-1
|
|
11
|
+
* - c (chroma): 0-1
|
|
12
|
+
* - h (hue): 0-360
|
|
13
|
+
* - a (alpha, optional): 0-100
|
|
14
|
+
*
|
|
15
|
+
* Example: "oklch(0.5 0.2 180)" or "oklch(0.5 0.2 180 / 50)"
|
|
16
|
+
*/
|
|
17
|
+
export const oklchColor = z
|
|
18
|
+
.string()
|
|
19
|
+
.regex(/^oklch\(\s*([\d.]+)\s+([\d.]+)\s+([\d.]+)(?:\s*\/\s*([\d.]+))?\s*\)$/, {
|
|
20
|
+
message: 'OKLCH color must be of the format "oklch(l c h [/ a])" where l and c are between 0 and 1 and h is between 0 and 360 and a is between 0 and 100',
|
|
21
|
+
});
|
|
22
|
+
/**
|
|
23
|
+
* Theme color configuration
|
|
24
|
+
*
|
|
25
|
+
* Maps semantic color keys (e.g. "background", "foreground", "primary") to OKLCH color values.
|
|
26
|
+
*/
|
|
27
|
+
export const themeColorSchema = z.record(z.enum(THEME_COLOR_KEYS), oklchColor);
|
|
28
|
+
/**
|
|
29
|
+
* Palette configuration schema
|
|
30
|
+
*
|
|
31
|
+
* Defines a color palette with a base color and generated shades.
|
|
32
|
+
* Palettes can use predefined bases (zinc, slate, etc.) or a custom base color.
|
|
33
|
+
*/
|
|
34
|
+
export const paletteSchema = z
|
|
35
|
+
.object({
|
|
36
|
+
/**
|
|
37
|
+
* Name of the palette base (e.g. "zinc", "slate") or "custom" for custom base color
|
|
38
|
+
*/
|
|
39
|
+
paletteName: z.string().min(1),
|
|
40
|
+
/**
|
|
41
|
+
* Custom base color in OKLCH format.
|
|
42
|
+
* Required when paletteName is "custom", ignored otherwise.
|
|
43
|
+
*/
|
|
44
|
+
customBase: oklchColor.nullish(),
|
|
45
|
+
/**
|
|
46
|
+
* Generated color shades (50, 100, 200, ..., 950)
|
|
47
|
+
* Automatically computed from the base color
|
|
48
|
+
*/
|
|
49
|
+
shades: z.record(z.enum(PALETTE_SHADES), oklchColor),
|
|
50
|
+
})
|
|
51
|
+
.refine((data) => data.paletteName !== 'custom' || !!data.customBase, {
|
|
52
|
+
message: 'A custom base color is required if using a custom base palette',
|
|
53
|
+
path: ['customBase'],
|
|
54
|
+
});
|
|
55
|
+
/**
|
|
56
|
+
* Palettes configuration schema
|
|
57
|
+
*
|
|
58
|
+
* Defines base (neutral colors) and primary (brand colors) palettes
|
|
59
|
+
*/
|
|
60
|
+
export const palettesSchema = z.object({
|
|
61
|
+
/**
|
|
62
|
+
* Base palette used for neutral colors (backgrounds, borders, text)
|
|
63
|
+
*/
|
|
64
|
+
base: paletteSchema,
|
|
65
|
+
/**
|
|
66
|
+
* Primary palette used for brand colors (buttons, links, highlights)
|
|
67
|
+
*/
|
|
68
|
+
primary: paletteSchema,
|
|
69
|
+
});
|
|
70
|
+
/**
|
|
71
|
+
* Theme configuration schema
|
|
72
|
+
*
|
|
73
|
+
* Defines the complete theme including palettes and semantic color mappings for light and dark modes.
|
|
74
|
+
*/
|
|
75
|
+
export const createThemeSchema = definitionSchema(() => z.object({
|
|
76
|
+
/**
|
|
77
|
+
* Color palettes for base and primary colors
|
|
78
|
+
*/
|
|
79
|
+
palettes: z.object({
|
|
80
|
+
base: paletteSchema,
|
|
81
|
+
primary: paletteSchema,
|
|
82
|
+
}),
|
|
83
|
+
/**
|
|
84
|
+
* Semantic color mappings for light and dark modes
|
|
85
|
+
*/
|
|
86
|
+
colors: z.object({
|
|
87
|
+
/**
|
|
88
|
+
* Light mode color mappings
|
|
89
|
+
*/
|
|
90
|
+
light: themeColorSchema,
|
|
91
|
+
/**
|
|
92
|
+
* Dark mode color mappings
|
|
93
|
+
*/
|
|
94
|
+
dark: themeColorSchema,
|
|
95
|
+
}),
|
|
96
|
+
}));
|
|
97
|
+
//# sourceMappingURL=theme.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"theme.js","sourceRoot":"","sources":["../../../src/schema/settings/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAMxB,OAAO,EAAE,cAAc,EAAE,MAAM,0BAA0B,CAAC;AAC1D,OAAO,EAAE,gBAAgB,EAAE,MAAM,gCAAgC,CAAC;AAClE,OAAO,EAAE,gBAAgB,EAAE,MAAM,uCAAuC,CAAC;AAEzE;;;;;;;;;;;GAWG;AACH,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC;KACxB,MAAM,EAAE;KACR,KAAK,CACJ,sEAAsE,EACtE;IACE,OAAO,EACL,gJAAgJ;CACnJ,CACF,CAAC;AAEJ;;;;GAIG;AACH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CACtC,CAAC,CAAC,IAAI,CAAC,gBAAuD,CAAC,EAC/D,UAAU,CACX,CAAC;AAYF;;;;;GAKG;AACH,MAAM,CAAC,MAAM,aAAa,GAAG,CAAC;KAC3B,MAAM,CAAC;IACN;;OAEG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC;IAE9B;;;OAGG;IACH,UAAU,EAAE,UAAU,CAAC,OAAO,EAAE;IAEhC;;;OAGG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,IAAI,CAAC,cAAc,CAAC,EAAE,UAAU,CAAC;CACrD,CAAC;KACD,MAAM,CAAC,CAAC,IAAI,EAAE,EAAE,CAAC,IAAI,CAAC,WAAW,KAAK,QAAQ,IAAI,CAAC,CAAC,IAAI,CAAC,UAAU,EAAE;IACpE,OAAO,EAAE,gEAAgE;IACzE,IAAI,EAAE,CAAC,YAAY,CAAC;CACrB,CAAC,CAAC;AAEL;;;;GAIG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG,CAAC,CAAC,MAAM,CAAC;IACrC;;OAEG;IACH,IAAI,EAAE,aAAa;IAEnB;;OAEG;IACH,OAAO,EAAE,aAAa;CACvB,CAAC,CAAC;AAOH;;;;GAIG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,gBAAgB,CAAC,GAAG,EAAE,CACrD,CAAC,CAAC,MAAM,CAAC;IACP;;OAEG;IACH,QAAQ,EAAE,CAAC,CAAC,MAAM,CAAC;QACjB,IAAI,EAAE,aAAa;QACnB,OAAO,EAAE,aAAa;KACvB,CAAC;IAEF;;OAEG;IACH,MAAM,EAAE,CAAC,CAAC,MAAM,CAAC;QACf;;WAEG;QACH,KAAK,EAAE,gBAAgB;QAEvB;;WAEG;QACH,IAAI,EAAE,gBAAgB;KACvB,CAAC;CACH,CAAC,CACH,CAAC"}
|
package/dist/utils/theme.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
import type { ThemeColorKey } from '#src/constants/theme-colors.js';
|
|
2
|
-
import type { PalettesConfig, ThemeColorsConfig, ThemeConfig } from '#src/schema/
|
|
2
|
+
import type { PalettesConfig, ThemeColorsConfig, ThemeConfig } from '#src/schema/settings/theme.js';
|
|
3
3
|
export declare function getDefaultThemeColorFromShade(palettes: PalettesConfig, mode: 'light' | 'dark', themeColorKey: ThemeColorKey): string | undefined;
|
|
4
4
|
export declare function generateThemeColorsFromShade(palettes: PalettesConfig, mode: 'light' | 'dark', previousValues?: {
|
|
5
5
|
palettes: PalettesConfig;
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@baseplate-dev/project-builder-lib",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.4.0",
|
|
4
4
|
"description": "Library for Project Builder using Baseplate generators",
|
|
5
5
|
"keywords": [
|
|
6
6
|
"configuration",
|
|
@@ -47,9 +47,9 @@
|
|
|
47
47
|
"react-hook-form": "7.60.0",
|
|
48
48
|
"zod": "3.25.76",
|
|
49
49
|
"zustand": "5.0.3",
|
|
50
|
-
"@baseplate-dev/sync": "0.
|
|
51
|
-
"@baseplate-dev/ui-components": "0.
|
|
52
|
-
"@baseplate-dev/utils": "0.
|
|
50
|
+
"@baseplate-dev/sync": "0.4.0",
|
|
51
|
+
"@baseplate-dev/ui-components": "0.4.0",
|
|
52
|
+
"@baseplate-dev/utils": "0.4.0"
|
|
53
53
|
},
|
|
54
54
|
"devDependencies": {
|
|
55
55
|
"@faker-js/faker": "9.8.0",
|
|
@@ -61,9 +61,9 @@
|
|
|
61
61
|
"prettier": "3.6.2",
|
|
62
62
|
"type-fest": "4.41.0",
|
|
63
63
|
"typescript": "5.8.3",
|
|
64
|
-
"vite": "7.1.
|
|
64
|
+
"vite": "7.1.12",
|
|
65
65
|
"vitest": "3.2.4",
|
|
66
|
-
"@baseplate-dev/tools": "0.
|
|
66
|
+
"@baseplate-dev/tools": "0.4.0"
|
|
67
67
|
},
|
|
68
68
|
"engines": {
|
|
69
69
|
"node": "^22.0.0"
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"theme.d.ts","sourceRoot":"","sources":["../../../src/schema/features/theme.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAE7D,OAAO,KAAK,EAAE,GAAG,EAAE,MAAM,8BAA8B,CAAC;AAMxD,eAAO,MAAM,UAAU,aAQpB,CAAC;AAEJ,eAAO,MAAM,gBAAgB,w+BAG5B,CAAC;AAEF,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAEjE,MAAM,MAAM,aAAa,GAAG,MAAM,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;AAEzD,eAAO,MAAM,aAAa;;;;;;;;;;;;;;;;;;;;EAStB,CAAC;AAEL,eAAO,MAAM,cAAc;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAGzB,CAAC;AAEH,MAAM,MAAM,cAAc,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,cAAc,CAAC,CAAC;AAE5D,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAW7B,CAAC;AAEF,MAAM,MAAM,WAAW,GAAG,GAAG,CAAC,WAAW,CAAC,OAAO,iBAAiB,CAAC,CAAC"}
|