diff options
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; } |