@@ -3,24 +3,17 @@ import { useProviderIcon } from '~/composables/useProviderIcon'
33
44definePageMeta ({
55 name: ' changes' ,
6- // path: '/package-changes/:path+',
7- // alias: ['/package/changes/:path+', '/changes/:path+'],
6+ alias: [' /changes/:org?/:name' ],
87 scrollMargin: 190 ,
98})
10-
119// / routing
1210
1311const route = useRoute (' changes' )
14- // Parse package name, version, and file path from URL
12+ // Parse package name & version
1513// Patterns:
16- // /changes/nuxt/v/4.2.0 → packageName: "nuxt", version: "4.2.0", filePath: null (show tree)
17- // /changes/nuxt/v/4.2.0/src/index.ts → packageName: "nuxt", version: "4.2.0", filePath: "src/index.ts"
18- // /changes/@nuxt/kit/v/1.0.0 → packageName: "@nuxt/kit", version: "1.0.0", filePath: null
19-
20- // const packageName = computed(() => {
21- // const { org, name } = route.params
22- // return org ? `${org}/${name}` : name
23- // })
14+ // /changes/nuxt/v/4.2.0 → packageName: "nuxt", version: "4.2.0"
15+ // /changes/nuxt/v/4.2.0/src/index.ts → packageName: "nuxt", version: "4.2.0"
16+ // /changes/@nuxt/kit/v/1.0.0 → packageName: "@nuxt/kit", version: "1.0.0"
2417const parsedRoute = computed (() => {
2518 const { org, name } = route .params
2619
@@ -32,9 +25,16 @@ const parsedRoute = computed(() => {
3225})
3326
3427const packageName = computed (() => parsedRoute .value .packageName )
35- const version = computed (() => parsedRoute .value .version )
28+ const requestedVersion = computed (() => parsedRoute .value .version )
29+
30+ if (import .meta .server ) {
31+ assertValidPackageName (packageName .value )
32+ }
33+
34+ // status: resolvedStatus
35+ const { data : version } = await useResolvedVersion (packageName , requestedVersion )
3636
37- const { data : pkg } = usePackage (packageName , version )
37+ const { data : pkg } = usePackage (packageName , () => version . value ?? requestedVersion . value ?? null )
3838
3939const versionUrlPattern = computed (() => {
4040 return ` /package-changes/${packageName .value }/v/{version} `
0 commit comments