diff options
author | Gar <gar+gh@danger.computer> | 2021-07-02 16:55:14 +0300 |
---|---|---|
committer | Gar <gar+gh@danger.computer> | 2021-07-12 18:50:07 +0300 |
commit | 3ecf19cdc35684ccb15280b2c34d27496aa1c634 (patch) | |
tree | 89062f380d0a942a4f83e1c8b5b1673fa917a9c1 | |
parent | f17aca5cdf355aaa7e1f517d1b3bb4213f4df092 (diff) |
fix(config): fix noproxy
The flattener worked for everything except for when you are using
`npm config set` itself. Now it works for both.
PR-URL: https://github.com/npm/cli/pull/3508
Credit: @wraithgar
Close: #3508
Reviewed-by: @nlf
-rw-r--r-- | lib/utils/config/definitions.js | 5 | ||||
-rw-r--r-- | test/lib/utils/config/definitions.js | 10 |
2 files changed, 13 insertions, 2 deletions
diff --git a/lib/utils/config/definitions.js b/lib/utils/config/definitions.js index 5375aeced..9e560fb71 100644 --- a/lib/utils/config/definitions.js +++ b/lib/utils/config/definitions.js @@ -1204,7 +1204,10 @@ define('noproxy', { Also accepts a comma-delimited string. `, flatten (key, obj, flatOptions) { - flatOptions.noProxy = obj[key].join(',') + if (Array.isArray(obj[key])) + flatOptions.noProxy = obj[key].join(',') + else + flatOptions.noProxy = obj[key] }, }) diff --git a/test/lib/utils/config/definitions.js b/test/lib/utils/config/definitions.js index 8724f0e3b..e829780fc 100644 --- a/test/lib/utils/config/definitions.js +++ b/test/lib/utils/config/definitions.js @@ -463,7 +463,7 @@ t.test('search options', t => { t.end() }) -t.test('noProxy', t => { +t.test('noProxy - array', t => { const obj = { noproxy: ['1.2.3.4,2.3.4.5', '3.4.5.6'] } const flat = {} definitions.noproxy.flatten('noproxy', obj, flat) @@ -471,6 +471,14 @@ t.test('noProxy', t => { t.end() }) +t.test('noProxy - string', t => { + const obj = { noproxy: '1.2.3.4,2.3.4.5,3.4.5.6' } + const flat = {} + definitions.noproxy.flatten('noproxy', obj, flat) + t.strictSame(flat, { noProxy: '1.2.3.4,2.3.4.5,3.4.5.6' }) + t.end() +}) + t.test('maxSockets', t => { const obj = { maxsockets: 123 } const flat = {} |