UNPKG

flowbite-react

Version:

Official React components built for Flowbite and Tailwind CSS

1 lines 3.63 kB
{"version":3,"file":"get-config.cjs","sources":["../../../src/cli/utils/get-config.ts"],"sourcesContent":["import fs from \"fs/promises\";\nimport { configFilePath } from \"../consts\";\n\nexport interface Config {\n $schema: string;\n components: string[];\n dark: boolean;\n path: string;\n prefix: string;\n rsc: boolean;\n tsx: boolean;\n}\n\n/**\n * Reads the configuration file and returns its content as a Config object.\n *\n * This function attempts to read the file specified by `configFilePath`, parse its content as JSON,\n * and return the parsed configuration. If the file cannot be read or parsed, a default Config object is returned.\n *\n * @returns {Promise<Config>} A promise that resolves to a Config object representing the configuration.\n */\nexport async function getConfig(): Promise<Config> {\n const config: Config = {\n $schema: \"\",\n components: [],\n dark: true,\n path: \"src/components\",\n prefix: \"\",\n rsc: true,\n tsx: true,\n };\n\n try {\n const raw = await fs.readFile(configFilePath, \"utf-8\");\n const parsed: Config = JSON.parse(raw);\n\n if (parsed.$schema !== undefined && typeof parsed.$schema === \"string\") {\n config.$schema = parsed.$schema;\n }\n if (parsed.components !== undefined && Array.isArray(parsed.components)) {\n config.components = parsed.components.map((component) => component.trim()).filter(Boolean);\n }\n if (parsed.dark !== undefined && typeof parsed.dark === \"boolean\") {\n config.dark = parsed.dark;\n }\n if (parsed.path !== undefined && typeof parsed.path === \"string\") {\n config.path = parsed.path;\n }\n if (parsed.prefix !== undefined && typeof parsed.prefix === \"string\") {\n config.prefix = parsed.prefix;\n }\n if (parsed.rsc !== undefined && typeof parsed.rsc === \"boolean\") {\n config.rsc = parsed.rsc;\n }\n if (parsed.tsx !== undefined && typeof parsed.tsx === \"boolean\") {\n config.tsx = parsed.tsx;\n }\n\n return config;\n } catch {\n return config;\n }\n}\n"],"names":["configFilePath"],"mappings":";;;;;AAGO,eAAe,SAAS,GAAG;AAClC,EAAE,MAAM,MAAM,GAAG;AACjB,IAAI,OAAO,EAAE,EAAE;AACf,IAAI,UAAU,EAAE,EAAE;AAClB,IAAI,IAAI,EAAE,IAAI;AACd,IAAI,IAAI,EAAE,gBAAgB;AAC1B,IAAI,MAAM,EAAE,EAAE;AACd,IAAI,GAAG,EAAE,IAAI;AACb,IAAI,GAAG,EAAE;AACT,GAAG;AACH,EAAE,IAAI;AACN,IAAI,MAAM,GAAG,GAAG,MAAM,EAAE,CAAC,QAAQ,CAACA,qBAAc,EAAE,OAAO,CAAC;AAC1D,IAAI,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC;AAClC,IAAI,IAAI,MAAM,CAAC,OAAO,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,OAAO,KAAK,QAAQ,EAAE;AACzE,MAAM,MAAM,CAAC,OAAO,GAAG,MAAM,CAAC,OAAO;AACrC;AACA,IAAI,IAAI,MAAM,CAAC,UAAU,KAAK,KAAK,CAAC,IAAI,KAAK,CAAC,OAAO,CAAC,MAAM,CAAC,UAAU,CAAC,EAAE;AAC1E,MAAM,MAAM,CAAC,UAAU,GAAG,MAAM,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,SAAS,KAAK,SAAS,CAAC,IAAI,EAAE,CAAC,CAAC,MAAM,CAAC,OAAO,CAAC;AAChG;AACA,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,SAAS,EAAE;AACpE,MAAM,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;AAC/B;AACA,IAAI,IAAI,MAAM,CAAC,IAAI,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,IAAI,KAAK,QAAQ,EAAE;AACnE,MAAM,MAAM,CAAC,IAAI,GAAG,MAAM,CAAC,IAAI;AAC/B;AACA,IAAI,IAAI,MAAM,CAAC,MAAM,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,MAAM,KAAK,QAAQ,EAAE;AACvE,MAAM,MAAM,CAAC,MAAM,GAAG,MAAM,CAAC,MAAM;AACnC;AACA,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;AAClE,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG;AAC7B;AACA,IAAI,IAAI,MAAM,CAAC,GAAG,KAAK,KAAK,CAAC,IAAI,OAAO,MAAM,CAAC,GAAG,KAAK,SAAS,EAAE;AAClE,MAAM,MAAM,CAAC,GAAG,GAAG,MAAM,CAAC,GAAG;AAC7B;AACA,IAAI,OAAO,MAAM;AACjB,GAAG,CAAC,MAAM;AACV,IAAI,OAAO,MAAM;AACjB;AACA;;;;"}