Linux unitednationsplay.com 3.10.0-1160.45.1.el7.x86_64 #1 SMP Wed Oct 13 17:20:51 UTC 2021 x86_64
nginx/1.20.1
Server IP : 188.130.139.92 & Your IP : 3.147.67.34
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
wb /
node_modules /
webpack /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
asset
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
async-modules
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
cache
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
config
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
container
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
css
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
debug
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
dependencies
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
electron
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
errors
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
esm
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
hmr
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
ids
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
javascript
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
json
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
library
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
logging
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
node
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
optimize
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
performance
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
prefetch
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
rules
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
runtime
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
schemes
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
serialization
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
sharing
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
stats
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
util
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm-async
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm-sync
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
web
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
webworker
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
APIPlugin.js
6.72
KB
-rw-rw-r--
2022-08-30 11:49
AbstractMethodError.js
1.11
KB
-rw-rw-r--
2022-08-30 11:49
AsyncDependenciesBlock.js
2.86
KB
-rw-rw-r--
2022-08-30 11:49
AsyncDependencyToInitialChunkError.js
913
B
-rw-rw-r--
2022-08-30 11:49
AutomaticPrefetchPlugin.js
1.46
KB
-rw-rw-r--
2022-08-30 11:49
BannerPlugin.js
2.93
KB
-rw-rw-r--
2022-08-30 11:49
Cache.js
3.88
KB
-rw-rw-r--
2022-08-30 11:49
CacheFacade.js
8.38
KB
-rw-rw-r--
2022-08-30 11:49
CaseSensitiveModulesWarning.js
2.06
KB
-rw-rw-r--
2022-08-30 11:49
Chunk.js
21.1
KB
-rw-rw-r--
2022-08-30 11:49
ChunkGraph.js
49.33
KB
-rw-rw-r--
2022-08-30 11:49
ChunkGroup.js
14.77
KB
-rw-rw-r--
2022-08-30 11:49
ChunkRenderError.js
657
B
-rw-rw-r--
2022-08-30 11:49
ChunkTemplate.js
3.9
KB
-rw-rw-r--
2022-08-30 11:49
CleanPlugin.js
11.24
KB
-rw-rw-r--
2022-08-30 11:49
CodeGenerationError.js
619
B
-rw-rw-r--
2022-08-30 11:49
CodeGenerationResults.js
4.36
KB
-rw-rw-r--
2022-08-30 11:49
CommentCompilationWarning.js
729
B
-rw-rw-r--
2022-08-30 11:49
CompatibilityPlugin.js
4.54
KB
-rw-rw-r--
2022-08-30 11:49
Compilation.js
157.69
KB
-rw-rw-r--
2022-08-30 11:49
Compiler.js
35.03
KB
-rw-rw-r--
2022-08-30 11:49
ConcatenationScope.js
4.53
KB
-rw-rw-r--
2022-08-30 11:49
ConcurrentCompilationError.js
441
B
-rw-rw-r--
2022-08-30 11:49
ConditionalInitFragment.js
3.36
KB
-rw-rw-r--
2022-08-30 11:49
ConstPlugin.js
14.42
KB
-rw-rw-r--
2022-08-30 11:49
ContextExclusionPlugin.js
797
B
-rw-rw-r--
2022-08-30 11:49
ContextModule.js
33.63
KB
-rw-rw-r--
2022-08-30 11:49
ContextModuleFactory.js
12.3
KB
-rw-rw-r--
2022-08-30 11:49
ContextReplacementPlugin.js
4.61
KB
-rw-rw-r--
2022-08-30 11:49
DefinePlugin.js
16.28
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedModule.js
7.08
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedModuleFactoryPlugin.js
2.28
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedPlugin.js
1015
B
-rw-rw-r--
2022-08-30 11:49
DependenciesBlock.js
2.53
KB
-rw-rw-r--
2022-08-30 11:49
Dependency.js
9.36
KB
-rw-rw-r--
2022-08-30 11:49
DependencyTemplate.js
2.43
KB
-rw-rw-r--
2022-08-30 11:49
DependencyTemplates.js
1.69
KB
-rw-rw-r--
2022-08-30 11:49
DllEntryPlugin.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
DllModule.js
4.4
KB
-rw-rw-r--
2022-08-30 11:49
DllModuleFactory.js
1008
B
-rw-rw-r--
2022-08-30 11:49
DllPlugin.js
1.66
KB
-rw-rw-r--
2022-08-30 11:49
DllReferencePlugin.js
5.01
KB
-rw-rw-r--
2022-08-30 11:49
DynamicEntryPlugin.js
1.99
KB
-rw-rw-r--
2022-08-30 11:49
EntryOptionPlugin.js
2.77
KB
-rw-rw-r--
2022-08-30 11:49
EntryPlugin.js
1.7
KB
-rw-rw-r--
2022-08-30 11:49
Entrypoint.js
2.95
KB
-rw-rw-r--
2022-08-30 11:49
EnvironmentPlugin.js
1.7
KB
-rw-rw-r--
2022-08-30 11:49
ErrorHelpers.js
1.42
KB
-rw-rw-r--
2022-08-30 11:49
EvalDevToolModulePlugin.js
3.67
KB
-rw-rw-r--
2022-08-30 11:49
EvalSourceMapDevToolPlugin.js
6.67
KB
-rw-rw-r--
2022-08-30 11:49
ExportsInfo.js
42.96
KB
-rw-rw-r--
2022-08-30 11:49
ExportsInfoApiPlugin.js
2.02
KB
-rw-rw-r--
2022-08-30 11:49
ExternalModule.js
21.94
KB
-rw-rw-r--
2022-08-30 11:49
ExternalModuleFactoryPlugin.js
7.06
KB
-rw-rw-r--
2022-08-30 11:49
ExternalsPlugin.js
899
B
-rw-rw-r--
2022-08-30 11:49
FileSystemInfo.js
102.03
KB
-rw-rw-r--
2022-08-30 11:49
FlagAllModulesAsUsedPlugin.js
1.42
KB
-rw-rw-r--
2022-08-30 11:49
FlagDependencyExportsPlugin.js
12.91
KB
-rw-rw-r--
2022-08-30 11:49
FlagDependencyUsagePlugin.js
10.74
KB
-rw-rw-r--
2022-08-30 11:49
FlagEntryExportAsUsedPlugin.js
1.34
KB
-rw-rw-r--
2022-08-30 11:49
Generator.js
4.73
KB
-rw-rw-r--
2022-08-30 11:49
GraphHelpers.js
1.05
KB
-rw-rw-r--
2022-08-30 11:49
HarmonyLinkingError.js
357
B
-rw-rw-r--
2022-08-30 11:49
HookWebpackError.js
2.03
KB
-rw-rw-r--
2022-08-30 11:49
HotModuleReplacementPlugin.js
25.72
KB
-rw-rw-r--
2022-08-30 11:49
HotUpdateChunk.js
353
B
-rw-rw-r--
2022-08-30 11:49
IgnoreErrorModuleFactory.js
1.02
KB
-rw-rw-r--
2022-08-30 11:49
IgnorePlugin.js
2.2
KB
-rw-rw-r--
2022-08-30 11:49
IgnoreWarningsPlugin.js
964
B
-rw-rw-r--
2022-08-30 11:49
InitFragment.js
4.54
KB
-rw-rw-r--
2022-08-30 11:49
InvalidDependenciesModuleWarning.js
1.83
KB
-rw-rw-r--
2022-08-30 11:49
JavascriptMetaInfoPlugin.js
2.03
KB
-rw-rw-r--
2022-08-30 11:49
LibManifestPlugin.js
3.04
KB
-rw-rw-r--
2022-08-30 11:49
LibraryTemplatePlugin.js
1.55
KB
-rw-rw-r--
2022-08-30 11:49
LoaderOptionsPlugin.js
1.81
KB
-rw-rw-r--
2022-08-30 11:49
LoaderTargetPlugin.js
747
B
-rw-rw-r--
2022-08-30 11:49
MainTemplate.js
10.15
KB
-rw-rw-r--
2022-08-30 11:49
Module.js
29.96
KB
-rw-rw-r--
2022-08-30 11:49
ModuleBuildError.js
1.59
KB
-rw-rw-r--
2022-08-30 11:49
ModuleDependencyError.js
1.08
KB
-rw-rw-r--
2022-08-30 11:49
ModuleDependencyWarning.js
1.19
KB
-rw-rw-r--
2022-08-30 11:49
ModuleError.js
1.17
KB
-rw-rw-r--
2022-08-30 11:49
ModuleFactory.js
1.39
KB
-rw-rw-r--
2022-08-30 11:49
ModuleFilenameHelpers.js
7.98
KB
-rw-rw-r--
2022-08-30 11:49
ModuleGraph.js
23.99
KB
-rw-rw-r--
2022-08-30 11:49
ModuleGraphConnection.js
5.09
KB
-rw-rw-r--
2022-08-30 11:49
ModuleHashingError.js
615
B
-rw-rw-r--
2022-08-30 11:49
ModuleInfoHeaderPlugin.js
7.01
KB
-rw-rw-r--
2022-08-30 11:49
ModuleNotFoundError.js
2.55
KB
-rw-rw-r--
2022-08-30 11:49
ModuleParseError.js
3.25
KB
-rw-rw-r--
2022-08-30 11:49
ModuleProfile.js
2.38
KB
-rw-rw-r--
2022-08-30 11:49
ModuleRestoreError.js
957
B
-rw-rw-r--
2022-08-30 11:49
ModuleStoreError.js
951
B
-rw-rw-r--
2022-08-30 11:49
ModuleTemplate.js
3.91
KB
-rw-rw-r--
2022-08-30 11:49
ModuleWarning.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
MultiCompiler.js
15.67
KB
-rw-rw-r--
2022-08-30 11:49
MultiStats.js
4.12
KB
-rw-rw-r--
2022-08-30 11:49
MultiWatching.js
1.44
KB
-rw-rw-r--
2022-08-30 11:49
NoEmitOnErrorsPlugin.js
713
B
-rw-rw-r--
2022-08-30 11:49
NoModeWarning.js
663
B
-rw-rw-r--
2022-08-30 11:49
NodeStuffInWebError.js
843
B
-rw-rw-r--
2022-08-30 11:49
NodeStuffPlugin.js
5.27
KB
-rw-rw-r--
2022-08-30 11:49
NormalModule.js
41.09
KB
-rw-rw-r--
2022-08-30 11:49
NormalModuleFactory.js
31.6
KB
-rw-rw-r--
2022-08-30 11:49
NormalModuleReplacementPlugin.js
1.84
KB
-rw-rw-r--
2022-08-30 11:49
NullFactory.js
628
B
-rw-rw-r--
2022-08-30 11:49
OptimizationStages.js
204
B
-rw-rw-r--
2022-08-30 11:49
OptionsApply.js
201
B
-rw-rw-r--
2022-08-30 11:49
Parser.js
968
B
-rw-rw-r--
2022-08-30 11:49
PrefetchPlugin.js
1.02
KB
-rw-rw-r--
2022-08-30 11:49
ProgressPlugin.js
16.78
KB
-rw-rw-r--
2022-08-30 11:49
ProvidePlugin.js
2.82
KB
-rw-rw-r--
2022-08-30 11:49
RawModule.js
4.53
KB
-rw-rw-r--
2022-08-30 11:49
RecordIdsPlugin.js
6.66
KB
-rw-rw-r--
2022-08-30 11:49
RequestShortener.js
755
B
-rw-rw-r--
2022-08-30 11:49
RequireJsStuffPlugin.js
1.86
KB
-rw-rw-r--
2022-08-30 11:49
ResolverFactory.js
4.83
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeGlobals.js
9.01
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeModule.js
5.63
KB
-rw-rw-r--
2022-08-30 11:49
RuntimePlugin.js
14.68
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeTemplate.js
31.11
KB
-rw-rw-r--
2022-08-30 11:49
SelfModuleFactory.js
384
B
-rw-rw-r--
2022-08-30 11:49
SingleEntryPlugin.js
161
B
-rw-rw-r--
2022-08-30 11:49
SizeFormatHelpers.js
583
B
-rw-rw-r--
2022-08-30 11:49
SourceMapDevToolModuleOptionsPlugin.js
1.29
KB
-rw-rw-r--
2022-08-30 11:49
SourceMapDevToolPlugin.js
16.61
KB
-rw-rw-r--
2022-08-30 11:49
Stats.js
1.96
KB
-rw-rw-r--
2022-08-30 11:49
Template.js
12.52
KB
-rw-rw-r--
2022-08-30 11:49
TemplatedPathPlugin.js
8.58
KB
-rw-rw-r--
2022-08-30 11:49
UnhandledSchemeError.js
833
B
-rw-rw-r--
2022-08-30 11:49
UnsupportedFeatureWarning.js
780
B
-rw-rw-r--
2022-08-30 11:49
UseStrictPlugin.js
1.61
KB
-rw-rw-r--
2022-08-30 11:49
WarnCaseSensitiveModulesPlugin.js
1.38
KB
-rw-rw-r--
2022-08-30 11:49
WarnDeprecatedOptionPlugin.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
WarnNoModeSetPlugin.js
545
B
-rw-rw-r--
2022-08-30 11:49
WatchIgnorePlugin.js
3.27
KB
-rw-rw-r--
2022-08-30 11:49
Watching.js
12.62
KB
-rw-rw-r--
2022-08-30 11:49
WebpackError.js
1.34
KB
-rw-rw-r--
2022-08-30 11:49
WebpackIsIncludedPlugin.js
2.36
KB
-rw-rw-r--
2022-08-30 11:49
WebpackOptionsApply.js
25.69
KB
-rw-rw-r--
2022-08-30 11:49
WebpackOptionsDefaulter.js
470
B
-rw-rw-r--
2022-08-30 11:49
buildChunkGraph.js
44.55
KB
-rw-rw-r--
2022-08-30 11:49
cli.js
16.2
KB
-rw-rw-r--
2022-08-30 11:49
formatLocation.js
1.74
KB
-rw-rw-r--
2022-08-30 11:49
index.js
16.21
KB
-rw-rw-r--
2022-08-30 11:49
validateSchema.js
6.25
KB
-rw-rw-r--
2022-08-30 11:49
webpack.js
5.27
KB
-rw-rw-r--
2022-08-30 11:49
Save
Rename
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const asyncLib = require("neo-async"); const Queue = require("./util/Queue"); /** @typedef {import("./Compiler")} Compiler */ /** @typedef {import("./DependenciesBlock")} DependenciesBlock */ /** @typedef {import("./Dependency")} Dependency */ /** @typedef {import("./Dependency").ExportSpec} ExportSpec */ /** @typedef {import("./Dependency").ExportsSpec} ExportsSpec */ /** @typedef {import("./ExportsInfo")} ExportsInfo */ /** @typedef {import("./Module")} Module */ class FlagDependencyExportsPlugin { /** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { compiler.hooks.compilation.tap( "FlagDependencyExportsPlugin", compilation => { const moduleGraph = compilation.moduleGraph; const cache = compilation.getCache("FlagDependencyExportsPlugin"); compilation.hooks.finishModules.tapAsync( "FlagDependencyExportsPlugin", (modules, callback) => { const logger = compilation.getLogger( "webpack.FlagDependencyExportsPlugin" ); let statRestoredFromMemCache = 0; let statRestoredFromCache = 0; let statNoExports = 0; let statFlaggedUncached = 0; let statNotCached = 0; let statQueueItemsProcessed = 0; const { moduleMemCaches } = compilation; /** @type {Queue<Module>} */ const queue = new Queue(); // Step 1: Try to restore cached provided export info from cache logger.time("restore cached provided exports"); asyncLib.each( modules, (module, callback) => { const exportsInfo = moduleGraph.getExportsInfo(module); if (!module.buildMeta || !module.buildMeta.exportsType) { if (exportsInfo.otherExportsInfo.provided !== null) { // It's a module without declared exports statNoExports++; exportsInfo.setHasProvideInfo(); exportsInfo.setUnknownExportsProvided(); return callback(); } } if (typeof module.buildInfo.hash !== "string") { statFlaggedUncached++; // Enqueue uncacheable module for determining the exports queue.enqueue(module); exportsInfo.setHasProvideInfo(); return callback(); } const memCache = moduleMemCaches && moduleMemCaches.get(module); const memCacheValue = memCache && memCache.get(this); if (memCacheValue !== undefined) { statRestoredFromMemCache++; exportsInfo.restoreProvided(memCacheValue); return callback(); } cache.get( module.identifier(), module.buildInfo.hash, (err, result) => { if (err) return callback(err); if (result !== undefined) { statRestoredFromCache++; exportsInfo.restoreProvided(result); } else { statNotCached++; // Without cached info enqueue module for determining the exports queue.enqueue(module); exportsInfo.setHasProvideInfo(); } callback(); } ); }, err => { logger.timeEnd("restore cached provided exports"); if (err) return callback(err); /** @type {Set<Module>} */ const modulesToStore = new Set(); /** @type {Map<Module, Set<Module>>} */ const dependencies = new Map(); /** @type {Module} */ let module; /** @type {ExportsInfo} */ let exportsInfo; /** @type {Map<Dependency, ExportsSpec>} */ const exportsSpecsFromDependencies = new Map(); let cacheable = true; let changed = false; /** * @param {DependenciesBlock} depBlock the dependencies block * @returns {void} */ const processDependenciesBlock = depBlock => { for (const dep of depBlock.dependencies) { processDependency(dep); } for (const block of depBlock.blocks) { processDependenciesBlock(block); } }; /** * @param {Dependency} dep the dependency * @returns {void} */ const processDependency = dep => { const exportDesc = dep.getExports(moduleGraph); if (!exportDesc) return; exportsSpecsFromDependencies.set(dep, exportDesc); }; /** * @param {Dependency} dep dependency * @param {ExportsSpec} exportDesc info * @returns {void} */ const processExportsSpec = (dep, exportDesc) => { const exports = exportDesc.exports; const globalCanMangle = exportDesc.canMangle; const globalFrom = exportDesc.from; const globalPriority = exportDesc.priority; const globalTerminalBinding = exportDesc.terminalBinding || false; const exportDeps = exportDesc.dependencies; if (exportDesc.hideExports) { for (const name of exportDesc.hideExports) { const exportInfo = exportsInfo.getExportInfo(name); exportInfo.unsetTarget(dep); } } if (exports === true) { // unknown exports if ( exportsInfo.setUnknownExportsProvided( globalCanMangle, exportDesc.excludeExports, globalFrom && dep, globalFrom, globalPriority ) ) { changed = true; } } else if (Array.isArray(exports)) { /** * merge in new exports * @param {ExportsInfo} exportsInfo own exports info * @param {(ExportSpec | string)[]} exports list of exports */ const mergeExports = (exportsInfo, exports) => { for (const exportNameOrSpec of exports) { let name; let canMangle = globalCanMangle; let terminalBinding = globalTerminalBinding; let exports = undefined; let from = globalFrom; let fromExport = undefined; let priority = globalPriority; let hidden = false; if (typeof exportNameOrSpec === "string") { name = exportNameOrSpec; } else { name = exportNameOrSpec.name; if (exportNameOrSpec.canMangle !== undefined) canMangle = exportNameOrSpec.canMangle; if (exportNameOrSpec.export !== undefined) fromExport = exportNameOrSpec.export; if (exportNameOrSpec.exports !== undefined) exports = exportNameOrSpec.exports; if (exportNameOrSpec.from !== undefined) from = exportNameOrSpec.from; if (exportNameOrSpec.priority !== undefined) priority = exportNameOrSpec.priority; if (exportNameOrSpec.terminalBinding !== undefined) terminalBinding = exportNameOrSpec.terminalBinding; if (exportNameOrSpec.hidden !== undefined) hidden = exportNameOrSpec.hidden; } const exportInfo = exportsInfo.getExportInfo(name); if ( exportInfo.provided === false || exportInfo.provided === null ) { exportInfo.provided = true; changed = true; } if ( exportInfo.canMangleProvide !== false && canMangle === false ) { exportInfo.canMangleProvide = false; changed = true; } if (terminalBinding && !exportInfo.terminalBinding) { exportInfo.terminalBinding = true; changed = true; } if (exports) { const nestedExportsInfo = exportInfo.createNestedExportsInfo(); mergeExports(nestedExportsInfo, exports); } if ( from && (hidden ? exportInfo.unsetTarget(dep) : exportInfo.setTarget( dep, from, fromExport === undefined ? [name] : fromExport, priority )) ) { changed = true; } // Recalculate target exportsInfo const target = exportInfo.getTarget(moduleGraph); let targetExportsInfo = undefined; if (target) { const targetModuleExportsInfo = moduleGraph.getExportsInfo(target.module); targetExportsInfo = targetModuleExportsInfo.getNestedExportsInfo( target.export ); // add dependency for this module const set = dependencies.get(target.module); if (set === undefined) { dependencies.set(target.module, new Set([module])); } else { set.add(module); } } if (exportInfo.exportsInfoOwned) { if ( exportInfo.exportsInfo.setRedirectNamedTo( targetExportsInfo ) ) { changed = true; } } else if ( exportInfo.exportsInfo !== targetExportsInfo ) { exportInfo.exportsInfo = targetExportsInfo; changed = true; } } }; mergeExports(exportsInfo, exports); } // store dependencies if (exportDeps) { cacheable = false; for (const exportDependency of exportDeps) { // add dependency for this module const set = dependencies.get(exportDependency); if (set === undefined) { dependencies.set(exportDependency, new Set([module])); } else { set.add(module); } } } }; const notifyDependencies = () => { const deps = dependencies.get(module); if (deps !== undefined) { for (const dep of deps) { queue.enqueue(dep); } } }; logger.time("figure out provided exports"); while (queue.length > 0) { module = queue.dequeue(); statQueueItemsProcessed++; exportsInfo = moduleGraph.getExportsInfo(module); cacheable = true; changed = false; exportsSpecsFromDependencies.clear(); moduleGraph.freeze(); processDependenciesBlock(module); moduleGraph.unfreeze(); for (const [ dep, exportsSpec ] of exportsSpecsFromDependencies) { processExportsSpec(dep, exportsSpec); } if (cacheable) { modulesToStore.add(module); } if (changed) { notifyDependencies(); } } logger.timeEnd("figure out provided exports"); logger.log( `${Math.round( (100 * (statFlaggedUncached + statNotCached)) / (statRestoredFromMemCache + statRestoredFromCache + statNotCached + statFlaggedUncached + statNoExports) )}% of exports of modules have been determined (${statNoExports} no declared exports, ${statNotCached} not cached, ${statFlaggedUncached} flagged uncacheable, ${statRestoredFromCache} from cache, ${statRestoredFromMemCache} from mem cache, ${ statQueueItemsProcessed - statNotCached - statFlaggedUncached } additional calculations due to dependencies)` ); logger.time("store provided exports into cache"); asyncLib.each( modulesToStore, (module, callback) => { if (typeof module.buildInfo.hash !== "string") { // not cacheable return callback(); } const cachedData = moduleGraph .getExportsInfo(module) .getRestoreProvidedData(); const memCache = moduleMemCaches && moduleMemCaches.get(module); if (memCache) { memCache.set(this, cachedData); } cache.store( module.identifier(), module.buildInfo.hash, cachedData, callback ); }, err => { logger.timeEnd("store provided exports into cache"); callback(err); } ); } ); } ); /** @type {WeakMap<Module, any>} */ const providedExportsCache = new WeakMap(); compilation.hooks.rebuildModule.tap( "FlagDependencyExportsPlugin", module => { providedExportsCache.set( module, moduleGraph.getExportsInfo(module).getRestoreProvidedData() ); } ); compilation.hooks.finishRebuildingModule.tap( "FlagDependencyExportsPlugin", module => { moduleGraph .getExportsInfo(module) .restoreProvided(providedExportsCache.get(module)); } ); } ); } } module.exports = FlagDependencyExportsPlugin;