⚝
One Hat Cyber Team
⚝
Your IP:
216.73.216.1
Server IP:
185.238.29.86
Server:
Linux server2 6.8.12-6-pve #1 SMP PREEMPT_DYNAMIC PMX 6.8.12-6 (2024-12-19T19:05Z) x86_64
Server Software:
nginx/1.18.0
PHP Version:
8.1.31
Buat File
|
Buat Folder
Eksekusi
Dir :
~
/
var
/
www
/
invoice
/
node_modules
/
webpack
/
lib
/
View File Name :
ExtendedAPIPlugin.js
/* MIT License http://www.opensource.org/licenses/mit-license.php Author Tobias Koppers @sokra */ "use strict"; const Template = require("./Template"); const ConstDependency = require("./dependencies/ConstDependency"); const ParserHelpers = require("./ParserHelpers"); const NullFactory = require("./NullFactory"); const REPLACEMENTS = { // eslint-disable-next-line camelcase __webpack_hash__: "__webpack_require__.h", // eslint-disable-next-line camelcase __webpack_chunkname__: "__webpack_require__.cn" }; const REPLACEMENT_TYPES = { // eslint-disable-next-line camelcase __webpack_hash__: "string", // eslint-disable-next-line camelcase __webpack_chunkname__: "string" }; class ExtendedAPIPlugin { apply(compiler) { compiler.hooks.compilation.tap( "ExtendedAPIPlugin", (compilation, { normalModuleFactory }) => { compilation.dependencyFactories.set(ConstDependency, new NullFactory()); compilation.dependencyTemplates.set( ConstDependency, new ConstDependency.Template() ); const mainTemplate = compilation.mainTemplate; mainTemplate.hooks.requireExtensions.tap( "ExtendedAPIPlugin", (source, chunk, hash) => { const buf = [source]; buf.push(""); buf.push("// __webpack_hash__"); buf.push(`${mainTemplate.requireFn}.h = ${JSON.stringify(hash)};`); buf.push(""); buf.push("// __webpack_chunkname__"); buf.push( `${mainTemplate.requireFn}.cn = ${JSON.stringify(chunk.name)};` ); return Template.asString(buf); } ); mainTemplate.hooks.globalHash.tap("ExtendedAPIPlugin", () => true); const handler = (parser, parserOptions) => { Object.keys(REPLACEMENTS).forEach(key => { parser.hooks.expression .for(key) .tap( "ExtendedAPIPlugin", ParserHelpers.toConstantDependencyWithWebpackRequire( parser, REPLACEMENTS[key] ) ); parser.hooks.evaluateTypeof .for(key) .tap( "ExtendedAPIPlugin", ParserHelpers.evaluateToString(REPLACEMENT_TYPES[key]) ); }); }; normalModuleFactory.hooks.parser .for("javascript/auto") .tap("ExtendedAPIPlugin", handler); normalModuleFactory.hooks.parser .for("javascript/dynamic") .tap("ExtendedAPIPlugin", handler); normalModuleFactory.hooks.parser .for("javascript/esm") .tap("ExtendedAPIPlugin", handler); } ); } } module.exports = ExtendedAPIPlugin;