io-actions/export_util.js
2025-07-29 16:11:19 -04:00

34 lines
875 B
JavaScript

import fs from 'fs'
export let totalBytesWritten = 0
// make a tiny DSL
export const
cleanDir = (dirName) => {
if(fs.existsSync(dirName)) {
fs.rmSync(dirName, { recursive: true, force: true })
}
fs.mkdirSync(dirName, { recursive: true, force: true })
console.log(`/${dirName}: clean`)
},
copyDir = (from, to) => {
fs.cpSync(from, to, { recursive: true })
console.log(`/${from}/* copied to /${to}/*`)
},
write = (filename, fileContents) => {
const
dirName = filename.split("/").slice(0, -1).join("/"),
bytesToWrite = fileContents.length/1000
// ensure dir is present before writing
if(!fs.existsSync(dirName)) {
fs.mkdirSync(dirName, { recursive: true })
}
fs.writeFileSync(filename, fileContents)
console.log(`/${filename} (${bytesToWrite}k)`)
totalBytesWritten += bytesToWrite
}