diff --git a/src/commands/fix/npm-fix.mts b/src/commands/fix/npm-fix.mts index b6ed16246..db4bd0ef3 100644 --- a/src/commands/fix/npm-fix.mts +++ b/src/commands/fix/npm-fix.mts @@ -64,7 +64,6 @@ import type { NodeClass, } from '../../shadow/npm/arborist/types.mts' import type { CResult } from '../../types.mts' -import type { PURL_Type } from '../../utils/alert/artifact.mts' import type { EnvDetails } from '../../utils/package-environment.mts' import type { RangeStyle } from '../../utils/semver.mts' import type { PackageJson } from '@socketsecurity/registry/lib/packages' @@ -252,7 +251,7 @@ export async function npmFix( logger.indent() spinner?.indent() - if (getManifestData(partialPurlObj.type as PURL_Type, name)) { + if (getManifestData(partialPurlObj.type, name)) { debugFn(`found: Socket Optimize variant for ${name}`) } // eslint-disable-next-line no-await-in-loop diff --git a/src/commands/fix/pnpm-fix.mts b/src/commands/fix/pnpm-fix.mts index 26d257ac3..e2dbb3061 100644 --- a/src/commands/fix/pnpm-fix.mts +++ b/src/commands/fix/pnpm-fix.mts @@ -70,7 +70,6 @@ import { idToPurl } from '../../utils/spec.mts' import type { SocketBranchParseResult } from './git.mts' import type { NodeClass } from '../../shadow/npm/arborist/types.mts' import type { CResult, StringKeyValueObject } from '../../types.mts' -import type { PURL_Type } from '../../utils/alert/artifact.mts' import type { EnvDetails } from '../../utils/package-environment.mts' import type { RangeStyle } from '../../utils/semver.mts' import type { PackageJson } from '@socketsecurity/registry/lib/packages' @@ -327,7 +326,7 @@ export async function pnpmFix( logger.indent() spinner?.indent() - if (getManifestData(partialPurlObj.type as PURL_Type, name)) { + if (getManifestData(partialPurlObj.type, name)) { debugFn(`found: Socket Optimize variant for ${name}`) } // eslint-disable-next-line no-await-in-loop diff --git a/src/utils/purl.mts b/src/utils/purl.mts index 9f55753d9..47501c1e8 100644 --- a/src/utils/purl.mts +++ b/src/utils/purl.mts @@ -1,7 +1,21 @@ import { PackageURL } from '@socketregistry/packageurl-js' -import type { SocketArtifact } from './alert/artifact.mts' +import type { PURL_Type, SocketArtifact } from './alert/artifact.mts' -export function getPurlObject(purl: string | PackageURL | SocketArtifact) { - return typeof purl === 'string' ? PackageURL.fromString(purl) : purl +export function getPurlObject(purl: string): PackageURL & { type: PURL_Type } +export function getPurlObject( + purl: PackageURL, +): PackageURL & { type: PURL_Type } +export function getPurlObject( + purl: SocketArtifact, +): SocketArtifact & { type: PURL_Type } +export function getPurlObject( + purl: string | PackageURL | SocketArtifact, +): (PackageURL | SocketArtifact) & { type: PURL_Type } +export function getPurlObject( + purl: string | PackageURL | SocketArtifact, +): (PackageURL | SocketArtifact) & { type: PURL_Type } { + return typeof purl === 'string' + ? (PackageURL.fromString(purl) as PackageURL & { type: PURL_Type }) + : (purl as (PackageURL | SocketArtifact) & { type: PURL_Type }) } diff --git a/src/utils/socket-package-alert.mts b/src/utils/socket-package-alert.mts index 51b15fa18..220a6885b 100644 --- a/src/utils/socket-package-alert.mts +++ b/src/utils/socket-package-alert.mts @@ -555,11 +555,7 @@ export function logAlertsMap( const pkgName = resolvePackageName(purlObj) const hyperlink = format.hyperlink( pkgName, - getSocketDevPackageOverviewUrl( - purlObj.type as PURL_Type, - pkgName, - purlObj.version, - ), + getSocketDevPackageOverviewUrl(purlObj.type, pkgName, purlObj.version), ) const isAboveTheFold = aboveTheFoldPurls.has(purl) if (isAboveTheFold) { diff --git a/src/utils/socket-url.mts b/src/utils/socket-url.mts index e85092c21..96057a920 100644 --- a/src/utils/socket-url.mts +++ b/src/utils/socket-url.mts @@ -25,11 +25,7 @@ export function getSocketDevPackageOverviewUrlFromPurl( ): string { const purlObj = getPurlObject(purl) const fullName = getPkgFullNameFromPurl(purlObj) - return getSocketDevPackageOverviewUrl( - purlObj.type as PURL_Type, - fullName, - purlObj.version, - ) + return getSocketDevPackageOverviewUrl(purlObj.type, fullName, purlObj.version) } export function getSocketDevPackageOverviewUrl(