MCPcopy Create free account
hub / github.com/SAP/ui5-builder / rewriteAMDModules

Method rewriteAMDModules

lib/lbt/bundle/Builder.js:389–440  ·  view source on GitHub ↗
(sequence)

Source from the content-addressed store, hash-verified

387 }
388
389 async rewriteAMDModules(sequence) {
390 const outW = this.outW;
391
392 const remaining = [];
393 for ( const moduleName of sequence ) {
394 if ( /\.js$/.test(moduleName) ) {
395 const resource = await this.pool.findResourceWithInfo(moduleName);
396
397 if (resource.info?.requiresTopLevelScope && !this.allowStringBundling) {
398 this.logStringBundlingError(moduleName);
399 continue;
400 }
401
402 let moduleContent = (await resource.buffer()).toString();
403 moduleContent = removeHashbang(moduleContent);
404 let moduleSourceMap;
405 if (this.options.sourceMap) {
406 ({moduleContent, moduleSourceMap} =
407 await this.getSourceMapForModule({
408 moduleName,
409 moduleContent,
410 resourcePath: resource.getPath()
411 }));
412 }
413
414 const rewriteRes = await rewriteDefine({
415 moduleName, moduleContent, moduleSourceMap
416 });
417 if (rewriteRes) {
418 const {moduleContent, moduleSourceMap} = rewriteRes;
419 outW.startSegment(moduleName);
420 outW.ensureNewLine();
421 if (moduleSourceMap) {
422 this.addSourceMap(moduleName, moduleSourceMap);
423 }
424 outW.write(moduleContent);
425 outW.ensureNewLine();
426 const compressedSize = outW.endSegment();
427 log.verbose(
428 ` ${moduleName} (${resource.info != null ? resource.info.size : -1},${compressedSize})`);
429 } else {
430 // keep unprocessed modules
431 remaining.push(moduleName);
432 }
433 } else {
434 // keep unprocessed modules
435 remaining.push(moduleName);
436 }
437 }
438
439 Array.prototype.splice.apply(sequence, [0, sequence.length].concat(remaining));
440 }
441
442 /**
443 *

Callers 1

writePreloadFunctionMethod · 0.95

Calls 13

getSourceMapForModuleMethod · 0.95
addSourceMapMethod · 0.95
removeHashbangFunction · 0.90
rewriteDefineFunction · 0.85
findResourceWithInfoMethod · 0.80
getPathMethod · 0.80
startSegmentMethod · 0.80
ensureNewLineMethod · 0.80
writeMethod · 0.80
endSegmentMethod · 0.80
toStringMethod · 0.45

Tested by

no test coverage detected