@roots/bud-minify
Version:
CSS and JS minification for bud.js
79 lines (67 loc) • 2.84 kB
text/typescript
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> {}
<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,
}