V13-FE-011: finalize search list layout slice

This commit is contained in:
2026-08-09 02:57:26 +09:00
parent 9efd202e76
commit 6422cb2b13
984 changed files with 120811 additions and 1498 deletions
@@ -0,0 +1,13 @@
import fs from 'node:fs'
import path from 'node:path'
const root=process.cwd()
const src=path.join(root,'packages/kbx-ui/src/registry/componentManifest.ts')
const out=path.join(root,'generated/component-manifest.json')
const text=fs.readFileSync(src,'utf8')
const entries=[...text.matchAll(/\{\s*name:\s*'([^']+)'\s*,\s*category:\s*'([^']+)'\s*,\s*purpose:\s*'([^']+)'[\s\S]*?version:\s*'([^']+)'\s*\}/g)]
.map(m=>({name:m[1],category:m[2],purpose:m[3],version:m[4]}))
const duplicate=entries.filter((x,i,a)=>a.findIndex(y=>y.name===x.name)!==i)
if(duplicate.length){console.error(`duplicate component manifest entries: ${duplicate.map(x=>x.name).join(', ')}`);process.exit(1)}
fs.writeFileSync(out,JSON.stringify(entries,null,2)+'\n')
console.log(`generated ${entries.length} component definitions -> ${path.relative(root,out)}`)