123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384 |
- "use strict";
- var _require = require("safe-buffer");
- var Buffer = _require.Buffer;
- var fs = require("fs");
- var mkdirSync = require("mkdirp").sync;
- var MAX_BUFFER = 2048;
- function copyBodySync(src, dst) {
- var buffer = Buffer.allocUnsafe(MAX_BUFFER);
- var bytesRead = MAX_BUFFER;
- var pos = 0;
- var input = fs.openSync(src, "r");
- try {
- var output = fs.openSync(dst, "w");
- try {
- while (MAX_BUFFER === bytesRead) {
- bytesRead = fs.readSync(input, buffer, 0, MAX_BUFFER, pos);
- fs.writeSync(output, buffer, 0, bytesRead);
- pos += bytesRead;
- }
- } finally {
- fs.closeSync(output);
- }
- } finally {
- fs.closeSync(input);
- }
- }
- module.exports = function copySync(src, dst, _ref) {
- var preserve = _ref.preserve;
- var update = _ref.update;
- var stat = fs.statSync(src);
- if (update) {
- try {
- var dstStat = fs.statSync(dst);
- if (dstStat.mtime.getTime() > stat.mtime.getTime()) {
-
-
- return;
- }
- } catch (_err) {
-
- }
- }
- if (stat.isDirectory()) {
- mkdirSync(dst);
- } else {
- copyBodySync(src, dst);
- }
- fs.chmodSync(dst, stat.mode);
- if (preserve) {
- fs.chownSync(dst, stat.uid, stat.gid);
- fs.utimesSync(dst, stat.atime, stat.mtime);
- }
- };
|