flowbite-react
Version:
Official React components built for Flowbite and Tailwind CSS
1 lines • 4.7 kB
Source Map (JSON)
{"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} from \"../consts\";\nimport { buildClassList } from \"../utils/build-class-list\";\nimport { extractComponentImports } from \"../utils/extract-component-imports\";\nimport { getClassList } from \"../utils/get-class-list\";\nimport { getConfig } from \"../utils/get-config\";\n\nexport async function dev() {\n const config = await getConfig();\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 async function handleChange(path: string, eventName: \"change\" | \"unlink\") {\n if (eventName === \"change\") {\n const content = await fs.readFile(path, \"utf-8\");\n const componentImports = extractComponentImports(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 }\n\n const newImportedComponents = [...new Set(Object.values(importedComponentsMap).flat())];\n\n const config = await getConfig();\n const newClassList = buildClassList({\n components: config.components.length ? config.components : newImportedComponents,\n dark: config.dark,\n prefix: config.prefix,\n });\n\n if (!isEqual(classList, newClassList)) {\n classList = newClassList;\n await fs.writeFile(classListFilePath, JSON.stringify(classList, null, 2), { flag: \"w\" });\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.concat(configFilePath).some((ext) => path.endsWith(ext));\n }\n return false;\n },\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":["getConfig","automaticClassGenerationMessage","getClassList","extractComponentImports","buildClassList","isEqual","classListFilePath","path","excludeDirs","basename","allowedExtensions","configFilePath"],"mappings":";;;;;;;;;;;;AAgBO,eAAe,GAAG,GAAG;AAC5B,EAAE,MAAM,MAAM,GAAG,MAAMA,mBAAS,EAAE;AAClC,EAAE,IAAI,MAAM,CAAC,UAAU,CAAC,MAAM,EAAE;AAChC,IAAI,OAAO,CAAC,IAAI,CAACC,sCAA+B,CAAC;AACjD;AACA,EAAE,MAAM,qBAAqB,GAAG,EAAE;AAClC,EAAE,IAAI,SAAS,GAAG,MAAMC,yBAAY,EAAE;AACtC,EAAE,eAAe,YAAY,CAAC,IAAI,EAAE,SAAS,EAAE;AAC/C,IAAI,IAAI,SAAS,KAAK,QAAQ,EAAE;AAChC,MAAM,MAAM,OAAO,GAAG,MAAM,EAAE,CAAC,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC;AACtD,MAAM,MAAM,gBAAgB,GAAGC,+CAAuB,CAAC,OAAO,CAAC;AAC/D,MAAM,IAAI,gBAAgB,CAAC,MAAM,EAAE;AACnC,QAAQ,qBAAqB,CAAC,IAAI,CAAC,GAAG,gBAAgB;AACtD,OAAO,MAAM;AACb,QAAQ,OAAO,qBAAqB,CAAC,IAAI,CAAC;AAC1C;AACA;AACA,IAAI,IAAI,SAAS,KAAK,QAAQ,EAAE;AAChC,MAAM,OAAO,qBAAqB,CAAC,IAAI,CAAC;AACxC;AACA,IAAI,MAAM,qBAAqB,GAAG,CAAC,GAAG,IAAI,GAAG,CAAC,MAAM,CAAC,MAAM,CAAC,qBAAqB,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;AAC3F,IAAI,MAAM,OAAO,GAAG,MAAMH,mBAAS,EAAE;AACrC,IAAI,MAAM,YAAY,GAAGI,6BAAc,CAAC;AACxC,MAAM,UAAU,EAAE,OAAO,CAAC,UAAU,CAAC,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,qBAAqB;AACxF,MAAM,IAAI,EAAE,OAAO,CAAC,IAAI;AACxB,MAAM,MAAM,EAAE,OAAO,CAAC;AACtB,KAAK,CAAC;AACN,IAAI,IAAI,CAACC,eAAO,CAAC,SAAS,EAAE,YAAY,CAAC,EAAE;AAC3C,MAAM,SAAS,GAAG,YAAY;AAC9B,MAAM,MAAM,EAAE,CAAC,SAAS,CAACC,wBAAiB,EAAE,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,EAAE,IAAI,EAAE,GAAG,EAAE,CAAC;AAC9F;AACA;AACA,EAAE,MAAM,OAAO,GAAG,QAAQ,CAAC,KAAK,CAAC,GAAG,EAAE;AACtC,IAAI,OAAO,EAAE,CAACC,MAAI,EAAE,KAAK,KAAK;AAC9B,MAAM,IAAI,KAAK,EAAE,WAAW,EAAE,EAAE;AAChC,QAAQ,OAAOC,kBAAW,CAAC,QAAQ,CAACC,aAAQ,CAACF,MAAI,CAAC,CAAC;AACnD;AACA,MAAM,IAAI,KAAK,EAAE,MAAM,EAAE,EAAE;AAC3B,QAAQ,OAAO,CAACG,wBAAiB,CAAC,MAAM,CAACC,qBAAc,CAAC,CAAC,IAAI,CAAC,CAAC,GAAG,KAAKJ,MAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC;AAC1F;AACA,MAAM,OAAO,KAAK;AAClB;AACA,GAAG,CAAC;AACJ,EAAE,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC3D,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9D,EAAE,OAAO,CAAC,EAAE,CAAC,QAAQ,EAAE,CAAC,IAAI,KAAK,YAAY,CAAC,IAAI,EAAE,QAAQ,CAAC,CAAC;AAC9D;;;;"}