flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
39 lines (35 loc) • 1.48 kB
JavaScript
var fs = require('fs/promises');
var consts = require('../consts.cjs');
var buildClassList = require('../utils/build-class-list.cjs');
var extractComponentImports = require('../utils/extract-component-imports.cjs');
var findFiles = require('../utils/find-files.cjs');
var getConfig = require('../utils/get-config.cjs');
async function generateClassList() {
try {
const config = await getConfig.getConfig();
if (!config.components.length) {
const files = await findFiles.findFiles({
patterns: consts.allowedExtensions.map((ext) => `**/*${ext}`),
excludeDirs: consts.excludeDirs
});
const importedComponents = /* @__PURE__ */ new Set();
for (const file of files) {
const content = await fs.readFile(file, "utf-8");
for (const component of extractComponentImports.extractComponentImports(content)) {
importedComponents.add(component);
}
}
if (importedComponents.size > 0) {
config.components = [...importedComponents];
}
}
const classList = buildClassList.buildClassList(config);
console.log(`Generating ${consts.classListFilePath} file...`);
await fs.writeFile(consts.classListFilePath, JSON.stringify(classList, null, 2), { flag: "w" });
} catch (error) {
console.error(`Failed to generate ${consts.classListFilePath}:`, error);
}
}
exports.generateClassList = generateClassList;
//# sourceMappingURL=generate-class-list.cjs.map
;