diff --git a/.woodpecker.yml b/.woodpecker.yml index 75d4c4c..afb2c9c 100644 --- a/.woodpecker.yml +++ b/.woodpecker.yml @@ -46,6 +46,8 @@ pipeline: node-build: image: node:16-slim + environment: + - CPU_COUNT=3 commands: - npm install -g svg2ttf ttf2eot ttf2woff2 - svg2ttf assets/fonts/deblan/src/deblan-icon.svg assets/fonts/deblan/deblan-icon.ttf diff --git a/webpack.config.js b/webpack.config.js index d485c49..fac3947 100644 --- a/webpack.config.js +++ b/webpack.config.js @@ -1,4 +1,6 @@ const Encore = require('@symfony/webpack-encore'); +// const SpeedMeasurePlugin = require("speed-measure-webpack-plugin"); +// const smp = new SpeedMeasurePlugin(); // Manually configure the runtime environment if not already configured yet by the "encore" command. // It's useful when you use tools that rely on webpack.config.js file. @@ -6,6 +8,8 @@ if (!Encore.isRuntimeEnvironmentConfigured()) { Encore.configureRuntimeEnvironment(process.env.NODE_ENV || 'dev'); } +const TERSER_PARALLEL = process.env.hasOwnProperty('CPU_COUNT') ? parseInt(process.env.CPU_COUNT) : true; + Encore // directory where compiled assets will be stored .setOutputPath('public/build/') @@ -49,6 +53,10 @@ Encore config.plugins.push('@babel/plugin-proposal-class-properties'); }) + .configureTerserPlugin((config) => { + config.parallel = TERSER_PARALLEL; + }) + // enables @babel/preset-env polyfills .configureBabelPresetEnv((config) => { config.useBuiltIns = 'usage';