Skip to content

Commit 48a6f88

Browse files
authored
Merge branch 'main' into feat/scroll-to-top
2 parents 6cd33f1 + 2692155 commit 48a6f88

File tree

7 files changed

+285
-288
lines changed

7 files changed

+285
-288
lines changed

app/components/Package/TrendsChart.vue

Lines changed: 6 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1410,7 +1410,7 @@ const chartConfig = computed<VueUiXyConfig>(() => {
14101410
chart: {
14111411
height: isMobile.value ? 950 : 600,
14121412
backgroundColor: colors.value.bg,
1413-
padding: { bottom: displayedGranularity.value === 'yearly' ? 84 : 64, right: 100 }, // padding right is set to leave space of last datapoint label(s)
1413+
padding: { bottom: displayedGranularity.value === 'yearly' ? 84 : 64, right: 128 }, // padding right is set to leave space of last datapoint label(s)
14141414
userOptions: {
14151415
buttons: {
14161416
pdf: false,
@@ -1682,7 +1682,11 @@ watch(selectedMetric, value => {
16821682
</h2>
16831683

16841684
<!-- Chart panel (active metric) -->
1685-
<div role="region" aria-labelledby="trends-chart-title" class="min-h-[260px]">
1685+
<div
1686+
role="region"
1687+
aria-labelledby="trends-chart-title"
1688+
:class="isMobile === false && width > 0 ? 'min-h-[567px]' : 'min-h-[260px]'"
1689+
>
16861690
<ClientOnly v-if="chartData.dataset">
16871691
<div :data-pending="pending" :data-minimap-visible="maxDatapoints > 6">
16881692
<VueUiXy

app/components/Package/WeeklyDownloadStats.vue

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -264,7 +264,7 @@ const config = computed<VueUiSparklineConfig>(() => {
264264
</script>
265265

266266
<template>
267-
<div class="space-y-8">
267+
<div class="space-y-8 h-[110px] motion-safe:h-[140px]">
268268
<CollapsibleSection id="downloads" :title="$t('package.downloads.title')">
269269
<template #actions>
270270
<ButtonBase
@@ -307,6 +307,10 @@ const config = computed<VueUiSparklineConfig>(() => {
307307
<SkeletonInline class="h-px w-full" />
308308
</div>
309309
</div>
310+
<!-- Animation toggle placeholder -->
311+
<div class="w-full hidden motion-safe:flex flex-1 items-end justify-end">
312+
<SkeletonInline class="h-[20px] w-30" />
313+
</div>
310314
</div>
311315
</template>
312316
</ClientOnly>
@@ -351,10 +355,7 @@ const config = computed<VueUiSparklineConfig>(() => {
351355

352356
<!-- This placeholder bears the same dimensions as the PackageTrendsChart component -->
353357
<!-- Avoids CLS when the dialog has transitioned -->
354-
<div
355-
v-if="!hasChartModalTransitioned"
356-
class="w-full aspect-[390/634.5] sm:aspect-[718/622.797]"
357-
/>
358+
<div v-if="!hasChartModalTransitioned" class="w-full aspect-[390/634.5] sm:aspect-[718/647]" />
358359
</PackageChartModal>
359360
</template>
360361

app/composables/npm/useResolvedVersion.ts

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -4,15 +4,17 @@ export function useResolvedVersion(
44
packageName: MaybeRefOrGetter<string>,
55
requestedVersion: MaybeRefOrGetter<string | null>,
66
) {
7-
return useFetch(
8-
() => {
7+
return useAsyncData(
8+
() => `resolved-version:${toValue(packageName)}:${toValue(requestedVersion) ?? 'latest'}`,
9+
async () => {
910
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,
11+
const name = toValue(packageName)
12+
const url = version
13+
? `https://npm.antfu.dev/${name}@${version}`
14+
: `https://npm.antfu.dev/${name}`
15+
const data = await $fetch<ResolvedPackageVersion>(url)
16+
return data.version
1617
},
18+
{ default: () => null },
1719
)
1820
}

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

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

nuxt.config.ts

Lines changed: 1 addition & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -135,13 +135,10 @@ export default defineNuxtConfig({
135135
},
136136
},
137137
// pages
138-
'/package/:name': getISRConfig(60, { fallback: 'html' }),
138+
'/package/**': getISRConfig(60, { fallback: 'html' }),
139139
'/package/:name/_payload.json': getISRConfig(60, { fallback: 'json' }),
140-
'/package/:name/v/:version': getISRConfig(60, { fallback: 'html' }),
141140
'/package/:name/v/:version/_payload.json': getISRConfig(60, { fallback: 'json' }),
142-
'/package/:org/:name': getISRConfig(60, { fallback: 'html' }),
143141
'/package/:org/:name/_payload.json': getISRConfig(60, { fallback: 'json' }),
144-
'/package/:org/:name/v/:version': getISRConfig(60, { fallback: 'html' }),
145142
'/package/:org/:name/v/:version/_payload.json': getISRConfig(60, { fallback: 'json' }),
146143
// infinite cache (versioned - doesn't change)
147144
'/package-code/**': { isr: true, cache: { maxAge: 365 * 24 * 60 * 60 } },

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -109,7 +109,7 @@
109109
"virtua": "0.48.6",
110110
"vite-plugin-pwa": "1.2.0",
111111
"vite-plus": "0.0.0-833c515fa25cef20905a7f9affb156dfa6f151ab",
112-
"vue": "3.5.28",
112+
"vue": "3.5.29",
113113
"vue-data-ui": "3.15.6"
114114
},
115115
"devDependencies": {

0 commit comments

Comments
 (0)