[READ-ONLY] a fast, modern browser for the npm registry
at main 74 lines 1.6 kB view raw
1export type ShowcasedFramework = { 2 name: string 3 package: string 4 color: string 5} 6 7export const SHOWCASED_FRAMEWORKS = [ 8 { 9 name: 'nuxt', 10 package: 'nuxt', 11 color: 'oklch(0.7862 0.192 155.63)', 12 }, 13 { name: 'vue', package: 'vue', color: 'oklch(0.7025 0.132 160.37)' }, 14 { 15 name: 'nitro', 16 package: 'nitro', 17 color: 'oklch(70.4% 0.191 22.216)', 18 }, 19 { 20 name: 'react', 21 package: 'react', 22 color: 'oklch(0.832 0.1167 218.69)', 23 }, 24 { 25 name: 'svelte', 26 package: 'svelte', 27 color: 'oklch(0.6917 0.1865 35.04)', 28 }, 29 { 30 name: 'vite', 31 package: 'vite', 32 color: 'oklch(0.7484 0.1439 294.03)', 33 }, 34 { 35 name: 'next', 36 package: 'next', 37 color: 'oklch(71.7% .1648 250.794)', 38 }, 39 { 40 name: 'astro', 41 package: 'astro', 42 color: 'oklch(0.5295 0.2434 270.23)', 43 }, 44 { 45 name: 'typescript', 46 package: 'typescript', 47 color: 'oklch(0.5671 0.1399 253.3)', 48 }, 49 { 50 name: 'angular', 51 package: '@angular/core', 52 color: 'oklch(0.626 0.2663 310.4)', 53 }, 54 { 55 name: 'analog', 56 package: '@analogjs/platform', 57 color: 'oklch(0.5205 0.2035 21.88)', 58 }, 59 { 60 name: 'solid', 61 package: 'solid-js', 62 color: 'oklch(0.4237 0.0857 255.45)', 63 }, 64] 65 66export type FrameworkPackageName = (typeof SHOWCASED_FRAMEWORKS)[number]['package'] 67 68export function getFrameworkColor(framework: FrameworkPackageName): string { 69 return SHOWCASED_FRAMEWORKS.find(f => f.package === framework)!.color 70} 71 72export function isListedFramework(name: string): name is FrameworkPackageName { 73 return SHOWCASED_FRAMEWORKS.some(f => f.package === name) 74}