MCPcopy
hub / github.com/rollup/rollup / fetchDynamicDependencies

Method fetchDynamicDependencies

src/ModuleLoader.ts:363–397  ·  view source on GitHub ↗
(
		module: Module,
		resolveDynamicImportPromises: readonly ResolveDynamicDependencyPromise[]
	)

Source from the content-addressed store, hash-verified

361 }
362
363 private async fetchDynamicDependencies(
364 module: Module,
365 resolveDynamicImportPromises: readonly ResolveDynamicDependencyPromise[]
366 ): Promise<void> {
367 const dependencies = await Promise.all(
368 resolveDynamicImportPromises.map(resolveDynamicImportPromise =>
369 resolveDynamicImportPromise.then(async ([{ argument, node }, resolvedId]) => {
370 if (resolvedId === null) return null;
371 if (typeof resolvedId === 'string') {
372 node.resolution = resolvedId;
373 return null;
374 }
375 if (node.phase === 'source' && !resolvedId.external) {
376 return error(
377 logNonExternalSourcePhaseImport(
378 typeof argument === 'string' ? argument : relativeId(resolvedId.id),
379 module.id
380 )
381 );
382 }
383 return (node.resolution = await this.fetchResolvedDependency(
384 relativeId(resolvedId.id),
385 module.id,
386 resolvedId
387 ));
388 })
389 )
390 );
391 for (const dependency of dependencies) {
392 if (dependency) {
393 module.dynamicDependencies.add(dependency);
394 dependency.dynamicImporters.push(module.id);
395 }
396 }
397 }
398
399 // If this is a preload, then this method always waits for the dependencies of
400 // the module to be resolved.

Callers 1

Calls 6

errorFunction · 0.90
relativeIdFunction · 0.85
addMethod · 0.80
pushMethod · 0.80

Tested by

no test coverage detected