# in-publish

> Detect if we were run as a result of `npm publish`

Latest version **2.0.1** (published 2020-03-16) · ISC license · 0 weekly downloads

## Install

```sh
npm install in-publish
pnpm add in-publish
yarn add in-publish
bun add in-publish
```

Provides the commands `in-install`, `in-publish`, `not-in-install`, `not-in-publish`.

## Health

**Score 15/100 (F)** — status: abandoned.

Positive: no vulnerabilities.

Warnings: low downloads; no types; no esm support.

Negative: abandoned; low maintenance score.

## Facts

| | |
|---|---|
| Version | 2.0.1 |
| Published | 2020-03-16 |
| First published | 2015-01-13 |
| Weekly downloads | 0 |
| License | ISC |
| TypeScript types | none |
| Module format | CommonJS |
| Dependencies | 0 |
| Unpacked size | 3.9 KB |
| Known vulnerabilities | 0 |
| Install scripts | no |
| GitHub stars | 127 |
| Author | Rebecca Turner |
| Maintainers | iarna |

## Links

- npm: https://www.npmjs.com/package/in-publish
- Repository: https://github.com/iarna/in-publish
- Issues: https://github.com/iarna/in-publish/issues
- npm.io page: https://npm.io/package/in-publish

## Recent versions

- 2.0.1 (latest) — 2020-03-16
- 2.0.0 — 2015-07-07
- 1.1.1 — 2015-01-13
- 1.1.0 — 2015-01-13
- 1.0.0 — 2015-01-13

## README

in-publish
==========

> For background, see [npm#10074](https://github.com/npm/npm/issues/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:

```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 example 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`.

---
_Source: https://npm.io/package/in-publish · Machine-readable twin of the npm.io package page. Health data is recomputed on every publish._
