MCPcopy Create free account
hub / github.com/adobe/react-spectrum / load

Function load

packages/dev/parcel-packager-ssg/SSGPackager.js:54–216  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

52
53 let assets = new Map(await queue.run());
54 let load = id => {
55 const cachedModule = moduleCache.get(id);
56 if (cachedModule) {
57 return cachedModule.exports;
58 }
59
60 let [asset, code] = assets.get(id);
61 let moduleFunction = vm.compileFunction(
62 code,
63 ['exports', 'require', 'module', '__dirname', '__filename', 'parcelRequire'],
64 {
65 filename: asset.filePath
66 }
67 );
68
69 let deps = new Map();
70 for (let dep of bundleGraph.getDependencies(asset)) {
71 if (bundleGraph.isDependencySkipped(dep)) {
72 deps.set(getSpecifier(dep), {skipped: true});
73 continue;
74 }
75
76 let entryBundle = bundleGraph.getReferencedBundle(dep, bundle);
77 if (entryBundle?.bundleBehavior === 'inline') {
78 deps.set(getSpecifier(dep), {id: entryBundle.id});
79 continue;
80 }
81
82 let resolved = bundleGraph.getResolvedAsset(dep, bundle);
83 if (resolved) {
84 if (resolved.type !== 'js') {
85 deps.set(getSpecifier(dep), {skipped: true});
86 } else {
87 let resolution = {id: resolved.id};
88
89 // Dependencies may be re-targeted to follow re-exports.
90 for (let [name, sym] of dep.symbols) {
91 let rewritten = sym.meta?.rewritten;
92 /* eslint-disable max-depth */
93 if (typeof rewritten === 'string') {
94 if (Array.isArray(resolution)) {
95 resolution.push([rewritten, resolved.id, name]);
96 } else {
97 resolution = [[rewritten, resolved.id, name]];
98 }
99 }
100 }
101
102 let specifier = getSpecifier(dep);
103 let cur = deps.get(specifier);
104 if (Array.isArray(cur) && Array.isArray(resolution)) {
105 cur.push(...resolution);
106 } else {
107 deps.set(specifier, resolution);
108 }
109 }
110 } else {
111 deps.set(getSpecifier(dep), {specifier: dep.specifier});

Callers 2

requireFunction · 0.70
packageFunction · 0.70

Calls 3

getSpecifierFunction · 0.85
pushMethod · 0.80
setMethod · 0.45

Tested by

no test coverage detected