webpack-scp-plugin
v1.0.3
Published
Webpack Plugin to copy assets to remote machine using scp
Downloads
5
Maintainers
Readme
SCP Webpack Plugin
A webpack plugin to copy build/sourcemaps to a remote server. Uses NodeSSH to connect and upload files.
Use Cases
- Private Sourcemaps: Upload source maps to a remote server behind VPN so that source maps are only available to developers.
- 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
|Option |Type |Required |Description
|-----------|--------|-----------|-----------
|srcPath |string
|options | Path of the directory from where the files will be recursively uploaded. If not specified it will use the output.path
value in webpack configuration.
|destPath |string
|required | Path to upload files to in remote server
|connect |object
|required | SSH Connection options