@roots/bud-api
Version:
bud.js core module
18 lines (17 loc) • 650 B
JavaScript
import { BudError } from '@roots/bud-support/errors';
import isFunction from '@roots/bud-support/isFunction';
export const config = function (input) {
if (!input)
throw new BudError(`config input must pass a callback function that returns a webpack configuration`, {
docs: new URL(`https://bud.js.org/docs/bud.config`),
thrownBy: `bud.config`,
});
this.hooks.action(`build.after`, async (app) => {
if (!app)
return;
app.build.config = isFunction(input)
? await input(app.build.config)
: { ...app.build.config, ...input };
});
return this;
};