1.0.3 • Published 2 years ago

webpack-scp-plugin v1.0.3

Weekly downloads
-
License
MIT
Repository
github
Last release
2 years ago

SCP Webpack Plugin

A webpack plugin to copy build/sourcemaps to a remote server. Uses NodeSSH to connect and upload files.

Use Cases

  1. Private Sourcemaps: Upload source maps to a remote server behind VPN so that source maps are only available to developers.
  2. Host build: Upload the build to a remote server for hosting.

Installation

webpack-scp-plugin requires at least webpack 4 or greater.

Using npm:

npm install webpack-scp-plugin --save-dev

Using yarn:

yarn add webpack-scp-plugin --dev

Usage

1. Upload Complete Build

const WebpackScpPlugin = require('webpack-scp-plugin');

const config = {
  plugins: [
    new WebpackScpPlugin({
        destPath: '/var/www/',
        connect: {
          host: 'IP or URL',
          username: 'ubuntu',
          privateKey: 'Path to private key'
        }
    }),
  ],
};

2. Upload Source Maps Only

Use the SourceMapDevToolPlugin to ouput source maps to a seperate directory.

new webpack.SourceMapDevToolPlugin({
  filename: `sourcemaps/[name].js.map`,
  publicPath: 'url of your server',
  fileContext: 'public'
})

Specify the srcPath to be the path to sourcemaps folder

const config = {
  plugins: [
    new WebpackScpPlugin({
        srcPath: path.join(__dirname, "build", "sourcemaps"),
        destPath: '/var/www/',
        connect: {
          host: 'IP or URL',
          username: 'ubuntu',
          privateKey: 'Path to private key'
        }
    }),
  ],
};

Options

OptionTypeRequiredDescription
srcPathstringoptionsPath of the directory from where the files will be recursively uploaded. If not specified it will use the output.path value in webpack configuration.
destPathstringrequiredPath to upload files to in remote server
connectobjectrequiredSSH Connection options
1.0.3

2 years ago

0.0.2

2 years ago

0.0.1

2 years ago