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.2
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
/
home /
amatya /
quiz1 /
node_modules /
webpack /
lib /
[ HOME SHELL ]
Name
Size
Permission
Action
asset
[ DIR ]
dr-xr-xr-x
async-modules
[ DIR ]
dr-xr-xr-x
cache
[ DIR ]
dr-xr-xr-x
config
[ DIR ]
dr-xr-xr-x
container
[ DIR ]
dr-xr-xr-x
css
[ DIR ]
dr-xr-xr-x
debug
[ DIR ]
dr-xr-xr-x
dependencies
[ DIR ]
dr-xr-xr-x
electron
[ DIR ]
dr-xr-xr-x
errors
[ DIR ]
dr-xr-xr-x
esm
[ DIR ]
dr-xr-xr-x
hmr
[ DIR ]
dr-xr-xr-x
ids
[ DIR ]
dr-xr-xr-x
javascript
[ DIR ]
dr-xr-xr-x
json
[ DIR ]
dr-xr-xr-x
library
[ DIR ]
dr-xr-xr-x
logging
[ DIR ]
dr-xr-xr-x
node
[ DIR ]
dr-xr-xr-x
optimize
[ DIR ]
dr-xr-xr-x
performance
[ DIR ]
dr-xr-xr-x
prefetch
[ DIR ]
dr-xr-xr-x
rules
[ DIR ]
dr-xr-xr-x
runtime
[ DIR ]
dr-xr-xr-x
schemes
[ DIR ]
dr-xr-xr-x
serialization
[ DIR ]
dr-xr-xr-x
sharing
[ DIR ]
dr-xr-xr-x
stats
[ DIR ]
dr-xr-xr-x
util
[ DIR ]
dr-xr-xr-x
wasm
[ DIR ]
dr-xr-xr-x
wasm-async
[ DIR ]
dr-xr-xr-x
wasm-sync
[ DIR ]
dr-xr-xr-x
web
[ DIR ]
dr-xr-xr-x
webworker
[ DIR ]
dr-xr-xr-x
APIPlugin.js
9.33
KB
-rw-rw-rw-
AbstractMethodError.js
1.2
KB
-rw-rw-rw-
AsyncDependenciesBlock.js
3.26
KB
-rw-rw-rw-
AsyncDependencyToInitialChunkE...
913
B
-rw-rw-rw-
AutomaticPrefetchPlugin.js
1.52
KB
-rw-rw-rw-
BannerPlugin.js
3.6
KB
-rw-rw-rw-
Cache.js
4.02
KB
-rw-rw-rw-
CacheFacade.js
8.5
KB
-rw-rw-rw-
CaseSensitiveModulesWarning.js
2.07
KB
-rw-rw-rw-
Chunk.js
22.66
KB
-rw-rw-rw-
ChunkGraph.js
53.68
KB
-rw-rw-rw-
ChunkGroup.js
15.36
KB
-rw-rw-rw-
ChunkRenderError.js
657
B
-rw-rw-rw-
ChunkTemplate.js
5.74
KB
-rw-rw-rw-
CleanPlugin.js
11.96
KB
-rw-rw-rw-
CodeGenerationError.js
619
B
-rw-rw-rw-
CodeGenerationResults.js
4.56
KB
-rw-rw-rw-
CommentCompilationWarning.js
725
B
-rw-rw-rw-
CompatibilityPlugin.js
5.74
KB
-rw-rw-rw-
Compilation.js
165.88
KB
-rw-rw-rw-
Compiler.js
39.7
KB
-rw-rw-rw-
ConcatenationScope.js
4.23
KB
-rw-rw-rw-
ConcurrentCompilationError.js
441
B
-rw-rw-rw-
ConditionalInitFragment.js
3.68
KB
-rw-rw-rw-
ConstPlugin.js
16.16
KB
-rw-rw-rw-
ContextExclusionPlugin.js
786
B
-rw-rw-rw-
ContextModule.js
37.37
KB
-rw-rw-rw-
ContextModuleFactory.js
13.99
KB
-rw-rw-rw-
ContextReplacementPlugin.js
5.26
KB
-rw-rw-rw-
CssModule.js
4.67
KB
-rw-rw-rw-
DefinePlugin.js
19.65
KB
-rw-rw-rw-
DelegatedModule.js
8.05
KB
-rw-rw-rw-
DelegatedModuleFactoryPlugin.j...
3.44
KB
-rw-rw-rw-
DelegatedPlugin.js
1.11
KB
-rw-rw-rw-
DependenciesBlock.js
3.47
KB
-rw-rw-rw-
Dependency.js
10.23
KB
-rw-rw-rw-
DependencyTemplate.js
2.77
KB
-rw-rw-rw-
DependencyTemplates.js
1.71
KB
-rw-rw-rw-
DllEntryPlugin.js
1.67
KB
-rw-rw-rw-
DllModule.js
5.16
KB
-rw-rw-rw-
DllModuleFactory.js
1018
B
-rw-rw-rw-
DllPlugin.js
1.83
KB
-rw-rw-rw-
DllReferencePlugin.js
6.06
KB
-rw-rw-rw-
DynamicEntryPlugin.js
2.3
KB
-rw-rw-rw-
EntryOptionPlugin.js
2.88
KB
-rw-rw-rw-
EntryPlugin.js
1.73
KB
-rw-rw-rw-
Entrypoint.js
2.99
KB
-rw-rw-rw-
EnvironmentNotSupportAsyncWarn...
1.85
KB
-rw-rw-rw-
EnvironmentPlugin.js
1.87
KB
-rw-rw-rw-
ErrorHelpers.js
2.85
KB
-rw-rw-rw-
EvalDevToolModulePlugin.js
4.17
KB
-rw-rw-rw-
EvalSourceMapDevToolPlugin.js
7.22
KB
-rw-rw-rw-
ExportsInfo.js
45.01
KB
-rw-rw-rw-
ExportsInfoApiPlugin.js
2.52
KB
-rw-rw-rw-
ExternalModule.js
29.18
KB
-rw-rw-rw-
ExternalModuleFactoryPlugin.js
9.68
KB
-rw-rw-rw-
ExternalsPlugin.js
899
B
-rw-rw-rw-
FileSystemInfo.js
116.52
KB
-rw-rw-rw-
FlagAllModulesAsUsedPlugin.js
1.5
KB
-rw-rw-rw-
FlagDependencyExportsPlugin.js
12.94
KB
-rw-rw-rw-
FlagDependencyUsagePlugin.js
10.81
KB
-rw-rw-rw-
FlagEntryExportAsUsedPlugin.js
1.46
KB
-rw-rw-rw-
Generator.js
5.06
KB
-rw-rw-rw-
GraphHelpers.js
1.06
KB
-rw-rw-rw-
HarmonyLinkingError.js
357
B
-rw-rw-rw-
HookWebpackError.js
2.03
KB
-rw-rw-rw-
HotModuleReplacementPlugin.js
29.02
KB
-rw-rw-rw-
HotUpdateChunk.js
353
B
-rw-rw-rw-
IgnoreErrorModuleFactory.js
1.02
KB
-rw-rw-rw-
IgnorePlugin.js
2.66
KB
-rw-rw-rw-
IgnoreWarningsPlugin.js
919
B
-rw-rw-rw-
InitFragment.js
5.35
KB
-rw-rw-rw-
InvalidDependenciesModuleWarni...
1.83
KB
-rw-rw-rw-
JavascriptMetaInfoPlugin.js
2.3
KB
-rw-rw-rw-
LibManifestPlugin.js
4.42
KB
-rw-rw-rw-
LibraryTemplatePlugin.js
1.55
KB
-rw-rw-rw-
LoaderOptionsPlugin.js
2.25
KB
-rw-rw-rw-
LoaderTargetPlugin.js
747
B
-rw-rw-rw-
MainTemplate.js
12.59
KB
-rw-rw-rw-
Module.js
33.3
KB
-rw-rw-rw-
ModuleBuildError.js
1.84
KB
-rw-rw-rw-
ModuleDependencyError.js
1.15
KB
-rw-rw-rw-
ModuleDependencyWarning.js
1.26
KB
-rw-rw-rw-
ModuleError.js
1.48
KB
-rw-rw-rw-
ModuleFactory.js
1.4
KB
-rw-rw-rw-
ModuleFilenameHelpers.js
13.51
KB
-rw-rw-rw-
ModuleGraph.js
25
KB
-rw-rw-rw-
ModuleGraphConnection.js
5.53
KB
-rw-rw-rw-
ModuleHashingError.js
615
B
-rw-rw-rw-
ModuleInfoHeaderPlugin.js
8.87
KB
-rw-rw-rw-
ModuleNotFoundError.js
2.63
KB
-rw-rw-rw-
ModuleParseError.js
3.58
KB
-rw-rw-rw-
ModuleProfile.js
2.44
KB
-rw-rw-rw-
ModuleRestoreError.js
1.01
KB
-rw-rw-rw-
ModuleSourceTypesConstants.js
2.4
KB
-rw-rw-rw-
ModuleStoreError.js
1
KB
-rw-rw-rw-
ModuleTemplate.js
5.17
KB
-rw-rw-rw-
ModuleTypeConstants.js
6.47
KB
-rw-rw-rw-
ModuleWarning.js
1.56
KB
-rw-rw-rw-
MultiCompiler.js
18.04
KB
-rw-rw-rw-
MultiStats.js
5.74
KB
-rw-rw-rw-
MultiWatching.js
1.55
KB
-rw-rw-rw-
NoEmitOnErrorsPlugin.js
713
B
-rw-rw-rw-
NoModeWarning.js
663
B
-rw-rw-rw-
NodeStuffInWebError.js
843
B
-rw-rw-rw-
NodeStuffPlugin.js
8.17
KB
-rw-rw-rw-
NormalModule.js
49.02
KB
-rw-rw-rw-
NormalModuleFactory.js
38.85
KB
-rw-rw-rw-
NormalModuleReplacementPlugin....
2.05
KB
-rw-rw-rw-
NullFactory.js
637
B
-rw-rw-rw-
OptimizationStages.js
225
B
-rw-rw-rw-
OptionsApply.js
523
B
-rw-rw-rw-
Parser.js
968
B
-rw-rw-rw-
PlatformPlugin.js
894
B
-rw-rw-rw-
PrefetchPlugin.js
1.14
KB
-rw-rw-rw-
ProgressPlugin.js
19.76
KB
-rw-rw-rw-
ProvidePlugin.js
3.63
KB
-rw-rw-rw-
RawModule.js
5.18
KB
-rw-rw-rw-
RecordIdsPlugin.js
6.69
KB
-rw-rw-rw-
RequestShortener.js
755
B
-rw-rw-rw-
RequireJsStuffPlugin.js
2.24
KB
-rw-rw-rw-
ResolverFactory.js
5.05
KB
-rw-rw-rw-
RuntimeGlobals.js
9.59
KB
-rw-rw-rw-
RuntimeModule.js
5.97
KB
-rw-rw-rw-
RuntimePlugin.js
16.98
KB
-rw-rw-rw-
RuntimeTemplate.js
32.79
KB
-rw-rw-rw-
SelfModuleFactory.js
844
B
-rw-rw-rw-
SingleEntryPlugin.js
161
B
-rw-rw-rw-
SizeFormatHelpers.js
584
B
-rw-rw-rw-
SourceMapDevToolModuleOptionsP...
1.49
KB
-rw-rw-rw-
SourceMapDevToolPlugin.js
18.47
KB
-rw-rw-rw-
Stats.js
2.23
KB
-rw-rw-rw-
Template.js
12.76
KB
-rw-rw-rw-
TemplatedPathPlugin.js
10.15
KB
-rw-rw-rw-
UnhandledSchemeError.js
833
B
-rw-rw-rw-
UnsupportedFeatureWarning.js
780
B
-rw-rw-rw-
UseStrictPlugin.js
2.61
KB
-rw-rw-rw-
WarnCaseSensitiveModulesPlugin...
1.72
KB
-rw-rw-rw-
WarnDeprecatedOptionPlugin.js
1.46
KB
-rw-rw-rw-
WarnNoModeSetPlugin.js
545
B
-rw-rw-rw-
WatchIgnorePlugin.js
3.93
KB
-rw-rw-rw-
Watching.js
14.34
KB
-rw-rw-rw-
WebpackError.js
1.72
KB
-rw-rw-rw-
WebpackIsIncludedPlugin.js
2.71
KB
-rw-rw-rw-
WebpackOptionsApply.js
28.97
KB
-rw-rw-rw-
WebpackOptionsDefaulter.js
818
B
-rw-rw-rw-
buildChunkGraph.js
41.36
KB
-rw-rw-rw-
cli.js
17.44
KB
-rw-rw-rw-
formatLocation.js
1.73
KB
-rw-rw-rw-
index.js
18.22
KB
-rw-rw-rw-
validateSchema.js
6.34
KB
-rw-rw-rw-
webpack.js
5.99
KB
-rw-rw-rw-
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 AssetModulesPlugin = require("./asset/AssetModulesPlugin"); const JavascriptModulesPlugin = require("./javascript/JavascriptModulesPlugin"); const JsonModulesPlugin = require("./json/JsonModulesPlugin"); const ChunkPrefetchPreloadPlugin = require("./prefetch/ChunkPrefetchPreloadPlugin"); const EntryOptionPlugin = require("./EntryOptionPlugin"); const RecordIdsPlugin = require("./RecordIdsPlugin"); const RuntimePlugin = require("./RuntimePlugin"); const APIPlugin = require("./APIPlugin"); const CompatibilityPlugin = require("./CompatibilityPlugin"); const ConstPlugin = require("./ConstPlugin"); const ExportsInfoApiPlugin = require("./ExportsInfoApiPlugin"); const WebpackIsIncludedPlugin = require("./WebpackIsIncludedPlugin"); const TemplatedPathPlugin = require("./TemplatedPathPlugin"); const UseStrictPlugin = require("./UseStrictPlugin"); const WarnCaseSensitiveModulesPlugin = require("./WarnCaseSensitiveModulesPlugin"); const DataUriPlugin = require("./schemes/DataUriPlugin"); const FileUriPlugin = require("./schemes/FileUriPlugin"); const ResolverCachePlugin = require("./cache/ResolverCachePlugin"); const CommonJsPlugin = require("./dependencies/CommonJsPlugin"); const HarmonyModulesPlugin = require("./dependencies/HarmonyModulesPlugin"); const ImportMetaContextPlugin = require("./dependencies/ImportMetaContextPlugin"); const ImportMetaPlugin = require("./dependencies/ImportMetaPlugin"); const ImportPlugin = require("./dependencies/ImportPlugin"); const LoaderPlugin = require("./dependencies/LoaderPlugin"); const RequireContextPlugin = require("./dependencies/RequireContextPlugin"); const RequireEnsurePlugin = require("./dependencies/RequireEnsurePlugin"); const RequireIncludePlugin = require("./dependencies/RequireIncludePlugin"); const SystemPlugin = require("./dependencies/SystemPlugin"); const URLPlugin = require("./dependencies/URLPlugin"); const WorkerPlugin = require("./dependencies/WorkerPlugin"); const InferAsyncModulesPlugin = require("./async-modules/InferAsyncModulesPlugin"); const JavascriptMetaInfoPlugin = require("./JavascriptMetaInfoPlugin"); const DefaultStatsFactoryPlugin = require("./stats/DefaultStatsFactoryPlugin"); const DefaultStatsPresetPlugin = require("./stats/DefaultStatsPresetPlugin"); const DefaultStatsPrinterPlugin = require("./stats/DefaultStatsPrinterPlugin"); const { cleverMerge } = require("./util/cleverMerge"); /** @typedef {import("../declarations/WebpackOptions").WebpackOptionsNormalized} WebpackOptions */ /** @typedef {import("../declarations/WebpackOptions").WebpackPluginFunction} WebpackPluginFunction */ /** @typedef {import("../declarations/WebpackOptions").WebpackPluginInstance} WebpackPluginInstance */ /** @typedef {import("./Compiler")} Compiler */ /** @typedef {import("./util/fs").InputFileSystem} InputFileSystem */ /** @typedef {import("./util/fs").IntermediateFileSystem} IntermediateFileSystem */ class WebpackOptionsApply extends OptionsApply { constructor() { super(); } /** * @param {WebpackOptions} options options object * @param {Compiler} compiler compiler object * @returns {WebpackOptions} options object */ process(options, compiler) { compiler.outputPath = /** @type {string} */ (options.output.path); compiler.recordsInputPath = options.recordsInputPath || null; compiler.recordsOutputPath = options.recordsOutputPath || null; compiler.name = options.name; if (options.externals) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin(options.externalsType, options.externals).apply( compiler ); } if (options.externalsPresets.node) { const NodeTargetPlugin = require("./node/NodeTargetPlugin"); new NodeTargetPlugin().apply(compiler); } if (options.externalsPresets.electronMain) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin"); new ElectronTargetPlugin("main").apply(compiler); } if (options.externalsPresets.electronPreload) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin"); new ElectronTargetPlugin("preload").apply(compiler); } if (options.externalsPresets.electronRenderer) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin"); new ElectronTargetPlugin("renderer").apply(compiler); } if ( options.externalsPresets.electron && !options.externalsPresets.electronMain && !options.externalsPresets.electronPreload && !options.externalsPresets.electronRenderer ) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ElectronTargetPlugin = require("./electron/ElectronTargetPlugin"); new ElectronTargetPlugin().apply(compiler); } if (options.externalsPresets.nwjs) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin("node-commonjs", "nw.gui").apply(compiler); } if (options.externalsPresets.webAsync) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin("import", ({ request, dependencyType }, callback) => { if (dependencyType === "url") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `asset ${request}`); } else if (options.experiments.css && dependencyType === "css-import") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `css-import ${request}`); } else if ( options.experiments.css && /^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request)) ) { if (/^\.css(\?|$)/.test(/** @type {string} */ (request))) return callback(null, `css-import ${request}`); return callback(null, `import ${request}`); } callback(); }).apply(compiler); } else if (options.externalsPresets.web) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin("module", ({ request, dependencyType }, callback) => { if (dependencyType === "url") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `asset ${request}`); } else if (options.experiments.css && dependencyType === "css-import") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `css-import ${request}`); } else if ( /^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request)) ) { if ( options.experiments.css && /^\.css((\?)|$)/.test(/** @type {string} */ (request)) ) return callback(null, `css-import ${request}`); return callback(null, `module ${request}`); } callback(); }).apply(compiler); } else if (options.externalsPresets.node && options.experiments.css) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const ExternalsPlugin = require("./ExternalsPlugin"); new ExternalsPlugin("module", ({ request, dependencyType }, callback) => { if (dependencyType === "url") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `asset ${request}`); } else if (dependencyType === "css-import") { if (/^(\/\/|https?:\/\/|#)/.test(/** @type {string} */ (request))) return callback(null, `css-import ${request}`); } else if ( /^(\/\/|https?:\/\/|std:)/.test(/** @type {string} */ (request)) ) { if (/^\.css(\?|$)/.test(/** @type {string} */ (request))) return callback(null, `css-import ${request}`); return callback(null, `module ${request}`); } callback(); }).apply(compiler); } new ChunkPrefetchPreloadPlugin().apply(compiler); if (typeof options.output.chunkFormat === "string") { switch (options.output.chunkFormat) { case "array-push": { const ArrayPushCallbackChunkFormatPlugin = require("./javascript/ArrayPushCallbackChunkFormatPlugin"); new ArrayPushCallbackChunkFormatPlugin().apply(compiler); break; } case "commonjs": { const CommonJsChunkFormatPlugin = require("./javascript/CommonJsChunkFormatPlugin"); new CommonJsChunkFormatPlugin().apply(compiler); break; } case "module": { const ModuleChunkFormatPlugin = require("./esm/ModuleChunkFormatPlugin"); new ModuleChunkFormatPlugin().apply(compiler); break; } default: throw new Error( `Unsupported chunk format '${options.output.chunkFormat}'.` ); } } const enabledChunkLoadingTypes = /** @type {NonNullable<WebpackOptions["output"]["enabledChunkLoadingTypes"]>} */ (options.output.enabledChunkLoadingTypes); if (enabledChunkLoadingTypes.length > 0) { for (const type of enabledChunkLoadingTypes) { const EnableChunkLoadingPlugin = require("./javascript/EnableChunkLoadingPlugin"); new EnableChunkLoadingPlugin(type).apply(compiler); } } const enabledWasmLoadingTypes = /** @type {NonNullable<WebpackOptions["output"]["enabledWasmLoadingTypes"]>} */ (options.output.enabledWasmLoadingTypes); if (enabledWasmLoadingTypes.length > 0) { for (const type of enabledWasmLoadingTypes) { const EnableWasmLoadingPlugin = require("./wasm/EnableWasmLoadingPlugin"); new EnableWasmLoadingPlugin(type).apply(compiler); } } const enabledLibraryTypes = /** @type {NonNullable<WebpackOptions["output"]["enabledLibraryTypes"]>} */ (options.output.enabledLibraryTypes); if (enabledLibraryTypes.length > 0) { for (const type of enabledLibraryTypes) { const EnableLibraryPlugin = require("./library/EnableLibraryPlugin"); new EnableLibraryPlugin(type).apply(compiler); } } if (options.output.pathinfo) { const ModuleInfoHeaderPlugin = require("./ModuleInfoHeaderPlugin"); new ModuleInfoHeaderPlugin(options.output.pathinfo !== true).apply( compiler ); } if (options.output.clean) { const CleanPlugin = require("./CleanPlugin"); new CleanPlugin( options.output.clean === true ? {} : options.output.clean ).apply(compiler); } if (options.devtool) { if (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"); const noSources = options.devtool.includes("nosources"); const Plugin = evalWrapped ? require("./EvalSourceMapDevToolPlugin") : require("./SourceMapDevToolPlugin"); new Plugin({ filename: inline ? null : options.output.sourceMapFilename, moduleFilenameTemplate: options.output.devtoolModuleFilenameTemplate, fallbackModuleFilenameTemplate: options.output.devtoolFallbackModuleFilenameTemplate, append: hidden ? false : undefined, module: moduleMaps ? true : !cheap, columns: !cheap, noSources, namespace: options.output.devtoolNamespace }).apply(compiler); } else if (options.devtool.includes("eval")) { const EvalDevToolModulePlugin = require("./EvalDevToolModulePlugin"); new EvalDevToolModulePlugin({ moduleFilenameTemplate: options.output.devtoolModuleFilenameTemplate, namespace: options.output.devtoolNamespace }).apply(compiler); } } new JavascriptModulesPlugin().apply(compiler); new JsonModulesPlugin().apply(compiler); new AssetModulesPlugin().apply(compiler); if (!options.experiments.outputModule) { if (options.output.module) { throw new Error( "'output.module: true' is only allowed when 'experiments.outputModule' is enabled" ); } if (options.output.enabledLibraryTypes.includes("module")) { throw new Error( "library type \"module\" is only allowed when 'experiments.outputModule' is enabled" ); } if (options.output.enabledLibraryTypes.includes("modern-module")) { throw new Error( "library type \"modern-module\" is only allowed when 'experiments.outputModule' is enabled" ); } if ( options.externalsType === "module" || options.externalsType === "module-import" ) { throw new Error( "'externalsType: \"module\"' is only allowed when 'experiments.outputModule' is enabled" ); } } if (options.experiments.syncWebAssembly) { const WebAssemblyModulesPlugin = require("./wasm-sync/WebAssemblyModulesPlugin"); new WebAssemblyModulesPlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); } if (options.experiments.asyncWebAssembly) { const AsyncWebAssemblyModulesPlugin = require("./wasm-async/AsyncWebAssemblyModulesPlugin"); new AsyncWebAssemblyModulesPlugin({ mangleImports: options.optimization.mangleWasmImports }).apply(compiler); } if (options.experiments.css) { const CssModulesPlugin = require("./css/CssModulesPlugin"); new CssModulesPlugin().apply(compiler); } if (options.experiments.lazyCompilation) { const LazyCompilationPlugin = require("./hmr/LazyCompilationPlugin"); const lazyOptions = typeof options.experiments.lazyCompilation === "object" ? options.experiments.lazyCompilation : {}; new LazyCompilationPlugin({ backend: typeof lazyOptions.backend === "function" ? lazyOptions.backend : require("./hmr/lazyCompilationBackend")({ ...lazyOptions.backend, client: (lazyOptions.backend && lazyOptions.backend.client) || require.resolve( `../hot/lazy-compilation-${ options.externalsPresets.node ? "node" : "web" }.js` ) }), entries: !lazyOptions || lazyOptions.entries !== false, imports: !lazyOptions || lazyOptions.imports !== false, test: (lazyOptions && lazyOptions.test) || undefined }).apply(compiler); } if (options.experiments.buildHttp) { const HttpUriPlugin = require("./schemes/HttpUriPlugin"); const httpOptions = options.experiments.buildHttp; new HttpUriPlugin(httpOptions).apply(compiler); } new EntryOptionPlugin().apply(compiler); compiler.hooks.entryOption.call( /** @type {string} */ (options.context), options.entry ); new RuntimePlugin().apply(compiler); new InferAsyncModulesPlugin().apply(compiler); new DataUriPlugin().apply(compiler); new FileUriPlugin().apply(compiler); new CompatibilityPlugin().apply(compiler); new HarmonyModulesPlugin({ topLevelAwait: options.experiments.topLevelAwait }).apply(compiler); if (options.amd !== false) { const AMDPlugin = require("./dependencies/AMDPlugin"); const RequireJsStuffPlugin = require("./RequireJsStuffPlugin"); new AMDPlugin(options.amd || {}).apply(compiler); new RequireJsStuffPlugin().apply(compiler); } new CommonJsPlugin().apply(compiler); new LoaderPlugin({}).apply(compiler); if (options.node !== false) { const NodeStuffPlugin = require("./NodeStuffPlugin"); new NodeStuffPlugin(options.node).apply(compiler); } new APIPlugin({ module: options.output.module }).apply(compiler); new ExportsInfoApiPlugin().apply(compiler); new WebpackIsIncludedPlugin().apply(compiler); new ConstPlugin().apply(compiler); new UseStrictPlugin().apply(compiler); new RequireIncludePlugin().apply(compiler); new RequireEnsurePlugin().apply(compiler); new RequireContextPlugin().apply(compiler); new ImportPlugin().apply(compiler); new ImportMetaContextPlugin().apply(compiler); new SystemPlugin().apply(compiler); new ImportMetaPlugin().apply(compiler); new URLPlugin().apply(compiler); new WorkerPlugin( options.output.workerChunkLoading, options.output.workerWasmLoading, options.output.module, options.output.workerPublicPath ).apply(compiler); new DefaultStatsFactoryPlugin().apply(compiler); new DefaultStatsPresetPlugin().apply(compiler); new DefaultStatsPrinterPlugin().apply(compiler); new JavascriptMetaInfoPlugin().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( options.optimization.sideEffects === true ).apply(compiler); } if (options.optimization.providedExports) { const FlagDependencyExportsPlugin = require("./FlagDependencyExportsPlugin"); new FlagDependencyExportsPlugin().apply(compiler); } if (options.optimization.usedExports) { const FlagDependencyUsagePlugin = require("./FlagDependencyUsagePlugin"); new FlagDependencyUsagePlugin( options.optimization.usedExports === "global" ).apply(compiler); } if (options.optimization.innerGraph) { const InnerGraphPlugin = require("./optimize/InnerGraphPlugin"); new InnerGraphPlugin().apply(compiler); } if (options.optimization.mangleExports) { const MangleExportsPlugin = require("./optimize/MangleExportsPlugin"); new MangleExportsPlugin( options.optimization.mangleExports !== "size" ).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( /** @type {{ name?: (entrypoint: { name: string }) => string }} */ (options.optimization.runtimeChunk) ).apply(compiler); } if (!options.optimization.emitOnErrors) { const NoEmitOnErrorsPlugin = require("./NoEmitOnErrorsPlugin"); new NoEmitOnErrorsPlugin().apply(compiler); } if (options.optimization.realContentHash) { const RealContentHashPlugin = require("./optimize/RealContentHashPlugin"); new RealContentHashPlugin({ hashFunction: /** @type {NonNullable<WebpackOptions["output"]["hashFunction"]>} */ (options.output.hashFunction), hashDigest: /** @type {NonNullable<WebpackOptions["output"]["hashDigest"]>} */ (options.output.hashDigest) }).apply(compiler); } if (options.optimization.checkWasmTypes) { const WasmFinalizeExportsPlugin = require("./wasm-sync/WasmFinalizeExportsPlugin"); new WasmFinalizeExportsPlugin().apply(compiler); } const moduleIds = options.optimization.moduleIds; if (moduleIds) { switch (moduleIds) { case "natural": { const NaturalModuleIdsPlugin = require("./ids/NaturalModuleIdsPlugin"); new NaturalModuleIdsPlugin().apply(compiler); break; } case "named": { const NamedModuleIdsPlugin = require("./ids/NamedModuleIdsPlugin"); new NamedModuleIdsPlugin().apply(compiler); break; } case "hashed": { const WarnDeprecatedOptionPlugin = require("./WarnDeprecatedOptionPlugin"); const HashedModuleIdsPlugin = require("./ids/HashedModuleIdsPlugin"); new WarnDeprecatedOptionPlugin( "optimization.moduleIds", "hashed", "deterministic" ).apply(compiler); new HashedModuleIdsPlugin({ hashFunction: options.output.hashFunction }).apply(compiler); break; } case "deterministic": { const DeterministicModuleIdsPlugin = require("./ids/DeterministicModuleIdsPlugin"); new DeterministicModuleIdsPlugin().apply(compiler); break; } case "size": { const OccurrenceModuleIdsPlugin = require("./ids/OccurrenceModuleIdsPlugin"); new OccurrenceModuleIdsPlugin({ prioritiseInitial: true }).apply(compiler); break; } default: throw new Error( `webpack bug: moduleIds: ${moduleIds} is not implemented` ); } } const chunkIds = options.optimization.chunkIds; if (chunkIds) { switch (chunkIds) { case "natural": { const NaturalChunkIdsPlugin = require("./ids/NaturalChunkIdsPlugin"); new NaturalChunkIdsPlugin().apply(compiler); break; } case "named": { const NamedChunkIdsPlugin = require("./ids/NamedChunkIdsPlugin"); new NamedChunkIdsPlugin().apply(compiler); break; } case "deterministic": { const DeterministicChunkIdsPlugin = require("./ids/DeterministicChunkIdsPlugin"); new DeterministicChunkIdsPlugin().apply(compiler); break; } case "size": { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin"); new OccurrenceChunkIdsPlugin({ prioritiseInitial: true }).apply(compiler); break; } case "total-size": { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const OccurrenceChunkIdsPlugin = require("./ids/OccurrenceChunkIdsPlugin"); new OccurrenceChunkIdsPlugin({ 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 /** @type {(WebpackPluginInstance | WebpackPluginFunction | "...")[]} */ ( options.optimization.minimizer )) { if (typeof minimizer === "function") { /** @type {WebpackPluginFunction} */ (minimizer).call(compiler, compiler); } else if (minimizer !== "..." && minimizer) { 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); const AddManagedPathsPlugin = require("./cache/AddManagedPathsPlugin"); new AddManagedPathsPlugin( /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */ (options.snapshot.managedPaths), /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */ (options.snapshot.immutablePaths), /** @type {NonNullable<WebpackOptions["snapshot"]["managedPaths"]>} */ (options.snapshot.unmanagedPaths) ).apply(compiler); if (options.cache && typeof options.cache === "object") { const cacheOptions = options.cache; switch (cacheOptions.type) { case "memory": { if (Number.isFinite(cacheOptions.maxGenerations)) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin"); new MemoryWithGcCachePlugin({ maxGenerations: /** @type {number} */ (cacheOptions.maxGenerations) }).apply(compiler); } else { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const MemoryCachePlugin = require("./cache/MemoryCachePlugin"); new MemoryCachePlugin().apply(compiler); } if (cacheOptions.cacheUnaffected) { if (!options.experiments.cacheUnaffected) { throw new Error( "'cache.cacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled" ); } compiler.moduleMemCaches = new Map(); } break; } case "filesystem": { const AddBuildDependenciesPlugin = require("./cache/AddBuildDependenciesPlugin"); // eslint-disable-next-line guard-for-in for (const key in cacheOptions.buildDependencies) { const list = cacheOptions.buildDependencies[key]; new AddBuildDependenciesPlugin(list).apply(compiler); } if (!Number.isFinite(cacheOptions.maxMemoryGenerations)) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const MemoryCachePlugin = require("./cache/MemoryCachePlugin"); new MemoryCachePlugin().apply(compiler); } else if (cacheOptions.maxMemoryGenerations !== 0) { // @ts-expect-error https://github.com/microsoft/TypeScript/issues/41697 const MemoryWithGcCachePlugin = require("./cache/MemoryWithGcCachePlugin"); new MemoryWithGcCachePlugin({ maxGenerations: /** @type {number} */ (cacheOptions.maxMemoryGenerations) }).apply(compiler); } if (cacheOptions.memoryCacheUnaffected) { if (!options.experiments.cacheUnaffected) { throw new Error( "'cache.memoryCacheUnaffected: true' is only allowed when 'experiments.cacheUnaffected' is enabled" ); } compiler.moduleMemCaches = new Map(); } switch (cacheOptions.store) { case "pack": { const IdleFileCachePlugin = require("./cache/IdleFileCachePlugin"); const PackFileCacheStrategy = require("./cache/PackFileCacheStrategy"); new IdleFileCachePlugin( new PackFileCacheStrategy({ compiler, fs: /** @type {IntermediateFileSystem} */ (compiler.intermediateFileSystem), context: /** @type {string} */ (options.context), cacheLocation: /** @type {string} */ (cacheOptions.cacheLocation), version: /** @type {string} */ (cacheOptions.version), logger: compiler.getInfrastructureLogger( "webpack.cache.PackFileCacheStrategy" ), snapshot: options.snapshot, maxAge: /** @type {number} */ (cacheOptions.maxAge), profile: cacheOptions.profile, allowCollectingMemory: cacheOptions.allowCollectingMemory, compression: cacheOptions.compression, readonly: cacheOptions.readonly }), /** @type {number} */ (cacheOptions.idleTimeout), /** @type {number} */ (cacheOptions.idleTimeoutForInitialStore), /** @type {number} */ (cacheOptions.idleTimeoutAfterLargeChanges) ).apply(compiler); break; } default: throw new Error("Unhandled value for cache.store"); } break; } default: // @ts-expect-error Property 'type' does not exist on type 'never'. ts(2339) throw new Error(`Unknown cache type ${cacheOptions.type}`); } } new ResolverCachePlugin().apply(compiler); if (options.ignoreWarnings && options.ignoreWarnings.length > 0) { const IgnoreWarningsPlugin = require("./IgnoreWarningsPlugin"); new IgnoreWarningsPlugin(options.ignoreWarnings).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 => { resolveOptions = cleverMerge(options.resolve, resolveOptions); resolveOptions.fileSystem = /** @type {InputFileSystem} */ (compiler.inputFileSystem); return resolveOptions; }); compiler.resolverFactory.hooks.resolveOptions .for("context") .tap("WebpackOptionsApply", resolveOptions => { resolveOptions = cleverMerge(options.resolve, resolveOptions); resolveOptions.fileSystem = /** @type {InputFileSystem} */ (compiler.inputFileSystem); resolveOptions.resolveToContext = true; return resolveOptions; }); compiler.resolverFactory.hooks.resolveOptions .for("loader") .tap("WebpackOptionsApply", resolveOptions => { resolveOptions = cleverMerge(options.resolveLoader, resolveOptions); resolveOptions.fileSystem = /** @type {InputFileSystem} */ (compiler.inputFileSystem); return resolveOptions; }); compiler.hooks.afterResolvers.call(compiler); return options; } } module.exports = WebpackOptionsApply;
Close