@roots/bud-build
Version:
bud.js core module
59 lines (58 loc) • 1.52 kB
TypeScript
import type { Bud, Loaders } from '@roots/bud-framework';
import type * as Build from '@roots/bud-framework/services/build';
import Registrable from '@roots/bud-build/helpers/registrable';
import Loader from '@roots/bud-build/loader';
export type ConstructorOptions = Build.Item.ConstructorOptions;
/**
* Item class
*/
declare class Item extends Registrable implements Build.Item {
_app: () => Bud;
/**
* Identifier
*/
ident: string;
/**
* Loader
*/
loader: `${keyof Loaders & string}` | Loader;
/**
* Loader options
*/
options: Build.Item['options'];
/**
* Class constructor
*/
constructor(_app: () => Bud, constructorParams?: {
ident?: string;
loader?: `${keyof Loaders & string}` | Loader;
options?: Item['options'];
});
getIdent(): Build.Item['ident'];
/**
* Get rule set item loader
*/
getLoader(): Loader;
/**
* Get rule set item options
*/
getOptions(): Item['options'];
/**
* Merge rule set item options
*/
mergeOptions(options: Build.Item.Options): this;
setIdent(ident: Build.Item['ident']): this;
/**
* Set rule set item loader
*/
setLoader(loader: `${keyof Loaders & string}` | Loader): this;
/**
* Set rule set item options
*/
setOptions(options: Item['options']): this;
/**
* Produce rule set item object for Webpack
*/
toWebpack(): Build.Item.Output;
}
export { Item as default };