Uname: Linux business55.web-hosting.com 4.18.0-553.lve.el8.x86_64 #1 SMP Mon May 27 15:27:34 UTC 2024 x86_64
Software: LiteSpeed
PHP version: 8.1.31 [ PHP INFO ] PHP os: Linux
Server Ip: 162.213.251.212
Your Ip: 52.15.86.13
User: allssztx (535) | Group: allssztx (533)
Safe Mode: OFF
Disable Function:
NONE

name : PurifyCss.js
let AutomaticComponent = require('./AutomaticComponent');
let glob = require('glob');

class PurifyCss extends AutomaticComponent {
    /**
     * Required dependencies for the component.
     */
    dependencies() {
        if (Config.purifyCss) {
            this.requiresReload = true;

            return ['purifycss-webpack', 'purify-css'];
        }
    }

    /**
     * Override the generated webpack configuration.
     *
     * @param {Object} config
     */
    webpackConfig(config) {
        if (Config.purifyCss) {
            Config.purifyCss = this.build(Config.purifyCss);

            let CssPurifierPlugin = require('../webpackPlugins/CssPurifierPlugin');

            config.plugins.push(CssPurifierPlugin.build());
        }
    }

    /**
     * Build the CSSPurifier plugin options.
     *
     * @param {Object} options
     */
    build(options) {
        if (typeof options === 'object') {
            if (options.paths) {
                let paths = options.paths;

                paths.forEach(path => {
                    if (!path.includes('*')) return;

                    options.paths.splice(paths.indexOf(path), 1);

                    options.paths = paths.concat(glob.sync(path));
                });
            }
            options.minimize = options.hasOwnProperty('minimize')
                ? options.minimize
                : Mix.inProduction();
        }

        return options;
    }
}

module.exports = PurifyCss;
© 2025 GrazzMean-Shell