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 /
unp_probe /
node_modules /
webpack /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
dependencies
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
node
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
optimize
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
performance
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
util
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
web
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
webworker
[ DIR ]
drwxr-xr-x
2021-02-04 21:24
APIPlugin.js
1.85
KB
-rw-r--r--
2018-05-11 14:48
AmdMainTemplatePlugin.js
1.61
KB
-rw-r--r--
2018-05-11 14:48
AsyncDependenciesBlock.js
1.04
KB
-rw-r--r--
2018-05-11 14:48
AsyncDependencyToInitialChunkWarning.js
642
B
-rw-r--r--
2018-05-11 14:48
AutomaticPrefetchPlugin.js
1.12
KB
-rw-r--r--
2018-05-11 14:48
BannerPlugin.js
2
KB
-rw-r--r--
2018-05-11 14:48
BasicEvaluatedExpression.js
3.81
KB
-rw-r--r--
2018-05-11 14:48
CachePlugin.js
3.03
KB
-rw-r--r--
2018-05-11 14:48
CaseSensitiveModulesWarning.js
1.46
KB
-rw-r--r--
2018-05-11 14:48
Chunk.js
11.75
KB
-rw-r--r--
2018-05-11 14:48
ChunkRenderError.js
534
B
-rw-r--r--
2017-04-23 21:09
ChunkTemplate.js
1.11
KB
-rw-r--r--
2018-05-11 14:48
CompatibilityPlugin.js
2.02
KB
-rw-r--r--
2018-05-11 14:48
Compilation.js
41.87
KB
-rw-r--r--
2018-05-11 14:48
Compiler.js
14.78
KB
-rw-r--r--
2018-05-11 14:48
ConstPlugin.js
2.07
KB
-rw-r--r--
2018-05-11 14:48
ContextExclusionPlugin.js
401
B
-rw-r--r--
2018-05-11 14:48
ContextModule.js
13.4
KB
-rw-r--r--
2018-05-11 14:48
ContextModuleFactory.js
4.91
KB
-rw-r--r--
2018-05-11 14:48
ContextReplacementPlugin.js
4.02
KB
-rw-r--r--
2018-05-11 14:48
DefinePlugin.js
4.39
KB
-rw-r--r--
2018-05-11 14:48
DelegatedModule.js
2.52
KB
-rw-r--r--
2018-05-11 14:48
DelegatedModuleFactoryPlugin.js
1.99
KB
-rw-r--r--
2018-05-11 14:48
DelegatedPlugin.js
969
B
-rw-r--r--
2018-05-11 14:48
DependenciesBlock.js
1.58
KB
-rw-r--r--
2018-05-11 14:48
DependenciesBlockVariable.js
1.33
KB
-rw-r--r--
2018-05-11 14:48
Dependency.js
1.01
KB
-rw-r--r--
2018-05-11 14:48
DllEntryPlugin.js
1.16
KB
-rw-r--r--
2018-05-11 14:48
DllModule.js
1.05
KB
-rw-r--r--
2018-05-11 14:48
DllModuleFactory.js
502
B
-rw-r--r--
2018-05-11 14:48
DllPlugin.js
1.06
KB
-rw-r--r--
2018-05-11 14:48
DllReferencePlugin.js
2.24
KB
-rw-r--r--
2018-05-11 14:48
DynamicEntryPlugin.js
1.91
KB
-rw-r--r--
2018-05-11 14:48
EntryModuleNotFoundError.js
516
B
-rw-r--r--
2017-04-23 21:09
EntryOptionPlugin.js
1015
B
-rw-r--r--
2018-05-11 14:48
Entrypoint.js
934
B
-rw-r--r--
2018-05-11 14:48
EnvironmentPlugin.js
1.82
KB
-rw-r--r--
2018-05-11 14:48
ErrorHelpers.js
824
B
-rw-r--r--
2018-05-11 14:48
EvalDevToolModulePlugin.js
668
B
-rw-r--r--
2018-05-11 14:48
EvalDevToolModuleTemplatePlugin.js
1.29
KB
-rw-r--r--
2018-05-11 14:48
EvalSourceMapDevToolModuleTemplatePlugin.js
2.88
KB
-rw-r--r--
2018-05-11 14:48
EvalSourceMapDevToolPlugin.js
1008
B
-rw-r--r--
2018-05-11 14:48
ExportPropertyMainTemplatePlugin.js
864
B
-rw-r--r--
2018-05-11 14:48
ExtendedAPIPlugin.js
1.75
KB
-rw-r--r--
2018-05-11 14:48
ExternalModule.js
3.57
KB
-rw-r--r--
2018-05-11 14:48
ExternalModuleFactoryPlugin.js
2.86
KB
-rw-r--r--
2018-05-11 14:48
ExternalsPlugin.js
529
B
-rw-r--r--
2018-05-11 14:48
FlagDependencyExportsPlugin.js
2.9
KB
-rw-r--r--
2018-05-11 14:48
FlagDependencyUsagePlugin.js
2.41
KB
-rw-r--r--
2018-05-11 14:48
FlagInitialModulesAsUsedPlugin.js
550
B
-rw-r--r--
2018-05-11 14:48
FunctionModulePlugin.js
730
B
-rw-r--r--
2018-05-11 14:48
FunctionModuleTemplatePlugin.js
2.46
KB
-rw-r--r--
2018-05-11 14:48
HashedModuleIdsPlugin.js
1.12
KB
-rw-r--r--
2018-05-11 14:48
HotModuleReplacement.runtime.js
16.84
KB
-rw-r--r--
2018-05-11 14:48
HotModuleReplacementPlugin.js
9.78
KB
-rw-r--r--
2018-05-11 14:48
HotUpdateChunkTemplate.js
1.06
KB
-rw-r--r--
2018-05-11 14:48
IgnorePlugin.js
1.58
KB
-rw-r--r--
2018-05-11 14:48
JsonpChunkTemplatePlugin.js
978
B
-rw-r--r--
2018-05-11 14:48
JsonpExportMainTemplatePlugin.js
915
B
-rw-r--r--
2018-05-11 14:48
JsonpHotUpdateChunkTemplatePlugin.js
879
B
-rw-r--r--
2018-05-11 14:48
JsonpMainTemplate.runtime.js
2.06
KB
-rw-r--r--
2018-05-11 14:48
JsonpMainTemplatePlugin.js
7.92
KB
-rw-r--r--
2018-05-11 14:48
JsonpTemplatePlugin.js
743
B
-rw-r--r--
2018-05-11 14:48
LibManifestPlugin.js
1.71
KB
-rw-r--r--
2018-05-11 14:48
LibraryTemplatePlugin.js
3.08
KB
-rw-r--r--
2018-05-11 14:48
LoaderOptionsPlugin.js
1
KB
-rw-r--r--
2018-05-11 14:48
LoaderTargetPlugin.js
434
B
-rw-r--r--
2018-05-11 14:48
MainTemplate.js
8.74
KB
-rw-r--r--
2018-05-11 14:48
MemoryOutputFileSystem.js
144
B
-rw-r--r--
2017-04-04 19:28
Module.js
5.83
KB
-rw-r--r--
2018-05-11 14:48
ModuleBuildError.js
1.09
KB
-rw-r--r--
2018-05-11 14:48
ModuleDependencyError.js
624
B
-rw-r--r--
2018-05-11 14:48
ModuleDependencyWarning.js
628
B
-rw-r--r--
2018-05-11 14:48
ModuleError.js
674
B
-rw-r--r--
2018-05-11 14:48
ModuleFilenameHelpers.js
5.6
KB
-rw-r--r--
2018-05-11 14:48
ModuleNotFoundError.js
635
B
-rw-r--r--
2018-01-03 15:07
ModuleParseError.js
1.05
KB
-rw-r--r--
2018-05-11 14:48
ModuleReason.js
1.18
KB
-rw-r--r--
2018-05-11 14:48
ModuleTemplate.js
885
B
-rw-r--r--
2018-05-11 14:48
ModuleWarning.js
726
B
-rw-r--r--
2018-05-11 14:48
MovedToPluginWarningPlugin.js
695
B
-rw-r--r--
2018-05-11 14:48
MultiCompiler.js
4.51
KB
-rw-r--r--
2018-05-11 14:48
MultiEntryPlugin.js
1.29
KB
-rw-r--r--
2018-05-11 14:48
MultiModule.js
1.75
KB
-rw-r--r--
2018-05-11 14:48
MultiModuleFactory.js
475
B
-rw-r--r--
2018-05-11 14:48
MultiStats.js
2.2
KB
-rw-r--r--
2018-05-11 14:48
MultiWatching.js
701
B
-rw-r--r--
2018-05-11 14:48
NamedChunksPlugin.js
653
B
-rw-r--r--
2018-05-11 14:48
NamedModulesPlugin.js
623
B
-rw-r--r--
2018-05-11 14:48
NewWatchingPlugin.js
385
B
-rw-r--r--
2018-05-11 14:48
NoEmitOnErrorsPlugin.js
522
B
-rw-r--r--
2018-05-11 14:48
NoErrorsPlugin.js
734
B
-rw-r--r--
2018-05-11 14:48
NodeStuffPlugin.js
3.85
KB
-rw-r--r--
2018-05-11 14:48
NormalModule.js
16.09
KB
-rw-r--r--
2018-05-11 14:48
NormalModuleFactory.js
8.73
KB
-rw-r--r--
2018-05-11 14:48
NormalModuleReplacementPlugin.js
1.21
KB
-rw-r--r--
2018-05-11 14:48
NullFactory.js
229
B
-rw-r--r--
2017-04-23 21:09
OptionsApply.js
210
B
-rw-r--r--
2017-04-23 21:09
OptionsDefaulter.js
1.96
KB
-rw-r--r--
2018-05-11 14:48
Parser.js
49.6
KB
-rw-r--r--
2018-05-11 14:48
ParserHelpers.js
2.54
KB
-rw-r--r--
2018-05-11 14:48
PrefetchPlugin.js
826
B
-rw-r--r--
2018-05-11 14:48
ProgressPlugin.js
5.98
KB
-rw-r--r--
2018-05-11 14:48
ProvidePlugin.js
1.85
KB
-rw-r--r--
2018-05-11 14:48
RawModule.js
1.2
KB
-rw-r--r--
2018-05-11 14:48
RecordIdsPlugin.js
4.34
KB
-rw-r--r--
2018-05-11 14:48
RequestShortener.js
2.29
KB
-rw-r--r--
2018-05-11 14:48
RequireJsStuffPlugin.js
1.18
KB
-rw-r--r--
2018-05-11 14:48
RuleSet.js
11.28
KB
-rw-r--r--
2018-05-11 14:48
SetVarMainTemplatePlugin.js
1.2
KB
-rw-r--r--
2018-05-11 14:48
SingleEntryPlugin.js
960
B
-rw-r--r--
2018-05-11 14:48
SizeFormatHelpers.js
454
B
-rw-r--r--
2018-05-11 14:48
SourceMapDevToolModuleOptionsPlugin.js
1.02
KB
-rw-r--r--
2018-05-11 14:48
SourceMapDevToolPlugin.js
7.89
KB
-rw-r--r--
2018-05-11 14:48
Stats.js
28.99
KB
-rw-r--r--
2018-05-11 14:48
Template.js
5
KB
-rw-r--r--
2018-05-11 14:48
TemplatedPathPlugin.js
4.17
KB
-rw-r--r--
2018-05-11 14:48
UmdMainTemplatePlugin.js
7.01
KB
-rw-r--r--
2018-05-11 14:48
UnsupportedFeatureWarning.js
493
B
-rw-r--r--
2017-04-23 21:09
UseStrictPlugin.js
1.14
KB
-rw-r--r--
2018-05-11 14:48
WarnCaseSensitiveModulesPlugin.js
954
B
-rw-r--r--
2018-05-11 14:48
WatchIgnorePlugin.js
1.33
KB
-rw-r--r--
2018-05-11 14:48
WebpackError.js
270
B
-rw-r--r--
2018-05-11 14:48
WebpackOptionsApply.js
11.15
KB
-rw-r--r--
2018-05-11 14:48
WebpackOptionsDefaulter.js
4.7
KB
-rw-r--r--
2018-05-11 14:48
WebpackOptionsValidationError.js
9.2
KB
-rw-r--r--
2018-05-11 14:48
compareLocations.js
868
B
-rw-r--r--
2018-05-11 14:48
formatLocation.js
1.32
KB
-rw-r--r--
2018-05-11 14:48
prepareOptions.js
713
B
-rw-r--r--
2018-05-11 14:48
removeAndDo.js
405
B
-rw-r--r--
2018-05-11 14:48
validateSchema.js
1.59
KB
-rw-r--r--
2018-05-11 14:48
webpack.js
5.68
KB
-rw-r--r--
2018-05-11 14:48
webpack.web.js
988
B
-rw-r--r--
2018-05-11 14:48
Save
Rename
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const path = require("path"); const Tapable = require("tapable"); const util = require("util"); const Compilation = require("./Compilation"); const Stats = require("./Stats"); const NormalModuleFactory = require("./NormalModuleFactory"); const ContextModuleFactory = require("./ContextModuleFactory"); const makePathsRelative = require("./util/identifier").makePathsRelative; class Watching { constructor(compiler, watchOptions, handler) { this.startTime = null; this.invalid = false; this.handler = handler; this.callbacks = []; this.closed = false; if(typeof watchOptions === "number") { this.watchOptions = { aggregateTimeout: watchOptions }; } else if(watchOptions && typeof watchOptions === "object") { this.watchOptions = Object.assign({}, watchOptions); } else { this.watchOptions = {}; } this.watchOptions.aggregateTimeout = this.watchOptions.aggregateTimeout || 200; this.compiler = compiler; this.running = true; this.compiler.readRecords(err => { if(err) return this._done(err); this._go(); }); } _go() { this.startTime = Date.now(); this.running = true; this.invalid = false; this.compiler.applyPluginsAsync("watch-run", this, err => { if(err) return this._done(err); const onCompiled = (err, compilation) => { if(err) return this._done(err); if(this.invalid) return this._done(); if(this.compiler.applyPluginsBailResult("should-emit", compilation) === false) { return this._done(null, compilation); } this.compiler.emitAssets(compilation, err => { if(err) return this._done(err); if(this.invalid) return this._done(); this.compiler.emitRecords(err => { if(err) return this._done(err); if(compilation.applyPluginsBailResult("need-additional-pass")) { compilation.needAdditionalPass = true; const stats = new Stats(compilation); stats.startTime = this.startTime; stats.endTime = Date.now(); this.compiler.applyPlugins("done", stats); this.compiler.applyPluginsAsync("additional-pass", err => { if(err) return this._done(err); this.compiler.compile(onCompiled); }); return; } return this._done(null, compilation); }); }); }; this.compiler.compile(onCompiled); }); } _getStats(compilation) { const stats = new Stats(compilation); stats.startTime = this.startTime; stats.endTime = Date.now(); return stats; } _done(err, compilation) { this.running = false; if(this.invalid) return this._go(); const stats = compilation ? this._getStats(compilation) : null; if(err) { this.compiler.applyPlugins("failed", err); this.handler(err, stats); return; } this.compiler.applyPlugins("done", stats); this.handler(null, stats); if(!this.closed) { this.watch(compilation.fileDependencies, compilation.contextDependencies, compilation.missingDependencies); } this.callbacks.forEach(cb => cb()); this.callbacks.length = 0; } watch(files, dirs, missing) { this.pausedWatcher = null; this.watcher = this.compiler.watchFileSystem.watch(files, dirs, missing, this.startTime, this.watchOptions, (err, filesModified, contextModified, missingModified, fileTimestamps, contextTimestamps) => { this.pausedWatcher = this.watcher; this.watcher = null; if(err) return this.handler(err); this.compiler.fileTimestamps = fileTimestamps; this.compiler.contextTimestamps = contextTimestamps; this.invalidate(); }, (fileName, changeTime) => { this.compiler.applyPlugins("invalid", fileName, changeTime); }); } invalidate(callback) { if(callback) { this.callbacks.push(callback); } if(this.watcher) { this.pausedWatcher = this.watcher; this.watcher.pause(); this.watcher = null; } if(this.running) { this.invalid = true; return false; } else { this._go(); } } close(callback) { if(callback === undefined) callback = function() {}; this.closed = true; if(this.watcher) { this.watcher.close(); this.watcher = null; } if(this.pausedWatcher) { this.pausedWatcher.close(); this.pausedWatcher = null; } if(this.running) { this.invalid = true; this._done = () => { this.compiler.applyPlugins("watch-close"); callback(); }; } else { this.compiler.applyPlugins("watch-close"); callback(); } } } class Compiler extends Tapable { constructor() { super(); this.outputPath = ""; this.outputFileSystem = null; this.inputFileSystem = null; this.recordsInputPath = null; this.recordsOutputPath = null; this.records = {}; this.fileTimestamps = {}; this.contextTimestamps = {}; this.resolvers = { normal: null, loader: null, context: null }; this.parser = { plugin: util.deprecate( (hook, fn) => { this.plugin("compilation", (compilation, data) => { data.normalModuleFactory.plugin("parser", parser => { parser.plugin(hook, fn); }); }); }, "webpack: Using compiler.parser is deprecated.\n" + "Use compiler.plugin(\"compilation\", function(compilation, data) {\n data.normalModuleFactory.plugin(\"parser\", function(parser, options) { parser.plugin(/* ... */); });\n}); instead. " ), apply: util.deprecate( () => { const args = arguments; this.plugin("compilation", (compilation, data) => { data.normalModuleFactory.plugin("parser", parser => { parser.apply.apply(parser, args); }); }); }, "webpack: Using compiler.parser is deprecated.\n" + "Use compiler.plugin(\"compilation\", function(compilation, data) {\n data.normalModuleFactory.plugin(\"parser\", function(parser, options) { parser.apply(/* ... */); });\n}); instead. " ) }; this.options = {}; } watch(watchOptions, handler) { this.fileTimestamps = {}; this.contextTimestamps = {}; const watching = new Watching(this, watchOptions, handler); return watching; } run(callback) { const startTime = Date.now(); const onCompiled = (err, compilation) => { if(err) return callback(err); if(this.applyPluginsBailResult("should-emit", compilation) === false) { const stats = new Stats(compilation); stats.startTime = startTime; stats.endTime = Date.now(); this.applyPlugins("done", stats); return callback(null, stats); } this.emitAssets(compilation, err => { if(err) return callback(err); if(compilation.applyPluginsBailResult("need-additional-pass")) { compilation.needAdditionalPass = true; const stats = new Stats(compilation); stats.startTime = startTime; stats.endTime = Date.now(); this.applyPlugins("done", stats); this.applyPluginsAsync("additional-pass", err => { if(err) return callback(err); this.compile(onCompiled); }); return; } this.emitRecords(err => { if(err) return callback(err); const stats = new Stats(compilation); stats.startTime = startTime; stats.endTime = Date.now(); this.applyPlugins("done", stats); return callback(null, stats); }); }); }; this.applyPluginsAsync("before-run", this, err => { if(err) return callback(err); this.applyPluginsAsync("run", this, err => { if(err) return callback(err); this.readRecords(err => { if(err) return callback(err); this.compile(onCompiled); }); }); }); } runAsChild(callback) { this.compile((err, compilation) => { if(err) return callback(err); this.parentCompilation.children.push(compilation); Object.keys(compilation.assets).forEach(name => { this.parentCompilation.assets[name] = compilation.assets[name]; }); const entries = Object.keys(compilation.entrypoints).map(name => { return compilation.entrypoints[name].chunks; }).reduce((array, chunks) => { return array.concat(chunks); }, []); return callback(null, entries, compilation); }); } purgeInputFileSystem() { if(this.inputFileSystem && this.inputFileSystem.purge) this.inputFileSystem.purge(); } emitAssets(compilation, callback) { let outputPath; const emitFiles = (err) => { if(err) return callback(err); require("async").forEach(Object.keys(compilation.assets), (file, callback) => { let targetFile = file; const queryStringIdx = targetFile.indexOf("?"); if(queryStringIdx >= 0) { targetFile = targetFile.substr(0, queryStringIdx); } const writeOut = (err) => { if(err) return callback(err); const targetPath = this.outputFileSystem.join(outputPath, targetFile); const source = compilation.assets[file]; if(source.existsAt === targetPath) { source.emitted = false; return callback(); } let content = source.source(); if(!Buffer.isBuffer(content)) { content = new Buffer(content, "utf8"); // eslint-disable-line } source.existsAt = targetPath; source.emitted = true; this.outputFileSystem.writeFile(targetPath, content, callback); }; if(targetFile.match(/\/|\\/)) { const dir = path.dirname(targetFile); this.outputFileSystem.mkdirp(this.outputFileSystem.join(outputPath, dir), writeOut); } else writeOut(); }, err => { if(err) return callback(err); afterEmit.call(this); }); }; this.applyPluginsAsync("emit", compilation, err => { if(err) return callback(err); outputPath = compilation.getPath(this.outputPath); this.outputFileSystem.mkdirp(outputPath, emitFiles); }); function afterEmit() { this.applyPluginsAsyncSeries1("after-emit", compilation, err => { if(err) return callback(err); return callback(); }); } } emitRecords(callback) { if(!this.recordsOutputPath) return callback(); const idx1 = this.recordsOutputPath.lastIndexOf("/"); const idx2 = this.recordsOutputPath.lastIndexOf("\\"); let recordsOutputPathDirectory = null; if(idx1 > idx2) recordsOutputPathDirectory = this.recordsOutputPath.substr(0, idx1); if(idx1 < idx2) recordsOutputPathDirectory = this.recordsOutputPath.substr(0, idx2); if(!recordsOutputPathDirectory) return writeFile.call(this); this.outputFileSystem.mkdirp(recordsOutputPathDirectory, err => { if(err) return callback(err); writeFile.call(this); }); function writeFile() { this.outputFileSystem.writeFile(this.recordsOutputPath, JSON.stringify(this.records, undefined, 2), callback); } } readRecords(callback) { if(!this.recordsInputPath) { this.records = {}; return callback(); } this.inputFileSystem.stat(this.recordsInputPath, err => { // It doesn't exist // We can ignore this. if(err) return callback(); this.inputFileSystem.readFile(this.recordsInputPath, (err, content) => { if(err) return callback(err); try { this.records = JSON.parse(content.toString("utf-8")); } catch(e) { e.message = "Cannot parse records: " + e.message; return callback(e); } return callback(); }); }); } createChildCompiler(compilation, compilerName, compilerIndex, outputOptions, plugins) { const childCompiler = new Compiler(); if(Array.isArray(plugins)) { plugins.forEach(plugin => childCompiler.apply(plugin)); } for(const name in this._plugins) { if(["make", "compile", "emit", "after-emit", "invalid", "done", "this-compilation"].indexOf(name) < 0) childCompiler._plugins[name] = this._plugins[name].slice(); } childCompiler.name = compilerName; childCompiler.outputPath = this.outputPath; childCompiler.inputFileSystem = this.inputFileSystem; childCompiler.outputFileSystem = null; childCompiler.resolvers = this.resolvers; childCompiler.fileTimestamps = this.fileTimestamps; childCompiler.contextTimestamps = this.contextTimestamps; const relativeCompilerName = makePathsRelative(this.context, compilerName); if(!this.records[relativeCompilerName]) this.records[relativeCompilerName] = []; if(this.records[relativeCompilerName][compilerIndex]) childCompiler.records = this.records[relativeCompilerName][compilerIndex]; else this.records[relativeCompilerName].push(childCompiler.records = {}); childCompiler.options = Object.create(this.options); childCompiler.options.output = Object.create(childCompiler.options.output); for(const name in outputOptions) { childCompiler.options.output[name] = outputOptions[name]; } childCompiler.parentCompilation = compilation; compilation.applyPlugins("child-compiler", childCompiler, compilerName, compilerIndex); return childCompiler; } isChild() { return !!this.parentCompilation; } createCompilation() { return new Compilation(this); } newCompilation(params) { const compilation = this.createCompilation(); compilation.fileTimestamps = this.fileTimestamps; compilation.contextTimestamps = this.contextTimestamps; compilation.name = this.name; compilation.records = this.records; compilation.compilationDependencies = params.compilationDependencies; this.applyPlugins("this-compilation", compilation, params); this.applyPlugins("compilation", compilation, params); return compilation; } createNormalModuleFactory() { const normalModuleFactory = new NormalModuleFactory(this.options.context, this.resolvers, this.options.module || {}); this.applyPlugins("normal-module-factory", normalModuleFactory); return normalModuleFactory; } createContextModuleFactory() { const contextModuleFactory = new ContextModuleFactory(this.resolvers, this.inputFileSystem); this.applyPlugins("context-module-factory", contextModuleFactory); return contextModuleFactory; } newCompilationParams() { const params = { normalModuleFactory: this.createNormalModuleFactory(), contextModuleFactory: this.createContextModuleFactory(), compilationDependencies: [] }; return params; } compile(callback) { const params = this.newCompilationParams(); this.applyPluginsAsync("before-compile", params, err => { if(err) return callback(err); this.applyPlugins("compile", params); const compilation = this.newCompilation(params); this.applyPluginsParallel("make", compilation, err => { if(err) return callback(err); compilation.finish(); compilation.seal(err => { if(err) return callback(err); this.applyPluginsAsync("after-compile", compilation, err => { if(err) return callback(err); return callback(null, compilation); }); }); }); }); } } Compiler.Watching = Watching; module.exports = Compiler;