UNPKG

@roots/bud-minify

Version:

CSS and JS minification for bud.js

79 lines (67 loc) 2.84 kB
import type { BasePluginOptions, MinimizerImplementation, MinimizerOptions, } from 'css-minimizer-webpack-plugin' import {Extension, type ExtensionApi} from '@roots/bud-framework/extension' import {options} from '@roots/bud-framework/extension/decorators' type BudMinimizeCSSOptions = { exclude: BasePluginOptions[`exclude`] include: BasePluginOptions[`include`] minify: MinimizerImplementation<any> minimizerOptions: MinimizerOptions<any> parallel: BasePluginOptions[`parallel`] test: BasePluginOptions[`test`] warningsFilter: BasePluginOptions[`warningsFilter`] } & BasePluginOptions interface BudMinimizeCSSPublicInterface extends ExtensionApi<BudMinimizeCSSPublicApi, BudMinimizeCSSOptions> {} @options<BudMinimizeCSSOptions>({ exclude: undefined, include: undefined, minify: undefined, minimizerOptions: { preset: [ `default`, { discardComments: { removeAll: true, }, }, ], }, parallel: false, test: undefined, warningsFilter: undefined, }) class BudMinimizeCSSPublicApi extends Extension<BudMinimizeCSSOptions> implements BudMinimizeCSSPublicInterface { public declare exclude: BudMinimizeCSSPublicInterface[`exclude`] public declare getExclude: BudMinimizeCSSPublicInterface[`getExclude`] public declare getInclude: BudMinimizeCSSPublicInterface[`getInclude`] public declare getMinify: BudMinimizeCSSPublicInterface[`getMinify`] public declare getMinimizerOptions: BudMinimizeCSSPublicInterface[`minimizerOptions`] public declare getParallel: BudMinimizeCSSPublicInterface[`getParallel`] public declare getTest: BudMinimizeCSSPublicInterface[`getTest`] public declare getWarningsFilter: BudMinimizeCSSPublicInterface[`getWarningsFilter`] public declare include: BudMinimizeCSSPublicInterface[`include`] public declare minify: BudMinimizeCSSPublicInterface[`minify`] public declare minimizerOptions: BudMinimizeCSSPublicInterface[`minimizerOptions`] public declare parallel: BudMinimizeCSSPublicInterface[`parallel`] public declare setExclude: BudMinimizeCSSPublicInterface[`setExclude`] public declare setInclude: BudMinimizeCSSPublicInterface[`setInclude`] public declare setMinify: BudMinimizeCSSPublicInterface[`setMinify`] public declare setMinimizerOptions: BudMinimizeCSSPublicInterface[`setMinimizerOptions`] public declare setParallel: BudMinimizeCSSPublicInterface[`setParallel`] public declare setTest: BudMinimizeCSSPublicInterface[`setTest`] public declare setWarningsFilter: BudMinimizeCSSPublicInterface[`setWarningsFilter`] public declare test: BudMinimizeCSSPublicInterface[`test`] public declare warningsFilter: BudMinimizeCSSPublicInterface[`warningsFilter`] } export { type BudMinimizeCSSOptions, BudMinimizeCSSPublicApi, type BudMinimizeCSSPublicInterface, }