umi-plugin-3-mako
Version:
## 安装
83 lines (81 loc) • 2.88 kB
JavaScript
var __defProp = Object.defineProperty;
var __getOwnPropDesc = Object.getOwnPropertyDescriptor;
var __getOwnPropNames = Object.getOwnPropertyNames;
var __hasOwnProp = Object.prototype.hasOwnProperty;
var __export = (target, all) => {
for (var name in all)
__defProp(target, name, { get: all[name], enumerable: true });
};
var __copyProps = (to, from, except, desc) => {
if (from && typeof from === "object" || typeof from === "function") {
for (let key of __getOwnPropNames(from))
if (!__hasOwnProp.call(to, key) && key !== except)
__defProp(to, key, { get: () => from[key], enumerable: !(desc = __getOwnPropDesc(from, key)) || desc.enumerable });
}
return to;
};
var __toCommonJS = (mod) => __copyProps(__defProp({}, "__esModule", { value: true }), mod);
// src/requireHook.ts
var requireHook_exports = {};
__export(requireHook_exports, {
files: () => files,
getFileName: () => getFileName,
init: () => init
});
module.exports = __toCommonJS(requireHook_exports);
var files = [
"webpack/lib/Chunk",
"webpack/lib/Compilation",
"webpack/lib/dependencies/ConstDependency",
"webpack/lib/javascript/JavascriptParserHelpers",
"webpack/lib/LibraryTemplatePlugin",
"webpack/lib/LoaderTargetPlugin",
"webpack/lib/node/NodeTargetPlugin",
"webpack/lib/node/NodeTemplatePlugin",
"webpack/lib/ModuleFilenameHelpers",
"webpack/lib/NormalModule",
"webpack/lib/RequestShortener",
"webpack/lib/RuntimeGlobals",
"webpack/lib/RuntimeModule",
"webpack/lib/optimize/LimitChunkCountPlugin",
"webpack/lib/ParserHelpers",
"webpack/lib/SingleEntryPlugin",
"webpack/lib/Template",
"webpack/lib/webworker/WebWorkerTemplatePlugin"
];
function getFileName(filePath) {
return filePath.split("/").slice(-1)[0];
}
var inited = false;
function init() {
const skipRequireHookInit = process.env.INIT_REQUIRE_HOOK === "none";
if (skipRequireHookInit || inited)
return;
inited = true;
const filesMap = files.map((file) => {
const fileName = getFileName(file);
return [file, `@umijs/deps/compiled/webpack/${fileName}`];
});
const hookPropertyMap = new Map(
[
["webpack", "@umijs/deps/compiled/webpack"],
["webpack/package.json", "@umijs/deps/compiled/webpack/pkgInfo"],
...filesMap
// ['webpack-sources', '@umijs/deps/compiled/webpack/sources'],
].map(([request, replacement]) => [request, require.resolve(replacement)])
);
const mod = require("module");
const resolveFilename = mod._resolveFilename;
mod._resolveFilename = function(request, parent, isMain, options) {
const hookResolved = hookPropertyMap.get(request);
if (hookResolved)
request = hookResolved;
return resolveFilename.call(mod, request, parent, isMain, options);
};
}
// Annotate the CommonJS export names for ESM import in node:
0 && (module.exports = {
files,
getFileName,
init
});