(stderr: string)
| 100 | } |
| 101 | |
| 102 | function detectAuthFailure(stderr: string): boolean { |
| 103 | const authPatterns = [ |
| 104 | 'ENEEDAUTH', |
| 105 | 'You must be logged in', |
| 106 | 'authentication error', |
| 107 | 'Unable to authenticate', |
| 108 | 'code E401', |
| 109 | 'code E403', |
| 110 | '401 Unauthorized', |
| 111 | '403 Forbidden', |
| 112 | 'not logged in', |
| 113 | 'npm login', |
| 114 | 'npm adduser', |
| 115 | ] |
| 116 | const lowerStderr = stderr.toLowerCase() |
| 117 | logDebug('Checking for auth failure in stderr:', stderr) |
| 118 | logDebug('Auth patterns:', authPatterns) |
| 119 | const result = authPatterns.some(pattern => lowerStderr.includes(pattern.toLowerCase())) |
| 120 | logDebug('Auth failure:', result) |
| 121 | return result |
| 122 | } |
| 123 | |
| 124 | function filterNpmWarnings(stderr: string): string { |
| 125 | return stderr |
no outgoing calls
no test coverage detected