{"_id":"@timsuchanek/copy","_rev":"1-e6e6ec84b98b1d8303939e60d128fd05","name":"@timsuchanek/copy","dist-tags":{"latest":"1.4.5"},"versions":{"1.4.5":{"name":"@timsuchanek/copy","version":"1.4.5","description":"Copy files via Node or command-line!","main":"index.js","scripts":{"preversion":"npm test","postversion":"git push --tags && git push","coveralls":"nyc report --reporter=text-lcov | coveralls","test":"npm run lint && nyc ava","lint":"eslint *.js","lint-fix":"eslint *.js --fix","test-watch":"ava --watch"},"keywords":["cp","copy","data","file","files","fs"],"bin":{"node-copy":"cli.js"},"author":{"name":"apexearth@gmail.com"},"license":"ISC","repository":{"type":"git","url":"git+ssh://git@github.com/apexearth/copy.git"},"bugs":{"url":"https://github.com/apexearth/copy/issues"},"homepage":"https://github.com/apexearth/copy#readme","dependencies":{"@timsuchanek/sleep-promise":"^8.0.1","commander":"^2.19.0","mkdirp":"^1.0.4","prettysize":"^2.0.0"},"publishConfig":{"access":"public"},"devDependencies":{"ava":"^3.6.0","coveralls":"^3.0.3","dir-compare":"^1.7.2","eslint":"^5.15.0","esm":"^3.2.25","nyc":"^14.1.1","rimraf":"^2.6.3"},"ava":{"require":["esm"]},"gitHead":"557fa19d225cedaab32f68c69ed8b6d4d001a10f","_id":"@timsuchanek/copy@1.4.5","_nodeVersion":"12.18.3","_npmVersion":"6.14.6","dist":{"integrity":"sha512-N4+2/DvfwzQqHYL/scq07fv8yXbZc6RyUxKJoE8Clm14JpLOf9yNI4VB4D6RsV3h9zgzZ4loJUydHKM7pp3blw==","shasum":"8e9658c056e24e1928a88bed45f9eac6a72b7c40","tarball":"https://registry.npmjs.org/@timsuchanek/copy/-/copy-1.4.5.tgz","fileCount":4,"unpackedSize":14991,"npm-signature":"-----BEGIN PGP SIGNATURE-----\r\nVersion: OpenPGP.js v3.0.4\r\nComment: https://openpgpjs.org\r\n\r\nwsFcBAEBCAAQBQJfW557CRA9TVsSAnZWagAALoIP/i80xGpPafc8C1PtSnSz\nWRpstUrEmQ0IaL2NH/HkJkwoSYSOlgboIEQvVK1PflXjwi22Gw4s3u36aEDo\nS4H2kWEwgsw9BZWqZ7yr2LlW8ECchyRqOFRGSZP9tmCTlVCDlH2k8NNOVTxn\nnLJtFtidNylIXB5NELiE+UtaZieNwp88YZeNcTwTNjdOIU6rmaci+3PU16Q8\nk7CmZmAv2By8de7kkpZLmc2sLIgSzU/tKZCXwMkgssO35Nrh/cNqTn6DzGpV\ngXrjEMnVGX65vab6LiEGGIj8bPxUYQkZs6eTh87f4oyuCGhe1sOnGxRiGwUr\nlaQrMpkY8kzlEs6nd0IaZnirP2nPyF0uGkoWPf5Km8xtPSUFPG3UA+xV4Wuf\n7RWJZrhNVMGU66hhB1qEGBtlhjz4Ewe0CQ87e51XDzcsqBLpkr7iv/+SuRuP\n7QTjb4nzN0GpTCPaNoPwChVR/pFyqPkP93MCpxq+kodySU1aJL5d0P7iHpr0\nHjJZaVq7BEBRqIkXfdxAQ9n3uSVaQ3EmF/+iEGFtf67B9EAxGKKqnu2yelY4\nRKfH0MctSFIkz3080bUs/xYFtMUY713VJQwozJODBVVvPZLo6WI14tjuvQvp\nxSXIW+wRHJ/QhKEw1Ki7rQc64qZRuN0t8jr2CeOhPEGcJwUNcHijW/eHKYl+\n1Ezh\r\n=vxbO\r\n-----END PGP SIGNATURE-----\r\n","signatures":[{"keyid":"SHA256:jl3bwswu80PjjokCgh0o2w5c2U4LhQAE57gj9cz1kzA","sig":"MEUCIQDsjHYEGgGq9Oco+ibsXwoM0lrSkG3hllkHQyKOSwaHuwIgP3Hn5LDM+KrafqUuLyqHKnRkyarGO0kDF+kXPvLLNrs="}]},"maintainers":[{"name":"timsuchanek","email":"tim.suchanek@gmail.com"}],"_npmUser":{"name":"timsuchanek","email":"tim.suchanek@gmail.com"},"directories":{},"_npmOperationalInternal":{"host":"s3://npm-registry-packages","tmp":"tmp/copy_1.4.5_1599839866745_0.1505493655482122"},"_hasShrinkwrap":false}},"time":{"created":"2020-09-11T15:57:46.707Z","1.4.5":"2020-09-11T15:57:46.832Z","modified":"2022-04-07T06:34:22.070Z"},"maintainers":[{"name":"timsuchanek","email":"tim.suchanek@gmail.com"}],"description":"Copy files via Node or command-line!","homepage":"https://github.com/apexearth/copy#readme","keywords":["cp","copy","data","file","files","fs"],"repository":{"type":"git","url":"git+ssh://git@github.com/apexearth/copy.git"},"author":{"name":"apexearth@gmail.com"},"bugs":{"url":"https://github.com/apexearth/copy/issues"},"license":"ISC","readme":"# @apexearth/copy\n\n![npm (scoped)](https://img.shields.io/npm/v/@apexearth/copy.svg)\n[![Travis Status](https://travis-ci.org/apexearth/copy.svg?branch=master)](https://coveralls.io/github/apexearth/copy?branch=master)\n[![Coverage Status](https://coveralls.io/repos/github/apexearth/copy/badge.svg?branch=master)](https://coveralls.io/github/apexearth/copy?branch=master)\n![NPM Downloads](https://img.shields.io/npm/dw/@apexearth/copy.svg?style=flat)\n[![install size](https://packagephobia.now.sh/badge?p=@apexearth/copy)](https://packagephobia.now.sh/result?p=@apexearth/copy)\n![License](https://img.shields.io/npm/l/@apexearth/copy.svg?style=flat)\n\nCopy files via command line or Node.js.\n\n## Why?\n\n- Resume ability via state saving allows you to copy hundreds of thousands of files without having to start over.\n- Parallel transfers can increase speed of transferring smaller files over network connections such as Samba.\n- Because sometimes you need to copy **a lot of** stuff!\n\n## Installation\n\n### Node.js Usage\n\n    $ npm i @apexearth/copy\n    \n### Command Line Usage\n\n    $ npm i @apexearth/copy -g\n    \n## Usage\n\n### Node.js Usage\n\n```javascript\nconst copy = require('@apexearth/copy')\ncopy({\n    from,                // Source copy path.\n    to,                  // Destination copy path.\n    recursive,           // Copy recursively.\n    overwrite,           // Overwrite existing file\n    overwriteMismatches, // Overwrite if size mismatch or from modified date is more recent.\n    verbose,             // Verbose output.\n    json,                // JSON output. (options: true, \"pretty\")\n    ignoreErrors,        // Continue on errors.\n    parallelJobs,        // Number of possible concurrent jobs.\n    state,               // Save state for resume ability.\n    stateFrequency,      // Save state frequency.\n    copyFile,            // Supply your own copyFile function. (from, to, cb)\n    readdir,             // Supply your own readdir function. (path, cb)\n    stat,                // Supply your own stat function. (path, cb)\n})\n    .then(() => console.log('done'))\n    .catch(err => console.error(err))\n```\n\n### Command Line Usage\n\n```\nUsage: node-copy [options] <from> <to>\n\nOptions:\n  -V, --version               output the version number\n  -r, --recursive             Copy recursively.\n  -o, --overwrite             Overwrite existing.\n  --overwrite-mismatches      Overwrite if size mismatch or from modified date is more recent.\n  -v, --verbose               Verbose output.\n  -j, --json <format>         JSON output. (options: true, pretty)\n  -e, --ignore-errors         Ignore errors.\n  -p, --parallel-jobs <n>     Number of possible concurrent jobs. (default: 1)\n  -s, --state <file>          Save state to file for resume ability.\n  --state-frequency <n>       Save state frequency. (In <n> files saved.) (default: 100)\n  -a, --archive <state-file>  Attempt to copy as much as possible using options `-mervs <state-file> -p 4` with restart capabilities.\n  -h, --help                  output usage information\n```\n","readmeFilename":"README.md"}