ftpp
aka FTPPush
A command line utility with one purpose; to watch a directory of files and push changes to a ftp server.
- It does not sync.
- It does not download.
- It only uploads & deletes files from a FTP server.
Usage
npm i -g ftpp
- Run
ftpp init
in your project directory to create ayourProject.ftpp
file. - Run:
ftpp
- Or if you have multiple *.ftpp files
ftpp -c test
- where test == test.ftpp
*.ftpp files
This is just an ini file, using the excellent ini library.
The default.ftpp file. Just copy this to your project folder and edit as required.
; Un comment lines as required to overwrite defaults. ; ftp connection details. Passed through to `ftp.connect()` ; @see https://www.npmjs.com/package/ftp#methods for details [ftp]; host = your.ftp.host ; user = your-username ; password = some_super_secure_password ; ftpp connection settings [connectionSettings]parallel = 10connectionRetry = 3 [paths]; remote = /path/to/your/remote/directory/ ; base = cwd(); ; file, dir, glob, or array. Passed through to `chokidar.watch()` ; source = ./string/path/to/your/local/files/ ; source[] = or/use/an/array/values/ ; values passed through to the `chokidar.watch()` options value ; @see https://www.npmjs.com/package/chokidar#api for details [watchOptions]ignoreInitial = trueignored[] = ./node_modules/**/*ignored[] = ./.git/**/* [uploadOptions]; Default file permissions used on upload. defaultPermissions = 644
Why?
Its targeted towards local development. So you don't have to manually upload changes, or use a ftp client to "sync" changes. Sure some ftp clients can handle this, but using configuration files and a global command makes working with a remote (or local) dev server a breeze.