11<script setup lang="ts">
2- import { joinURL } from ' ufo'
3- import type { PackumentVersion , NpmVersionDist , ReadmeResponse } from ' #shared/types'
2+ import type { NpmVersionDist , PackumentVersion , ReadmeResponse } from ' #shared/types'
43import type { JsrPackageInfo } from ' #shared/types/jsr'
54import { assertValidPackageName } from ' #shared/utils/npm'
5+ import { onKeyStroke } from ' @vueuse/core'
6+ import { joinURL } from ' ufo'
67
78definePageMeta ({
89 name: ' package' ,
@@ -11,6 +12,8 @@ definePageMeta({
1112
1213const route = useRoute (' package' )
1314
15+ const router = useRouter ()
16+
1417// Parse package name and optional version from URL
1518// Patterns:
1619// /nuxt → packageName: "nuxt", requestedVersion: null
@@ -283,6 +286,12 @@ useSeoMeta({
283286 description : () => pkg .value ?.description ?? ' ' ,
284287})
285288
289+ onKeyStroke (' .' , () => {
290+ if (pkg .value && displayVersion .value ) {
291+ router .push (` /code/${pkg .value .name }/v/${displayVersion .value .version } ` )
292+ }
293+ })
294+
286295defineOgImageComponent (' Package' , {
287296 name : () => pkg .value ?.name ?? ' Package' ,
288297 version : () => displayVersion .value ?.version ?? ' ' ,
@@ -592,6 +601,10 @@ defineOgImageComponent('Package', {
592601 >
593602 <span class =" i-carbon-code w-4 h-4" aria-hidden =" true" />
594603 code
604+ <kbd
605+ class =" hidden sm:inline-flex items-center justify-center w-4 h-4 text-xs bg-bg-muted border border-border rounded"
606+ >.</kbd
607+ >
595608 </NuxtLink >
596609 </li >
597610 </ul >
0 commit comments