forked from
npmx.dev/npmx.dev
[READ-ONLY]
a fast, modern browser for the npm registry
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}