Skip to content
/ pinst Public

🍺 dev only postinstall hooks (package.json)

License

Notifications You must be signed in to change notification settings

typicode/pinst

Repository files navigation

pinst Node.js CI npm

pinst lets you have postinstall hook that runs only in dev 🍺

Important if your project is using npm or pnpm, you can achieve the desired effect by setting a prepare hook instead. pinst is mainly useful for Yarn 2+ since it doesn't support prepare hook. See https://yarnpkg.com/advanced/lifecycle-scripts

Usage

// package.json
{
  "scripts": {
    "postinstall": "<some dev only command>",
    "prepack": "pinst --disable",
    "postpack": "pinst --enable"
  }
}

On prepack, postinstall will be renamed to _postinstall (disabled)

On postpack, it will be renamed back to postinstall (enabled)

CLI

pinst accepts the following flags:

--enable, -e   Enable postinstall hook
--disable, -d  Disable postinstall hook
--silent, -s

Tips

By inverting commands, you can also use pinst to enable postinstall for your users only and not yourself.

pinst also supports install alias.

License

MIT - Typicode 🌵