import path from 'path'; import type { Dependency } from './types'; export const getActualPackageVersions = async (packages: Record>) => { const packageNames = Object.keys(packages); return Promise.all(packageNames.map(getActualPackageVersion)); }; export const getActualPackageVersion = async (packageName: string) => { try { const packageJson = await getActualPackageJson(packageName); return { name: packageName, version: packageJson.version, }; } catch (err) { return { name: packageName, version: null }; } }; export const getActualPackageJson = async (packageName: string) => { // eslint-disable-next-line import/no-dynamic-require,global-require const packageJson = require(path.join(packageName, 'package.json')); return packageJson; };