Blame view

node_modules/in-publish/README.md 1.1 KB
aaac7fed   liuqimichale   add
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`.