Issue 1:
Current Behavior:

Self signed certificate in chain after upgrading to npm 7 from npm 6 latest.

npm WARN registry Unexpected warning for https://registry.npmjs.org/: Miscellaneous Warning SELF_SIGNED_CERT_IN_CHAIN: request to https://registry.npmjs.org/@babel%2fparser failed, reason: self signed certificate in certificate chain
npm WARN registry Using stale data from https://registry.npmjs.org/ due to a request error during revalidation.
npm ERR! code SELF_SIGNED_CERT_IN_CHAIN
npm ERR! errno SELF_SIGNED_CERT_IN_CHAIN
npm ERR! request to https://registry.npmjs.org/@changesets%2fcli failed, reason: self signed certificate in certificate chain

npm ERR! A complete log of this run can be found in:

npm config list

; "user" config from /Users/joren/.npmrc

@foo:registry = "https://foo.net/api/npm/"
//foo.net/api/npm/:_authToken = (protected)
cafile = "/Users/joren/certs/foo.ca-bundle"
https_proxy = "http://localhost:3128"
proxy = "http://localhost:3128/"
registry = "https://foo.net/api/npm/"
strict-ssl = true

; "cli" config from command line options

omit = []
user-agent = "npm/7.0.8 node/v14.13.0 darwin x64"

; node bin location = /usr/local/Cellar/node/14.13.0/bin/node
; cwd = /Users/joren/code/lion
; HOME = /Users/joren
; Run `npm config ls -l` to show all defaults.

Turning strict-ssl to false as a workaround also doesn't work, I get the same error. And I want strict-ssl to be on, of course :).

If I downgrade back to npm 6, it works again.

Expected Behavior:

npm 7 to handle my ~/.npmrc cafile config properly.

Steps To Reproduce:

Use a proxy

Use any private NPM registry

Use my config as noted above, but edit the values to sync with your proxy and private NPM registry

Create some certificates and bundle them as one, add the path to this bundle to your npm config cafile

Verify things are working fine with npm 6

Upgrade to npm 7 (npm i -g npm@7)

npm install anywhere, see the error.

Environment:

OS: MacOS Catalina 10.15.5

Node: 14.13.0

npm: 7.0.8

Issue 2:
Is there an existing issue for this?

I have searched the existing issues

Current Behavior

Trying to download this tool https://github.com/CesiumGS/gltf-pipeline, I run the command npm install -g gltf-pipeline

and I get

npm ERR! Exit handler never called!

npm ERR! This is an error with npm itself. Please report this error at:
npm ERR! <https://github.com/npm/cli/issues>

npm ERR! A complete log of this run can be found in:
npm ERR! C:\...\2021-07-26T00_32_46_038Z-debug.log

The log is

0 verbose cli [
0 verbose cli 'C:\\Program Files\\nodejs\\node.exe',
0 verbose cli 'C:\\Users\\JR\\AppData\\Roaming\\npm\\node_modules\\npm\\bin\\npm-cli.js',
0 verbose cli 'install',
0 verbose cli '-g',
0 verbose cli 'gltf-pipeline'
0 verbose cli ]
1 info using npm@7.20.1
2 info using node@v14.15.4
3 timing npm:load:whichnode Completed in 2ms
4 timing config:load:defaults Completed in 4ms
5 timing config:load:file:C:\Users\JR\AppData\Roaming\npm\node_modules\npm\npmrc Completed in 26ms
6 timing config:load:builtin Completed in 26ms
7 timing config:load:cli Completed in 5ms
8 timing config:load:env Completed in 1ms
9 timing config:load:project Completed in 3ms
10 timing config:load:file:C:\Users\JR\.npmrc Completed in 2ms
11 timing config:load:user Completed in 2ms
12 timing config:load:file:C:\Users\JR\AppData\Roaming\npm\etc\npmrc Completed in 1ms
13 timing config:load:global Completed in 1ms
14 timing config:load:validate Completed in 1ms
15 timing config:load:credentials Completed in 2ms
16 timing config:load:setEnvs Completed in 2ms
17 timing config:load Completed in 49ms
18 timing npm:load:configload Completed in 50ms
19 timing npm:load:setTitle Completed in 0ms
20 timing npm:load:setupLog Completed in 3ms
21 timing config:load:flatten Completed in 9ms
22 timing npm:load:cleanupLog Completed in 6ms
23 timing npm:load:configScope Completed in 0ms
24 timing npm:load:projectScope Completed in 1ms
25 timing npm:load Completed in 77ms
26 timing arborist:ctor Completed in 1ms
27 timing idealTree:init Completed in 18ms
28 timing idealTree:userRequests Completed in 6ms
29 silly idealTree buildDeps
30 silly fetch manifest gltf-pipeline@*
31 http fetch GET 200 https://registry.npmjs.org/gltf-pipeline 2557ms (cache revalidated)
32 silly placeDep ROOT gltf-pipeline@3.0.3 OK for: want: *
33 silly fetch manifest bluebird@^3.7.2
34 silly fetch manifest cesium@^1.83.0
35 silly fetch manifest draco3d@^1.4.1
36 silly fetch manifest fs-extra@^10.0.0
37 silly fetch manifest mime@^2.5.2
38 silly fetch manifest object-hash@^2.2.0
39 silly fetch manifest yargs@^17.0.1
40 http fetch GET 200 https://registry.npmjs.org/bluebird 710ms (cache revalidated)
41 http fetch GET 200 https://registry.npmjs.org/draco3d 4391ms (cache revalidated)
42 http fetch GET 200 https://registry.npmjs.org/cesium 5085ms (cache revalidated)
43 http fetch GET 200 https://registry.npmjs.org/yargs 5540ms (cache revalidated)
44 http fetch GET 200 https://registry.npmjs.org/object-hash 5557ms (cache revalidated)
45 http fetch GET 200 https://registry.npmjs.org/mime 5562ms (cache revalidated)
46 http fetch GET 200 https://registry.npmjs.org/fs-extra 5572ms (cache revalidated)
47 timing idealTree:#root Completed in 8176ms
48 silly placeDep node_modules/gltf-pipeline bluebird@3.7.2 OK for: gltf-pipeline@3.0.3 want: ^3.7.2
49 silly placeDep node_modules/gltf-pipeline cesium@1.83.0 OK for: gltf-pipeline@3.0.3 want: ^1.83.0
50 silly placeDep node_modules/gltf-pipeline draco3d@1.4.1 OK for: gltf-pipeline@3.0.3 want: ^1.4.1
51 silly placeDep node_modules/gltf-pipeline fs-extra@10.0.0 OK for: gltf-pipeline@3.0.3 want: ^10.0.0
52 silly placeDep node_modules/gltf-pipeline mime@2.5.2 OK for: gltf-pipeline@3.0.3 want: ^2.5.2
53 silly placeDep node_modules/gltf-pipeline object-hash@2.2.0 OK for: gltf-pipeline@3.0.3 want: ^2.2.0
54 silly placeDep node_modules/gltf-pipeline yargs@17.0.1 OK for: gltf-pipeline@3.0.3 want: ^17.0.1
55 silly fetch manifest graceful-fs@^4.2.0
56 silly fetch manifest jsonfile@^6.0.1
57 silly fetch manifest universalify@^2.0.0
58 silly fetch manifest cliui@^7.0.2
59 silly fetch manifest escalade@^3.1.1
60 silly fetch manifest get-caller-file@^2.0.5
61 silly fetch manifest require-directory@^2.1.1
62 silly fetch manifest string-width@^4.2.0
63 silly fetch manifest y18n@^5.0.5
64 silly fetch manifest yargs-parser@^20.2.2
65 http fetch GET 200 https://registry.npmjs.org/graceful-fs 345ms (cache revalidated)
66 http fetch GET 200 https://registry.npmjs.org/escalade 457ms (cache revalidated)
67 http fetch GET 200 https://registry.npmjs.org/get-caller-file 475ms (cache revalidated)
68 http fetch GET 200 https://registry.npmjs.org/universalify 487ms (cache revalidated)
69 http fetch GET 200 https://registry.npmjs.org/cliui 528ms (cache revalidated)
70 http fetch GET 200 https://registry.npmjs.org/require-directory 531ms (cache revalidated)
71 http fetch GET 200 https://registry.npmjs.org/string-width 606ms (cache revalidated)
72 http fetch GET 200 https://registry.npmjs.org/jsonfile 1520ms (cache revalidated)
73 http fetch GET 200 https://registry.npmjs.org/y18n 1509ms (cache revalidated)
74 http fetch GET 200 https://registry.npmjs.org/yargs-parser 1806ms (cache revalidated)
75 timing idealTree:node_modules/gltf-pipeline Completed in 1854ms
76 timing idealTree:node_modules/gltf-pipeline/node_modules/bluebird Completed in 0ms
77 timing idealTree:node_modules/gltf-pipeline/node_modules/cesium Completed in 0ms
78 timing idealTree:node_modules/gltf-pipeline/node_modules/draco3d Completed in 0ms
79 silly placeDep node_modules/gltf-pipeline graceful-fs@4.2.6 OK for: fs-extra@10.0.0 want: ^4.2.0
80 silly placeDep node_modules/gltf-pipeline jsonfile@6.1.0 OK for: fs-extra@10.0.0 want: ^6.0.1
81 silly placeDep node_modules/gltf-pipeline universalify@2.0.0 OK for: fs-extra@10.0.0 want: ^2.0.0
82 timing idealTree:node_modules/gltf-pipeline/node_modules/fs-extra Completed in 23ms
83 timing idealTree:node_modules/gltf-pipeline/node_modules/graceful-fs Completed in 0ms
84 timing idealTree:node_modules/gltf-pipeline/node_modules/jsonfile Completed in 0ms
85 timing idealTree:node_modules/gltf-pipeline/node_modules/mime Completed in 0ms
86 timing idealTree:node_modules/gltf-pipeline/node_modules/object-hash Completed in 0ms
87 timing idealTree:node_modules/gltf-pipeline/node_modules/universalify Completed in 0ms
88 silly placeDep node_modules/gltf-pipeline cliui@7.0.4 OK for: yargs@17.0.1 want: ^7.0.2
89 silly placeDep node_modules/gltf-pipeline escalade@3.1.1 OK for: yargs@17.0.1 want: ^3.1.1
90 silly placeDep node_modules/gltf-pipeline get-caller-file@2.0.5 OK for: yargs@17.0.1 want: ^2.0.5
91 silly placeDep node_modules/gltf-pipeline require-directory@2.1.1 OK for: yargs@17.0.1 want: ^2.1.1
92 silly placeDep node_modules/gltf-pipeline string-width@4.2.2 OK for: yargs@17.0.1 want: ^4.2.0
93 silly placeDep node_modules/gltf-pipeline y18n@5.0.8 OK for: yargs@17.0.1 want: ^5.0.5
94 silly placeDep node_modules/gltf-pipeline yargs-parser@20.2.9 OK for: yargs@17.0.1 want: ^20.2.2
95 silly fetch manifest strip-ansi@^6.0.0
96 silly fetch manifest wrap-ansi@^7.0.0
97 silly fetch manifest emoji-regex@^8.0.0
98 silly fetch manifest is-fullwidth-code-point@^3.0.0
99 http fetch GET 200 https://registry.npmjs.org/wrap-ansi 214ms (cache revalidated)
100 http fetch GET 200 https://registry.npmjs.org/strip-ansi 245ms (cache revalidated)
101 http fetch GET 200 https://registry.npmjs.org/is-fullwidth-code-point 325ms (cache revalidated)
102 http fetch GET 200 https://registry.npmjs.org/emoji-regex 331ms (cache revalidated)
103 timing idealTree:node_modules/gltf-pipeline/node_modules/yargs Completed in 373ms
104 silly placeDep node_modules/gltf-pipeline strip-ansi@6.0.0 OK for: cliui@7.0.4 want: ^6.0.0
105 silly placeDep node_modules/gltf-pipeline wrap-ansi@7.0.0 OK for: cliui@7.0.4 want: ^7.0.0
106 silly fetch manifest ansi-regex@^5.0.0
107 silly fetch manifest ansi-styles@^4.0.0
108 http fetch GET 200 https://registry.npmjs.org/ansi-styles 209ms (cache revalidated)
109 http fetch GET 200 https://registry.npmjs.org/ansi-regex 253ms (cache revalidated)
110 timing idealTree:node_modules/gltf-pipeline/node_modules/cliui Completed in 265ms
111 timing idealTree:node_modules/gltf-pipeline/node_modules/escalade Completed in 0ms
112 timing idealTree:node_modules/gltf-pipeline/node_modules/get-caller-file Completed in 0ms
113 timing idealTree:node_modules/gltf-pipeline/node_modules/require-directory Completed in 0ms
114 silly placeDep node_modules/gltf-pipeline emoji-regex@8.0.0 OK for: string-width@4.2.2 want: ^8.0.0
115 silly placeDep node_modules/gltf-pipeline is-fullwidth-code-point@3.0.0 OK for: string-width@4.2.2 want: ^3.0.0
116 timing idealTree:node_modules/gltf-pipeline/node_modules/string-width Completed in 11ms
117 timing idealTree:node_modules/gltf-pipeline/node_modules/emoji-regex Completed in 0ms
118 timing idealTree:node_modules/gltf-pipeline/node_modules/is-fullwidth-code-point Completed in 1ms
119 silly placeDep node_modules/gltf-pipeline ansi-regex@5.0.0 OK for: strip-ansi@6.0.0 want: ^5.0.0
120 timing idealTree:node_modules/gltf-pipeline/node_modules/strip-ansi Completed in 5ms
121 timing idealTree:node_modules/gltf-pipeline/node_modules/ansi-regex Completed in 0ms
122 silly placeDep node_modules/gltf-pipeline ansi-styles@4.3.0 OK for: wrap-ansi@7.0.0 want: ^4.0.0
123 silly fetch manifest color-convert@^2.0.1
124 http fetch GET 200 https://registry.npmjs.org/color-convert 368ms (cache revalidated)
125 timing idealTree:node_modules/gltf-pipeline/node_modules/wrap-ansi Completed in 378ms
126 silly placeDep node_modules/gltf-pipeline color-convert@2.0.1 OK for: ansi-styles@4.3.0 want: ^2.0.1
127 silly fetch manifest color-name@~1.1.4
128 http fetch GET 200 https://registry.npmjs.org/color-name 346ms (cache revalidated)
129 timing idealTree:node_modules/gltf-pipeline/node_modules/ansi-styles Completed in 356ms
130 silly placeDep node_modules/gltf-pipeline color-name@1.1.4 OK for: color-convert@2.0.1 want: ~1.1.4
131 timing idealTree:node_modules/gltf-pipeline/node_modules/color-convert Completed in 3ms
132 timing idealTree:node_modules/gltf-pipeline/node_modules/color-name Completed in 0ms
133 timing idealTree:node_modules/gltf-pipeline/node_modules/y18n Completed in 0ms
134 timing idealTree:node_modules/gltf-pipeline/node_modules/yargs-parser Completed in 0ms
135 timing idealTree:buildDeps Completed in 11466ms
136 timing idealTree:fixDepFlags Completed in 8ms
137 timing idealTree Completed in 11505ms
138 timing reify:loadTrees Completed in 11520ms
139 timing reify:diffTrees Completed in 7ms
140 silly reify moves {}
141 timing reify:retireShallow Completed in 2ms
142 timing reify:createSparse Completed in 54ms
143 timing reify:loadBundles Completed in 0ms
144 silly audit bulk request {
144 silly audit 'gltf-pipeline': [ '3.0.3' ],
144 silly audit bluebird: [ '3.7.2' ],
144 silly audit cesium: [ '1.83.0' ],
144 silly audit draco3d: [ '1.4.1' ],
144 silly audit 'fs-extra': [ '10.0.0' ],
144 silly audit mime: [ '2.5.2' ],
144 silly audit 'object-hash': [ '2.2.0' ],
144 silly audit yargs: [ '17.0.1' ],
144 silly audit 'graceful-fs': [ '4.2.6' ],
144 silly audit jsonfile: [ '6.1.0' ],
144 silly audit universalify: [ '2.0.0' ],
144 silly audit cliui: [ '7.0.4' ],
144 silly audit escalade: [ '3.1.1' ],
144 silly audit 'get-caller-file': [ '2.0.5' ],
144 silly audit 'require-directory': [ '2.1.1' ],
144 silly audit 'string-width': [ '4.2.2' ],
144 silly audit y18n: [ '5.0.8' ],
144 silly audit 'yargs-parser': [ '20.2.9' ],
144 silly audit 'strip-ansi': [ '6.0.0' ],
144 silly audit 'wrap-ansi': [ '7.0.0' ],
144 silly audit 'emoji-regex': [ '8.0.0' ],
144 silly audit 'is-fullwidth-code-point': [ '3.0.0' ],
144 silly audit 'ansi-regex': [ '5.0.0' ],
144 silly audit 'ansi-styles': [ '4.3.0' ],
144 silly audit 'color-convert': [ '2.0.1' ],
144 silly audit 'color-name': [ '1.1.4' ]
144 silly audit }
145 silly tarball no local data for cesium@https://registry.npmjs.org/cesium/-/cesium-1.83.0.tgz. Extracting by manifest.
146 timing reifyNode:node_modules/gltf-pipeline/node_modules/color-name Completed in 668ms
147 timing reifyNode:node_modules/gltf-pipeline/node_modules/universalify Completed in 689ms
148 timing reifyNode:node_modules/gltf-pipeline/node_modules/wrap-ansi Completed in 706ms
149 timing reifyNode:node_modules/gltf-pipeline/node_modules/ansi-regex Completed in 720ms
150 timing reifyNode:node_modules/gltf-pipeline/node_modules/strip-ansi Completed in 723ms
151 timing reifyNode:node_modules/gltf-pipeline/node_modules/string-width Completed in 727ms
152 http fetch POST 200 https://registry.npmjs.org/-/npm/v1/security/advisories/bulk 753ms
153 timing auditReport:getReport Completed in 757ms
154 silly audit report {}
155 timing auditReport:init Completed in 0ms
156 timing reify:audit Completed in 759ms
157 timing reifyNode:node_modules/gltf-pipeline/node_modules/ansi-styles Completed in 751ms
158 timing reifyNode:node_modules/gltf-pipeline/node_modules/is-fullwidth-code-point Completed in 753ms
159 timing reifyNode:node_modules/gltf-pipeline/node_modules/get-caller-file Completed in 752ms
160 timing reifyNode:node_modules/gltf-pipeline/node_modules/require-directory Completed in 812ms
161 timing reifyNode:node_modules/gltf-pipeline/node_modules/jsonfile Completed in 867ms
162 timing reifyNode:node_modules/gltf-pipeline/node_modules/color-convert Completed in 882ms
163 timing reifyNode:node_modules/gltf-pipeline/node_modules/graceful-fs Completed in 880ms
164 timing reifyNode:node_modules/gltf-pipeline/node_modules/object-hash Completed in 919ms
165 timing reifyNode:node_modules/gltf-pipeline/node_modules/escalade Completed in 924ms
166 timing reifyNode:node_modules/gltf-pipeline/node_modules/emoji-regex Completed in 959ms
167 timing reifyNode:node_modules/gltf-pipeline/node_modules/mime Completed in 1011ms
168 timing reifyNode:node_modules/gltf-pipeline/node_modules/cliui Completed in 1034ms
169 timing reifyNode:node_modules/gltf-pipeline/node_modules/y18n Completed in 1081ms
170 timing reifyNode:node_modules/gltf-pipeline/node_modules/yargs-parser Completed in 1199ms
171 timing reifyNode:node_modules/gltf-pipeline/node_modules/draco3d Completed in 1821ms
172 timing reifyNode:node_modules/gltf-pipeline Completed in 1886ms
173 timing reifyNode:node_modules/gltf-pipeline/node_modules/fs-extra Completed in 1926ms
174 timing reifyNode:node_modules/gltf-pipeline/node_modules/yargs Completed in 2038ms
175 timing reifyNode:node_modules/gltf-pipeline/node_modules/bluebird Completed in 2045ms
176 timing npm Completed in 738290ms
177 verbose unfinished npm timer command:install 1627258828927
178 verbose unfinished npm timer reify 1627258828933
179 verbose unfinished npm timer reify:unpack 1627258840605
180 verbose unfinished npm timer reifyNode:node_modules/gltf-pipeline/node_modules/cesium 1627258840609
181 info ok
182 error Exit handler never called!
183 error This is an error with npm itself. Please report this error at:
184 error <https://github.com/npm/cli/issues>

Expected Behavior

Download the tool

Steps To Reproduce

In this environment...

With this config...

Run '...'

See error...

Environment

OS: Windows 10

Node: 14.15.4

npm: 7.20.1