Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/iarna/in-publish
Detect if we were run as a result of `npm publish`.
https://github.com/iarna/in-publish
Last synced: 8 days ago
JSON representation
Detect if we were run as a result of `npm publish`.
- Host: GitHub
- URL: https://github.com/iarna/in-publish
- Owner: iarna
- License: isc
- Created: 2015-01-13T03:19:59.000Z (almost 10 years ago)
- Default Branch: master
- Last Pushed: 2020-03-16T19:50:30.000Z (over 4 years ago)
- Last Synced: 2024-05-15T13:14:50.475Z (6 months ago)
- Language: JavaScript
- Size: 8.79 KB
- Stars: 128
- Watchers: 7
- Forks: 17
- Open Issues: 8
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
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
[email protected] 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`.