import { readdirSync, readFileSync, writeFileSync, existsSync } from 'node:fs'; import { join } from 'node:path'; // vite lib 模式 build 完后写一份 wc-manifest.json,给后端 /ui-manifest 端点读 const distDir = 'dist'; if (!existsSync(distDir)) { console.error('dist/ not found; run vite build first'); process.exit(1); } const files = readdirSync(distDir); const js = files.find((f) => f.endsWith('.js')) || 'plugin-element.js'; const css = files.filter((f) => f.endsWith('.css')); const manifest = { tag: 'plugin-data-analytics', js, css, }; writeFileSync(join(distDir, 'wc-manifest.json'), JSON.stringify(manifest, null, 2) + '\n', 'utf-8'); console.log(`wrote dist/wc-manifest.json: ${JSON.stringify(manifest)}`);