UNPKG

@elora-cloud/elora-cli

Version:
28 lines (25 loc) 968 B
import { createRequire } from 'node:module'; const require = createRequire(import.meta.url); function getPackageManifest(pkgPath) { return require(pkgPath); } function getPackageDependencies(pkgPath) { const manifest = getPackageManifest(pkgPath); const { dependencies = {}, peerDependencies = {} } = manifest; return { dependencies: Object.keys(dependencies), peerDependencies: Object.keys(peerDependencies), }; } function generateExternal(options = { full: false, packagePath: '../package.json' }) { const { packagePath = './package.json' } = options; const { dependencies, peerDependencies } = getPackageDependencies(packagePath); return (id) => { const packages = [...peerDependencies]; if (options.full) { packages.push('@vue', ...dependencies); } return [...new Set(packages)].some(pkg => id === pkg || id.startsWith(`${pkg}/`)); }; } export { generateExternal };