Skip to content

iarna/in-publish

Folders and files

NameName
Last commit message
Last commit date

Latest commit

4f6a055 · Mar 15, 2020

History

14 Commits
Jan 13, 2015
Jan 13, 2015
Dec 17, 2016
Jul 7, 2015
Jul 7, 2015
Mar 15, 2020
Jul 7, 2015
Jul 7, 2015
Sep 14, 2015

Repository files navigation

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.