corepack prepare npm@latest works but corepack prepare npm@latest-7 doesn't.
The result in corepack@0.13.0:
$ corepack prepare npm@latest-7
Type Error: Invalid comparator: latest-7
at Comparator.parse (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3370:13)
at new Comparator (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3354:10)
at /Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3611:47
at Array.map (<anonymous>)
at Range.parseRange (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3611:35)
at /Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3512:22
at Array.map (<anonymous>)
at new Range (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:3512:8)
at Module.findInstalledVersion (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:15788:19)
at async Engine.resolveDescriptor (/Users/teppeis/.nodenv/versions/18.7.0/lib/node_modules/corepack/dist/corepack.js:15214:31)
(node:45466) Warning: Closing directory handle on garbage collection
(Use `node --trace-warnings ...` to show where the warning was created)
This regex seems to be the cause.
|
if (/^[a-z-]+$/.test(descriptor.range)) { |
corepack prepare npm@latestworks butcorepack prepare npm@latest-7doesn't.The result in corepack@0.13.0:
This regex seems to be the cause.
corepack/sources/Engine.ts
Line 139 in f241dff