forked from npmx-dev/npmx.dev
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathframeworks.ts
More file actions
74 lines (70 loc) · 1.58 KB
/
frameworks.ts
File metadata and controls
74 lines (70 loc) · 1.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
export type ShowcasedFramework = {
name: string
package: string
color: string
}
export const SHOWCASED_FRAMEWORKS = [
{
name: 'nuxt',
package: 'nuxt',
color: 'oklch(0.7862 0.192 155.63)',
},
{ name: 'vue', package: 'vue', color: 'oklch(0.7025 0.132 160.37)' },
{
name: 'nitro',
package: 'nitro',
color: 'oklch(70.4% 0.191 22.216)',
},
{
name: 'react',
package: 'react',
color: 'oklch(0.832 0.1167 218.69)',
},
{
name: 'svelte',
package: 'svelte',
color: 'oklch(0.6917 0.1865 35.04)',
},
{
name: 'vite',
package: 'vite',
color: 'oklch(0.7484 0.1439 294.03)',
},
{
name: 'next',
package: 'next',
color: 'oklch(71.7% .1648 250.794)',
},
{
name: 'astro',
package: 'astro',
color: 'oklch(0.5295 0.2434 270.23)',
},
{
name: 'typescript',
package: 'typescript',
color: 'oklch(0.5671 0.1399 253.3)',
},
{
name: 'angular',
package: '@angular/core',
color: 'oklch(0.626 0.2663 310.4)',
},
{
name: 'analog',
package: '@analogjs/platform',
color: 'oklch(0.5205 0.2035 21.88)',
},
{
name: 'solid',
package: 'solid-js',
color: 'oklch(0.4237 0.0857 255.45)',
},
]
export type FrameworkPackageName = (typeof SHOWCASED_FRAMEWORKS)[number]['package']
export function getFrameworkColor(framework: FrameworkPackageName): string {
return SHOWCASED_FRAMEWORKS.find(f => f.package === framework)!.color
}
export function isListedFramework(name: string): name is FrameworkPackageName {
return SHOWCASED_FRAMEWORKS.some(f => f.package === name)
}