UNPKG

@alavida/agentpack

Version:

Compiler-driven lifecycle CLI for source-backed agent skills

53 lines (47 loc) 1.11 kB
function getScopedRegistry(config, scope) { return config?.[`${scope}:registry`] || null; } function getRegistryHostKey(registry) { if (!registry) return null; try { const url = new URL(registry); return `//${url.host}/:_authToken`; } catch { return null; } } function getAuthToken(config, registry) { const hostKey = getRegistryHostKey(registry); return hostKey ? (config?.[hostKey] || null) : null; } export function resolveRegistryConfig({ scope, defaults = {}, userNpmrc = {}, repoNpmrc = {}, } = {}) { const repoRegistry = getScopedRegistry(repoNpmrc, scope); if (repoRegistry) { return { scope, registry: repoRegistry, authToken: getAuthToken(repoNpmrc, repoRegistry), source: 'repo', }; } const userRegistry = getScopedRegistry(userNpmrc, scope); if (userRegistry) { return { scope, registry: userRegistry, authToken: getAuthToken(userNpmrc, userRegistry), source: 'user', }; } return { scope, registry: defaults.registry || null, authToken: null, source: 'default', }; }