mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-26 14:54:55 +00:00
fix(packages): add missing packageId fields and fix metadata across 7 packages
- css_designer: added packageId - dbal_demo: added packageId - github_tools: changed id to packageId - media_center: added packageId and category - screenshot_analyzer: added packageId - shared: added packageId, author, category - validate-packages.cjs: support multiple components.json formats
This commit is contained in:
@@ -0,0 +1,3 @@
|
||||
export interface InMemoryStore {
|
||||
[key: string]: any;
|
||||
}
|
||||
@@ -32,3 +32,22 @@ export interface Result<T> {
|
||||
message: string;
|
||||
};
|
||||
}
|
||||
|
||||
export interface ListOptions {
|
||||
filter?: Record<string, any>;
|
||||
sort?: Record<string, 'asc' | 'desc'>;
|
||||
page?: number;
|
||||
limit?: number;
|
||||
skip?: number;
|
||||
take?: number;
|
||||
where?: Record<string, any>;
|
||||
orderBy?: Record<string, 'asc' | 'desc'>;
|
||||
}
|
||||
|
||||
export interface ListResult<T> {
|
||||
items?: T[];
|
||||
data?: T[];
|
||||
total: number;
|
||||
skip?: number;
|
||||
take?: number;
|
||||
}
|
||||
|
||||
@@ -84,11 +84,26 @@ function validateComponentsJson(seedPath) {
|
||||
const content = fs.readFileSync(componentsPath, 'utf-8')
|
||||
const parsed = JSON.parse(content)
|
||||
|
||||
// Accept both formats: bare array or { components: [...] }
|
||||
const components = Array.isArray(parsed) ? parsed : parsed.components
|
||||
// Accept multiple formats:
|
||||
// 1. Bare array: [{ id, type, ... }]
|
||||
// 2. Wrapped array: { components: [...] }
|
||||
// 3. Object keyed by name: { ComponentName: { type, ... } }
|
||||
|
||||
let components
|
||||
if (Array.isArray(parsed)) {
|
||||
components = parsed
|
||||
} else if (parsed.components && Array.isArray(parsed.components)) {
|
||||
components = parsed.components
|
||||
} else if (typeof parsed === 'object' && parsed !== null) {
|
||||
// Convert object format to array
|
||||
components = Object.entries(parsed).map(([name, def]) => ({
|
||||
name,
|
||||
...def
|
||||
}))
|
||||
}
|
||||
|
||||
if (!components || !Array.isArray(components)) {
|
||||
errors.push('components.json must be an array or have a "components" array property')
|
||||
errors.push('components.json must be an array, have a "components" array property, or be an object keyed by component names')
|
||||
return { valid: false, errors, warnings }
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user