README.md 1.1 KB
Newer Older
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
in-publish
==========

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 in-publish
in-publish@1.0.0 node_modules/in-publish
```

Then edit your package.json to have:

```json
  "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 examplea above,
`thing-I-dont-want-on-dev-install` won't be run.

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

```json
  "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`.