Skip to content

Commit 63f5f82

Browse files
committed
chore: improve version loading logic
1 parent 28c6ff0 commit 63f5f82

File tree

2 files changed

+15
-24
lines changed

2 files changed

+15
-24
lines changed
Lines changed: 12 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -1,18 +1,18 @@
11
import type { ResolvedPackageVersion } from 'fast-npm-meta'
22

3-
export function useResolvedVersion(
3+
export async function useResolvedVersion(
44
packageName: MaybeRefOrGetter<string>,
55
requestedVersion: MaybeRefOrGetter<string | null>,
66
) {
7-
return useFetch(
8-
() => {
9-
const version = toValue(requestedVersion)
10-
return version
11-
? `https://npm.antfu.dev/${toValue(packageName)}@${version}`
12-
: `https://npm.antfu.dev/${toValue(packageName)}`
13-
},
14-
{
15-
transform: (data: ResolvedPackageVersion) => data.version,
16-
},
17-
)
7+
const versionData = useState<string | null>('versionData')
8+
9+
await callOnce(async () => {
10+
const version = toValue(requestedVersion)
11+
const name = toValue(packageName)
12+
const url = version
13+
? `https://npm.antfu.dev/${name}@${version}`
14+
: `https://npm.antfu.dev/${name}`
15+
versionData.value = await $fetch<ResolvedPackageVersion>(url).then(data => data.version)
16+
})
17+
return versionData
1818
}

app/pages/package/[[org]]/[name].vue

Lines changed: 3 additions & 12 deletions
Original file line numberDiff line numberDiff line change
@@ -194,18 +194,9 @@ const { data: skillsData } = useLazyFetch<SkillsListResponse>(
194194
const { data: packageAnalysis } = usePackageAnalysis(packageName, requestedVersion)
195195
const { data: moduleReplacement } = useModuleReplacement(packageName)
196196
197-
const {
198-
data: resolvedVersion,
199-
status: versionStatus,
200-
error: versionError,
201-
} = await useResolvedVersion(packageName, requestedVersion)
202-
203-
if (
204-
versionStatus.value === 'error' &&
205-
versionError.value?.statusCode &&
206-
versionError.value.statusCode >= 400 &&
207-
versionError.value.statusCode < 500
208-
) {
197+
const resolvedVersion = await useResolvedVersion(packageName, requestedVersion)
198+
199+
if (resolvedVersion.value === null) {
209200
throw createError({
210201
statusCode: 404,
211202
statusMessage: $t('package.not_found'),

0 commit comments

Comments
 (0)