HEX
Server: nginx/1.24.0
System: Linux nowruzgan 6.8.0-57-generic #59-Ubuntu SMP PREEMPT_DYNAMIC Sat Mar 15 17:40:59 UTC 2025 x86_64
User: babak (1000)
PHP: 8.3.6
Disabled: NONE
Upload Files
File: /var/dev/shahnamag/front-end/node_modules/license-webpack-plugin/dist/WebpackCompilerHandler.js
"use strict";
var __values = (this && this.__values) || function(o) {
    var s = typeof Symbol === "function" && Symbol.iterator, m = s && o[s], i = 0;
    if (m) return m.call(o);
    if (o && typeof o.length === "number") return {
        next: function () {
            if (o && i >= o.length) o = void 0;
            return { value: o && o[i++], done: !o };
        }
    };
    throw new TypeError(s ? "Object is not iterable." : "Symbol.iterator is not defined.");
};
Object.defineProperty(exports, "__esModule", { value: true });
exports.WebpackCompilerHandler = void 0;
var WebpackCompilerHandler = /** @class */ (function () {
    function WebpackCompilerHandler(chunkIncludeTester, chunkHandler, assetManager, moduleCache, addBanner, perChunkOutput, additionalChunkModules, additionalModules, skipChildCompilers) {
        this.chunkIncludeTester = chunkIncludeTester;
        this.chunkHandler = chunkHandler;
        this.assetManager = assetManager;
        this.moduleCache = moduleCache;
        this.addBanner = addBanner;
        this.perChunkOutput = perChunkOutput;
        this.additionalChunkModules = additionalChunkModules;
        this.additionalModules = additionalModules;
        this.skipChildCompilers = skipChildCompilers;
    }
    WebpackCompilerHandler.prototype.handleCompiler = function (compiler) {
        var _this = this;
        if (typeof compiler.hooks !== 'undefined') {
            var hookType = this.skipChildCompilers
                ? 'thisCompilation'
                : 'compilation';
            compiler.hooks[hookType].tap('LicenseWebpackPlugin', function (compilation) {
                if (typeof compilation.hooks.processAssets !== 'undefined') {
                    // webpack v5
                    compilation.hooks.processAssets.tap({
                        name: 'LicenseWebpackPlugin',
                        stage: WebpackCompilerHandler.PROCESS_ASSETS_STAGE_REPORT
                    }, function () {
                        // the chunk graph does not contain ES modules
                        // use stats instead to find the ES module imports
                        var stats = compilation.getStats().toJson({
                            all: false,
                            chunks: true,
                            chunkModules: true,
                            nestedModules: true,
                            dependentModules: true,
                            cachedModules: true
                        });
                        _this.iterateChunks(compilation, compilation.chunks, stats);
                    });
                }
                else {
                    // webpack v4
                    compilation.hooks.optimizeChunkAssets.tap('LicenseWebpackPlugin', function (chunks) {
                        _this.iterateChunks(compilation, chunks);
                    });
                }
                if (_this.addBanner) {
                    _this.iterateChunksForBanner(compilation);
                }
            });
            if (!this.perChunkOutput) {
                compiler.hooks[hookType].tap('LicenseWebpackPlugin', function (compilation) {
                    if (!compilation.compiler.isChild()) {
                        // Select only root compiler to avoid writing license file multiple times per compilation
                        if (typeof compilation.hooks.processAssets !== 'undefined') {
                            // webpack v5
                            compilation.hooks.processAssets.tap({
                                name: 'LicenseWebpackPlugin',
                                stage: WebpackCompilerHandler.PROCESS_ASSETS_STAGE_REPORT + 1
                            }, function () {
                                _this.assetManager.writeAllLicenses(_this.moduleCache.getAllModules(), compilation);
                            });
                        }
                        else {
                            // webpack v4
                            compilation.hooks.optimizeChunkAssets.tap('LicenseWebpackPlugin', function () {
                                _this.assetManager.writeAllLicenses(_this.moduleCache.getAllModules(), compilation);
                            });
                        }
                    }
                });
            }
        }
        else if (typeof compiler.plugin !== 'undefined') {
            compiler.plugin('compilation', function (compilation) {
                if (typeof compilation.plugin !== 'undefined') {
                    compilation.plugin('optimize-chunk-assets', function (chunks, callback) {
                        _this.iterateChunks(compilation, chunks);
                        callback();
                    });
                }
            });
        }
    };
    WebpackCompilerHandler.prototype.iterateChunksForBanner = function (compilation) {
        var _this = this;
        // for webpack v4 we write banners in iterateChunks.
        // because of plugin hook ordering issues, it is done separately here for webpack v5.
        // it is important to note that renderBanner will not receive any modules in the second
        // argument due to plugin hook ordering issues in webpack v5.
        // For the banner to work in webpack v5 production mode, TerserPlugin must be configured in a specific way.
        // Please check the documentation of License Webpack Plugin for more details.
        if (typeof compilation.hooks.processAssets !== 'undefined') {
            // webpack v5
            compilation.hooks.processAssets.tap({
                name: 'LicenseWebpackPlugin',
                stage: WebpackCompilerHandler.PROCESS_ASSETS_STAGE_ADDITIONS
            }, function () {
                var e_1, _a;
                try {
                    for (var _b = __values(compilation.chunks), _c = _b.next(); !_c.done; _c = _b.next()) {
                        var chunk = _c.value;
                        if (_this.chunkIncludeTester.isIncluded(chunk.name)) {
                            _this.assetManager.writeChunkBanners(_this.moduleCache.getAllModulesForChunk(chunk.name), compilation, chunk);
                        }
                    }
                }
                catch (e_1_1) { e_1 = { error: e_1_1 }; }
                finally {
                    try {
                        if (_c && !_c.done && (_a = _b.return)) _a.call(_b);
                    }
                    finally { if (e_1) throw e_1.error; }
                }
            });
        }
    };
    WebpackCompilerHandler.prototype.iterateChunks = function (compilation, chunks, stats) {
        var e_2, _a;
        var _this = this;
        var _loop_1 = function (chunk) {
            if (this_1.chunkIncludeTester.isIncluded(chunk.name)) {
                this_1.chunkHandler.processChunk(compilation, chunk, this_1.moduleCache, stats);
                if (this_1.additionalChunkModules[chunk.name]) {
                    this_1.additionalChunkModules[chunk.name].forEach(function (module) {
                        return _this.chunkHandler.processModule(compilation, chunk, _this.moduleCache, module);
                    });
                }
                if (this_1.additionalModules.length > 0) {
                    this_1.additionalModules.forEach(function (module) {
                        return _this.chunkHandler.processModule(compilation, chunk, _this.moduleCache, module);
                    });
                }
                if (this_1.perChunkOutput) {
                    this_1.assetManager.writeChunkLicenses(this_1.moduleCache.getAllModulesForChunk(chunk.name), compilation, chunk);
                }
                if (this_1.addBanner &&
                    typeof compilation.hooks.processAssets === 'undefined') {
                    // webpack v4
                    this_1.assetManager.writeChunkBanners(this_1.moduleCache.getAllModulesForChunk(chunk.name), compilation, chunk);
                }
            }
        };
        var this_1 = this;
        try {
            for (var chunks_1 = __values(chunks), chunks_1_1 = chunks_1.next(); !chunks_1_1.done; chunks_1_1 = chunks_1.next()) {
                var chunk = chunks_1_1.value;
                _loop_1(chunk);
            }
        }
        catch (e_2_1) { e_2 = { error: e_2_1 }; }
        finally {
            try {
                if (chunks_1_1 && !chunks_1_1.done && (_a = chunks_1.return)) _a.call(chunks_1);
            }
            finally { if (e_2) throw e_2.error; }
        }
    };
    // copied from webpack/lib/Compilation.js
    WebpackCompilerHandler.PROCESS_ASSETS_STAGE_ADDITIONS = -100;
    WebpackCompilerHandler.PROCESS_ASSETS_STAGE_REPORT = 5000;
    return WebpackCompilerHandler;
}());
exports.WebpackCompilerHandler = WebpackCompilerHandler;