Socket
Socket
Sign inDemoInstall

ftp-deploy-log

Package Overview
Dependencies
24
Maintainers
1
Versions
11
Alerts
File Explorer

Advanced tools

Install Socket

Detect and block malicious and high-risk dependencies

Install

    ftp-deploy-log

Ftp a folder from your local disk to an ftp destination. Does not delete from destination directory. Logs file modification dates to avoid uploading duplicate file. Derived from ftp-deploy which was derived from grunt-ftp-deploy


Version published
Weekly downloads
12
Maintainers
1
Install size
3.10 MB
Created
Weekly downloads
 

Changelog

Source

1.2.11

-modifiedlog file name is now based on config filename

Readme

Source

ftp-deploy-log

A Node.js package to help with deploying code. Ftp a folder from your local disk to a remote ftp destination. Does not delete from destination directory.

Installation

npm install ftp-deploy-log

(Need sftp? Check out sftp-upload)

Usage

I create a file - e.g. deploy.js - in the root of my source code and add a script to its package.json so that I can npm run deploy.

  "scripts": {
    "deploy": "node deploy"
  },

The most basic usage (stops uploading when an error occurs):

var FtpDeploy = require('ftp-deploy-log');
var ftpDeploy = new FtpDeploy();

var config = {
	username: "username",
	password: "password", // optional, prompted if none given
	host: "ftp.someserver.com",
	port: 21,
	localRoot: __dirname + "/local-folder",
	remoteRoot: "/public_html/remote-folder/",
	include: ['build/version.txt'],
	exclude: ['.git', '.idea', 'tmp/*', 'build/*'],
  useLog: true,  // set to false if you do not want to track file modified dates to ignore previously 			   // pushed versions of files
  staging: true //set to true if you want to push to the alternate env
}
	
ftpDeploy.deploy(config, function(err) {
	if (err) console.log(err)
	else console.log('finished');
});

To be notified of what ftpDeploy is doing:

ftpDeploy.on('uploading', function(data) {
    data.totalFileCount;       // total file count being transferred
    data.transferredFileCount; // number of files transferred
    data.percentComplete;      // percent as a number 1 - 100
    data.filename;             // partial path with filename being uploaded
});
ftpDeploy.on('uploaded', function(data) {
	console.log(data);         // same data as uploading event
});

To continue uploading files even if a file upload fails:

config.continueOnError = true;

ftpDeploy.deploy(config, function(err) {
	if (err) console.log(err) // error authenticating or creating/traversing directory
	else console.log('finished');
});

ftpDeploy.on('upload-error', function (data) {
	console.log(data.err); // data will also include filename, relativePath, and other goodies
});

Testing

I use proftpd to create a simple ftp server at test/remote and then run the script at node ./test/test

License

MIT

Keywords

FAQs

Last updated on 24 May 2018

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