MCPcopy Index your code
hub / github.com/nodejs/nodejs.org / collectDtsFiles

Function collectDtsFiles

apps/site/scripts/twoslash-fsmap/generate.mjs:20–37  ·  view source on GitHub ↗

* Recursively collects all `.d.ts` files from a directory into the fsMap. * * @param {Map } fsMap The map to populate * @param {string} dir The directory to walk * @param {string} virtualPrefix The virtual path prefix (e.g., "/node_modules/@types/node") * @param {string} baseDir

(fsMap, dir, virtualPrefix, baseDir)

Source from the content-addressed store, hash-verified

18 * @param {string} baseDir The base directory for computing relative paths
19 */
20function collectDtsFiles(fsMap, dir, virtualPrefix, baseDir) {
21 const entries = readdirSync(dir, { withFileTypes: true }).sort((a, b) =>
22 a.name.localeCompare(b.name)
23 );
24
25 for (const entry of entries) {
26 const fullPath = join(dir, entry.name);
27
28 if (entry.isDirectory()) {
29 collectDtsFiles(fsMap, fullPath, virtualPrefix, baseDir);
30 } else if (entry.isFile() && /\.d\.([^.]+\.)?[cm]?ts$/i.test(entry.name)) {
31 const relativePath = fullPath.slice(baseDir.length).replace(/\\/g, '/');
32 const virtualPath = `${virtualPrefix}${relativePath}`;
33
34 fsMap.set(virtualPath, readFileSync(fullPath, 'utf8'));
35 }
36 }
37}
38
39/**
40 * Generates a virtual filesystem map containing all TypeScript library

Callers 1

generateTwoslashFsMapFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected