0.1.0 • Published 6 years ago

@radweb/webpack-run-command-plugin v0.1.0

Weekly downloads
4
License
Apache-2.0
Repository
-
Last release
6 years ago

webpack-run-command-plugin

Highly configurable way of running shell commands at any stage of a Webpack build

Requirements

  • Webpack 4.1.0 or higher
  • Node.js 4.0.0 or higher

Installation

npm i --save-dev @radweb/webpack-run-command-plugin

Example

This example runs chmod on the file out/mycompiledbin.sh after Webpack is finished running

const RunCommandPlugin = require('@radweb/webpack-run-command-plugin')
const path = require('path')

module.exports = {
	//...
	plugins: [
		new RunCommandPlugin({
			stage: 'done',
			run: [{
				cmd: 'chmod 755 mycompiledbin.sh',
				opts: {
					cwd: path.join(__dirname, 'out'),
				},
			}],
		}),
	],
	//...
}

Usage

new RunCommandPlugin(opts)

opts is an object that can have the following properties:

propertytypeoptionaldescription
stagestring; Must be a valid Webpack stagenoWhen to run the series of shell commands
asyncboolean (default: true)yesWhether to run the commands asynchronously or not
parallelboolean (default: false)yesWhether to run the async commands in parallel or in sequence. If this is set to true, the value of async will be ignored
runCommand[] (Array of Command objects)noThe shell commands to run

Command

An object with the following properties:

propertytypedescription
cmdstringThe shell command to run
optsAn object containing options for child_process.execOptions to customise the execution of the command. Will commonly contain at least cwd