bundler-purr
v1.0.0
Published
A Vite/Webpack plugin that purrs on success, mrrps on warnings, and hisses on errors. Because your build deserves feelings.
Maintainers
Readme
bundler-purr 🐱
A Vite/Webpack plugin that purrs on success, mrrps on warnings, and hisses on errors. Because your build deserves feelings.
Install
npm install bundler-purr --save-devSounds
| Build Result | Sound | Vibe | |---|---|---| | ✅ Clean compile | purr | All is well. Good human. | | ⚠️ Warnings | mrrp | Something's off. Cat is watching you. | | ❌ Errors | hiss | Do not touch. Everything is broken. |
Usage
Vite
// vite.config.js
import { defineConfig } from "vite";
import { purr } from "bundler-purr";
export default defineConfig({
plugins: [
purr()
]
});Webpack
// webpack.config.js
const { PurrPlugin } = require("bundler-purr");
module.exports = {
plugins: [
new PurrPlugin()
]
};Options
Both plugins accept the same options object:
purr({
// Bring your own sounds — any path, any audio format your system supports
sounds: {
purr: "./sounds/my-cat-purring.mp3",
mrrp: "./sounds/my-cat-mrrping.mp3",
hiss: "./sounds/my-cat-hissing.mp3",
},
// Disable all sounds, useful for CI environments
silent: process.env.CI === "true",
})sounds
Optional. Override any or all of the default bundled sounds with your own audio files. Paths are resolved relative to your project root. Supports any format your system's audio backend can play (mp3, ogg, wav, etc.).
silent
Optional, default false. Set to true to disable all sounds. Recommended to set silent: process.env.CI === "true" so your CI pipeline doesn't try to play audio and cry about it.
Audio Backend
bundler-purr uses play-sound under the hood, which delegates to whatever audio player is available on your system:
- macOS — uses
afplay(built in, works out of the box ✅) - Windows — uses
mplayerorwmplayer - Linux — uses
mpg123,mpg321,play(sox), ormplayer
If no audio backend is found, bundler-purr will warn but will not break your build. It fails gracefully — no cats were harmed.
Bringing Your Own Sounds
Don't like the default sounds? Got a recording of your own cat? Perfect.
purr({
sounds: {
purr: "./assets/sounds/duchess-purring.mp3",
hiss: "./assets/sounds/duchess-judging-you.mp3",
// leave mrrp out to keep the default
}
})Contributing
PRs welcome. Especially if they include new cat sounds.
License
MIT
