diff --git a/.changeset/purple-tools-leave.md b/.changeset/purple-tools-leave.md new file mode 100644 index 0000000000..6acd000de0 --- /dev/null +++ b/.changeset/purple-tools-leave.md @@ -0,0 +1,5 @@ +--- +"@pnpm/plugin-commands-env": minor +--- + +Add an immediate response when fetching Node.js on version switching, preventing pnpm looks like just hanging there. diff --git a/packages/plugin-commands-env/package.json b/packages/plugin-commands-env/package.json index 7e05d59a29..0b594f91a8 100644 --- a/packages/plugin-commands-env/package.json +++ b/packages/plugin-commands-env/package.json @@ -34,6 +34,7 @@ "@pnpm/config": "workspace:*", "@pnpm/error": "workspace:*", "@pnpm/fetch": "workspace:*", + "@pnpm/logger": "^4.0.0", "@pnpm/node.fetcher": "workspace:*", "@pnpm/node.resolver": "workspace:*", "@pnpm/store-path": "workspace:*", diff --git a/packages/plugin-commands-env/src/node.ts b/packages/plugin-commands-env/src/node.ts index b8ce7d6a0d..c75f912603 100644 --- a/packages/plugin-commands-env/src/node.ts +++ b/packages/plugin-commands-env/src/node.ts @@ -2,6 +2,7 @@ import fs from 'fs' import path from 'path' import { Config } from '@pnpm/config' import { createFetchFromRegistry, FetchFromRegistry } from '@pnpm/fetch' +import { globalInfo } from '@pnpm/logger' import { fetchNode } from '@pnpm/node.fetcher' import storePath from '@pnpm/store-path' import loadJsonFile from 'load-json-file' @@ -71,6 +72,7 @@ export async function getNodeDir (fetch: FetchFromRegistry, opts: NvmNodeCommand pnpmHomeDir: opts.pnpmHomeDir, }) const cafsDir = path.join(storeDir, 'files') + globalInfo(`Fetching Node.js ${opts.useNodeVersion} ...`) await fetchNode(fetch, opts.useNodeVersion, versionDir, { ...opts, cafsDir, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index b8aefec457..cb32a3303e 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -3060,6 +3060,9 @@ importers: '@pnpm/fetch': specifier: workspace:* version: link:../fetch + '@pnpm/logger': + specifier: ^4.0.0 + version: 4.0.0 '@pnpm/node.fetcher': specifier: workspace:* version: link:../node.fetcher