UNPKG

fully-react

Version:
48 lines (46 loc) 1.17 kB
// src/server/webpack.ts function dynamicImport(chunk) { return import( /* @vite-ignore */ chunk ); } function setupWebpackEnv(load = dynamicImport) { const globalEnv = globalThis; globalEnv.moduleCache = globalEnv.moduleCache ?? /* @__PURE__ */ new Map(); globalEnv.__webpack_chunk_load__ = async (chunk) => { console.log("Loading chunk", chunk); globalEnv.moduleCache.set(chunk, await load(chunk)); }; globalEnv.__webpack_require__ = (id) => { console.log("Requiring chunk", id); if (!globalEnv.moduleCache.has(id)) throw new Error(`Module ${id} not found`); return globalEnv.moduleCache.get(id); }; globalEnv.__webpack_chunk_get__ = async (id) => { if (!globalEnv.moduleCache.has(id)) return await load(id); return globalEnv.moduleCache.get(id); }; return { load }; } function createModuleMapProxy(resolve = (id) => id) { return new Proxy( {}, { get(_, prop) { const [id, name] = String(prop).split("#", 2); return { id, chunks: [resolve(id)], name }; } } ); } export { setupWebpackEnv, createModuleMapProxy };