UNPKG

@roots/bud-build

Version:

bud.js core module

37 lines (36 loc) 1.12 kB
import type Rule from '@roots/bud-build/rule'; import type { Bud } from '@roots/bud-framework'; import * as items from '@roots/bud-build/items'; import * as loaders from '@roots/bud-build/loaders'; import * as rules from '@roots/bud-build/rules'; interface Props { filter: Bud[`hooks`][`filter`]; isProduction: Bud[`isProduction`]; makeItem: Bud[`build`][`makeItem`]; makeLoader: Bud[`build`][`makeLoader`]; makeRule: Bud[`build`][`makeRule`]; path: Bud[`path`]; resolve: Bud[`module`][`resolve`]; } interface Factory<T = Rule> { (props: Props): Promise<T>; } /** * Register built-in {@link loaders}, {@link items} and {@link rules} */ declare function register(bud: Bud): Promise<void>; /** * Registry factory curry function */ interface makeRegister { <T, F extends CallableFunction>(props: Partial<Bud>, setRule: F): <K extends keyof T & string>([key, factory]: [ K, Factory<T[K]> ]) => void; } /** * Registry factory */ declare const makeRegister: makeRegister; export { items, loaders, makeRegister, register, rules }; export type { Factory, Props };