quick-js-cli
Version:
A CLI that can develop JS faster.
31 lines (25 loc) • 812 B
JavaScript
const path = require('path')
const fs = require('fs-extra')
function deleteRemovedFiles (dir, files, previousFiles) {
const filesToDelete = Object.keys(previousFiles)
.filter(filename => !files[filename])
return Promise.all(filesToDelete.map(filename => {
return fs.unlink(path.join(dir, filename))
}))
}
exports.writeFileTree = async (dir, files, previousFiles) => {
if (previousFiles) {
await deleteRemovedFiles(dir, files, previousFiles)
}
Object.keys(files).forEach(name => {
const filePath = path.join(dir, name)
fs.ensureDirSync(path.dirname(filePath))
fs.writeFileSync(filePath, files[name])
})
}
exports.writeCatalogTree = (dir, catalogs) => {
catalogs.forEach(catalog => {
const filePath = path.join(dir, catalog)
fs.ensureDirSync(filePath)
})
}