UNPKG

@dappnode/dappnodesdk

Version:

dappnodesdk is a tool to make the creation of new dappnode packages as simple as possible. It helps to initialize and publish in ethereum blockchain

42 lines 1.56 kB
import fs from "fs"; import path from "path"; import { stringifyJson } from "../files/index.js"; import { ManifestFormat } from "../files/manifest/types.js"; export const releasesRecordFileName = "releases.json"; function readReleaseRecords(dir) { const releaseRecordPath = path.join(dir, releasesRecordFileName); return fs.existsSync(releaseRecordPath) ? JSON.parse(fs.readFileSync(releaseRecordPath, "utf8")) : {}; } function readReleaseRecord(dir, version) { const releaseRecord = readReleaseRecords(dir); return releaseRecord[version] || {}; } function writeReleaseRecord(dir, version, newReleaseRecord) { const releaseRecordPath = path.join(dir, releasesRecordFileName); const releaseRecord = readReleaseRecords(dir); const mergedReleaseRecord = { ...releaseRecord, [version]: { ...releaseRecord[version], ...newReleaseRecord } }; fs.writeFileSync(releaseRecordPath, stringifyJson(mergedReleaseRecord, ManifestFormat.json)); } export function addReleaseRecord({ dir, version, hash, to }) { const releaseRecord = readReleaseRecord(dir, version); const { uploadedTo = {}, hash: previousHash } = releaseRecord; writeReleaseRecord(dir, version, { hash, uploadedTo: { ...(hash === previousHash ? uploadedTo : {}), [to]: new Date().toUTCString() } }); } export function addReleaseTx({ dir, version, link }) { writeReleaseRecord(dir, version, { link }); } //# sourceMappingURL=releaseRecord.js.map