Naughty Platypus Memorabilia

    cnys

    1.0.0 • Public • Published

    cnys Build Statusdependencies StatusdevDependencies Status

    cnys main feature allow developers to synchronize files between remote server on change !, what it does:

    • ssh/sftp ! 🌐
    • Server hoping (netcat) 🔒
    • Copy/delete file/folder ! 👓
    • Queue / concurrency 🚋
    • Ready to use 🔥

    If something doesn’t work, please file an issue 🐛.

    Quick Start

    Install

    $ npm install or yarn install

    Then use it like this :

    const cnys = require('cnys');
     
    const config = {
      url: '192.168.30.2',
      source: 'sync',
      destination: '/home/user/sync',
      username: 'your_username',
      privateKey: true
    };
     
    cnys(config);

    Which is the same as :

    $ cnys remote 'sync' '192.168.30.2' '/home/user/sync'  --username 'your_username' --privateKey true

    Commands

    Start cnys on a local folder to a local destination :

    $ cyns local [source=<sourcePath>] [destination=<destinationpath>]
    Options Description aliases type default
    verbose Output action logs. --v boolean false
    debug Output debug logs. --d boolean false
    remove Enable delete file from destination. --rm boolean true
    ignored A glob, regex, function, or array of any combination. --i filePattern null
    events An array of event used as liteners. --e array Events
    $ cyns remote [source=<sourcePath>] [url=<urlString>] [destination=<destinationpath>]
    Options Description aliases type default
    verbose Output action logs. --v boolean false
    debug Output debug logs. --d boolean false
    concurrency Number of task that can be done in parallel. --c number 5
    remove Enable delete file from destination. --rm boolean true
    ignored A glob, regex, function, or array of any combination. --i filePattern null
    ncUrl A netcat url for ssh. (this is your destination). --nc string null
    username A username to connect for ssh. --u string null
    password A password to connect for ssh. --pwd string null
    privateKey Will look for your pka file under ~/.ssh. --ppk boolean false
    events An array of event used as liteners. --e array Events

    Events

    You may want to look at chokidar, to see what kind of events you could start watching, by default cnys use all events.

    Example of use :

    $ cnys local 'sync' 'sync2' --v true --ignored '.git*' '*.yml'

    The example above will start watching file on a folder name sync and copying file into folder sync2

    $ cnys remote 'sync' '192.168.30.2' '/home/user/sync'  --ncUrl '192.168.30.3' --username 'your_username' --privateKey true

    The example above will start watching file on a folder name sync and copying file to '192.168.30.3' at '/home/user/test'

    Test

    Use npm test to start testing your file. By default it read test file named *.test.js under /test.

    You can easily add your own config by editing package.json

    It also has a built-in coverage with npm run coverage

    Credits

    chokidar, a powerfull watcher

    Jest, a testing framework

    Thanks to Alexandre for the idea.

    Install

    npm i cnys

    DownloadsWeekly Downloads

    54

    Version

    1.0.0

    License

    MIT

    Unpacked Size

    43.5 kB

    Total Files

    34

    Last publish

    Collaborators

    • fabiengreard