mirror of
https://github.com/johndoe6345789/metabuilder.git
synced 2026-04-24 13:54:57 +00:00
code: packages,unify,check (2 files)
This commit is contained in:
22
check_packages.js
Normal file
22
check_packages.js
Normal file
@@ -0,0 +1,22 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const packages = fs.readdirSync('packages').filter(f => fs.statSync('packages/' + f).isDirectory());
|
||||
|
||||
const issues = [];
|
||||
|
||||
packages.forEach(pkg => {
|
||||
const metaPath = 'packages/' + pkg + '/seed/metadata.json';
|
||||
if (!fs.existsSync(metaPath)) return;
|
||||
|
||||
const data = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
|
||||
const missing = [];
|
||||
|
||||
if (!data.icon) missing.push('icon');
|
||||
if (!data.devDependencies || data.devDependencies.length === 0) missing.push('devDependencies');
|
||||
if (!data.tests) missing.push('tests');
|
||||
if (!data.exports || typeof data.exports !== 'object' || Array.isArray(data.exports)) missing.push('exports(object)');
|
||||
|
||||
if (missing.length > 0) {
|
||||
console.log(pkg.padEnd(25), 'Missing:', missing.join(', '));
|
||||
}
|
||||
});
|
||||
68
unify_packages.js
Normal file
68
unify_packages.js
Normal file
@@ -0,0 +1,68 @@
|
||||
const fs = require('fs');
|
||||
|
||||
const packages = fs.readdirSync('packages').filter(f => fs.statSync('packages/' + f).isDirectory());
|
||||
|
||||
const fixes = {
|
||||
'css_designer': { icon: 'static_content/icon.svg' },
|
||||
'dbal_demo': { icon: 'static_content/icon.svg' },
|
||||
'github_tools': {
|
||||
icon: 'static_content/icon.svg',
|
||||
devDependencies: ['lua_test'],
|
||||
tests: {
|
||||
scripts: ['tests/metadata.test.lua'],
|
||||
cases: ['tests/metadata.cases.json']
|
||||
}
|
||||
},
|
||||
'lua_test': {
|
||||
devDependencies: [],
|
||||
tests: {
|
||||
scripts: ['tests/metadata.test.lua'],
|
||||
cases: ['tests/metadata.cases.json']
|
||||
}
|
||||
},
|
||||
'media_center': {
|
||||
icon: 'static_content/icon.svg',
|
||||
devDependencies: ['lua_test']
|
||||
},
|
||||
'quick_guide': {
|
||||
tests: {
|
||||
scripts: ['tests/metadata.test.lua'],
|
||||
cases: ['tests/metadata.cases.json']
|
||||
}
|
||||
},
|
||||
'screenshot_analyzer': {
|
||||
icon: 'static_content/icon.svg'
|
||||
},
|
||||
'shared': {
|
||||
icon: 'static_content/icon.svg',
|
||||
devDependencies: [],
|
||||
tests: {
|
||||
scripts: ['tests/metadata.test.lua'],
|
||||
cases: ['tests/metadata.cases.json']
|
||||
}
|
||||
}
|
||||
};
|
||||
|
||||
Object.keys(fixes).forEach(pkg => {
|
||||
const metaPath = 'packages/' + pkg + '/seed/metadata.json';
|
||||
if (!fs.existsSync(metaPath)) {
|
||||
console.log('SKIP:', pkg, '- metadata not found');
|
||||
return;
|
||||
}
|
||||
|
||||
const data = JSON.parse(fs.readFileSync(metaPath, 'utf8'));
|
||||
|
||||
// Add missing fields
|
||||
Object.keys(fixes[pkg]).forEach(field => {
|
||||
if (!data[field]) {
|
||||
data[field] = fixes[pkg][field];
|
||||
console.log('ADD:', pkg, '-', field);
|
||||
}
|
||||
});
|
||||
|
||||
// Write back
|
||||
fs.writeFileSync(metaPath, JSON.stringify(data, null, 2) + '\n');
|
||||
console.log('✓', pkg);
|
||||
});
|
||||
|
||||
console.log('\nDone!');
|
||||
Reference in New Issue
Block a user