Socket
Socket
Sign inDemoInstall

ncp

Package Overview
Dependencies
0
Maintainers
2
Versions
24
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ncp

Asynchronous recursive file copy utility.


Version published
Weekly downloads
3.4M
increased by0.55%
Maintainers
2
Install size
18.4 kB
Created
Weekly downloads
 

Package description

What is ncp?

The ncp (node-copy-paste) npm package is a Node.js module that provides asynchronous recursive file copying with Node.js. It is often used for tasks such as copying entire directories, handling errors, and limiting the number of concurrent file transfers.

What are ncp's main functionalities?

Asynchronous Recursive File & Directory Copying

This feature allows you to copy files and directories from a source to a destination asynchronously. You can also set a limit on the number of concurrent copy actions.

const ncp = require('ncp').ncp;

ncp.limit = 16;

ncp(source, destination, function (err) {
 if (err) {
   return console.error(err);
 }
 console.log('Copy operation complete!');
});

Error Handling

ncp provides a callback function that can be used to handle errors that occur during the copy process.

const ncp = require('ncp').ncp;

ncp(source, destination, function (err) {
 if (err) {
   console.error('Error during copy:', err);
 }
});

Filtering Files

ncp allows you to specify a filter for the copy operation, so only files that match the given regular expression will be copied.

const ncp = require('ncp').ncp;

ncp(source, destination, {
 filter: /\.(txt|html)$/i
}, function (err) {
 if (err) {
   return console.error(err);
 }
 console.log('Copy operation complete!');
});

Other packages similar to ncp

Readme

Source

ncp - Asynchronous recursive file & directory copying

Build Status

Think cp -r, but pure node, and asynchronous. ncp can be used both as a CLI tool and programmatically.

Command Line usage

Usage is simple: ncp [source] [dest] [--limit=concurrency limit] [--filter=filter] --stopOnErr

The 'filter' is a Regular Expression - matched files will be copied.

The 'concurrency limit' is an integer that represents how many pending file system requests ncp has at a time.

'stoponerr' is a boolean flag that will tell ncp to stop immediately if any errors arise, rather than attempting to continue while logging errors. The default behavior is to complete as many copies as possible, logging errors along the way.

If there are no errors, ncp will output done. when complete. If there are errors, the error messages will be logged to stdout and to ./ncp-debug.log, and the copy operation will attempt to continue.

Programmatic usage

Programmatic usage of ncp is just as simple. The only argument to the completion callback is a possible error.

var ncp = require('ncp').ncp;

ncp.limit = 16;

ncp(source, destination, function (err) {
 if (err) {
   return console.error(err);
 }
 console.log('done!');
});

You can also call ncp like ncp(source, destination, options, callback). options should be a dictionary. Currently, such options are available:

  • options.filter - a RegExp instance, against which each file name is tested to determine whether to copy it or not, or a function taking single parameter: copied file name, returning true or false, determining whether to copy file or not.

  • options.transform - a function: function (read, write) { read.pipe(write) } used to apply streaming transforms while copying.

  • options.clobber - boolean=true. if set to false, ncp will not overwrite destination files that already exist.

  • options.dereference - boolean=false. If set to true, ncp will follow symbolic links. For example, a symlink in the source tree pointing to a regular file will become a regular file in the destination tree. Broken symlinks will result in errors.

  • options.stopOnErr - boolean=false. If set to true, ncp will behave like cp -r, and stop on the first error it encounters. By default, ncp continues copying, logging all errors and returning an array.

  • options.errs - stream. If options.stopOnErr is false, a stream can be provided, and errors will be written to this stream.

Please open an issue if any bugs arise. As always, I accept (working) pull requests, and refunds are available at /dev/null.

Keywords

FAQs

Last updated on 22 Feb 2015

Did you know?

Socket for GitHub automatically highlights issues in each pull request and monitors the health of all your open source dependencies. Discover the contents of your packages and block harmful activity before you install or update your dependencies.

Install

Related posts

SocketSocket SOC 2 Logo

Product

  • Package Alerts
  • Integrations
  • Docs
  • Pricing
  • FAQ
  • Roadmap

Stay in touch

Get open source security insights delivered straight into your inbox.


  • Terms
  • Privacy
  • Security

Made with ⚡️ by Socket Inc