Nth Permutation Mathematics
    Wondering what’s next for npm?Check out our public roadmap! »

    grunt-ftpscript

    0.1.7 • Public • Published

    grunt-ftpscript Build Status Dependency Status NPM version

    Upload files to FTP Server, Active or Passive mode, base ftp command.

    Getting Started

    This plugin requires Grunt ~0.4.1

    If you haven't used Grunt before, be sure to check out the Getting Started guide, as it explains how to create a Gruntfile as well as install and use Grunt plugins. Once you're familiar with that process, you may install this plugin with this command:

    npm install grunt-ftpscript --save-dev

    Once the plugin has been installed, it may be enabled inside your Gruntfile with this line of JavaScript:

    grunt.loadNpmTasks('grunt-ftpscript');

    Use matchdep load npm tasks is good idea.

    require('matchdep').filterDev('grunt-*').forEach(grunt.loadNpmTasks);

    The "ftpscript" task

    Overview

    In your project's Gruntfile, add a section named ftpscript to the data object passed into grunt.initConfig().

    grunt.initConfig({
      ftpscript: {
        upload: {
          options: {
            host: 'ftp.server.host'
          },
          files: [
            { src: 'src/localfile', dest: '/remotefile' },
            {
              expand: true,
              cwd: 'dest',
              src: [
                '**/*.js',
                '!**/exclude.js'
              ],
              dest: '/remotefolder/'
            }
          ]
        }
      },
    })

    Username and password are stored as a JSON object in a file named .ftppass, This file should be located in the same folder as your Gruntfile. like grunt-ftp-deploy.

    {
      "ftp.server.host": {
        "username": "username1",
        "password": "password1"
      },
      "authKey":{
        "username": "username2",
        "password": "password2"
      }
    }

    Options

    options.host

    Type: String Default value: 'localhost'

    Ftp Server host address.

    options.port

    Type: Number Default value: 21

    Ftp Server port.

    options.authKey

    Type: String Default value: same as options.host

    Key in the .ftppass.

    options.passive

    Type: Boolean Default value: false

    Use passive mode.

    options.type

    Type: String Default value: undefined

    ascii or binary or auto detect with mime type.

    options.dryrun

    Type: Boolean Default value: false

    Dry run, display ftp script, connect to Ftp Server, skip upload, send ls command, and quit.

    options.ftpCommand

    Type: String Default value: 'ftp'

    Ftp command path, if it dos not in system PATH.

    options.encoding

    Type: String Default value: 'utf-8'

    The encoding of send to Server stream.

    options.ftpEncoding

    Type: String Default value: 'utf-8'

    The encoding of recive from Server stream.

    options.mkdirs

    Type: Boolean Default value: true

    Execute mkdir /remote/folder command.

    Usage Examples

    In Gruntfile.js

    grunt.initConfig({
      ftpscript: {
        main: {
          options: {
            host: 'localhost'
            , port: 2121
            , passive: true
            // , type: 'ascii'
            // , mkdirs: false
            // , dryrun: true
            // , ftpCommand: 'ftp'
            // , encoding: 'utf-8'
            // , ftpEncoding: 'utf-8'
          },
          files: [
            {
              expand: true,
              cwd: 'test',
              src: ['**/*.js', '!**/exclude.js', '!**/sub.js' , '!footer.js'],
              dest: '/js/'
            },
            {
              expand: true,
              cwd: 'test',
              src: ['nav_*', '!nav_test.html'],
              dest: '/app/'
            },
            {
              src: ['test/footer.js'],
              dest: '/foo/footer.js'
            }
          ]
        }
      }
    });

    Use dry run command parameters.

    > grunt ftpscript:main:dry
    Running "ftpscript:main:dry" (ftpscript) task
    
    Dry-run mode, start display ftp script.
    open localhost 2121
    user testuser testpass
    type ascii
    prompt
    passive
    mkdir "/js"
    mkdir "/js/sub"
    mkdir "/app"
    mkdir "/foo"
    put "test/one.js" "/js/one.js"
    put "test/sub/one.js" "/js/sub/one.js"
    put "test/sub/three.js" "/js/sub/three.js"
    put "test/sub/two.js" "/js/sub/two.js"
    put "test/three.js" "/js/three.js"
    put "test/two.js" "/js/two.js"
    put "test/unit_test.js" "/js/unit_test.js"
    put "test/nav_one.html" "/app/nav_one.html"
    put "test/nav_two.html" "/app/nav_two.html"
    put "test/footer.js" "/foo/footer.js"
    quit
    
    End display ftp script.
    Connected to localhost.
    >> 220 Vhost server
    drwxr-xr-x   3 nobody   nobody       4096 Jul 18 06:58 app
    drwxr-xr-x   2 nobody   nobody       4096 Jul 17 09:54 foo
    drwxr-xr-x   3 nobody   nobody       4096 Jul 17 09:54 js
    226 Transfer complete
    >> 221 Goodbye.
    
    Done, without errors.
    

    Keywords

    none

    Install

    npm i grunt-ftpscript

    DownloadsWeekly Downloads

    377

    Version

    0.1.7

    License

    none

    Last publish

    Collaborators

    • avatar