Skip to content

Commit 61b7a44

Browse files
authored
feat: support /package@version url pattern (#107)
1 parent b607f69 commit 61b7a44

1 file changed

Lines changed: 14 additions & 1 deletion

File tree

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

Lines changed: 14 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,8 @@ const route = useRoute('package')
1717
// /nuxt/v/4.2.0 → packageName: "nuxt", requestedVersion: "4.2.0"
1818
// /@nuxt/kit → packageName: "@nuxt/kit", requestedVersion: null
1919
// /@nuxt/kit/v/1.0.0 → packageName: "@nuxt/kit", requestedVersion: "1.0.0"
20+
// /axios@1.13.3 → packageName: "axios", requestedVersion: "1.13.3"
21+
// /@nuxt/kit@1.0.0 → packageName: "@nuxt/kit", requestedVersion: "1.0.0"
2022
const parsedRoute = computed(() => {
2123
const segments = route.params.package || []
2224
@@ -29,8 +31,19 @@ const parsedRoute = computed(() => {
2931
}
3032
}
3133
34+
// Parse @ versioned package
35+
const fullPath = segments.join('/')
36+
const versionMatch = fullPath.match(/^(@[^/]+\/[^/]+|[^/]+)@([^/]+)$/)
37+
if (versionMatch) {
38+
const [, packageName, requestedVersion] = versionMatch as [string, string, string]
39+
return {
40+
packageName,
41+
requestedVersion,
42+
}
43+
}
44+
3245
return {
33-
packageName: segments.join('/'),
46+
packageName: fullPath,
3447
requestedVersion: null as string | null,
3548
}
3649
})

0 commit comments

Comments
 (0)