UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

37 lines (34 loc) 1.41 kB
import fs__default from 'fs/promises'; import { excludeDirs, allowedExtensions, classListFilePath } from '../consts.js'; import { buildClassList } from '../utils/build-class-list.js'; import { extractComponentImports } from '../utils/extract-component-imports.js'; import { findFiles } from '../utils/find-files.js'; import { getConfig } from '../utils/get-config.js'; async function generateClassList() { try { const config = await getConfig(); if (!config.components.length) { const files = await findFiles({ patterns: allowedExtensions.map((ext) => `**/*${ext}`), excludeDirs }); const importedComponents = /* @__PURE__ */ new Set(); for (const file of files) { const content = await fs__default.readFile(file, "utf-8"); for (const component of extractComponentImports(content)) { importedComponents.add(component); } } if (importedComponents.size > 0) { config.components = [...importedComponents]; } } const classList = buildClassList(config); console.log(`Generating ${classListFilePath} file...`); await fs__default.writeFile(classListFilePath, JSON.stringify(classList, null, 2), { flag: "w" }); } catch (error) { console.error(`Failed to generate ${classListFilePath}:`, error); } } export { generateClassList }; //# sourceMappingURL=generate-class-list.js.map