New Research: Supply Chain Attack on Axios Pulls Malicious Dependency from npm.Details →
Socket
Book a DemoSign in
Socket

deploy-kit

Package Overview
Dependencies
Maintainers
1
Versions
17
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

deploy-kit

A nice deployment tool supports ftp and sftp. Used directly or with built-in plugins, such as webpack-plugin.

latest
Source
npmnpm
Version
3.5.0
Version published
Maintainers
1
Created
Source

Deploy-kit

A nice deployment tool supports ftp and sftp. Used directly or with built-in plugins, such as webpack-plugin.

image

yarn add deploy-kit --dev

Basic usage

const client = require('deploy-kit')

client.sftp({
  // sever account, address, port
  server: 'user:pwd@10.133.3.4:22',
  // deploy all files in the directory
  workspace: __dirname + '/dist',
  // ignore the matched files (glob pattern: https://github.com/isaacs/node-glob#glob-primer)
  // support array of glob pattern
  ignore: '**/*.map',
  // where the files are placed on the server
  deployTo: '/data1/htdocs/testapp',
  // you can specify different place for each file
  rules: [
    {
      test: /dist\/(.*)$/,
      // $1, $2... means the parenthesized substring matches
      // [$n] will be replaced with matched string
      dest: 'public/static/[$1]'
    },
    {
      test: /views\/((?:[^/]+\/)*?[^\/]+).html$/,
      dest: 'app/views/[$1].phtml'
    }
  ]
})
.exec()

or use ftp

client.ftp({
  ...
})
.exec()

options:

optiontypedescription
serverstringserver info includes username, password, address, and port. e.g. user:pwd@10.113.8.5:22
workspacestringdeploy all files in the directory
ignorestring or array of stringignore the matched files (glob pattern: https://github.com/isaacs/node-glob#glob-primer)
deployTostringwhere the files are placed.
rulesarray of rulerule use to speicify different place for each file. each rule has a test and a dest property.

about rule:

{
  test: /dist\/(.*)$/,
  // $1, $2... means the parenthesized substring matches
  // [$n] will be replaced with matched string
  dest: 'public/static/[$1]'
}

test property is a RegExp pattern, use to match specified file with realpath of the file. dest property is the custom filename of matched file. you can extract any part from realpath as a part of dest by parenthesis.

Command Line Interface(CLI)

$ ./bin/deploy-sftp --server user:pwd@server_address:port --ignore **/*.map ./dist /data1/htdocs/testapp
$ ./bin/deploy-ftp ...

cli options:


  Usage: deploy-sftp [options] [workspace] [deployTo]


  Options:

    -V, --version           output the version number
    -c, --config <path>     use configuration from this file
    -s, --server <address>  server account, address. (e.g. user:pwd@address:port)
    -i, --ignore <pattern>  ignore the matched files
    -h, --help              output usage information

  Examples:

    // use configuration from a file
    $ deploy-sftp --config deploy.js
    // deploy files in ./dist to /data1/htdocs/testapp on 10.13.1.2
    $ deploy-sftp -s user:pwd@10.13.1.2:22 --i *.map ./dist /data1/htdocs/testapp

  version: 3.1.0

using config file

You can use configuration file instead of cli args. Just create a deploy.js file in the root directory of your project and exports your configuration like this:

module.exports = {
  server: '',
  workspace: '',
  ignore: '',
  deployTo: '',
  rules: []
}

Runing directly without any arg.

$ ./bin/deploy-sftp

If you prefer to place the configuration file in another place, you can use -c, --config <path> option like this:

$ ./bin/deploy-sftp --config ./config/your_conf.js

Used with plugins

each plugin can called like this:

new DeployPlugin([config])

config is optional. if you omitted the config, Deploy-kit will automatic load the deploy.js from the process.cwd().

  • sftp-webpack-plugin
const DeployPlugin = require('deploy-kit/plugins/sftp-webpack-plugin')

// webpack configuration
moudle.exports = {
  ...
  plugins: [
    new DeployPlugin()
  ]
}

todos:

  • sftp-gulp-plugin
  • ftp-gulp-plugin
  • sftp-fis-plugin

How to write a plugin

todo

Keywords

deploy

FAQs

Package last updated on 26 Sep 2017

Did you know?

Socket

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