mirror of
https://github.com/lucide-icons/lucide.git
synced 2026-11-14 13:58:21 +00:00
* Add markdown support * Fix a lot of issues * Add core components * Add codeblocks * fix codeblocks * Add More components * add links * Fix loading docs * Fix docs * Fix empty lines * small Fix * Add heading provider * created menu * remove borderline * Add mobilemenu component * add next env * update code style * generate heading element positions * Add package pages * add fetch packages * Add lucide logo * Add icons and adjust description * improve some things * fix types * Fix logo types * fix types * Add logo's * update packages docs * resize icons * small changes * update packages links
40 lines
1.1 KiB
TypeScript
40 lines
1.1 KiB
TypeScript
import { promises as fs, constants } from 'fs';
|
|
import path from 'path';
|
|
import yaml from 'js-yaml'
|
|
|
|
const fileExist = (filePath) => fs.access(filePath, constants.F_OK).then(() => true).catch(() => false)
|
|
|
|
const fetchPackages = async () => {
|
|
const docsDir = path.resolve(process.cwd(), '../packages');
|
|
const fileNames = await (await fs.readdir(docsDir)).map(filename => ({filename, directory: docsDir}))
|
|
|
|
const packageJsons = await Promise.all(fileNames.map( async ({filename, directory}) => {
|
|
const filePath = path.resolve(directory, filename)
|
|
const fileStat = await fs.lstat(filePath);
|
|
|
|
if(!fileStat.isDirectory()) return null;
|
|
|
|
const jsonFilePath = path.resolve(filePath, 'package.json')
|
|
if (await fileExist(jsonFilePath)) {
|
|
return JSON.parse(
|
|
await fs.readFile(jsonFilePath, 'utf-8')
|
|
)
|
|
}
|
|
|
|
const ymlFilePath = path.resolve(filePath, 'pubspec.yaml')
|
|
if(await fileExist(ymlFilePath)) {
|
|
return yaml.load(
|
|
await fs.readFile(ymlFilePath, 'utf-8')
|
|
);
|
|
}
|
|
|
|
return null
|
|
}))
|
|
|
|
|
|
|
|
return packageJsons
|
|
}
|
|
|
|
export default fetchPackages;
|