@roots/bud-extensions
Version:
bud.js core module
31 lines (25 loc) • 827 B
text/typescript
import type {OptionCallback} from '@roots/bud-framework/extension'
import type {Options} from '@roots/bud-support/copy-webpack-plugin'
import {Extension} from '@roots/bud-framework/extension'
import {
label,
options,
plugin,
when,
} from '@roots/bud-framework/extension/decorators'
import {Plugin} from '@roots/bud-support/copy-webpack-plugin'
/**
* Copy webpack plugin configuration
*/
(`@roots/bud-extensions/copy-webpack-plugin`)
(Plugin)
<Options>({patterns: []})
((_app, options) => options?.patterns?.length > 0)
class BudCopyPlugin extends Extension<Options, Plugin> {
public getPatterns: () => Options[`patterns`]
public patterns: Options[`patterns`]
public setPatterns: (
patterns: OptionCallback<Options, `patterns`>,
) => this
}
export {BudCopyPlugin as default}