Skip to content

drewloomer/hook-shell-script-webpack-plugin

Repository files navigation

Shell Script Webpack Plugin Build Status

This is a webpack plugin for running arbitrary shell scripts when webpack compiler hooks are triggered.

Installation

Install the plugin with npm:

$ npm install --save-dev hook-shell-script-webpack-plugin
$ yarn add --dev hook-shell-script-webpack-plugin

Usage

// webpack.config.js
const webpack = require('webpack');
const HookShellScriptPlugin = require('hook-shell-script-webpack-plugin');

module.exports = {
  // ...
  plugins: [
    new HookShellScriptPlugin({
      // run a single command
      afterEmit: ['npx tsc --emitDeclarationOnly'],
      // run multiple commands in parallel
      done: [
        // either as a string
        'command1 with args',
        // or as a command with args
        {command: 'command2', args: ['with', 'args']}
      ],
      // run a command based on the hook arguments
      assetEmitted: [
        // you can return a string
        (name, info) => `node ${info.outputPath}`
        // or an object with command and args
        (name, info) => ({command: 'node', args: [info.outputPath]})
      ],
      // return a command and argrs object
    })
  ]
};

Thanks

Big thanks to webpack-hook-plugin for the inspiration.

License

The MIT License

Copyright ©️ 2021 Drew Loomer, https://drewloomer.com

About

A Webpack plugin for running a shell script(s) on any hook provided by Webpack.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published