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.140.201.179
Domains :
Cant Read [ /etc/named.conf ]
User : web
Terminal
Auto Root
Create File
Create Folder
Localroot Suggester
Backdoor Destroyer
Readme
/
home /
www /
wb /
node_modules /
webpack /
lib /
Delete
Unzip
Name
Size
Permission
Date
Action
asset
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
async-modules
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
cache
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
config
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
container
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
css
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
debug
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
dependencies
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
electron
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
errors
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
esm
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
hmr
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
ids
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
javascript
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
json
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
library
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
logging
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
node
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
optimize
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
performance
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
prefetch
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
rules
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
runtime
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
schemes
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
serialization
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
sharing
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
stats
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
util
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm-async
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
wasm-sync
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
web
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
webworker
[ DIR ]
drwxrwxr-x
2022-08-30 11:49
APIPlugin.js
6.72
KB
-rw-rw-r--
2022-08-30 11:49
AbstractMethodError.js
1.11
KB
-rw-rw-r--
2022-08-30 11:49
AsyncDependenciesBlock.js
2.86
KB
-rw-rw-r--
2022-08-30 11:49
AsyncDependencyToInitialChunkError.js
913
B
-rw-rw-r--
2022-08-30 11:49
AutomaticPrefetchPlugin.js
1.46
KB
-rw-rw-r--
2022-08-30 11:49
BannerPlugin.js
2.93
KB
-rw-rw-r--
2022-08-30 11:49
Cache.js
3.88
KB
-rw-rw-r--
2022-08-30 11:49
CacheFacade.js
8.38
KB
-rw-rw-r--
2022-08-30 11:49
CaseSensitiveModulesWarning.js
2.06
KB
-rw-rw-r--
2022-08-30 11:49
Chunk.js
21.1
KB
-rw-rw-r--
2022-08-30 11:49
ChunkGraph.js
49.33
KB
-rw-rw-r--
2022-08-30 11:49
ChunkGroup.js
14.77
KB
-rw-rw-r--
2022-08-30 11:49
ChunkRenderError.js
657
B
-rw-rw-r--
2022-08-30 11:49
ChunkTemplate.js
3.9
KB
-rw-rw-r--
2022-08-30 11:49
CleanPlugin.js
11.24
KB
-rw-rw-r--
2022-08-30 11:49
CodeGenerationError.js
619
B
-rw-rw-r--
2022-08-30 11:49
CodeGenerationResults.js
4.36
KB
-rw-rw-r--
2022-08-30 11:49
CommentCompilationWarning.js
729
B
-rw-rw-r--
2022-08-30 11:49
CompatibilityPlugin.js
4.54
KB
-rw-rw-r--
2022-08-30 11:49
Compilation.js
157.69
KB
-rw-rw-r--
2022-08-30 11:49
Compiler.js
35.03
KB
-rw-rw-r--
2022-08-30 11:49
ConcatenationScope.js
4.53
KB
-rw-rw-r--
2022-08-30 11:49
ConcurrentCompilationError.js
441
B
-rw-rw-r--
2022-08-30 11:49
ConditionalInitFragment.js
3.36
KB
-rw-rw-r--
2022-08-30 11:49
ConstPlugin.js
14.42
KB
-rw-rw-r--
2022-08-30 11:49
ContextExclusionPlugin.js
797
B
-rw-rw-r--
2022-08-30 11:49
ContextModule.js
33.63
KB
-rw-rw-r--
2022-08-30 11:49
ContextModuleFactory.js
12.3
KB
-rw-rw-r--
2022-08-30 11:49
ContextReplacementPlugin.js
4.61
KB
-rw-rw-r--
2022-08-30 11:49
DefinePlugin.js
16.28
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedModule.js
7.08
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedModuleFactoryPlugin.js
2.28
KB
-rw-rw-r--
2022-08-30 11:49
DelegatedPlugin.js
1015
B
-rw-rw-r--
2022-08-30 11:49
DependenciesBlock.js
2.53
KB
-rw-rw-r--
2022-08-30 11:49
Dependency.js
9.36
KB
-rw-rw-r--
2022-08-30 11:49
DependencyTemplate.js
2.43
KB
-rw-rw-r--
2022-08-30 11:49
DependencyTemplates.js
1.69
KB
-rw-rw-r--
2022-08-30 11:49
DllEntryPlugin.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
DllModule.js
4.4
KB
-rw-rw-r--
2022-08-30 11:49
DllModuleFactory.js
1008
B
-rw-rw-r--
2022-08-30 11:49
DllPlugin.js
1.66
KB
-rw-rw-r--
2022-08-30 11:49
DllReferencePlugin.js
5.01
KB
-rw-rw-r--
2022-08-30 11:49
DynamicEntryPlugin.js
1.99
KB
-rw-rw-r--
2022-08-30 11:49
EntryOptionPlugin.js
2.77
KB
-rw-rw-r--
2022-08-30 11:49
EntryPlugin.js
1.7
KB
-rw-rw-r--
2022-08-30 11:49
Entrypoint.js
2.95
KB
-rw-rw-r--
2022-08-30 11:49
EnvironmentPlugin.js
1.7
KB
-rw-rw-r--
2022-08-30 11:49
ErrorHelpers.js
1.42
KB
-rw-rw-r--
2022-08-30 11:49
EvalDevToolModulePlugin.js
3.67
KB
-rw-rw-r--
2022-08-30 11:49
EvalSourceMapDevToolPlugin.js
6.67
KB
-rw-rw-r--
2022-08-30 11:49
ExportsInfo.js
42.96
KB
-rw-rw-r--
2022-08-30 11:49
ExportsInfoApiPlugin.js
2.02
KB
-rw-rw-r--
2022-08-30 11:49
ExternalModule.js
21.94
KB
-rw-rw-r--
2022-08-30 11:49
ExternalModuleFactoryPlugin.js
7.06
KB
-rw-rw-r--
2022-08-30 11:49
ExternalsPlugin.js
899
B
-rw-rw-r--
2022-08-30 11:49
FileSystemInfo.js
102.03
KB
-rw-rw-r--
2022-08-30 11:49
FlagAllModulesAsUsedPlugin.js
1.42
KB
-rw-rw-r--
2022-08-30 11:49
FlagDependencyExportsPlugin.js
12.91
KB
-rw-rw-r--
2022-08-30 11:49
FlagDependencyUsagePlugin.js
10.74
KB
-rw-rw-r--
2022-08-30 11:49
FlagEntryExportAsUsedPlugin.js
1.34
KB
-rw-rw-r--
2022-08-30 11:49
Generator.js
4.73
KB
-rw-rw-r--
2022-08-30 11:49
GraphHelpers.js
1.05
KB
-rw-rw-r--
2022-08-30 11:49
HarmonyLinkingError.js
357
B
-rw-rw-r--
2022-08-30 11:49
HookWebpackError.js
2.03
KB
-rw-rw-r--
2022-08-30 11:49
HotModuleReplacementPlugin.js
25.72
KB
-rw-rw-r--
2022-08-30 11:49
HotUpdateChunk.js
353
B
-rw-rw-r--
2022-08-30 11:49
IgnoreErrorModuleFactory.js
1.02
KB
-rw-rw-r--
2022-08-30 11:49
IgnorePlugin.js
2.2
KB
-rw-rw-r--
2022-08-30 11:49
IgnoreWarningsPlugin.js
964
B
-rw-rw-r--
2022-08-30 11:49
InitFragment.js
4.54
KB
-rw-rw-r--
2022-08-30 11:49
InvalidDependenciesModuleWarning.js
1.83
KB
-rw-rw-r--
2022-08-30 11:49
JavascriptMetaInfoPlugin.js
2.03
KB
-rw-rw-r--
2022-08-30 11:49
LibManifestPlugin.js
3.04
KB
-rw-rw-r--
2022-08-30 11:49
LibraryTemplatePlugin.js
1.55
KB
-rw-rw-r--
2022-08-30 11:49
LoaderOptionsPlugin.js
1.81
KB
-rw-rw-r--
2022-08-30 11:49
LoaderTargetPlugin.js
747
B
-rw-rw-r--
2022-08-30 11:49
MainTemplate.js
10.15
KB
-rw-rw-r--
2022-08-30 11:49
Module.js
29.96
KB
-rw-rw-r--
2022-08-30 11:49
ModuleBuildError.js
1.59
KB
-rw-rw-r--
2022-08-30 11:49
ModuleDependencyError.js
1.08
KB
-rw-rw-r--
2022-08-30 11:49
ModuleDependencyWarning.js
1.19
KB
-rw-rw-r--
2022-08-30 11:49
ModuleError.js
1.17
KB
-rw-rw-r--
2022-08-30 11:49
ModuleFactory.js
1.39
KB
-rw-rw-r--
2022-08-30 11:49
ModuleFilenameHelpers.js
7.98
KB
-rw-rw-r--
2022-08-30 11:49
ModuleGraph.js
23.99
KB
-rw-rw-r--
2022-08-30 11:49
ModuleGraphConnection.js
5.09
KB
-rw-rw-r--
2022-08-30 11:49
ModuleHashingError.js
615
B
-rw-rw-r--
2022-08-30 11:49
ModuleInfoHeaderPlugin.js
7.01
KB
-rw-rw-r--
2022-08-30 11:49
ModuleNotFoundError.js
2.55
KB
-rw-rw-r--
2022-08-30 11:49
ModuleParseError.js
3.25
KB
-rw-rw-r--
2022-08-30 11:49
ModuleProfile.js
2.38
KB
-rw-rw-r--
2022-08-30 11:49
ModuleRestoreError.js
957
B
-rw-rw-r--
2022-08-30 11:49
ModuleStoreError.js
951
B
-rw-rw-r--
2022-08-30 11:49
ModuleTemplate.js
3.91
KB
-rw-rw-r--
2022-08-30 11:49
ModuleWarning.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
MultiCompiler.js
15.67
KB
-rw-rw-r--
2022-08-30 11:49
MultiStats.js
4.12
KB
-rw-rw-r--
2022-08-30 11:49
MultiWatching.js
1.44
KB
-rw-rw-r--
2022-08-30 11:49
NoEmitOnErrorsPlugin.js
713
B
-rw-rw-r--
2022-08-30 11:49
NoModeWarning.js
663
B
-rw-rw-r--
2022-08-30 11:49
NodeStuffInWebError.js
843
B
-rw-rw-r--
2022-08-30 11:49
NodeStuffPlugin.js
5.27
KB
-rw-rw-r--
2022-08-30 11:49
NormalModule.js
41.09
KB
-rw-rw-r--
2022-08-30 11:49
NormalModuleFactory.js
31.6
KB
-rw-rw-r--
2022-08-30 11:49
NormalModuleReplacementPlugin.js
1.84
KB
-rw-rw-r--
2022-08-30 11:49
NullFactory.js
628
B
-rw-rw-r--
2022-08-30 11:49
OptimizationStages.js
204
B
-rw-rw-r--
2022-08-30 11:49
OptionsApply.js
201
B
-rw-rw-r--
2022-08-30 11:49
Parser.js
968
B
-rw-rw-r--
2022-08-30 11:49
PrefetchPlugin.js
1.02
KB
-rw-rw-r--
2022-08-30 11:49
ProgressPlugin.js
16.78
KB
-rw-rw-r--
2022-08-30 11:49
ProvidePlugin.js
2.82
KB
-rw-rw-r--
2022-08-30 11:49
RawModule.js
4.53
KB
-rw-rw-r--
2022-08-30 11:49
RecordIdsPlugin.js
6.66
KB
-rw-rw-r--
2022-08-30 11:49
RequestShortener.js
755
B
-rw-rw-r--
2022-08-30 11:49
RequireJsStuffPlugin.js
1.86
KB
-rw-rw-r--
2022-08-30 11:49
ResolverFactory.js
4.83
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeGlobals.js
9.01
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeModule.js
5.63
KB
-rw-rw-r--
2022-08-30 11:49
RuntimePlugin.js
14.68
KB
-rw-rw-r--
2022-08-30 11:49
RuntimeTemplate.js
31.11
KB
-rw-rw-r--
2022-08-30 11:49
SelfModuleFactory.js
384
B
-rw-rw-r--
2022-08-30 11:49
SingleEntryPlugin.js
161
B
-rw-rw-r--
2022-08-30 11:49
SizeFormatHelpers.js
583
B
-rw-rw-r--
2022-08-30 11:49
SourceMapDevToolModuleOptionsPlugin.js
1.29
KB
-rw-rw-r--
2022-08-30 11:49
SourceMapDevToolPlugin.js
16.61
KB
-rw-rw-r--
2022-08-30 11:49
Stats.js
1.96
KB
-rw-rw-r--
2022-08-30 11:49
Template.js
12.52
KB
-rw-rw-r--
2022-08-30 11:49
TemplatedPathPlugin.js
8.58
KB
-rw-rw-r--
2022-08-30 11:49
UnhandledSchemeError.js
833
B
-rw-rw-r--
2022-08-30 11:49
UnsupportedFeatureWarning.js
780
B
-rw-rw-r--
2022-08-30 11:49
UseStrictPlugin.js
1.61
KB
-rw-rw-r--
2022-08-30 11:49
WarnCaseSensitiveModulesPlugin.js
1.38
KB
-rw-rw-r--
2022-08-30 11:49
WarnDeprecatedOptionPlugin.js
1.25
KB
-rw-rw-r--
2022-08-30 11:49
WarnNoModeSetPlugin.js
545
B
-rw-rw-r--
2022-08-30 11:49
WatchIgnorePlugin.js
3.27
KB
-rw-rw-r--
2022-08-30 11:49
Watching.js
12.62
KB
-rw-rw-r--
2022-08-30 11:49
WebpackError.js
1.34
KB
-rw-rw-r--
2022-08-30 11:49
WebpackIsIncludedPlugin.js
2.36
KB
-rw-rw-r--
2022-08-30 11:49
WebpackOptionsApply.js
25.69
KB
-rw-rw-r--
2022-08-30 11:49
WebpackOptionsDefaulter.js
470
B
-rw-rw-r--
2022-08-30 11:49
buildChunkGraph.js
44.55
KB
-rw-rw-r--
2022-08-30 11:49
cli.js
16.2
KB
-rw-rw-r--
2022-08-30 11:49
formatLocation.js
1.74
KB
-rw-rw-r--
2022-08-30 11:49
index.js
16.21
KB
-rw-rw-r--
2022-08-30 11:49
validateSchema.js
6.25
KB
-rw-rw-r--
2022-08-30 11:49
webpack.js
5.27
KB
-rw-rw-r--
2022-08-30 11:49
Save
Rename
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Jason Anderson @diurnalist */ "use strict"; const mime = require("mime-types"); const { basename, extname } = require("path"); const util = require("util"); const Chunk = require("./Chunk"); const Module = require("./Module"); const { parseResource } = require("./util/identifier"); /** @typedef {import("./Compilation").AssetInfo} AssetInfo */ /** @typedef {import("./Compilation").PathData} PathData */ /** @typedef {import("./Compiler")} Compiler */ const REGEXP = /\[\\*([\w:]+)\\*\]/gi; const prepareId = id => { if (typeof id !== "string") return id; if (/^"\s\+*.*\+\s*"$/.test(id)) { const match = /^"\s\+*\s*(.*)\s*\+\s*"$/.exec(id); return `" + (${match[1]} + "").replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_") + "`; } return id.replace(/(^[.-]|[^a-zA-Z0-9_-])+/g, "_"); }; const hashLength = (replacer, handler, assetInfo, hashName) => { const fn = (match, arg, input) => { let result; const length = arg && parseInt(arg, 10); if (length && handler) { result = handler(length); } else { const hash = replacer(match, arg, input); result = length ? hash.slice(0, length) : hash; } if (assetInfo) { assetInfo.immutable = true; if (Array.isArray(assetInfo[hashName])) { assetInfo[hashName] = [...assetInfo[hashName], result]; } else if (assetInfo[hashName]) { assetInfo[hashName] = [assetInfo[hashName], result]; } else { assetInfo[hashName] = result; } } return result; }; return fn; }; const replacer = (value, allowEmpty) => { const fn = (match, arg, input) => { if (typeof value === "function") { value = value(); } if (value === null || value === undefined) { if (!allowEmpty) { throw new Error( `Path variable ${match} not implemented in this context: ${input}` ); } return ""; } else { return `${value}`; } }; return fn; }; const deprecationCache = new Map(); const deprecatedFunction = (() => () => {})(); const deprecated = (fn, message, code) => { let d = deprecationCache.get(message); if (d === undefined) { d = util.deprecate(deprecatedFunction, message, code); deprecationCache.set(message, d); } return (...args) => { d(); return fn(...args); }; }; /** * @param {string | function(PathData, AssetInfo=): string} path the raw path * @param {PathData} data context data * @param {AssetInfo} assetInfo extra info about the asset (will be written to) * @returns {string} the interpolated path */ const replacePathVariables = (path, data, assetInfo) => { const chunkGraph = data.chunkGraph; /** @type {Map<string, Function>} */ const replacements = new Map(); // Filename context // // Placeholders // // for /some/path/file.js?query#fragment: // [file] - /some/path/file.js // [query] - ?query // [fragment] - #fragment // [base] - file.js // [path] - /some/path/ // [name] - file // [ext] - .js if (typeof data.filename === "string") { // check that filename is data uri let match = data.filename.match(/^data:([^;,]+)/); if (match) { const ext = mime.extension(match[1]); const emptyReplacer = replacer("", true); replacements.set("file", emptyReplacer); replacements.set("query", emptyReplacer); replacements.set("fragment", emptyReplacer); replacements.set("path", emptyReplacer); replacements.set("base", emptyReplacer); replacements.set("name", emptyReplacer); replacements.set("ext", replacer(ext ? `.${ext}` : "", true)); // Legacy replacements.set( "filebase", deprecated( emptyReplacer, "[filebase] is now [base]", "DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME" ) ); } else { const { path: file, query, fragment } = parseResource(data.filename); const ext = extname(file); const base = basename(file); const name = base.slice(0, base.length - ext.length); const path = file.slice(0, file.length - base.length); replacements.set("file", replacer(file)); replacements.set("query", replacer(query, true)); replacements.set("fragment", replacer(fragment, true)); replacements.set("path", replacer(path, true)); replacements.set("base", replacer(base)); replacements.set("name", replacer(name)); replacements.set("ext", replacer(ext, true)); // Legacy replacements.set( "filebase", deprecated( replacer(base), "[filebase] is now [base]", "DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_FILENAME" ) ); } } // Compilation context // // Placeholders // // [fullhash] - data.hash (3a4b5c6e7f) // // Legacy Placeholders // // [hash] - data.hash (3a4b5c6e7f) if (data.hash) { const hashReplacer = hashLength( replacer(data.hash), data.hashWithLength, assetInfo, "fullhash" ); replacements.set("fullhash", hashReplacer); // Legacy replacements.set( "hash", deprecated( hashReplacer, "[hash] is now [fullhash] (also consider using [chunkhash] or [contenthash], see documentation for details)", "DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_HASH" ) ); } // Chunk Context // // Placeholders // // [id] - chunk.id (0.js) // [name] - chunk.name (app.js) // [chunkhash] - chunk.hash (7823t4t4.js) // [contenthash] - chunk.contentHash[type] (3256u3zg.js) if (data.chunk) { const chunk = data.chunk; const contentHashType = data.contentHashType; const idReplacer = replacer(chunk.id); const nameReplacer = replacer(chunk.name || chunk.id); const chunkhashReplacer = hashLength( replacer(chunk instanceof Chunk ? chunk.renderedHash : chunk.hash), "hashWithLength" in chunk ? chunk.hashWithLength : undefined, assetInfo, "chunkhash" ); const contenthashReplacer = hashLength( replacer( data.contentHash || (contentHashType && chunk.contentHash && chunk.contentHash[contentHashType]) ), data.contentHashWithLength || ("contentHashWithLength" in chunk && chunk.contentHashWithLength ? chunk.contentHashWithLength[contentHashType] : undefined), assetInfo, "contenthash" ); replacements.set("id", idReplacer); replacements.set("name", nameReplacer); replacements.set("chunkhash", chunkhashReplacer); replacements.set("contenthash", contenthashReplacer); } // Module Context // // Placeholders // // [id] - module.id (2.png) // [hash] - module.hash (6237543873.png) // // Legacy Placeholders // // [moduleid] - module.id (2.png) // [modulehash] - module.hash (6237543873.png) if (data.module) { const module = data.module; const idReplacer = replacer(() => prepareId( module instanceof Module ? chunkGraph.getModuleId(module) : module.id ) ); const moduleHashReplacer = hashLength( replacer(() => module instanceof Module ? chunkGraph.getRenderedModuleHash(module, data.runtime) : module.hash ), "hashWithLength" in module ? module.hashWithLength : undefined, assetInfo, "modulehash" ); const contentHashReplacer = hashLength( replacer(data.contentHash), undefined, assetInfo, "contenthash" ); replacements.set("id", idReplacer); replacements.set("modulehash", moduleHashReplacer); replacements.set("contenthash", contentHashReplacer); replacements.set( "hash", data.contentHash ? contentHashReplacer : moduleHashReplacer ); // Legacy replacements.set( "moduleid", deprecated( idReplacer, "[moduleid] is now [id]", "DEP_WEBPACK_TEMPLATE_PATH_PLUGIN_REPLACE_PATH_VARIABLES_MODULE_ID" ) ); } // Other things if (data.url) { replacements.set("url", replacer(data.url)); } if (typeof data.runtime === "string") { replacements.set( "runtime", replacer(() => prepareId(data.runtime)) ); } else { replacements.set("runtime", replacer("_")); } if (typeof path === "function") { path = path(data, assetInfo); } path = path.replace(REGEXP, (match, content) => { if (content.length + 2 === match.length) { const contentMatch = /^(\w+)(?::(\w+))?$/.exec(content); if (!contentMatch) return match; const [, kind, arg] = contentMatch; const replacer = replacements.get(kind); if (replacer !== undefined) { return replacer(match, arg, path); } } else if (match.startsWith("[\\") && match.endsWith("\\]")) { return `[${match.slice(2, -2)}]`; } return match; }); return path; }; const plugin = "TemplatedPathPlugin"; class TemplatedPathPlugin { /** * Apply the plugin * @param {Compiler} compiler the compiler instance * @returns {void} */ apply(compiler) { compiler.hooks.compilation.tap(plugin, compilation => { compilation.hooks.assetPath.tap(plugin, replacePathVariables); }); } } module.exports = TemplatedPathPlugin;