import fs from 'fs'; import path from 'path'; import { analyzeCliCommand } from "web-component-analyzer/lib/cjs/cli"; import colors from 'colors'; // Generate custom-elements.json // TODO: pass in output dir as a parameter // TODO: package.json export async function buildCustomElementsJson(lwcConfig:any) { console.log(colors.blue(`\tbuild custom elements JSON...`)); const moduleDirs = lwcConfig.modules .filter((entry: { dir: string }) => entry.dir) .map((entry: { dir: string; }) => { const out = path.resolve(process.cwd(), entry.dir); console.log(colors.blue('\t\tfrom: ') + out ); return out; }); const dest = path.resolve(process.cwd(), ".storybook/assets/custom-elements.json"); const result = await analyzeCliCommand({ glob: moduleDirs, format: "json", outFile: dest, silent: true }); console.log(colors.blue('\t\tto: ') + dest); }