UNPKG

@roots/bud-build

Version:

bud.js core module

46 lines (43 loc) 1.57 kB
import type {Factory} from '@roots/bud-build/config' export const optimization: Factory<`optimization`> = async ({ hooks: {filter}, isDevelopment, isProduction, mode, }) => filter(`build.optimization`, { emitOnErrors: filter(`build.optimization.emitOnErrors`, isDevelopment), innerGraph: filter(`build.optimization.innerGraph`, isProduction), mangleExports: filter( `build.optimization.mangleExports`, isProduction, ), mergeDuplicateChunks: filter( `build.optimization.mergeDuplicateChunks`, isProduction, ), minimize: filter(`build.optimization.minimize`, isProduction), minimizer: filter(`build.optimization.minimizer`, []), moduleIds: filter(`build.optimization.moduleIds`, `named`), nodeEnv: filter(`build.optimization.nodeEnv`, mode), providedExports: filter( `build.optimization.providedExports`, isProduction, ), /** * Will be new default in webpack 6 * @see {@link https://webpack.js.org/configuration/optimization/#optimizationremoveavailablemodules} */ removeAvailableModules: filter( `build.optimization.removeAvailableModules`, false, ), removeEmptyChunks: filter( `build.optimization.removeEmptyChunks`, false, ), runtimeChunk: filter(`build.optimization.runtimeChunk`, `single`), sideEffects: filter(`build.optimization.sideEffects`, isProduction), splitChunks: filter(`build.optimization.splitChunks`, false), usedExports: filter(`build.optimization.usedExports`, isProduction), })