Skip to content

Commit 2469ae5

Browse files
isaacsnlf
authored andcommitted
Add 'fetch-timeout' config
This gets passed down to dependencies as 'timeout', so that the HTTP request libraries will all get the right value. Fix: #1780 PR-URL: #1870 Credit: @isaacs Close: #1870 Reviewed-by: @nlf
1 parent e225ddc commit 2469ae5

File tree

6 files changed

+19
-0
lines changed

6 files changed

+19
-0
lines changed

docs/content/using-npm/config.md

Lines changed: 7 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -470,6 +470,13 @@ packages.
470470
The "maxTimeout" config for the `retry` module to use when fetching
471471
packages.
472472

473+
#### fetch-timeout
474+
475+
* Default: 300000 (5 minutes)
476+
* Type: Number
477+
478+
The maximum amount of time to wait for HTTP requests to complete.
479+
473480
#### fund
474481

475482
* Default: true

lib/utils/config.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -88,6 +88,7 @@ const defaults = {
8888
'fetch-retry-factor': 10,
8989
'fetch-retry-mintimeout': 10000,
9090
'fetch-retry-maxtimeout': 60000,
91+
'fetch-timeout': 5 * 60 * 1000,
9192

9293
git: 'git',
9394
'git-tag-version': true,
@@ -221,6 +222,7 @@ const types = {
221222
'fetch-retry-factor': Number,
222223
'fetch-retry-mintimeout': Number,
223224
'fetch-retry-maxtimeout': Number,
225+
'fetch-timeout': Number,
224226
git: String,
225227
'git-tag-version': Boolean,
226228
'commit-hooks': Boolean,

lib/utils/flat-options.js

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -147,6 +147,8 @@ const flatOptions = npm => npm.flatOptions || Object.freeze({
147147
minTimeout: npm.config.get('fetch-retry-mintimeout')
148148
},
149149

150+
timeout: npm.config.get('fetch-timeout'),
151+
150152
force: npm.config.get('force'),
151153

152154
formatPackageLock: npm.config.get('format-package-lock'),

tap-snapshots/test-lib-utils-config.js-TAP.test.js

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -42,6 +42,7 @@ Object {
4242
"fetch-retry-factor": 10,
4343
"fetch-retry-maxtimeout": 60000,
4444
"fetch-retry-mintimeout": 10000,
45+
"fetch-timeout": 300000,
4546
"force": false,
4647
"format-package-lock": true,
4748
"fund": true,
@@ -339,6 +340,7 @@ Object {
339340
"fetch-retry-factor": "{Number TYPE}",
340341
"fetch-retry-maxtimeout": "{Number TYPE}",
341342
"fetch-retry-mintimeout": "{Number TYPE}",
343+
"fetch-timeout": "{Number TYPE}",
342344
"force": "{Boolean TYPE}",
343345
"format-package-lock": "{Boolean TYPE}",
344346
"fund": "{Boolean TYPE}",
@@ -554,6 +556,7 @@ Object {
554556
"fetch-retry-factor": 10,
555557
"fetch-retry-maxtimeout": 60000,
556558
"fetch-retry-mintimeout": 10000,
559+
"fetch-timeout": 300000,
557560
"force": false,
558561
"format-package-lock": true,
559562
"fund": true,
@@ -851,6 +854,7 @@ Object {
851854
"fetch-retry-factor": "{Number TYPE}",
852855
"fetch-retry-maxtimeout": "{Number TYPE}",
853856
"fetch-retry-mintimeout": "{Number TYPE}",
857+
"fetch-timeout": "{Number TYPE}",
854858
"force": "{Boolean TYPE}",
855859
"format-package-lock": "{Boolean TYPE}",
856860
"fund": "{Boolean TYPE}",
@@ -1066,6 +1070,7 @@ Object {
10661070
"fetch-retry-factor": 10,
10671071
"fetch-retry-maxtimeout": 60000,
10681072
"fetch-retry-mintimeout": 10000,
1073+
"fetch-timeout": 300000,
10691074
"force": false,
10701075
"format-package-lock": true,
10711076
"fund": true,
@@ -1363,6 +1368,7 @@ Object {
13631368
"fetch-retry-factor": "{Number TYPE}",
13641369
"fetch-retry-maxtimeout": "{Number TYPE}",
13651370
"fetch-retry-mintimeout": "{Number TYPE}",
1371+
"fetch-timeout": "{Number TYPE}",
13661372
"force": "{Boolean TYPE}",
13671373
"format-package-lock": "{Boolean TYPE}",
13681374
"fund": "{Boolean TYPE}",

tap-snapshots/test-lib-utils-flat-options.js-TAP.test.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -115,6 +115,7 @@ Object {
115115
"strictSSL": "strict-ssl",
116116
"tag": "tag",
117117
"tagVersionPrefix": "tag-version-prefix",
118+
"timeout": "fetch-timeout",
118119
"tmp": "/tmp",
119120
"umask": 18,
120121
"unicode": undefined,

test/lib/utils/flat-options.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -73,6 +73,7 @@ class MockConfig {
7373
'fetch-retry-factor': 'fetch-retry-factor',
7474
'fetch-retry-mintimeout': 'fetch-retry-mintimeout',
7575
'fetch-retry-maxtimeout': 'fetch-retry-maxtimeout',
76+
'fetch-timeout': 'fetch-timeout',
7677
force: 'force',
7778
'format-package-lock': 'format-package-lock',
7879
fund: 'fund',

0 commit comments

Comments
 (0)