MCPcopy Create free account
hub / github.com/DeusData/codebase-memory-mcp / validateExactTarMemberListing

Function validateExactTarMemberListing

pkg/npm/install.js:72–91  ·  view source on GitHub ↗
(listing, expectedNames)

Source from the content-addressed store, hash-verified

70}
71
72function validateExactTarMemberListing(listing, expectedNames) {
73 if (listing.includes('\0')) {
74 throw new Error('tar member listing contains a NUL byte');
75 }
76 const members = listing.split(/\r?\n/);
77 if (members[members.length - 1] === '') members.pop();
78 const expected = new Set(expectedNames);
79 const seen = new Set();
80 for (const member of members) {
81 if (!member || !expected.has(member) || seen.has(member)) {
82 throw new Error(`archive contains an unexpected or duplicate root member: ${JSON.stringify(member)}`);
83 }
84 seen.add(member);
85 }
86 if (members.length !== expectedNames.length || seen.size !== expected.size) {
87 throw new Error(
88 `archive must contain exactly these root files: ${expectedNames.join(', ')}`,
89 );
90 }
91}
92
93function extractExactTarArchive(
94 archivePath, destPath, expectedNames, targetName, runFile = execFileSync,

Callers 2

extractExactTarArchiveFunction · 0.85

Calls

no outgoing calls

Tested by

no test coverage detected