diff --git a/website/src/routes/packages/[scope]/[name]/[[version]]/[[target]]/dependencies/+page.svelte b/website/src/routes/packages/[scope]/[name]/[[version]]/[[target]]/dependencies/+page.svelte index b1f351f..3b49a7f 100644 --- a/website/src/routes/packages/[scope]/[name]/[[version]]/[[target]]/dependencies/+page.svelte +++ b/website/src/routes/packages/[scope]/[name]/[[version]]/[[target]]/dependencies/+page.svelte @@ -4,8 +4,25 @@ const { data } = $props() + // Vercel only supports up to Node 20.x, which doesn't support Object.groupBy + function groupBy( + arr: T[], + predicate: (value: T) => K, + ): Partial> { + const groups: Partial> = {} + for (const item of arr) { + const key = predicate(item) + if (key in groups) { + groups[key]!.push(item) + } else { + groups[key] = [item] + } + } + return groups + } + let groupedDeps = $derived( - Object.groupBy( + groupBy( Object.entries(data.pkg.dependencies).map(([alias, dependency]) => ({ alias, dependency })), (entry) => entry.dependency[1], ),