omnitool_on_hf / setup /3rdparties-script.js
manu-sapiens's picture
copy of omnitool_latest - should be working
b39afbe
raw
history blame
1.37 kB
const { spawn } = require('child_process');
const fs = require('fs');
const fsPromises = fs.promises;
// Check if .fossa.yml exists
if (!fs.existsSync('.fossa.yml')) {
console.warn('.fossa.yml does not exist!');
}
// Function to execute a command and stream the output
function execute(command, args) {
return new Promise((resolve, reject) => {
const proc = spawn(command, args, { stdio: [process.stdin, process.stdout, process.stderr] });
proc.on('close', (code) => {
if (code !== 0) {
reject(new Error(`${command} exited with code ${code}`));
} else {
resolve();
}
});
});
}
// Run fossa analyze
execute('fossa', ['analyze'])
.then(() => {
// Run fossa report and redirect output to THIRD_PARTIES.md
return new Promise((resolve, reject) => {
console.log("Generating THIRD_PARTIES.md");
const report = spawn('fossa', ['report', 'attribution', '--format', 'markdown']);
const fileStream = fs.createWriteStream('THIRD_PARTIES.md');
report.stdout.pipe(fileStream);
report.on('close', (code) => {
if (code !== 0) {
reject(new Error(`fossa report exited with code ${code}`));
} else {
console.log('THIRD_PARTIES.md has been generated');
resolve();
}
});
});
})
.catch((error) => {
console.error(error);
});