MCPcopy Index your code
hub / github.com/darkreader/darkreader / createHashes

Function createHashes

tasks/bundle-signature.js:131–164  ·  view source on GitHub ↗
(signatureVersion, version, order, manifest)

Source from the content-addressed store, hash-verified

129}
130
131async function createHashes(signatureVersion, version, order, manifest) {
132 const types = hashTypes(signatureVersion);
133 const destDir = getDestDir({debug: false, platform: 'firefox'});
134 /** @type {Array<{archivePath: string; realPath?: string; isOptional?: boolean; integrity?: any}>} */
135 const regular = [
136 await fixManifest(manifest?.indent || 2, manifest?.settings),
137 ...(await enumerateStandardPaths(destDir, order)),
138 ];
139 regular.push({
140 realPath: `./integrity/firefox/${version}/mozilla-recommendation.json`,
141 archivePath: 'mozilla-recommendation.json',
142 isOptional: true,
143 });
144 await calculateHashes(types, regular);
145
146 const coseManifest = serializeHashManifest(regular);
147 if (await fileExists(`./integrity/firefox/${version}/cose.sig`)) {
148 await writeFile(`${destDir}/META-INF/cose.manifest`, coseManifest);
149 regular.push({
150 archivePath: 'META-INF/cose.manifest',
151 integrity: calculateHashForData(types, coseManifest),
152 });
153 regular.push({
154 archivePath: 'META-INF/cose.sig',
155 integrity: await calculateHashesForFile(types, `./integrity/firefox/${version}/cose.sig`),
156 });
157 }
158
159 const manifestMf = serializeHashManifest(regular);
160 await writeFile(`${destDir}/META-INF/manifest.mf`, manifestMf);
161
162 const mozillaSf = serializeSfManifest(types, manifestMf);
163 await writeFile(`${destDir}/META-INF/mozilla.sf`, mozillaSf);
164}
165
166/**
167 * This utility function is written with readability in mind

Callers 1

signatureFunction · 0.85

Calls 11

getDestDirFunction · 0.90
fileExistsFunction · 0.90
writeFileFunction · 0.90
hashTypesFunction · 0.85
fixManifestFunction · 0.85
enumerateStandardPathsFunction · 0.85
calculateHashesFunction · 0.85
serializeHashManifestFunction · 0.85
calculateHashForDataFunction · 0.85
calculateHashesForFileFunction · 0.85
serializeSfManifestFunction · 0.85

Tested by

no test coverage detected