From e5019dc29f0fffce059bca602bf533536d46095f Mon Sep 17 00:00:00 2001 From: Code Date: Sun, 9 Feb 2025 15:37:11 +0100 Subject: [PATCH] commons:component meta --- packages/commons/dist/component.d.ts | 849 +++++++++++++++++++++++++-- packages/commons/dist/component.js | 24 +- packages/commons/package.json | 1 + packages/commons/src/component.ts | 47 +- 4 files changed, 854 insertions(+), 67 deletions(-) diff --git a/packages/commons/dist/component.d.ts b/packages/commons/dist/component.d.ts index 96c3060c..96396e0d 100644 --- a/packages/commons/dist/component.d.ts +++ b/packages/commons/dist/component.d.ts @@ -1,4 +1,5 @@ import { z } from "zod"; +export declare const UrlSchema: z.ZodEffects; export declare const ExifSchema: z.ZodObject<{ file: z.ZodAny; jfif: z.ZodAny; @@ -80,6 +81,19 @@ export declare const CADMetaSchema: z.ZodObject<{ model?: string; html?: string; }>; +export declare const ResourceSchema: z.ZodObject<{ + name: z.ZodString; + url: z.ZodString; + type: z.ZodString; +}, "strip", z.ZodTypeAny, { + type?: string; + name?: string; + url?: string; +}, { + type?: string; + name?: string; + url?: string; +}>; export declare const AssetImageSchema: z.ZodObject<{ name: z.ZodOptional; url: z.ZodString; @@ -92,7 +106,29 @@ export declare const AssetImageSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -105,6 +141,12 @@ export declare const AssetImageSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -178,7 +220,29 @@ export declare const AssetsSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -191,6 +255,12 @@ export declare const AssetsSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -215,7 +285,29 @@ export declare const AssetsSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -228,6 +320,12 @@ export declare const AssetsSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -252,7 +350,29 @@ export declare const AssetsSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -265,6 +385,12 @@ export declare const AssetsSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -279,6 +405,12 @@ export declare const AssetsSchema: z.ZodObject<{ }>, "many">>; }, "strip", z.ZodTypeAny, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -292,6 +424,12 @@ export declare const AssetsSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -305,6 +443,12 @@ export declare const AssetsSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -319,6 +463,12 @@ export declare const AssetsSchema: z.ZodObject<{ }[]; }, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -332,6 +482,12 @@ export declare const AssetsSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -345,6 +501,12 @@ export declare const AssetsSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -394,20 +556,6 @@ export declare const ComponentConfigSchema: z.ZodObject<{ cscartId: z.ZodOptional; vendorId: z.ZodOptional; version: z.ZodOptional; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional>; - flags: z.ZodOptional; versions: z.ZodOptional; up: z.ZodOptional; @@ -427,6 +575,44 @@ export declare const ComponentConfigSchema: z.ZodObject<{ family?: string; sheet?: string; }>>; + status: z.ZodOptional; + authors: z.ZodOptional, "many">>; + replaced_by: z.ZodOptional; + alternatives: z.ZodOptional, "many">>; + used_by: z.ZodOptional, "many">>; image: z.ZodOptional; url: z.ZodString; @@ -439,7 +625,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -452,6 +660,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -465,12 +679,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }>>; name: z.ZodString; + flags: z.ZodOptional; download: z.ZodOptional; edrawings: z.ZodOptional; showDimensions: z.ZodOptional; showParts: z.ZodOptional; slug: z.ZodString; - score: z.ZodOptional; keywords: z.ZodOptional; meta_keywords: z.ZodOptional; assets: z.ZodDefault; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -499,6 +735,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -523,7 +765,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -536,6 +800,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -560,7 +830,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -573,6 +865,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -587,6 +885,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }>, "many">>; }, "strip", z.ZodTypeAny, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -600,6 +904,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -613,6 +923,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -627,6 +943,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }[]; }, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -640,6 +962,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -653,6 +981,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -685,6 +1019,32 @@ export declare const ComponentConfigSchema: z.ZodObject<{ model?: string; html?: string; }>, "many">>; + resources: z.ZodDefault, "many">>; + tests: z.ZodDefault, "many">>; /** * @deprecated */ @@ -722,6 +1082,7 @@ export declare const ComponentConfigSchema: z.ZodObject<{ url?: string; }[]; }>>; + score: z.ZodOptional; }, "passthrough", z.ZodTypeAny, z.objectOutputType<{ cart_id: z.ZodOptional; code: z.ZodString; @@ -730,20 +1091,6 @@ export declare const ComponentConfigSchema: z.ZodObject<{ cscartId: z.ZodOptional; vendorId: z.ZodOptional; version: z.ZodOptional; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional>; - flags: z.ZodOptional; versions: z.ZodOptional; up: z.ZodOptional; @@ -763,6 +1110,44 @@ export declare const ComponentConfigSchema: z.ZodObject<{ family?: string; sheet?: string; }>>; + status: z.ZodOptional; + authors: z.ZodOptional, "many">>; + replaced_by: z.ZodOptional; + alternatives: z.ZodOptional, "many">>; + used_by: z.ZodOptional, "many">>; image: z.ZodOptional; url: z.ZodString; @@ -775,7 +1160,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -788,6 +1195,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -801,12 +1214,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }>>; name: z.ZodString; + flags: z.ZodOptional; download: z.ZodOptional; edrawings: z.ZodOptional; showDimensions: z.ZodOptional; showParts: z.ZodOptional; slug: z.ZodString; - score: z.ZodOptional; keywords: z.ZodOptional; meta_keywords: z.ZodOptional; assets: z.ZodDefault; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -835,6 +1270,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -859,7 +1300,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -872,6 +1335,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -896,7 +1365,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -909,6 +1400,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -923,6 +1420,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }>, "many">>; }, "strip", z.ZodTypeAny, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -936,6 +1439,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -949,6 +1458,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -963,6 +1478,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }[]; }, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -976,6 +1497,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -989,6 +1516,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1021,6 +1554,32 @@ export declare const ComponentConfigSchema: z.ZodObject<{ model?: string; html?: string; }>, "many">>; + resources: z.ZodDefault, "many">>; + tests: z.ZodDefault, "many">>; /** * @deprecated */ @@ -1058,6 +1617,7 @@ export declare const ComponentConfigSchema: z.ZodObject<{ url?: string; }[]; }>>; + score: z.ZodOptional; }, z.ZodTypeAny, "passthrough">, z.objectInputType<{ cart_id: z.ZodOptional; code: z.ZodString; @@ -1066,20 +1626,6 @@ export declare const ComponentConfigSchema: z.ZodObject<{ cscartId: z.ZodOptional; vendorId: z.ZodOptional; version: z.ZodOptional; - status: z.ZodOptional; - authors: z.ZodOptional, "many">>; - replaced_by: z.ZodOptional; - alternatives: z.ZodOptional>; - flags: z.ZodOptional; versions: z.ZodOptional; up: z.ZodOptional; @@ -1099,6 +1645,44 @@ export declare const ComponentConfigSchema: z.ZodObject<{ family?: string; sheet?: string; }>>; + status: z.ZodOptional; + authors: z.ZodOptional, "many">>; + replaced_by: z.ZodOptional; + alternatives: z.ZodOptional, "many">>; + used_by: z.ZodOptional, "many">>; image: z.ZodOptional; url: z.ZodString; @@ -1111,7 +1695,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1124,6 +1730,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1137,12 +1749,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }>>; name: z.ZodString; + flags: z.ZodOptional; download: z.ZodOptional; edrawings: z.ZodOptional; showDimensions: z.ZodOptional; showParts: z.ZodOptional; slug: z.ZodString; - score: z.ZodOptional; keywords: z.ZodOptional; meta_keywords: z.ZodOptional; assets: z.ZodDefault; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1171,6 +1805,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1195,7 +1835,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1208,6 +1870,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1232,7 +1900,29 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title: z.ZodOptional; height: z.ZodOptional; width: z.ZodOptional; + exif: z.ZodOptional>; }, "strip", z.ZodTypeAny, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1245,6 +1935,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ alt?: string; title?: string; }, { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1259,6 +1955,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }>, "many">>; }, "strip", z.ZodTypeAny, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1272,6 +1974,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1285,6 +1993,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1299,6 +2013,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ }[]; }, { gallery?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1312,6 +2032,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; renderings?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1325,6 +2051,12 @@ export declare const ComponentConfigSchema: z.ZodObject<{ title?: string; }[]; components?: { + exif?: { + file?: any; + jfif?: any; + exif?: any; + gps?: any; + }; width?: number; height?: number; name?: string; @@ -1357,6 +2089,32 @@ export declare const ComponentConfigSchema: z.ZodObject<{ model?: string; html?: string; }>, "many">>; + resources: z.ZodDefault, "many">>; + tests: z.ZodDefault, "many">>; /** * @deprecated */ @@ -1394,6 +2152,7 @@ export declare const ComponentConfigSchema: z.ZodObject<{ url?: string; }[]; }>>; + score: z.ZodOptional; }, z.ZodTypeAny, "passthrough">>; export type IComponentConfig = z.infer; export type ICADNodeSchema = z.infer; diff --git a/packages/commons/dist/component.js b/packages/commons/dist/component.js index 6619862b..7de7e73c 100644 --- a/packages/commons/dist/component.js +++ b/packages/commons/dist/component.js @@ -1,5 +1,7 @@ import * as path from 'path'; import { z } from "zod"; +import normalizeUrl from 'normalize-url'; +export const UrlSchema = z.string().url().transform((arg) => normalizeUrl(arg)); export const ExifSchema = z.object({ file: z.any(), // Assuming File is another schema or any type jfif: z.any(), // Assuming Jfif is another schema or any type @@ -29,6 +31,11 @@ export const CADMetaSchema = z.object({ model: z.string().optional(), html: z.string().optional(), }); +export const ResourceSchema = z.object({ + name: z.string(), + url: z.string(), + type: z.string() +}); export const AssetImageSchema = z.object({ name: z.string().optional(), url: z.string(), @@ -40,7 +47,8 @@ export const AssetImageSchema = z.object({ alt: z.string().optional(), title: z.string().optional(), height: z.number().optional(), - width: z.number().optional() + width: z.number().optional(), + exif: ExifSchema.optional(), }); export const AuthorSchema = z.object({ name: z.string(), @@ -80,21 +88,22 @@ export const ComponentConfigSchema = z.object({ vendorId: z.number().optional(), //internal version: z.string().optional(), + versions: VersionSchema.optional(), status: z.string().optional(), authors: z.array(AuthorSchema).optional(), + // references replaced_by: z.string().optional(), - alternatives: z.array(z.string()).optional(), - flags: z.number().optional(), - versions: VersionSchema.optional(), + alternatives: z.array(ResourceSchema).optional(), + used_by: z.array(ResourceSchema).optional(), image: AssetImageSchema.optional(), name: z.string(), + flags: z.number().optional(), // public download: z.boolean().optional(), edrawings: z.string().optional(), showDimensions: z.boolean().optional(), showParts: z.boolean().optional(), slug: z.string(), - score: z.number().optional(), keywords: z.string().optional(), meta_keywords: z.string().optional(), assets: AssetsSchema.default({ @@ -103,6 +112,8 @@ export const ComponentConfigSchema = z.object({ components: [] }), cad: z.array(CADMetaSchema).default([]), + resources: z.array(ResourceSchema).default([]), + tests: z.array(ResourceSchema).default([]), /** * @deprecated */ @@ -113,6 +124,7 @@ export const ComponentConfigSchema = z.object({ category: z.string(), product_dimensions: z.string().optional(), production: ProductionSchema.optional(), + score: z.number().optional(), }).passthrough(); import { isInvalidMarketplaceComponent, isValidLibraryComponent, isValidMarketplaceComponent, PFilterInvalid, PFilterValid } from './filter.js'; import { forward_slash, pathInfoEx } from './fs/_glob.js'; @@ -157,4 +169,4 @@ export const get = (src, root, type) => { } } }; -//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFDO0FBR3hCLE1BQU0sQ0FBQyxNQUFNLFVBQVUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQy9CLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsOENBQThDO0lBQzdELElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsOENBQThDO0lBQzdELElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLEVBQUUsK0NBQStDO0lBQzlELEdBQUcsRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsNkNBQTZDO0NBQzdELENBQUMsQ0FBQztBQUVILE1BQU0sQ0FBQyxNQUFNLGVBQWUsR0FBRyxDQUFDLENBQUMsTUFBTSxDQUFDO0lBQ3BDLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE1BQU0sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2xCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLFFBQVEsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ3BCLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ2pCLE9BQU8sRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0lBQ25CLGlCQUFpQixFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDN0IsYUFBYSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDMUIsY0FBYyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDMUIsVUFBVSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDdkIsUUFBUSxFQUFFLENBQUMsQ0FBQyxPQUFPLEVBQUU7SUFDckIsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDdkIsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw4Q0FBOEM7Q0FDL0QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDOUIsQ0FBQyxDQUFDO0FBQ0gsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLEtBQUssRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQzVCLFVBQVUsRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ2pDLElBQUksRUFBRSxDQUFDLENBQUMsR0FBRyxFQUFFLENBQUMsUUFBUSxFQUFFO0lBQ3hCLFFBQVEsRUFBRSxDQUFDLENBQUMsS0FBSyxDQUFDLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxDQUFDLFFBQVEsRUFBRTtJQUN4QyxXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNsQyxHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMxQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUMvQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxZQUFZLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtDQUNsQixDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixRQUFRLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMvQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUNqQyxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxPQUFPLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM5QixFQUFFLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN6QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixNQUFNLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM3QixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0s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 \ No newline at end of file +//# sourceMappingURL=data:application/json;base64,eyJ2ZXJzaW9uIjozLCJmaWxlIjoiY29tcG9uZW50LmpzIiwic291cmNlUm9vdCI6IiIsInNvdXJjZXMiOlsiLi4vc3JjL2NvbXBvbmVudC50cyJdLCJuYW1lcyI6W10sIm1hcHBpbmdzIjoiQUFBQSxPQUFPLEtBQUssSUFBSSxNQUFNLE1BQU0sQ0FBQTtBQUU1QixPQUFPLEVBQUUsQ0FBQyxFQUFFLE1BQU0sS0FBSyxDQUFBO0FBQ3ZCLE9BQU8sWUFBWSxNQUFNLGVBQWUsQ0FBQTtBQUV4QyxNQUFNLENBQUMsTUFBTSxTQUFTLEdBQUcsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLEdBQUcsRUFBRSxDQUFDLFNBQVMsQ0FBQyxDQUFDLEdBQUcsRUFBQyxFQUFFLENBQUEsWUFBWSxDQUFDLEdBQUcsQ0FBQyxDQUFDLENBQUE7QUFFN0UsTUFBTSxDQUFDLE1BQU0sVUFBVSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDL0IsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSw4Q0FBOEM7SUFDN0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSw4Q0FBOEM7SUFDN0QsSUFBSSxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsRUFBRSwrQ0FBK0M7SUFDOUQsR0FBRyxFQUFFLENBQUMsQ0FBQyxHQUFHLEVBQUUsQ0FBQyw2Q0FBNkM7Q0FDN0QsQ0FBQyxDQUFDO0FBRUgsTUFBTSxDQUFDLE1BQU0sZUFBZSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDcEMsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDcEIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDakIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDbkIsaUJBQWlCLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUM3QixhQUFhLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUMxQixjQUFjLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMxQixVQUFVLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUN2QixRQUFRLEVBQUUsQ0FBQyxDQUFDLE9BQU8sRUFBRTtJQUNyQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLDhDQUE4QztDQUMvRCxDQUFDLENBQUM7QUFFSCxNQUFNLENBQUMsTUFBTSxhQUFhLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNsQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUMzQixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtDQUM5QixDQUFDLENBQUE7QUFFRixNQUFNLENBQUMsTUFBTSxjQUFjLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNuQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNoQixHQUFHLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUNmLElBQUksRUFBRSxDQUFDLENBQUMsTUFBTSxFQUFFO0NBQ25CLENBQUMsQ0FBQTtBQUVGLE1BQU0sQ0FBQyxNQUFNLGdCQUFnQixHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDckMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDZixLQUFLLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUM1QixVQUFVLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUNqQyxJQUFJLEVBQUUsQ0FBQyxDQUFDLEdBQUcsRUFBRSxDQUFDLFFBQVEsRUFBRTtJQUN4QixRQUFRLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxDQUFDLENBQUMsTUFBTSxFQUFFLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDeEMsV0FBVyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDbEMsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDMUIsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsSUFBSSxFQUFDLFVBQVUsQ0FBQyxRQUFRLEVBQUU7Q0FDN0IsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7SUFDaEIsR0FBRyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUU7Q0FDbEIsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsUUFBUSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDL0IsVUFBVSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDakMsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDNUIsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDakMsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sYUFBYSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDbEMsT0FBTyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDOUIsRUFBRSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDekIsSUFBSSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDM0IsTUFBTSxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7SUFDN0IsS0FBSyxFQUFFLENBQUMsQ0FBQyxNQUFNLEVBQUUsQ0FBQyxRQUFRLEVBQUU7Q0FDL0IsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sWUFBWSxHQUFHLENBQUMsQ0FBQyxNQUFNLENBQUM7SUFDakMsT0FBTyxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDN0MsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7SUFDaEQsVUFBVSxFQUFFLENBQUMsQ0FBQyxLQUFLLENBQUMsZ0JBQWdCLENBQUMsQ0FBQyxRQUFRLEVBQUU7Q0FDbkQsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0sZ0JBQWdCLEdBQUcsQ0FBQyxDQUFDLE1BQU0sQ0FBQztJQUNyQyxlQUFlLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUMzQixXQUFXLEVBQUUsQ0FBQyxDQUFDLE1BQU0sRUFBRTtJQUN2QixHQUFHLEVBQUUsQ0FBQyxDQUFDLEtBQUssQ0FBQyxZQUFZLENBQUM7Q0FDN0IsQ0FBQyxDQUFBO0FBRUYsTUFBTSxDQUFDLE1BQU0scUJBQXFCLEdBQUcsQ0FBQyxDQUFDLE1BQU0s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 \ No newline at end of file diff --git a/packages/commons/package.json b/packages/commons/package.json index 4e4953c7..0b5eb67d 100644 --- a/packages/commons/package.json +++ b/packages/commons/package.json @@ -68,6 +68,7 @@ "glob": "^10.4.5", "js-yaml": "^4.1.0", "jsonpath-plus": "^8.1.0", + "normalize-url": "^8.0.1", "p-map": "^7.0.3", "p-throttle": "^4.1.1", "tslog": "^3.3.3", diff --git a/packages/commons/src/component.ts b/packages/commons/src/component.ts index e6f9f3f7..08ea06c9 100644 --- a/packages/commons/src/component.ts +++ b/packages/commons/src/component.ts @@ -1,7 +1,9 @@ import * as path from 'path' import * as fs from 'fs' -import { z } from "zod"; +import { z } from "zod" +import normalizeUrl from 'normalize-url' +export const UrlSchema = z.string().url().transform((arg)=>normalizeUrl(arg)) export const ExifSchema = z.object({ file: z.any(), // Assuming File is another schema or any type @@ -33,7 +35,14 @@ export const CADMetaSchema = z.object({ step: z.string().optional(), model: z.string().optional(), html: z.string().optional(), -}); +}) + +export const ResourceSchema = z.object({ + name: z.string(), + url: z.string(), + type: z.string() +}) + export const AssetImageSchema = z.object({ name: z.string().optional(), url: z.string(), @@ -45,13 +54,14 @@ export const AssetImageSchema = z.object({ alt: z.string().optional(), title: z.string().optional(), height: z.number().optional(), - width: z.number().optional() -}); + width: z.number().optional(), + exif:ExifSchema.optional(), +}) export const AuthorSchema = z.object({ name: z.string(), url: z.string(), -}); +}) export const ContentSchema = z.object({ body: z.string().optional(), @@ -59,7 +69,7 @@ export const ContentSchema = z.object({ highlights: z.string().optional(), specs: z.string().optional(), license: z.string().optional() -}); +}) export const VersionSchema = z.object({ version: z.string().optional(), @@ -67,19 +77,19 @@ export const VersionSchema = z.object({ down: z.string().optional(), family: z.string().optional(), sheet: z.string().optional() -}); +}) export const AssetsSchema = z.object({ gallery: z.array(AssetImageSchema).optional(), renderings: z.array(AssetImageSchema).optional(), components: z.array(AssetImageSchema).optional() -}); +}) export const ProductionSchema = z.object({ "fusion-folder": z.string(), "nc-folder": z.string(), cam: z.array(AuthorSchema) -}); +}) export const ComponentConfigSchema = z.object({ @@ -93,15 +103,18 @@ export const ComponentConfigSchema = z.object({ //internal version: z.string().optional(), + versions:VersionSchema.optional(), status: z.string().optional(), authors: z.array(AuthorSchema).optional(), + + // references replaced_by: z.string().optional(), - alternatives: z.array(z.string()).optional(), - flags: z.number().optional(), - versions: VersionSchema.optional(), - + alternatives: z.array(ResourceSchema).optional(), + used_by: z.array(ResourceSchema).optional(), + image: AssetImageSchema.optional(), name: z.string(), + flags: z.number().optional(), // public download: z.boolean().optional(), @@ -109,18 +122,19 @@ export const ComponentConfigSchema = z.object({ edrawings: z.string().optional(), showDimensions: z.boolean().optional(), showParts: z.boolean().optional(), - slug: z.string(), - score: z.number().optional(), + slug: z.string(), keywords: z.string().optional(), meta_keywords: z.string().optional(), - + assets: AssetsSchema.default({ gallery: [], renderings: [], components: [] }), cad: z.array(CADMetaSchema).default([]), + resources: z.array(ResourceSchema).default([]), + tests: z.array(ResourceSchema).default([]), /** * @deprecated @@ -132,6 +146,7 @@ export const ComponentConfigSchema = z.object({ category: z.string(), product_dimensions: z.string().optional(), production: ProductionSchema.optional(), + score: z.number().optional(), }).passthrough(); export type IComponentConfig = z.infer