copy-and-watch
Advanced tools
Comparing version
25
index.js
@@ -39,4 +39,10 @@ /* IMPORTS */ | ||
}; | ||
const createDirIfNotExist = dir => { | ||
if (!fs.existsSync(dir)) { | ||
fs.mkdirSync(dir); | ||
} | ||
}; | ||
const copy = from => { | ||
const to = findTarget(from); | ||
createDirIfNotExist(path.dirname(to)); | ||
fs.writeFileSync(to, fs.readFileSync(from)); | ||
@@ -50,12 +56,23 @@ console.log('[COPY]'.yellow, from, 'to'.yellow, to); | ||
}; | ||
const rimraf = dir => { | ||
if (fs.existsSync(dir)) { | ||
fs.readdirSync(dir).forEach(entry => { | ||
const entryPath = path.join(dir, entry); | ||
if (fs.lstatSync(entryPath).isDirectory()) { | ||
rimraf(entryPath); | ||
} else { | ||
fs.unlinkSync(entryPath); | ||
} | ||
}); | ||
fs.rmdirSync(dir); | ||
} | ||
}; | ||
// clean | ||
if (options.clean) { | ||
fs.rmdirSync(target) | ||
rimraf(target); | ||
} | ||
// initial copy | ||
if (!fs.existsSync(target)) { | ||
fs.mkdirSync(target); | ||
} | ||
createDirIfNotExist(target); | ||
sources.forEach(s => glob.sync(s).forEach(copy)); | ||
@@ -62,0 +79,0 @@ |
{ | ||
"name": "copy-and-watch", | ||
"version": "0.0.6", | ||
"version": "0.0.7", | ||
"description": "Synchronize files or folders locally, with a watch option", | ||
@@ -5,0 +5,0 @@ "main": "index.js", |
9127
5.03%80
26.98%