Spaces:
Sleeping
Sleeping
File size: 3,664 Bytes
fea495a | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 | import { getAppLoader } from '../entries';
import { spans as webpackCompilationSpans } from './plugins/profiling-plugin';
import { compilationSpans as rspackCompilationSpans } from './plugins/rspack-profiling-plugin';
export function traverseModules(compilation, callback, filterChunkGroup) {
compilation.chunkGroups.forEach((chunkGroup)=>{
if (filterChunkGroup && !filterChunkGroup(chunkGroup)) {
return;
}
chunkGroup.chunks.forEach((chunk)=>{
const chunkModules = compilation.chunkGraph.getChunkModulesIterable(chunk);
for (const mod of chunkModules){
var _compilation_chunkGraph_getModuleId;
const modId = (_compilation_chunkGraph_getModuleId = compilation.chunkGraph.getModuleId(mod)) == null ? void 0 : _compilation_chunkGraph_getModuleId.toString();
if (modId) callback(mod, chunk, chunkGroup, modId);
const anyModule = mod;
if (anyModule.modules) {
for (const subMod of anyModule.modules)if (modId) callback(subMod, chunk, chunkGroup, modId);
}
}
});
});
}
// Loop over all the entry modules.
export function forEachEntryModule(compilation, callback) {
for (const [name, entry] of compilation.entries.entries()){
var _entry_dependencies;
// Skip for entries under pages/
if (name.startsWith('pages/')) {
continue;
}
// Check if the page entry is a server component or not.
const entryDependency = (_entry_dependencies = entry.dependencies) == null ? void 0 : _entry_dependencies[0];
// Ensure only next-app-loader entries are handled.
if (!entryDependency || !entryDependency.request) continue;
const request = entryDependency.request;
if (!request.startsWith('next-edge-ssr-loader?') && !request.startsWith('next-edge-app-route-loader?') && !request.startsWith(`${getAppLoader()}?`)) continue;
let entryModule = compilation.moduleGraph.getResolvedModule(entryDependency);
if (request.startsWith('next-edge-ssr-loader?') || request.startsWith('next-edge-app-route-loader?')) {
entryModule.dependencies.forEach((dependency)=>{
const modRequest = dependency.request;
if (modRequest == null ? void 0 : modRequest.includes(getAppLoader())) {
entryModule = compilation.moduleGraph.getResolvedModule(dependency);
}
});
}
callback({
name,
entryModule
});
}
}
export function formatBarrelOptimizedResource(resource, matchResource) {
return `${resource}@${matchResource}`;
}
export function getModuleReferencesInOrder(module, moduleGraph) {
if ('getOutgoingConnectionsInOrder' in moduleGraph && typeof moduleGraph.getOutgoingConnectionsInOrder === 'function') {
return moduleGraph.getOutgoingConnectionsInOrder(module);
}
const connections = [];
for (const connection of moduleGraph.getOutgoingConnections(module)){
if (connection.dependency && connection.module) {
connections.push({
connection,
index: moduleGraph.getParentBlockIndex(connection.dependency)
});
}
}
connections.sort((a, b)=>a.index - b.index);
return connections.map((c)=>c.connection);
}
export function getCompilationSpan(compilation) {
const compilationSpans = process.env.NEXT_RSPACK ? rspackCompilationSpans : webpackCompilationSpans;
return compilationSpans.get(compilation);
}
//# sourceMappingURL=utils.js.map |