1CONFIG(7)                                                            CONFIG(7)
2
3
4

NAME

6       config - More than you probably want to know about npm configuration
7
8   Description
9       npm gets its configuration values from the following sources, sorted by
10       priority:
11
12   Command Line Flags
13       Putting --foo bar on the command line sets the foo configuration param‐
14       eter  to  "bar".   A  --  argument tells the cli parser to stop reading
15       flags.  Using --flag without specifying any value will set the value to
16       true.
17
18       Example:  --flag1  --flag2  will  set  both configuration parameters to
19       true, while --flag1 --flag2 bar will set flag1 to true,  and  flag2  to
20       bar.   Finally,  --flag1 --flag2 -- bar will set both configuration pa‐
21       rameters to true, and the bar is taken as a command argument.
22
23   Environment Variables
24       Any environment variables that start with npm_config_  will  be  inter‐
25       preted  as  a  configuration  parameter.  For example, putting npm_con‐
26       fig_foo=bar in your environment will set the foo configuration  parame‐
27       ter  to bar.  Any environment configurations that are not given a value
28       will be given the value of true.  Config values  are  case-insensitive,
29       so NPM_CONFIG_FOO=bar will work the same. However, please note that in‐
30       side npm help scripts npm will set its own  environment  variables  and
31       Node  will prefer those lowercase versions over any uppercase ones that
32       you     might     set.      For     details     see     this      issue
33       https://github.com/npm/npm/issues/14528.
34
35       Notice  that  you  need  to use underscores instead of dashes, so --al‐
36       low-same-version would become npm_config_allow_same_version=true.
37
38   npmrc Files
39       The four relevant files are:
40
41       • per-project configuration file (/path/to/my/project/.npmrc)
42
43       • per-user configuration file (defaults to  $HOME/.npmrc;  configurable
44         via CLI option --userconfig or environment variable $NPM_CONFIG_USER‐
45         CONFIG)
46
47       • global configuration file  (defaults  to  $PREFIX/etc/npmrc;  config‐
48         urable   via   CLI  option  --globalconfig  or  environment  variable
49         $NPM_CONFIG_GLOBALCONFIG)
50
51       • npm's built-in configuration file (/path/to/npm/npmrc)
52
53
54       See npm help npmrc for more details.
55
56   Default Configs
57       Run npm config ls -l to see a set of configuration parameters that  are
58       internal to npm, and are defaults if nothing else is specified.
59
60   Shorthands and Other CLI Niceties
61       The  following shorthands are parsed on the command-line: <!-- AUTOGEN‐
62       ERATED CONFIG SHORTHANDS START --> <!-- automatically generated, do not
63       edit manually --> <!-- see lib/utils/config/definitions.js -->
64
65-a: --all
66
67--enjoy-by: --before
68
69-c: --call
70
71--desc: --description
72
73-f: --force
74
75-g: --global
76
77-L: --location
78
79-d: --loglevel info
80
81-s: --loglevel silent
82
83--silent: --loglevel silent
84
85--ddd: --loglevel silly
86
87--dd: --loglevel verbose
88
89--verbose: --loglevel verbose
90
91-q: --loglevel warn
92
93--quiet: --loglevel warn
94
95-l: --long
96
97-m: --message
98
99--local: --no-global
100
101-n: --no-yes
102
103--no: --no-yes
104
105-p: --parseable
106
107--porcelain: --parseable
108
109-C: --prefix
110
111--readonly: --read-only
112
113--reg: --registry
114
115-S: --save
116
117-B: --save-bundle
118
119-D: --save-dev
120
121-E: --save-exact
122
123-O: --save-optional
124
125-P: --save-prod
126
127-?: --usage
128
129-h: --usage
130
131-H: --usage
132
133--help: --usage
134
135-v: --version
136
137-w: --workspace
138
139--ws: --workspaces
140
141-y: --yes
142
143       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
144       lib/utils/config/definitions.js --> <!--  AUTOGENERATED  CONFIG  SHORT‐
145       HANDS END -->
146
147
148       If  the specified configuration param resolves unambiguously to a known
149       configuration parameter, then it is expanded to that configuration  pa‐
150       rameter.  For example:
151
152         npm ls --par
153         # same as:
154         npm ls --parseable
155
156       If  multiple  single-character  shorthands are strung together, and the
157       resulting combination is unambiguously  not  some  other  configuration
158       param,  then it is expanded to its various component pieces.  For exam‐
159       ple:
160
161         npm ls -gpld
162         # same as:
163         npm ls --global --parseable --long --loglevel info
164
165   Config Settings
166       <!-- AUTOGENERATED CONFIG DESCRIPTIONS  START  -->  <!--  automatically
167       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
168       tions.js -->
169
170   _auth
171       • Default: null
172
173       • Type: null or String
174
175
176       A basic-auth string to use when authenticating  against  the  npm  reg‐
177       istry.
178
179       Warning: This should generally not be set via a command-line option. It
180       is safer to use a registry-provided authentication bearer token  stored
181       in  the  ~/.npmrc file by running npm login.  <!-- automatically gener‐
182       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
183       -->
184
185
186   access
187       • Default:  'restricted'  for  scoped  packages,  'public' for unscoped
188         packages
189
190       • Type: null, "restricted", or "public"
191
192
193       When publishing scoped packages,  the  access  level  defaults  to  re‐
194       stricted.  If you want your scoped package to be publicly viewable (and
195       installable) set --access=public. The only valid values for access  are
196       public and restricted. Unscoped packages always have an access level of
197       public.
198
199       Note: Using the --access flag on the npm publish command will only  set
200       the  package  access  level  on the initial publish of the package. Any
201       subsequent npm publish commands using the --access flag will  not  have
202       an  effect to the access level. To make changes to the access level af‐
203       ter the initial publish use npm access.  <!-- automatically  generated,
204       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
205
206
207   all
208       • Default: false
209
210       • Type: Boolean
211
212
213       When  running npm outdated and npm ls, setting --all will show all out‐
214       dated or installed packages, rather than only those  directly  depended
215       upon by the current project.  <!-- automatically generated, do not edit
216       manually --> <!-- see lib/utils/config/definitions.js -->
217
218
219   allow-same-version
220       • Default: false
221
222       • Type: Boolean
223
224
225       Prevents throwing an error when npm version is used to set the new ver‐
226       sion to the same value as the current version.  <!-- automatically gen‐
227       erated, do not edit  manually  -->  <!--  see  lib/utils/config/defini‐
228       tions.js -->
229
230
231   audit
232       • Default: true
233
234       • Type: Boolean
235
236
237       When  "true"  submit audit reports alongside the current npm command to
238       the default registry and all registries configured for scopes. See  the
239       documentation  for  npm  help  audit  for details on what is submitted.
240       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
241       lib/utils/config/definitions.js -->
242
243
244   audit-level
245       • Default: null
246
247       • Type: null, "info", "low", "moderate", "high", "critical", or "none"
248
249
250       The  minimum  level  of  vulnerability  for  npm  audit  to exit with a
251       non-zero exit code.  <!-- automatically generated, do not edit manually
252       --> <!-- see lib/utils/config/definitions.js -->
253
254
255   before
256       • Default: null
257
258       • Type: null or Date
259
260
261       If passed to npm install, will rebuild the npm tree such that only ver‐
262       sions that were available on or before the --before time get installed.
263       If  there's  no versions available for the current set of direct depen‐
264       dencies, the command will error.
265
266       If the requested version is a dist-tag and the given tag does not  pass
267       the --before filter, the most recent version less than or equal to that
268       tag will be used. For example, foo@latest might  install  foo@1.2  even
269       though  latest is 2.0.  <!-- automatically generated, do not edit manu‐
270       ally --> <!-- see lib/utils/config/definitions.js -->
271
272
273   bin-links
274       • Default: true
275
276       • Type: Boolean
277
278
279       Tells npm to create symlinks (or .cmd shims on Windows) for package ex‐
280       ecutables.
281
282       Set  to  false  to have it not do this. This can be used to work around
283       the fact that some file systems don't support symlinks, even on  osten‐
284       sibly Unix systems.  <!-- automatically generated, do not edit manually
285       --> <!-- see lib/utils/config/definitions.js -->
286
287
288   browser
289       • Default: OS X: "open", Windows: "start", Others: "xdg-open"
290
291       • Type: null, Boolean, or String
292
293
294       The browser that is called by npm commands to open websites.
295
296       Set to false to suppress browser behavior and  instead  print  urls  to
297       terminal.
298
299       Set  to true to use default system URL opener.  <!-- automatically gen‐
300       erated, do not edit  manually  -->  <!--  see  lib/utils/config/defini‐
301       tions.js -->
302
303
304   ca
305       • Default: null
306
307       • Type: null or String (can be set multiple times)
308
309
310       The  Certificate  Authority signing certificate that is trusted for SSL
311       connections to the registry. Values should be in  PEM  format  (Windows
312       calls  it "Base-64 encoded X.509 (.CER)") with newlines replaced by the
313       string "\n". For example:
314
315         ca="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
316
317       Set to null to only allow "known" registrars, or to a specific CA  cert
318       to trust only that specific signing authority.
319
320       Multiple CAs can be trusted by specifying an array of certificates:
321
322         ca[]="..."
323         ca[]="..."
324
325       See  also  the strict-ssl config.  <!-- automatically generated, do not
326       edit manually --> <!-- see lib/utils/config/definitions.js -->
327
328
329   cache
330       • Default: Windows: %LocalAppData%\npm-cache, Posix: ~/.npm
331
332       • Type: Path
333
334
335       The location of npm's cache directory. See npm help npm cache <!--  au‐
336       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
337       fig/definitions.js -->
338
339
340   cafile
341       • Default: null
342
343       • Type: Path
344
345
346       A path to a file containing one or multiple Certificate Authority sign‐
347       ing  certificates.  Similar  to the ca setting, but allows for multiple
348       CA's, as well as for the CA information to be stored in a file on disk.
349       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
350       lib/utils/config/definitions.js -->
351
352
353   call
354       • Default: ""
355
356       • Type: String
357
358
359       Optional companion option for npm exec, npx that allows for  specifying
360       a custom command to be run along with the installed packages.
361
362         npm exec --package yo --package generator-node --call "yo node"
363       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
364       lib/utils/config/definitions.js -->
365
366
367   cert
368       • Default: null
369
370       • Type: null or String
371
372
373       A client certificate to pass when accessing the registry. Values should
374       be in PEM format (Windows calls it "Base-64 encoded X.509 (.CER)") with
375       newlines replaced by the string "\n". For example:
376
377         cert="-----BEGIN CERTIFICATE-----\nXXXX\nXXXX\n-----END CERTIFICATE-----"
378
379       It is not the path to a certificate file (and there  is  no  "certfile"
380       option).   <!--  automatically generated, do not edit manually --> <!--
381       see lib/utils/config/definitions.js -->
382
383
384   ci-name
385       • Default: The name of the current CI system, or null  when  not  on  a
386         known CI platform.
387
388       • Type: null or String
389
390
391       The name of a continuous integration system. If not set explicitly, npm
392       will detect the current  CI  environment  using  the  @npmcli/ci-detect
393       http://npm.im/@npmcli/ci-detect  module.  <!-- automatically generated,
394       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
395
396
397   cidr
398       • Default: null
399
400       • Type: null or String (can be set multiple times)
401
402
403       This is a list of CIDR address to be used when configuring limited  ac‐
404       cess tokens with the npm token create command.  <!-- automatically gen‐
405       erated, do not edit  manually  -->  <!--  see  lib/utils/config/defini‐
406       tions.js -->
407
408
409   color
410       • Default:  true  unless the NO_COLOR environ is set to something other
411         than '0'
412
413       • Type: "always" or Boolean
414
415
416       If false, never shows colors. If "always" then always shows colors.  If
417       true,  then only prints color codes for tty file descriptors.  <!-- au‐
418       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
419       fig/definitions.js -->
420
421
422   commit-hooks
423       • Default: true
424
425       • Type: Boolean
426
427
428       Run git commit hooks when using the npm version command.  <!-- automat‐
429       ically generated, do not edit  manually  -->  <!--  see  lib/utils/con‐
430       fig/definitions.js -->
431
432
433   depth
434       • Default: Infinity if --all is set, otherwise 1
435
436       • Type: null or Number
437
438
439       The depth to go when recursing packages for npm ls.
440
441       If  not  set,  npm  ls will show only the immediate dependencies of the
442       root project. If --all is set, then npm will show all  dependencies  by
443       default.   <!--  automatically generated, do not edit manually --> <!--
444       see lib/utils/config/definitions.js -->
445
446
447   description
448       • Default: true
449
450       • Type: Boolean
451
452
453       Show the description in npm search <!-- automatically generated, do not
454       edit manually --> <!-- see lib/utils/config/definitions.js -->
455
456
457   diff
458       • Default:
459
460       • Type: String (can be set multiple times)
461
462
463       Define arguments to compare in npm diff.  <!-- automatically generated,
464       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
465
466
467   diff-dst-prefix
468       • Default: "b/"
469
470       • Type: String
471
472
473       Destination prefix to be used in npm diff output.   <!--  automatically
474       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
475       tions.js -->
476
477
478   diff-ignore-all-space
479       • Default: false
480
481       • Type: Boolean
482
483
484       Ignore whitespace when comparing lines in npm diff.  <!-- automatically
485       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
486       tions.js -->
487
488
489   diff-name-only
490       • Default: false
491
492       • Type: Boolean
493
494
495       Prints only filenames when using npm diff.  <!--  automatically  gener‐
496       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
497       -->
498
499
500   diff-no-prefix
501       • Default: false
502
503       • Type: Boolean
504
505
506       Do not show any source or destination prefix in npm diff output.
507
508       Note:  this  causes  npm  diff  to  ignore  the  --diff-src-prefix  and
509       --diff-dst-prefix  configs.   <!-- automatically generated, do not edit
510       manually --> <!-- see lib/utils/config/definitions.js -->
511
512
513   diff-src-prefix
514       • Default: "a/"
515
516       • Type: String
517
518
519       Source prefix to be used in npm diff output.  <!-- automatically gener‐
520       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
521       -->
522
523
524   diff-text
525       • Default: false
526
527       • Type: Boolean
528
529
530       Treat all files as text in npm diff.  <!-- automatically generated,  do
531       not edit manually --> <!-- see lib/utils/config/definitions.js -->
532
533
534   diff-unified
535       • Default: 3
536
537       • Type: Number
538
539
540       The  number  of  lines of context to print in npm diff.  <!-- automati‐
541       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
542       fig/definitions.js -->
543
544
545   dry-run
546       • Default: false
547
548       • Type: Boolean
549
550
551       Indicates  that  you  don't  want  npm  to make any changes and that it
552       should only report what it would have done. This can be passed into any
553       of  the  commands that modify your local installation, eg, install, up‐
554       date, dedupe, uninstall, as well as pack and publish.
555
556       Note: This is  NOT  honored  by  other  network  related  commands,  eg
557       dist-tags, owner, etc.  <!-- automatically generated, do not edit manu‐
558       ally --> <!-- see lib/utils/config/definitions.js -->
559
560
561   editor
562       • Default: The EDITOR or VISUAL environment variables, or 'notepad.exe'
563         on Windows, or 'vim' on Unix systems
564
565       • Type: String
566
567
568       The  command  to  run for npm edit and npm config edit.  <!-- automati‐
569       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
570       fig/definitions.js -->
571
572
573   engine-strict
574       • Default: false
575
576       • Type: Boolean
577
578
579       If  set  to  true,  then npm will stubbornly refuse to install (or even
580       consider installing) any package that claims to not be compatible  with
581       the current Node.js version.
582
583       This can be overridden by setting the --force flag.  <!-- automatically
584       generated, do not edit manually --> <!--  see  lib/utils/config/defini‐
585       tions.js -->
586
587
588   fetch-retries
589       • Default: 2
590
591       • Type: Number
592
593
594       The "retries" config for the retry module to use when fetching packages
595       from the registry.
596
597       npm will retry idempotent read requests to the registry in the case  of
598       network  failures or 5xx HTTP errors.  <!-- automatically generated, do
599       not edit manually --> <!-- see lib/utils/config/definitions.js -->
600
601
602   fetch-retry-factor
603       • Default: 10
604
605       • Type: Number
606
607
608       The "factor" config for the retry module to use when fetching packages.
609       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
610       lib/utils/config/definitions.js -->
611
612
613   fetch-retry-maxtimeout
614       • Default: 60000 (1 minute)
615
616       • Type: Number
617
618
619       The "maxTimeout" config for the retry module to use when fetching pack‐
620       ages.   <!-- automatically generated, do not edit manually --> <!-- see
621       lib/utils/config/definitions.js -->
622
623
624   fetch-retry-mintimeout
625       • Default: 10000 (10 seconds)
626
627       • Type: Number
628
629
630       The "minTimeout" config for the retry module to use when fetching pack‐
631       ages.   <!-- automatically generated, do not edit manually --> <!-- see
632       lib/utils/config/definitions.js -->
633
634
635   fetch-timeout
636       • Default: 300000 (5 minutes)
637
638       • Type: Number
639
640
641       The maximum amount of time to wait for HTTP requests to complete.  <!--
642       automatically   generated,   do   not   edit   manually  -->  <!--  see
643       lib/utils/config/definitions.js -->
644
645
646   force
647       • Default: false
648
649       • Type: Boolean
650
651
652       Removes various protections against unfortunate  side  effects,  common
653       mistakes, unnecessary performance degradation, and malicious input.
654
655       • Allow clobbering non-npm files in global installs.
656
657       • Allow the npm version command to work on an unclean git repository.
658
659       • Allow deleting the cache folder with npm cache clean.
660
661       • Allow  installing packages that have an engines declaration requiring
662         a different version of npm.
663
664       • Allow installing packages that have an engines declaration  requiring
665         a different version of node, even if --engine-strict is enabled.
666
667       • Allow npm audit fix to install modules outside your stated dependency
668         range (including SemVer-major changes).
669
670       • Allow unpublishing all versions of a published package.
671
672       • Allow conflicting  peerDependencies  to  be  installed  in  the  root
673         project.
674
675       • Implicitly set --yes during npm init.
676
677       • Allow clobbering existing values in npm pkg
678
679
680       If  you  don't have a clear idea of what you want to do, it is strongly
681       recommended that you do not use this option!  <!-- automatically gener‐
682       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
683       -->
684
685
686   foreground-scripts
687       • Default: false
688
689       • Type: Boolean
690
691
692       Run all  build  scripts  (ie,  preinstall,  install,  and  postinstall)
693       scripts for installed packages in the foreground process, sharing stan‐
694       dard input, output, and error with the main npm process.
695
696       Note that this will generally make installs run  slower,  and  be  much
697       noisier,  but  can  be useful for debugging.  <!-- automatically gener‐
698       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
699       -->
700
701
702   format-package-lock
703       • Default: true
704
705       • Type: Boolean
706
707
708       Format  package-lock.json  or  npm-shrinkwrap.json  as a human readable
709       file.  <!-- automatically generated, do not edit manually --> <!--  see
710       lib/utils/config/definitions.js -->
711
712
713   fund
714       • Default: true
715
716       • Type: Boolean
717
718
719       When  "true"  displays  the  message at the end of each npm install ac‐
720       knowledging the number of dependencies looking  for  funding.  See  npm
721       help  npm  fund for details.  <!-- automatically generated, do not edit
722       manually --> <!-- see lib/utils/config/definitions.js -->
723
724
725   git
726       • Default: "git"
727
728       • Type: String
729
730
731       The command to use for git commands. If git is installed  on  the  com‐
732       puter,  but  is  not in the PATH, then set this to the full path to the
733       git binary.  <!-- automatically generated, do  not  edit  manually  -->
734       <!-- see lib/utils/config/definitions.js -->
735
736
737   git-tag-version
738       • Default: true
739
740       • Type: Boolean
741
742
743       Tag  the commit when using the npm version command.  <!-- automatically
744       generated, do not edit manually --> <!--  see  lib/utils/config/defini‐
745       tions.js -->
746
747
748   global
749       • Default: false
750
751       • Type: Boolean
752
753
754       Operates in "global" mode, so that packages are installed into the pre‐
755       fix folder instead of the current working directory. See npm help fold‐
756       ers for more on the differences in behavior.
757
758       • packages are installed into the {prefix}/lib/node_modules folder, in‐
759         stead of the current working directory.
760
761       • bin files are linked to {prefix}/bin
762
763       • man pages are linked to {prefix}/share/man
764
765       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
766       lib/utils/config/definitions.js -->
767
768
769   global-style
770       • Default: false
771
772       • Type: Boolean
773
774
775       Causes  npm  to install the package into your local node_modules folder
776       with the same layout it uses with the global node_modules folder.  Only
777       your  direct dependencies will show in node_modules and everything they
778       depend on will be flattened in their node_modules folders.  This  obvi‐
779       ously  will  eliminate  some  deduping.  If  used with legacy-bundling,
780       legacy-bundling will be preferred.  <!--  automatically  generated,  do
781       not edit manually --> <!-- see lib/utils/config/definitions.js -->
782
783
784   globalconfig
785       • Default:  The  global --prefix setting plus 'etc/npmrc'. For example,
786         '/usr/local/etc/npmrc'
787
788       • Type: Path
789
790
791       The config file to read for global config options.  <!--  automatically
792       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
793       tions.js -->
794
795
796   heading
797       • Default: "npm"
798
799       • Type: String
800
801
802       The string that starts all the debugging log  output.   <!--  automati‐
803       cally  generated,  do  not  edit  manually  --> <!-- see lib/utils/con‐
804       fig/definitions.js -->
805
806
807   https-proxy
808       • Default: null
809
810       • Type: null or URL
811
812
813       A proxy to use for outgoing  https  requests.  If  the  HTTPS_PROXY  or
814       https_proxy  or HTTP_PROXY or http_proxy environment variables are set,
815       proxy settings will be honored by the underlying make-fetch-happen  li‐
816       brary.  <!-- automatically generated, do not edit manually --> <!-- see
817       lib/utils/config/definitions.js -->
818
819
820   if-present
821       • Default: false
822
823       • Type: Boolean
824
825
826       If true, npm will not exit with an error code when  run-script  is  in‐
827       voked  for  a script that isn't defined in the scripts section of pack‐
828       age.json.  This option can be used when it's  desirable  to  optionally
829       run  a  script  when it's present and fail if the script fails. This is
830       useful, for example, when running scripts that may only apply for  some
831       builds in an otherwise generic CI setup.  <!-- automatically generated,
832       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
833
834
835   ignore-scripts
836       • Default: false
837
838       • Type: Boolean
839
840
841       If true, npm does not run scripts specified in package.json files.
842
843       Note that commands explicitly intended to run a particular script, such
844       as  npm start, npm stop, npm restart, npm test, and npm run-script will
845       still run their intended script if ignore-scripts is set, but they will
846       not run any pre- or post-scripts.  <!-- automatically generated, do not
847       edit manually --> <!-- see lib/utils/config/definitions.js -->
848
849
850   include
851       • Default:
852
853       • Type: "prod", "dev", "optional",  or  "peer"  (can  be  set  multiple
854         times)
855
856
857       Option that allows for defining which types of dependencies to install.
858
859       This is the inverse of --omit=<type>.
860
861       Dependency types specified in --include will not be omitted, regardless
862       of the order in which omit/include are specified on  the  command-line.
863       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
864       lib/utils/config/definitions.js -->
865
866
867   include-staged
868       • Default: false
869
870       • Type: Boolean
871
872
873       Allow installing "staged" published packages, as defined by npm RFC  PR
874       #92 https://github.com/npm/rfcs/pull/92.
875
876       This  is  experimental, and not implemented by the npm public registry.
877       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
878       lib/utils/config/definitions.js -->
879
880
881   include-workspace-root
882       • Default: false
883
884       • Type: Boolean
885
886
887       Include the workspace root when workspaces are enabled for a command.
888
889       When  false, specifying individual workspaces via the workspace config,
890       or all workspaces via the workspaces flag, will cause  npm  to  operate
891       only  on  the  specified workspaces, and not on the root project.  <!--
892       automatically  generated,  do  not   edit   manually   -->   <!--   see
893       lib/utils/config/definitions.js -->
894
895
896   init-author-email
897       • Default: ""
898
899       • Type: String
900
901
902       The  value  npm  init  should  use  by default for the package author's
903       email.  <!-- automatically generated, do not edit manually --> <!-- see
904       lib/utils/config/definitions.js -->
905
906
907   init-author-name
908       • Default: ""
909
910       • Type: String
911
912
913       The value npm init should use by default for the package author's name.
914       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
915       lib/utils/config/definitions.js -->
916
917
918   init-author-url
919       • Default: ""
920
921       • Type: "" or URL
922
923
924       The value npm init should use by default for the package author's home‐
925       page.  <!-- automatically generated, do not edit manually --> <!--  see
926       lib/utils/config/definitions.js -->
927
928
929   init-license
930       • Default: "ISC"
931
932       • Type: String
933
934
935       The value npm init should use by default for the package license.  <!--
936       automatically  generated,  do  not   edit   manually   -->   <!--   see
937       lib/utils/config/definitions.js -->
938
939
940   init-module
941       • Default: "~/.npm-init.js"
942
943       • Type: Path
944
945
946       A  module that will be loaded by the npm init command. See the documen‐
947       tation  for  the  init-package-json   https://github.com/npm/init-pack
948       age-json module for more information, or npm help init.  <!-- automati‐
949       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
950       fig/definitions.js -->
951
952
953   init-version
954       • Default: "1.0.0"
955
956       • Type: SemVer string
957
958
959       The  value  that npm init should use by default for the package version
960       number, if not already set in package.json.  <!-- automatically  gener‐
961       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
962       -->
963
964
965   json
966       • Default: false
967
968       • Type: Boolean
969
970
971       Whether or not to output JSON data, rather than the normal output.
972
973       • In npm pkg set it enables parsing set values with JSON.parse() before
974         saving them to your package.json.
975
976
977       Not  supported  by  all npm commands.  <!-- automatically generated, do
978       not edit manually --> <!-- see lib/utils/config/definitions.js -->
979
980
981   key
982       • Default: null
983
984       • Type: null or String
985
986
987       A client key to pass when accessing the registry. Values should  be  in
988       PEM format with newlines replaced by the string "\n". For example:
989
990         key="-----BEGIN PRIVATE KEY-----\nXXXX\nXXXX\n-----END PRIVATE KEY-----"
991
992       It  is  not  the path to a key file (and there is no "keyfile" option).
993       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
994       lib/utils/config/definitions.js -->
995
996
997   legacy-bundling
998       • Default: false
999
1000       • Type: Boolean
1001
1002
1003       Causes  npm  to  install the package such that versions of npm prior to
1004       1.4, such as the one included with node 0.8, can install  the  package.
1005       This  eliminates all automatic deduping. If used with global-style this
1006       option will be preferred.  <!-- automatically generated,  do  not  edit
1007       manually --> <!-- see lib/utils/config/definitions.js -->
1008
1009
1010   legacy-peer-deps
1011       • Default: false
1012
1013       • Type: Boolean
1014
1015
1016       Causes  npm to completely ignore peerDependencies when building a pack‐
1017       age tree, as in npm versions 3 through 6.
1018
1019       If a package cannot be installed because of overly strict peerDependen‐
1020       cies that collide, it provides a way to move forward resolving the sit‐
1021       uation.
1022
1023       This differs from --omit=peer, in that --omit=peer will avoid unpacking
1024       peerDependencies  on  disk,  but  will  still  design  a tree such that
1025       peerDependencies could be unpacked in a correct place.
1026
1027       Use of legacy-peer-deps is not recommended, as it will not enforce  the
1028       peerDependencies contract that meta-dependencies may rely on.  <!-- au‐
1029       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
1030       fig/definitions.js -->
1031
1032
1033   link
1034       • Default: false
1035
1036       • Type: Boolean
1037
1038
1039       Used  with  npm  ls,  limiting  output  to only those packages that are
1040       linked.  <!-- automatically generated, do not edit  manually  -->  <!--
1041       see lib/utils/config/definitions.js -->
1042
1043
1044   local-address
1045       • Default: null
1046
1047       • Type: IP Address
1048
1049
1050       The IP address of the local interface to use when making connections to
1051       the npm registry. Must be IPv4 in versions of Node prior to 0.12.  <!--
1052       automatically   generated,   do   not   edit   manually  -->  <!--  see
1053       lib/utils/config/definitions.js -->
1054
1055
1056   location
1057       • Default: "user" unless --global is passed, which will also  set  this
1058         value to "global"
1059
1060       • Type: "global", "user", or "project"
1061
1062
1063       When  passed  to  npm  config  this refers to which config file to use.
1064       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
1065       lib/utils/config/definitions.js -->
1066
1067
1068   lockfile-version
1069       • Default:  Version  2  if no lockfile or current lockfile version less
1070         than or equal to 2, otherwise maintain current lockfile version
1071
1072       • Type: null, 1, 2, 3, "1", "2", or "3"
1073
1074
1075       Set the lockfile format version to be  used  in  package-lock.json  and
1076       npm-shrinkwrap-json files. Possible options are:
1077
1078       1:  The  lockfile version used by npm versions 5 and 6. Lacks some data
1079       that is used during the install, resulting in slower and possibly  less
1080       deterministic  installs.  Prevents  lockfile  churn when interoperating
1081       with older npm versions.
1082
1083       2: The default lockfile version used by npm version  7.  Includes  both
1084       the  version  1  lockfile data and version 3 lockfile data, for maximum
1085       determinism and interoperability, at the expense of more bytes on disk.
1086
1087       3: Only the new lockfile  information  introduced  in  npm  version  7.
1088       Smaller  on  disk  than  lockfile version 2, but not interoperable with
1089       older npm versions.  Ideal if all  users  are  on  npm  version  7  and
1090       higher.   <!--  automatically  generated, do not edit manually --> <!--
1091       see lib/utils/config/definitions.js -->
1092
1093
1094   loglevel
1095       • Default: "notice"
1096
1097       • Type: "silent", "error", "warn", "notice", "http", "timing",  "info",
1098         "verbose", or "silly"
1099
1100
1101       What level of logs to report. All logs are written to a debug log, with
1102       the path to that file printed if the execution of a command fails.
1103
1104       Any logs of a higher level than the setting are shown. The  default  is
1105       "notice".
1106
1107       See  also the foreground-scripts config.  <!-- automatically generated,
1108       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
1109
1110
1111   logs-max
1112       • Default: 10
1113
1114       • Type: Number
1115
1116
1117       The maximum number of log files to store.   <!--  automatically  gener‐
1118       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
1119       -->
1120
1121
1122   long
1123       • Default: false
1124
1125       • Type: Boolean
1126
1127
1128       Show extended information in ls, search, and help-search.   <!--  auto‐
1129       matically  generated,  do not edit manually --> <!-- see lib/utils/con‐
1130       fig/definitions.js -->
1131
1132
1133   maxsockets
1134       • Default: 15
1135
1136       • Type: Number
1137
1138
1139       The maximum number of connections to use per origin (protocol/host/port
1140       combination).   <!--  automatically generated, do not edit manually -->
1141       <!-- see lib/utils/config/definitions.js -->
1142
1143
1144   message
1145       • Default: "%s"
1146
1147       • Type: String
1148
1149
1150       Commit message which is used by npm version when creating version  com‐
1151       mit.
1152
1153       Any "%s" in the message will be replaced with the version number.  <!--
1154       automatically  generated,  do  not   edit   manually   -->   <!--   see
1155       lib/utils/config/definitions.js -->
1156
1157
1158   node-options
1159       • Default: null
1160
1161       • Type: null or String
1162
1163
1164       Options  to  pass  through  to Node.js via the NODE_OPTIONS environment
1165       variable. This does not impact how npm itself is executed but  it  does
1166       impact how lifecycle scripts are called.  <!-- automatically generated,
1167       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
1168
1169
1170   node-version
1171       • Default: Node.js process.version value
1172
1173       • Type: SemVer string
1174
1175
1176       The node version to use when  checking  a  package's  engines  setting.
1177       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1178       lib/utils/config/definitions.js -->
1179
1180
1181   noproxy
1182       • Default: The value of the NO_PROXY environment variable
1183
1184       • Type: String (can be set multiple times)
1185
1186
1187       Domain extensions that should bypass any proxies.
1188
1189       Also accepts a comma-delimited string.  <!--  automatically  generated,
1190       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
1191
1192
1193   npm-version
1194       • Default: Output of npm --version
1195
1196       • Type: SemVer string
1197
1198
1199       The npm version to use when checking a package's engines setting.  <!--
1200       automatically  generated,  do  not   edit   manually   -->   <!--   see
1201       lib/utils/config/definitions.js -->
1202
1203
1204   offline
1205       • Default: false
1206
1207       • Type: Boolean
1208
1209
1210       Force offline mode: no network requests will be done during install. To
1211       allow the CLI to fill in  missing  cache  data,  see  --prefer-offline.
1212       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1213       lib/utils/config/definitions.js -->
1214
1215
1216   omit
1217       • Default: 'dev' if the NODE_ENV environment variable is set  to  'pro‐
1218         duction', otherwise empty.
1219
1220       • Type: "dev", "optional", or "peer" (can be set multiple times)
1221
1222
1223       Dependency types to omit from the installation tree on disk.
1224
1225       Note  that these dependencies are still resolved and added to the pack‐
1226       age-lock.json or npm-shrinkwrap.json file. They are just not physically
1227       installed on disk.
1228
1229       If  a package type appears in both the --include and --omit lists, then
1230       it will be included.
1231
1232       If the resulting omit list includes 'dev', then the  NODE_ENV  environ‐
1233       ment  variable  will  be set to 'production' for all lifecycle scripts.
1234       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
1235       lib/utils/config/definitions.js -->
1236
1237
1238   otp
1239       • Default: null
1240
1241       • Type: null or String
1242
1243
1244       This  is  a  one-time  password  from  a two-factor authenticator. It's
1245       needed when publishing or changing package permissions with npm access.
1246
1247       If not set, and a registry  response  fails  with  a  challenge  for  a
1248       one-time  password,  npm will prompt on the command line for one.  <!--
1249       automatically  generated,  do  not   edit   manually   -->   <!--   see
1250       lib/utils/config/definitions.js -->
1251
1252
1253   pack-destination
1254       • Default: "."
1255
1256       • Type: String
1257
1258
1259       Directory  in  which  npm  pack will save tarballs.  <!-- automatically
1260       generated, do not edit manually --> <!--  see  lib/utils/config/defini‐
1261       tions.js -->
1262
1263
1264   package
1265       • Default:
1266
1267       • Type: String (can be set multiple times)
1268
1269
1270       The  package to install for npm help exec <!-- automatically generated,
1271       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
1272
1273
1274   package-lock
1275       • Default: true
1276
1277       • Type: Boolean
1278
1279
1280       If set to false, then ignore package-lock.json files  when  installing.
1281       This will also prevent writing package-lock.json if save is true.
1282
1283       When  package package-locks are disabled, automatic pruning of extrane‐
1284       ous modules will also be disabled. To remove  extraneous  modules  with
1285       package-locks disabled use npm prune.  <!-- automatically generated, do
1286       not edit manually --> <!-- see lib/utils/config/definitions.js -->
1287
1288
1289   package-lock-only
1290       • Default: false
1291
1292       • Type: Boolean
1293
1294
1295       If set  to  true,  the  current  operation  will  only  use  the  pack‐
1296       age-lock.json, ignoring node_modules.
1297
1298       For  update  this means only the package-lock.json will be updated, in‐
1299       stead of checking node_modules and downloading dependencies.
1300
1301       For list this means the output will be based on the tree  described  by
1302       the  package-lock.json, rather than the contents of node_modules.  <!--
1303       automatically  generated,  do  not   edit   manually   -->   <!--   see
1304       lib/utils/config/definitions.js -->
1305
1306
1307   parseable
1308       • Default: false
1309
1310       • Type: Boolean
1311
1312
1313       Output  parseable  results from commands that write to standard output.
1314       For npm search, this will be tab-separated table format.  <!-- automat‐
1315       ically  generated,  do  not  edit  manually --> <!-- see lib/utils/con‐
1316       fig/definitions.js -->
1317
1318
1319   prefer-offline
1320       • Default: false
1321
1322       • Type: Boolean
1323
1324
1325       If true, staleness checks for cached data will be bypassed, but missing
1326       data will be requested from the server. To force full offline mode, use
1327       --offline.  <!-- automatically generated, do not edit manually --> <!--
1328       see lib/utils/config/definitions.js -->
1329
1330
1331   prefer-online
1332       • Default: false
1333
1334       • Type: Boolean
1335
1336
1337       If  true,  staleness  checks for cached data will be forced, making the
1338       CLI look for updates immediately even for fresh package data.  <!-- au‐
1339       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
1340       fig/definitions.js -->
1341
1342
1343   prefix
1344       • Default: In global mode, the folder where the node executable is  in‐
1345         stalled.   In local mode, the nearest parent folder containing either
1346         a package.json file or a node_modules folder.
1347
1348       • Type: Path
1349
1350
1351       The location to install global items. If set on the command line,  then
1352       it forces non-global commands to run in the specified folder.  <!-- au‐
1353       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
1354       fig/definitions.js -->
1355
1356
1357   preid
1358       • Default: ""
1359
1360       • Type: String
1361
1362
1363       The  "prerelease  identifier"  to  use as a prefix for the "prerelease"
1364       part of a semver. Like the rc in 1.2.0-rc.8.  <!-- automatically gener‐
1365       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
1366       -->
1367
1368
1369   progress
1370       • Default: true unless running in a known CI system
1371
1372       • Type: Boolean
1373
1374
1375       When set to true, npm will display a progress bar during time intensive
1376       operations, if process.stderr is a TTY.
1377
1378       Set  to  false to suppress the progress bar.  <!-- automatically gener‐
1379       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
1380       -->
1381
1382
1383   proxy
1384       • Default: null
1385
1386       • Type: null, false, or URL
1387
1388
1389       A  proxy  to  use  for  outgoing  http  requests.  If the HTTP_PROXY or
1390       http_proxy environment variables are set, proxy settings will  be  hon‐
1391       ored  by the underlying request library.  <!-- automatically generated,
1392       do not edit manually --> <!-- see lib/utils/config/definitions.js -->
1393
1394
1395   read-only
1396       • Default: false
1397
1398       • Type: Boolean
1399
1400
1401       This is used to mark a token as unable to publish when configuring lim‐
1402       ited  access  tokens with the npm token create command.  <!-- automati‐
1403       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
1404       fig/definitions.js -->
1405
1406
1407   rebuild-bundle
1408       • Default: true
1409
1410       • Type: Boolean
1411
1412
1413       Rebuild  bundled  dependencies  after installation.  <!-- automatically
1414       generated, do not edit manually --> <!--  see  lib/utils/config/defini‐
1415       tions.js -->
1416
1417
1418   registry
1419       • Default: "https://registry.npmjs.org/"
1420
1421       • Type: URL
1422
1423
1424       The base URL of the npm registry.  <!-- automatically generated, do not
1425       edit manually --> <!-- see lib/utils/config/definitions.js -->
1426
1427
1428   save
1429       • Default: true
1430
1431       • Type: Boolean
1432
1433
1434       Save installed packages to a package.json file as dependencies.
1435
1436       When used with the npm rm command, removes the  dependency  from  pack‐
1437       age.json.   <!-- automatically generated, do not edit manually --> <!--
1438       see lib/utils/config/definitions.js -->
1439
1440
1441   save-bundle
1442       • Default: false
1443
1444       • Type: Boolean
1445
1446
1447       If a package would be saved at install  time  by  the  use  of  --save,
1448       --save-dev, or --save-optional, then also put it in the bundleDependen‐
1449       cies list.
1450
1451       Ignore if --save-peer is set, since peerDependencies cannot be bundled.
1452       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1453       lib/utils/config/definitions.js -->
1454
1455
1456   save-dev
1457       • Default: false
1458
1459       • Type: Boolean
1460
1461
1462       Save installed packages to  a  package.json  file  as  devDependencies.
1463       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1464       lib/utils/config/definitions.js -->
1465
1466
1467   save-exact
1468       • Default: false
1469
1470       • Type: Boolean
1471
1472
1473       Dependencies saved to package.json will be  configured  with  an  exact
1474       version  rather  than  using npm's default semver range operator.  <!--
1475       automatically  generated,  do  not   edit   manually   -->   <!--   see
1476       lib/utils/config/definitions.js -->
1477
1478
1479   save-optional
1480       • Default: false
1481
1482       • Type: Boolean
1483
1484
1485       Save installed packages to a package.json file as optionalDependencies.
1486       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
1487       lib/utils/config/definitions.js -->
1488
1489
1490   save-peer
1491       • Default: false
1492
1493       • Type: Boolean
1494
1495
1496       Save installed packages to a package.json file as peerDependencies <!--
1497       automatically  generated,  do  not   edit   manually   -->   <!--   see
1498       lib/utils/config/definitions.js -->
1499
1500
1501   save-prefix
1502       • Default: "^"
1503
1504       • Type: String
1505
1506
1507       Configure how versions of packages installed to a package.json file via
1508       --save or --save-dev get prefixed.
1509
1510       For example if a package has version 1.2.3, by default its  version  is
1511       set  to  ^1.2.3 which allows minor upgrades for that package, but after
1512       npm config set save-prefix='~' it would be set to ~1.2.3 which only al‐
1513       lows  patch  upgrades.  <!-- automatically generated, do not edit manu‐
1514       ally --> <!-- see lib/utils/config/definitions.js -->
1515
1516
1517   save-prod
1518       • Default: false
1519
1520       • Type: Boolean
1521
1522
1523       Save installed packages into dependencies specifically. This is  useful
1524       if a package already exists in devDependencies or optionalDependencies,
1525       but you want to move it to be a non-optional production dependency.
1526
1527       This is the default behavior if --save is true, and neither  --save-dev
1528       or --save-optional are true.  <!-- automatically generated, do not edit
1529       manually --> <!-- see lib/utils/config/definitions.js -->
1530
1531
1532   scope
1533       • Default: the scope of the current project, if any, or ""
1534
1535       • Type: String
1536
1537
1538       Associate an operation with a scope for a scoped registry.
1539
1540       Useful when logging in to or out of a private registry:
1541
1542         # log in, linking the scope to the custom registry
1543         npm login --scope=@mycorp --registry=https://registry.mycorp.com
1544
1545         # log out, removing the link and the auth token
1546         npm logout --scope=@mycorp
1547
1548       This will cause @mycorp to be mapped to the registry for future instal‐
1549       lation of packages specified according to the pattern @mycorp/package.
1550
1551       This will also cause npm init to create a scoped package.
1552
1553         # accept all defaults, and create a package named "@foo/whatever",
1554         # instead of just named "whatever"
1555         npm init --scope=@foo --yes
1556       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1557       lib/utils/config/definitions.js -->
1558
1559
1560   script-shell
1561       • Default: '/bin/sh' on POSIX systems, 'cmd.exe' on Windows
1562
1563       • Type: null or String
1564
1565
1566       The shell to use for scripts run with the npm exec,  npm  run  and  npm
1567       init  <pkg>  commands.  <!-- automatically generated, do not edit manu‐
1568       ally --> <!-- see lib/utils/config/definitions.js -->
1569
1570
1571   searchexclude
1572       • Default: ""
1573
1574       • Type: String
1575
1576
1577       Space-separated options that limit the results from search.  <!-- auto‐
1578       matically  generated,  do not edit manually --> <!-- see lib/utils/con‐
1579       fig/definitions.js -->
1580
1581
1582   searchlimit
1583       • Default: 20
1584
1585       • Type: Number
1586
1587
1588       Number of items to limit search results to. Will not apply  at  all  to
1589       legacy  searches.   <!--  automatically generated, do not edit manually
1590       --> <!-- see lib/utils/config/definitions.js -->
1591
1592
1593   searchopts
1594       • Default: ""
1595
1596       • Type: String
1597
1598
1599       Space-separated options that are always passed to search.   <!--  auto‐
1600       matically  generated,  do not edit manually --> <!-- see lib/utils/con‐
1601       fig/definitions.js -->
1602
1603
1604   searchstaleness
1605       • Default: 900
1606
1607       • Type: Number
1608
1609
1610       The age of the cache, in seconds, before another  registry  request  is
1611       made if using legacy search endpoint.  <!-- automatically generated, do
1612       not edit manually --> <!-- see lib/utils/config/definitions.js -->
1613
1614
1615   shell
1616       • Default: SHELL environment variable, or "bash" on Posix, or "cmd.exe"
1617         on Windows
1618
1619       • Type: String
1620
1621
1622       The  shell to run for the npm explore command.  <!-- automatically gen‐
1623       erated, do not edit  manually  -->  <!--  see  lib/utils/config/defini‐
1624       tions.js -->
1625
1626
1627   sign-git-commit
1628       • Default: false
1629
1630       • Type: Boolean
1631
1632
1633       If  set to true, then the npm version command will commit the new pack‐
1634       age version using -S to add a signature.
1635
1636       Note that git requires you to have set up GPG keys in your git  configs
1637       for  this  to work properly.  <!-- automatically generated, do not edit
1638       manually --> <!-- see lib/utils/config/definitions.js -->
1639
1640
1641   sign-git-tag
1642       • Default: false
1643
1644       • Type: Boolean
1645
1646
1647       If set to true, then the npm version command will tag the version using
1648       -s to add a signature.
1649
1650       Note  that git requires you to have set up GPG keys in your git configs
1651       for this to work properly.  <!-- automatically generated, do  not  edit
1652       manually --> <!-- see lib/utils/config/definitions.js -->
1653
1654
1655   strict-peer-deps
1656       • Default: false
1657
1658       • Type: Boolean
1659
1660
1661       If set to true, and --legacy-peer-deps is not set, then any conflicting
1662       peerDependencies will be treated as an install  failure,  even  if  npm
1663       could reasonably guess the appropriate resolution based on non-peer de‐
1664       pendency relationships.
1665
1666       By default, conflicting peerDependencies deep in the  dependency  graph
1667       will  be  resolved using the nearest non-peer dependency specification,
1668       even if doing so will result in some packages receiving a  peer  depen‐
1669       dency outside the range set in their package's peerDependencies object.
1670
1671       When  such  and override is performed, a warning is printed, explaining
1672       the conflict and the packages involved. If --strict-peer-deps  is  set,
1673       then  this  warning is treated as a failure.  <!-- automatically gener‐
1674       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
1675       -->
1676
1677
1678   strict-ssl
1679       • Default: true
1680
1681       • Type: Boolean
1682
1683
1684       Whether  or  not  to  do SSL key validation when making requests to the
1685       registry via https.
1686
1687       See also the ca config.  <!-- automatically generated, do not edit man‐
1688       ually --> <!-- see lib/utils/config/definitions.js -->
1689
1690
1691   tag
1692       • Default: "latest"
1693
1694       • Type: String
1695
1696
1697       If  you  ask npm to install a package and don't tell it a specific ver‐
1698       sion, then it will install the specified tag.
1699
1700       Also the tag that is added to the package@version specified by the  npm
1701       tag command, if no explicit tag is given.
1702
1703       When  used  by  the npm diff command, this is the tag used to fetch the
1704       tarball that will be compared with the local files  by  default.   <!--
1705       automatically   generated,   do   not   edit   manually  -->  <!--  see
1706       lib/utils/config/definitions.js -->
1707
1708
1709   tag-version-prefix
1710       • Default: "v"
1711
1712       • Type: String
1713
1714
1715       If set, alters the prefix used when tagging a new version when perform‐
1716       ing  a  version increment using npm-version. To remove the prefix alto‐
1717       gether, set it to the empty string: "".
1718
1719       Because other tools may rely on the convention that  npm  version  tags
1720       look like v1.0.0, only use this property if it is absolutely necessary.
1721       In particular, use care when overriding this setting for  public  pack‐
1722       ages.   <!-- automatically generated, do not edit manually --> <!-- see
1723       lib/utils/config/definitions.js -->
1724
1725
1726   timing
1727       • Default: false
1728
1729       • Type: Boolean
1730
1731
1732       If true, writes an npm-debug log to _logs  and  timing  information  to
1733       _timing.json,  both  in  your cache, even if the command completes suc‐
1734       cessfully. _timing.json is a newline delimited list of JSON objects.
1735
1736       You can quickly view it  with  this  json  https://npm.im/json  command
1737       line:  npm  exec  -- json -g < ~/.npm/_timing.json.  <!-- automatically
1738       generated, do not edit manually --> <!--  see  lib/utils/config/defini‐
1739       tions.js -->
1740
1741
1742   umask
1743       • Default: 0
1744
1745       • Type: Octal numeric string in range 0000..0777 (0..511)
1746
1747
1748       The  "umask"  value to use when setting the file creation mode on files
1749       and folders.
1750
1751       Folders and executables are given a mode which is 0o777 masked  against
1752       this  value. Other files are given a mode which is 0o666 masked against
1753       this value.
1754
1755       Note that the underlying system will also apply its own umask value  to
1756       files  and  folders that are created, and npm does not circumvent this,
1757       but rather adds the --umask config to it.
1758
1759       Thus, the effective default umask value on most POSIX systems is  0o22,
1760       meaning  that  folders and executables are created with a mode of 0o755
1761       and other files are created with a mode of 0o644.   <!--  automatically
1762       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
1763       tions.js -->
1764
1765
1766   unicode
1767       • Default: false on windows, true on mac/unix systems  with  a  unicode
1768         locale, as defined by the LC_ALL, LC_CTYPE, or LANG environment vari‐
1769         ables.
1770
1771       • Type: Boolean
1772
1773
1774       When set to true, npm uses unicode characters in the tree output.  When
1775       false,  it uses ascii characters instead of unicode glyphs.  <!-- auto‐
1776       matically generated, do not edit manually --> <!--  see  lib/utils/con‐
1777       fig/definitions.js -->
1778
1779
1780   update-notifier
1781       • Default: true
1782
1783       • Type: Boolean
1784
1785
1786       Set  to  false  to suppress the update notification when using an older
1787       version of npm than the latest.  <!-- automatically generated,  do  not
1788       edit manually --> <!-- see lib/utils/config/definitions.js -->
1789
1790
1791   usage
1792       • Default: false
1793
1794       • Type: Boolean
1795
1796
1797       Show  short  usage  output about the command specified.  <!-- automati‐
1798       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
1799       fig/definitions.js -->
1800
1801
1802   user-agent
1803       • Default:  "npm/{npm-version}  node/{node-version}  {platform}  {arch}
1804         workspaces/{workspaces} {ci}"
1805
1806       • Type: String
1807
1808
1809       Sets the User-Agent request header. The following fields  are  replaced
1810       with their actual counterparts:
1811
1812{npm-version} - The npm version in use
1813
1814{node-version} - The Node.js version in use
1815
1816{platform} - The value of process.platform
1817
1818{arch} - The value of process.arch
1819
1820{workspaces} - Set to true if the workspaces or workspace options are
1821         set.
1822
1823{ci} - The value of the ci-name config, if set, prefixed with ci/, or
1824         an empty string if ci-name is empty.
1825
1826       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1827       lib/utils/config/definitions.js -->
1828
1829
1830   userconfig
1831       • Default: "~/.npmrc"
1832
1833       • Type: Path
1834
1835
1836       The location of user-level configuration settings.
1837
1838       This may be overridden by the npm_config_userconfig  environment  vari‐
1839       able or the --userconfig command line option, but may not be overridden
1840       by settings in the globalconfig file.  <!-- automatically generated, do
1841       not edit manually --> <!-- see lib/utils/config/definitions.js -->
1842
1843
1844   version
1845       • Default: false
1846
1847       • Type: Boolean
1848
1849
1850       If true, output the npm version and exit successfully.
1851
1852       Only  relevant when specified explicitly on the command line.  <!-- au‐
1853       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
1854       fig/definitions.js -->
1855
1856
1857   versions
1858       • Default: false
1859
1860       • Type: Boolean
1861
1862
1863       If  true, output the npm version as well as node's process.versions map
1864       and the version in the current working directory's package.json file if
1865       one exists, and exit successfully.
1866
1867       Only  relevant when specified explicitly on the command line.  <!-- au‐
1868       tomatically generated, do not edit manually --> <!-- see lib/utils/con‐
1869       fig/definitions.js -->
1870
1871
1872   viewer
1873       • Default: "man" on Posix, "browser" on Windows
1874
1875       • Type: String
1876
1877
1878       The program to use to view help content.
1879
1880       Set  to "browser" to view html help content in the default web browser.
1881       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
1882       lib/utils/config/definitions.js -->
1883
1884
1885   which
1886       • Default: null
1887
1888       • Type: null or Number
1889
1890
1891       If  there  are  multiple funding sources, which 1-indexed source URL to
1892       open.  <!-- automatically generated, do not edit manually --> <!--  see
1893       lib/utils/config/definitions.js -->
1894
1895
1896   workspace
1897       • Default:
1898
1899       • Type: String (can be set multiple times)
1900
1901
1902       Enable running a command in the context of the configured workspaces of
1903       the current project while filtering by running only the workspaces  de‐
1904       fined by this configuration option.
1905
1906       Valid values for the workspace config are either:
1907
1908       • Workspace names
1909
1910       • Path to a workspace directory
1911
1912       • Path  to  a  parent workspace directory (will result in selecting all
1913         workspaces within that folder)
1914
1915
1916       When set for the npm init command, this may be set to the folder  of  a
1917       workspace  which does not yet exist, to create the folder and set it up
1918       as a brand new workspace within the project.
1919
1920       This value is not exported to  the  environment  for  child  processes.
1921       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1922       lib/utils/config/definitions.js -->
1923
1924
1925   workspaces
1926       • Default: null
1927
1928       • Type: null or Boolean
1929
1930
1931       Set to true to run  the  command  in  the  context  of  all  configured
1932       workspaces.
1933
1934       Explicitly  setting  this  to false will cause commands like install to
1935       ignore workspaces altogether. When not set explicitly:
1936
1937       • Commands that operate on  the  node_modules  tree  (install,  update,
1938         etc.)   will link workspaces into the node_modules folder. - Commands
1939         that do other things (test, exec, publish, etc.) will operate on  the
1940         root  project,  unless  one  or  more workspaces are specified in the
1941         workspace config.
1942
1943
1944       This value is not exported to  the  environment  for  child  processes.
1945       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1946       lib/utils/config/definitions.js -->
1947
1948
1949   yes
1950       • Default: null
1951
1952       • Type: null or Boolean
1953
1954
1955       Automatically answer "yes" to any prompts that npm might print  on  the
1956       command  line.   <!-- automatically generated, do not edit manually -->
1957       <!-- see lib/utils/config/definitions.js -->
1958
1959
1960   also
1961       • Default: null
1962
1963       • Type: null, "dev", or "development"
1964
1965       • DEPRECATED: Please use --include=dev instead.
1966
1967
1968       When set to dev or development, this is  an  alias  for  --include=dev.
1969       <!--  automatically  generated,  do  not  edit  manually  -->  <!-- see
1970       lib/utils/config/definitions.js -->
1971
1972
1973   auth-type
1974       • Default: "legacy"
1975
1976       • Type: "legacy", "sso", "saml", or "oauth"
1977
1978       • DEPRECATED: This method of SSO/SAML/OAuth is deprecated and  will  be
1979         removed in a future version of npm in favor of web-based login.
1980
1981
1982       What authentication strategy to use with adduser/login.  <!-- automati‐
1983       cally generated, do not  edit  manually  -->  <!--  see  lib/utils/con‐
1984       fig/definitions.js -->
1985
1986
1987   cache-max
1988       • Default: Infinity
1989
1990       • Type: Number
1991
1992       • DEPRECATED:  This option has been deprecated in favor of --prefer-on‐
1993         line
1994
1995
1996       --cache-max=0 is an alias for --prefer-online <!-- automatically gener‐
1997       ated, do not edit manually --> <!-- see lib/utils/config/definitions.js
1998       -->
1999
2000
2001   cache-min
2002       • Default: 0
2003
2004       • Type: Number
2005
2006       • DEPRECATED: This option has been deprecated in favor of --prefer-off‐
2007         line.
2008
2009
2010       --cache-min=9999  (or  bigger)  is an alias for --prefer-offline.  <!--
2011       automatically  generated,  do  not   edit   manually   -->   <!--   see
2012       lib/utils/config/definitions.js -->
2013
2014
2015   dev
2016       • Default: false
2017
2018       • Type: Boolean
2019
2020       • DEPRECATED: Please use --include=dev instead.
2021
2022
2023       Alias  for  --include=dev.   <!--  automatically generated, do not edit
2024       manually --> <!-- see lib/utils/config/definitions.js -->
2025
2026
2027   init.author.email
2028       • Default: ""
2029
2030       • Type: String
2031
2032       • DEPRECATED: Use --init-author-email instead.
2033
2034
2035       Alias for --init-author-email <!-- automatically generated, do not edit
2036       manually --> <!-- see lib/utils/config/definitions.js -->
2037
2038
2039   init.author.name
2040       • Default: ""
2041
2042       • Type: String
2043
2044       • DEPRECATED: Use --init-author-name instead.
2045
2046
2047       Alias  for --init-author-name <!-- automatically generated, do not edit
2048       manually --> <!-- see lib/utils/config/definitions.js -->
2049
2050
2051   init.author.url
2052       • Default: ""
2053
2054       • Type: "" or URL
2055
2056       • DEPRECATED: Use --init-author-url instead.
2057
2058
2059       Alias for --init-author-url <!-- automatically generated, do  not  edit
2060       manually --> <!-- see lib/utils/config/definitions.js -->
2061
2062
2063   init.license
2064       • Default: "ISC"
2065
2066       • Type: String
2067
2068       • DEPRECATED: Use --init-license instead.
2069
2070
2071       Alias for --init-license <!-- automatically generated, do not edit man‐
2072       ually --> <!-- see lib/utils/config/definitions.js -->
2073
2074
2075   init.module
2076       • Default: "~/.npm-init.js"
2077
2078       • Type: Path
2079
2080       • DEPRECATED: Use --init-module instead.
2081
2082
2083       Alias for --init-module <!-- automatically generated, do not edit manu‐
2084       ally --> <!-- see lib/utils/config/definitions.js -->
2085
2086
2087   init.version
2088       • Default: "1.0.0"
2089
2090       • Type: SemVer string
2091
2092       • DEPRECATED: Use --init-version instead.
2093
2094
2095       Alias for --init-version <!-- automatically generated, do not edit man‐
2096       ually --> <!-- see lib/utils/config/definitions.js -->
2097
2098
2099   only
2100       • Default: null
2101
2102       • Type: null, "prod", or "production"
2103
2104       • DEPRECATED: Use --omit=dev to omit dev dependencies from the install.
2105
2106
2107       When set to prod or production, this is an alias for --omit=dev.   <!--
2108       automatically   generated,   do   not   edit   manually  -->  <!--  see
2109       lib/utils/config/definitions.js -->
2110
2111
2112   optional
2113       • Default: null
2114
2115       • Type: null or Boolean
2116
2117       • DEPRECATED: Use --omit=optional to exclude optional dependencies,  or
2118         --include=optional to include them.
2119
2120
2121       Default value does install optional deps unless otherwise omitted.
2122
2123       Alias for --include=optional or --omit=optional <!-- automatically gen‐
2124       erated, do not edit  manually  -->  <!--  see  lib/utils/config/defini‐
2125       tions.js -->
2126
2127
2128   production
2129       • Default: null
2130
2131       • Type: null or Boolean
2132
2133       • DEPRECATED: Use --omit=dev instead.
2134
2135
2136       Alias for --omit=dev <!-- automatically generated, do not edit manually
2137       --> <!-- see lib/utils/config/definitions.js -->
2138
2139
2140   shrinkwrap
2141       • Default: true
2142
2143       • Type: Boolean
2144
2145       • DEPRECATED: Use the --package-lock setting instead.
2146
2147
2148       Alias for --package-lock <!-- automatically generated, do not edit man‐
2149       ually --> <!-- see lib/utils/config/definitions.js -->
2150
2151
2152   sso-poll-frequency
2153       • Default: 500
2154
2155       • Type: Number
2156
2157       • DEPRECATED:  The --auth-type method of SSO/SAML/OAuth will be removed
2158         in a future version of npm in favor of web-based login.
2159
2160
2161       When used with SSO-enabled auth-types,  configures  how  regularly  the
2162       registry  should be polled while the user is completing authentication.
2163       <!-- automatically  generated,  do  not  edit  manually  -->  <!--  see
2164       lib/utils/config/definitions.js -->
2165
2166
2167   sso-type
2168       • Default: "oauth"
2169
2170       • Type: null, "oauth", or "saml"
2171
2172       • DEPRECATED:  The --auth-type method of SSO/SAML/OAuth will be removed
2173         in a future version of npm in favor of web-based login.
2174
2175
2176       If --auth-type=sso, the type of SSO type to  use.   <!--  automatically
2177       generated,  do  not edit manually --> <!-- see lib/utils/config/defini‐
2178       tions.js -->
2179
2180
2181   tmp
2182       • Default:  The  value  returned  by  the  Node.js  os.tmpdir()  method
2183         https://nodejs.org/api/os.html#os_os_tmpdir
2184
2185       • Type: Path
2186
2187       • DEPRECATED:  This  setting  is  no  longer used. npm stores temporary
2188         files in a special location in the cache, and they are managed by ca‐
2189         cache http://npm.im/cacache.
2190
2191
2192       Historically, the location where temporary files were stored. No longer
2193       relevant.  <!-- automatically generated, do not edit manually -->  <!--
2194       see  lib/utils/config/definitions.js  --> <!-- AUTOGENERATED CONFIG DE‐
2195       SCRIPTIONS END -->
2196
2197
2198   See also
2199       • npm help config
2200
2201       • npm help npmrc
2202
2203       • npm help scripts
2204
2205       • npm help folders
2206
2207       • npm help npm
2208
2209
2210
2211
2212                                 January 2022                        CONFIG(7)
Impressum