(packageJson: PackageJSON)
| 194 | } |
| 195 | |
| 196 | export async function infoAllow404(packageJson: PackageJSON) { |
| 197 | let pkgInfo = await getPackageInfo(packageJson); |
| 198 | if (pkgInfo.error?.code === "E404") { |
| 199 | warn(`Received 404 for npm info ${pc.cyan(`"${packageJson.name}"`)}`); |
| 200 | return { published: false, pkgInfo: {} }; |
| 201 | } |
| 202 | if (pkgInfo.error) { |
| 203 | error( |
| 204 | `Received an unknown error code: ${ |
| 205 | pkgInfo.error.code |
| 206 | } for npm info ${pc.cyan(`"${packageJson.name}"`)}` |
| 207 | ); |
| 208 | error(pkgInfo.error.summary); |
| 209 | if (pkgInfo.error.detail) error(pkgInfo.error.detail); |
| 210 | |
| 211 | throw new ExitError(1); |
| 212 | } |
| 213 | return { published: true, pkgInfo }; |
| 214 | } |
| 215 | |
| 216 | // we check `npm info` before publishing but `npm info` can return stale data at times |
| 217 | // so we need to gracefully handle this situation |
no test coverage detected