@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
24 lines • 1.17 kB
JavaScript
import fs from "fs";
import path from "path";
import rimraf from "rimraf";
import { getImageFileName } from "../../utils/getImageFileName.js";
export function getReleaseDirCreationTask({ packagesToBuildProps }) {
return {
title: `Create release directories`,
task: ctx => createReleaseDirs({ ctx, packagesToBuildProps })
};
}
function createReleaseDirs({ ctx, packagesToBuildProps }) {
for (const { variant, manifest: { name, version }, releaseDir, architectures } of packagesToBuildProps) {
console.log(`Creating release directory for ${name} (version ${version}) at ${releaseDir}`);
fs.mkdirSync(releaseDir, { recursive: true }); // Ok on existing dir
const releaseFiles = fs.readdirSync(releaseDir);
ctx[name] = { variant, releaseDir };
const imagePaths = architectures.map(arch => getImageFileName(name, version, arch));
// Clean all files except the expected target images
for (const filepath of releaseFiles)
if (!imagePaths.includes(filepath))
rimraf.sync(path.join(releaseDir, filepath));
}
}
//# sourceMappingURL=getReleaseDirCreationTask.js.map