MCPcopy
hub / github.com/webpack/webpack / collectHtmlEntryRequests

Function collectHtmlEntryRequests

lib/html/HtmlModulesPlugin.js:49–73  ·  lib/html/HtmlModulesPlugin.js::collectHtmlEntryRequests
(name, entries)

Source from the content-addressed store, hash-verified

47 * @returns {string[]} deduped requests in load order
48 */
49const collectHtmlEntryRequests = (name, entries) => {
50 /** @type {string[]} */
51 const requests = [];
52 /** @type {Set<string>} */
53 const seenRequests = new Set();
54 /** @type {Set<string>} */
55 const visited = new Set();
56 const walk = (/** @type {string} */ entryName) => {
57 if (visited.has(entryName)) return;
58 visited.add(entryName);
59 const desc = entries[entryName];
60 if (!desc) return;
61 if (desc.dependOn) {
62 for (const dep of desc.dependOn) walk(dep);
63 }
64 if (!desc.import) return;
65 for (const request of desc.import) {
66 if (HTML_REQUEST_RE.test(request) || seenRequests.has(request)) continue;
67 seenRequests.add(request);
68 requests.push(request);
69 }
70 };
71 walk(name);
72 return requests;
73};
74
75/**
76 * @param {string} name definition name in `schemas/WebpackOptions.json`

Callers 1

applyMethod · 0.85

Calls 1

walkFunction · 0.70

Tested by

no test coverage detected