Files
lucide/site/src/lib/fetchPackages.ts
T
Eric Fennis 6f7c94efa5 Add packages sections (#402)
* 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
2021-10-01 09:19:36 +02:00

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;