UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

1 lines 8.56 kB
{"version":3,"file":"dev.cjs","sources":["../../../src/cli/commands/dev.ts"],"sourcesContent":["import fs from \"fs/promises\";\nimport { basename } from \"path\";\nimport chokidar from \"chokidar\";\nimport { isEqual } from \"../../helpers/is-equal\";\nimport {\n allowedExtensions,\n automaticClassGenerationMessage,\n classListFilePath,\n configFilePath,\n excludeDirs,\n gitIgnoreFilePath,\n initFilePath,\n initJsxFilePath,\n} from \"../consts\";\nimport { buildClassList } from \"../utils/build-class-list\";\nimport { createInitLogger } from \"../utils/create-init-logger\";\nimport { extractComponentImports } from \"../utils/extract-component-imports\";\nimport { findFiles } from \"../utils/find-files\";\nimport { getClassList } from \"../utils/get-class-list\";\nimport { getConfig } from \"../utils/get-config\";\nimport { setupGitIgnore } from \"./setup-gitignore\";\nimport { setupInit } from \"./setup-init\";\nimport { setupOutputDirectory } from \"./setup-output-directory\";\n\nexport async function dev() {\n await setupOutputDirectory();\n let config = await getConfig();\n await setupInit(config);\n const initLogger = createInitLogger(config);\n\n if (config.components.length) {\n console.warn(automaticClassGenerationMessage);\n }\n\n const importedComponentsMap: Record<string, string[]> = {};\n let classList = await getClassList();\n\n // initial run\n const files = await findFiles({\n patterns: allowedExtensions.map((ext) => `**/*${ext}`),\n excludeDirs,\n });\n\n for (const file of files) {\n const content = await fs.readFile(file, \"utf-8\");\n const componentImports = extractComponentImports(content);\n initLogger.check(file, content);\n\n if (componentImports.length) {\n importedComponentsMap[file] = componentImports;\n }\n }\n\n initLogger.log();\n\n const newImportedComponents = [...new Set(Object.values(importedComponentsMap).flat())];\n const newClassList = buildClassList({\n components: config.components.length ? config.components : newImportedComponents,\n dark: config.dark,\n prefix: config.prefix,\n version: config.version,\n });\n\n if (!isEqual(classList, newClassList)) {\n classList = newClassList;\n console.log(`Generating ${classListFilePath} file...`);\n await fs.writeFile(classListFilePath, JSON.stringify(classList, null, 2));\n }\n\n // watch for changes\n async function handleChange(path: string, eventName: \"change\" | \"unlink\") {\n if ([configFilePath, initFilePath, initJsxFilePath].includes(path)) {\n config = await getConfig();\n await setupInit(config);\n initLogger.config = config;\n }\n if (path === gitIgnoreFilePath) {\n await setupGitIgnore();\n }\n\n if (eventName === \"change\") {\n const content = await fs.readFile(path, \"utf-8\");\n const componentImports = extractComponentImports(content);\n initLogger.check(path, content);\n\n if (componentImports.length) {\n importedComponentsMap[path] = componentImports;\n } else {\n delete importedComponentsMap[path];\n }\n }\n if (eventName === \"unlink\") {\n delete importedComponentsMap[path];\n initLogger.checkedMap.delete(path);\n }\n\n initLogger.log();\n\n const newImportedComponents = [...new Set(Object.values(importedComponentsMap).flat())];\n\n const newClassList = buildClassList({\n components: config.components.length ? config.components : newImportedComponents,\n dark: config.dark,\n prefix: config.prefix,\n version: config.version,\n });\n\n if (!isEqual(classList, newClassList)) {\n classList = newClassList;\n console.log(`Generating ${classListFilePath} file...`);\n await fs.writeFile(classListFilePath, JSON.stringify(classList, null, 2));\n }\n }\n\n const watcher = chokidar.watch(\".\", {\n ignored: (path, stats) => {\n if (stats?.isDirectory()) {\n return excludeDirs.includes(basename(path));\n }\n if (stats?.isFile()) {\n return !allowedExtensions\n .concat(configFilePath, gitIgnoreFilePath, initFilePath, initJsxFilePath)\n .some((ext) => path.endsWith(ext));\n }\n return false;\n },\n ignoreInitial: true,\n });\n\n watcher.on(\"add\", (path) => handleChange(path, \"change\"));\n watcher.on(\"change\", (path) => handleChange(path, \"change\"));\n watcher.on(\"unlink\", (path) => handleChange(path, \"unlink\"));\n}\n"],"names":["setupOutputDirectory","getConfig","setupInit","createInitLogger","automaticClassGenerationMessage","getClassList","findFiles","allowedExtensions","excludeDirs","extractComponentImports","buildClassList","isEqual","classListFilePath","configFilePath","initFilePath","initJsxFilePath","gitIgnoreFilePath","setupGitIgnore","path","basename"],"mappings":"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"}