diff options
author | 2024-02-14 23:27:18 +0100 | |
---|---|---|
committer | 2024-02-14 17:27:18 -0500 | |
commit | 51b6ff7403c1223b1c399e88373075972c82c24c (patch) | |
tree | fa61d48d30b2460742eeef45884cdbf05ad2cef6 /packages/create-astro/src | |
parent | ef080d5b93b11a67ceb7621db105749f3a926b66 (diff) | |
download | astro-51b6ff7403c1223b1c399e88373075972c82c24c.tar.gz astro-51b6ff7403c1223b1c399e88373075972c82c24c.tar.zst astro-51b6ff7403c1223b1c399e88373075972c82c24c.zip |
Fix invalid URLs being returned from `getRegistry`, synchronize all copies (#10117)
Diffstat (limited to 'packages/create-astro/src')
-rw-r--r-- | packages/create-astro/src/messages.ts | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/packages/create-astro/src/messages.ts b/packages/create-astro/src/messages.ts index eea20d516..8f6a2cf2e 100644 --- a/packages/create-astro/src/messages.ts +++ b/packages/create-astro/src/messages.ts @@ -12,11 +12,14 @@ import { shell } from './shell.js'; let _registry: string; async function getRegistry(packageManager: string): Promise<string> { if (_registry) return _registry; + const fallback = 'https://registry.npmjs.org'; try { const { stdout } = await shell(packageManager, ['config', 'get', 'registry']); - _registry = stdout?.trim()?.replace(/\/$/, '') || 'https://registry.npmjs.org'; + _registry = stdout?.trim()?.replace(/\/$/, '') || fallback; + // Detect cases where the shell command returned a non-URL (e.g. a warning) + if (!new URL(_registry).host) _registry = fallback; } catch (e) { - _registry = 'https://registry.npmjs.org'; + _registry = fallback; } return _registry; } |