UNPKG

@roots/bud-build

Version:

bud.js core module

26 lines (25 loc) 1.13 kB
import { BudError } from '@roots/bud-support/errors'; import isUndefined from '@roots/bud-support/isUndefined'; export const dependencies = async ({ hooks, label, root, }) => { const dependencies = hooks .filter(`build.dependencies`, []) ?.filter(dependency => { const defined = !isUndefined(root.children?.[dependency]); if (!defined) { throw BudError.normalize(`${dependency} is not a registered instance of bud.js.`, { details: root.children ? `Available instances are: ${Object.values(root.children) .map(child => child.label) .join(`, `)}` : `We would tell you what the available instances are, but there are none registered.`, docs: new URL(`https://bud.js.org/learn/general-use/multi-instance`), instance: label, thrownBy: `@roots/bud-build/config/dependencies`, }); } return true; }); if (!dependencies || dependencies?.length < 1) return undefined; return dependencies; };