Detect if we were run as a result of `npm publish`.
Switch branches/tags
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Failed to load latest commit information.
.gitignore initial Jan 13, 2015
LICENSE
README.md Update README.md Dec 17, 2016
in-install.js Handle the full set of times that prepublish lifecycles are run Jul 7, 2015
in-publish.js Handle the full set of times that prepublish lifecycles are run Jul 7, 2015
index.js Handle the full set of times that prepublish lifecycles are run Jul 7, 2015
not-in-install.js
not-in-publish.js
package.json

README.md

in-publish

For background, see npm#10074.

Detect if we were run as a result of npm publish. This is intended to allow you to easily have prepublish lifecycle scripts that don't run when you run npm install.

$ npm install --save-dev in-publish
in-publish@1.0.0 node_modules/in-publish

Then edit your package.json to have:

  "scripts": {
    "prepublish": "in-publish && thing-I-dont-want-on-dev-install || not-in-publish"
  }

Now when you run:

$ npm install

Then thing-I-dont-want-on-dev-install won't be run, but...

$ npm publish

And thing-I-dont-want-on-dev-install will be run.

It's worth noting that the prepublish lifecycle is ALSO called when you build a tarball, so:

$ npm pack

Will call your prepublish lifecycle, but with the example above, thing-I-dont-want-on-dev-install won't be run.

If you want this, you can use another helper included here:

  "scripts": {
    "prepublish": "not-in-install && thing-I-dont-want-on-dev-install || in-install"
  }

The above will run your thing-I-dont-want-on-dev-install on publish and on pack but not on install.