103

GitHub - posva/sounds-webpack-plugin: ?Notify or errors, warnings, etc with soun...

 6 years ago
source link: https://github.com/posva/sounds-webpack-plugin
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

README.md

Sounds Webpack Plugin Build Status npm package

Notify or errors, warnings, etc with sounds

Video

Installation

npm install sounds-webpack-plugin

Usage

Basic usage with defaults

// webpack.config.js
const SoundsPlugin = require('sounds-webpack-plugin')

module.exports = {
  plugins: [new SoundsPlugin()],
}

You can provide custom sounds to be loaded:

// webpack.config.js
const SoundsPlugin = require('sounds-webpack-plugin')
const path = require('path')

module.exports = {
  plugins: [
    new SoundsPlugin({
      sounds: {
        customSound: path.join(__dirname, 'sounds/error.mp3'),
        customWarning: path.join(__dirname, 'sounds/warn.mp3'),
        customSuccess: path.join(__dirname, 'sounds/ok.mp3'),
      },
      notifications: {
        // invalid is a webpack hook
        // you can check all hooks at https://github.com/webpack/webpack/blob/master/lib/Compiler.js#L32
        // 'customSound' is the key provided in sounds
        invalid: 'customSound',
        // you can provide a function to customize it further
        done(stats) {
          if (stats.hasErrors()) {
            this.play('customSound')
          } else if (stats.hasWarnings()) {
            this.play('customWarning')
          } else {
            this.play('customSuccess')
          }
        },
      },
    }),
  ],
}

You can provide 3 special values that are not webpack hooks: $hasErrors, $hasWarnings, $success and $successAfterError. You can check default values here. You can of course override any of them in sounds option.

SoundsPlugin comes with 4 sounds:

  • oof - used for errors by default
  • nope:
  • xpError:
  • levelUp: - used when the build succeeds after an error

SoundsPlugin uses play-sound under the hood. You can pass down options to the player with playerOptions:

// webpack.config.js
const SoundsPlugin = require('sounds-webpack-plugin')

module.exports = {
  plugins: [
    new SoundsPlugin({
      playerOptions: {
        // check https://github.com/shime/play-sound#options
        // osx uses afplay
      },
    }),
  ],
}

Related

License

MIT


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK