JSPM

hook-shell-script-webpack-plugin

0.4.0
  • ESM via JSPM
  • ES Module Entrypoint
  • Export Map
  • Keywords
  • License
  • Repository URL
  • TypeScript Types
  • README
  • Created
  • Published
  • Downloads 5557
  • Score
    100M100P100Q132001F
  • License MIT

A Webpack plugin for running shell scripts on any hook provided by Webpack.

Package Exports

  • hook-shell-script-webpack-plugin
  • hook-shell-script-webpack-plugin/index.js

This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (hook-shell-script-webpack-plugin) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.

Readme

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