@@ -104,9 +104,30 @@ const { data: skillsData } = useLazyFetch<SkillsListResponse>(
104104const { data : packageAnalysis } = usePackageAnalysis (packageName , requestedVersion )
105105const { data : moduleReplacement } = useModuleReplacement (packageName )
106106
107- const { data : resolvedVersion } = await useResolvedVersion (packageName , requestedVersion )
107+ const {
108+ data : resolvedVersion,
109+ status : versionStatus,
110+ error : versionError,
111+ } = await useResolvedVersion (packageName , requestedVersion )
112+
113+ if (
114+ versionStatus .value === ' error' &&
115+ versionError .value ?.statusCode &&
116+ versionError .value .statusCode >= 400 &&
117+ versionError .value .statusCode < 500
118+ ) {
119+ throw createError ({
120+ statusCode: 404 ,
121+ statusMessage: $t (' package.not_found' ),
122+ message: $t (' package.not_found_message' ),
123+ })
124+ }
108125
109- const { data : pkg, status } = usePackage (packageName , resolvedVersion .value ?? requestedVersion )
126+ const {
127+ data : pkg,
128+ status,
129+ error,
130+ } = usePackage (packageName , resolvedVersion .value ?? requestedVersion )
110131const displayVersion = computed (() => pkg .value ?.requestedVersion ?? null )
111132
112133// Process package description
@@ -1101,9 +1122,12 @@ defineOgImageComponent('Package', {
11011122 role =" alert"
11021123 class =" flex flex-col items-center py-20 text-center"
11031124 >
1104- <h1 class =" font-mono text-2xl font-medium mb-8 " >
1125+ <h1 class =" font-mono text-2xl font-medium mb-4 " >
11051126 {{ $t('package.not_found') }}
11061127 </h1 >
1128+ <p class =" text-fg-muted mb-8" >
1129+ {{ error?.message ?? $t('package.not_found_message') }}
1130+ </p >
11071131 <NuxtLink to =" /" class =" btn" >{{ $t('common.go_back_home') }}</NuxtLink >
11081132 </div >
11091133 </main >
0 commit comments