From fc7fb91fbecd34dd89132936bf54fba862d2e7d1 Mon Sep 17 00:00:00 2001 From: Mikhail Kotelnikov Date: Thu, 3 Sep 2020 11:07:28 +0200 Subject: [PATCH] Update index.js Set cache as a parameter of the requireFrom method to share loaded libraries between all require methods. In the previous implementation the "alias" method creates a new "require" function with its own private cache object. This approach leads to creation of multiple copies of the same loaded libraries. --- src/index.js | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/index.js b/src/index.js index 006bdd3..a1ec56d 100644 --- a/src/index.js +++ b/src/index.js @@ -65,8 +65,8 @@ async function resolve(name, base) { export var require = requireFrom(resolve); -export function requireFrom(resolver) { - const cache = new Map; +export function requireFrom(resolver, cache) { + cache = cache || new Map; const requireBase = requireRelative(null); function requireAbsolute(url) { @@ -102,7 +102,7 @@ export function requireFrom(resolver) { if (typeof name !== "string") return name; } return resolver(name, base); - }); + }, cache); } function require(name) {