UNPKG

gorillajs

Version:

A smart development environment designed to easily install and neatly manage web applications. Gorilla JS frees you from the repetitive daily tasks like apps installation, database management, creation of virtual environment, server configuration… And it

40 lines (31 loc) • 882 B
var fs = require('graceful-fs') var BUF_LENGTH = 64 * 1024 var _buff = new Buffer(BUF_LENGTH) function copyFileSync (srcFile, destFile, options) { var clobber = options.clobber var preserveTimestamps = options.preserveTimestamps if (fs.existsSync(destFile)) { if (clobber) { fs.chmodSync(destFile, parseInt('777', 8)) fs.unlinkSync(destFile) } else { throw Error('EEXIST') } } var fdr = fs.openSync(srcFile, 'r') var stat = fs.fstatSync(fdr) var fdw = fs.openSync(destFile, 'w', stat.mode) var bytesRead = 1 var pos = 0 while (bytesRead > 0) { bytesRead = fs.readSync(fdr, _buff, 0, BUF_LENGTH, pos) fs.writeSync(fdw, _buff, 0, bytesRead) pos += bytesRead } if (preserveTimestamps) { fs.futimesSync(fdw, stat.atime, stat.mtime) } fs.closeSync(fdr) fs.closeSync(fdw) } module.exports = copyFileSync