UNPKG

markdown-code-example-inserter

Version:
27 lines (26 loc) 934 B
import { existsSync } from 'node:fs'; import { readFile } from 'node:fs/promises'; import { join, resolve } from 'node:path'; export async function readPackageDetails(packageDir, overridePackageJson) { const packageJson = overridePackageJson || (await findAndReadPackageJson(packageDir)); if (!packageJson) { return { mainPath: undefined, packageName: undefined, }; } const packageName = packageJson.name; const mainPath = packageJson.main ? resolve(join(packageDir, packageJson.main)) : undefined; return { packageName, mainPath, }; } async function findAndReadPackageJson(packageDir) { const packageJsonPath = join(packageDir, 'package.json'); if (!existsSync(packageJsonPath)) { return undefined; } const rawPackageJsonContents = await readFile(packageJsonPath); return JSON.parse(rawPackageJsonContents.toString()); }