-
Notifications
You must be signed in to change notification settings - Fork 44
/
frameworks.json
105 lines (105 loc) · 2.67 KB
/
frameworks.json
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
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
{
"nuxt": {
"metas": {
"slug": "nuxtjs",
"name": "Nuxt",
"imgPath": "/framework/nuxt.svg",
"url": "https://nuxt.com"
},
"detectors": {
"html": [
"<div [^>]*id=\"__nuxt\"",
"<script [^>]*>window\\.__NUXT__"
],
"js": "window.__NUXT__ || window.$nuxt || Boolean([...document.querySelectorAll('*')].find((el) => Boolean(el.__vue_app__?.$nuxt)))",
"script": [
"/_nuxt/"
],
"headers": {
"x-powered-by": "nuxt"
}
}
},
"vuepress": {
"metas": {
"slug": "vuepress",
"name": "VuePress",
"imgPath": "/framework/vuepress.svg",
"url": "https://vuepress.vuejs.org"
},
"detectors": {
"js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$vuepress || el.__vue_app__?._component?.name === 'VuepressApp')).filter(Boolean).length"
}
},
"vitepress": {
"metas": {
"slug": "vitepress",
"name": "VitePress",
"imgPath": "/framework/vitepress.svg",
"url": "https://vitepress.vuejs.org"
},
"detectors": {
"js": "[...document.querySelectorAll('*')].map((el) => el.__vue_app__?._component.name === 'VitePressApp').filter(Boolean).length"
}
},
"gridsome": {
"metas": {
"slug": "gridsome",
"name": "Gridsome",
"imgPath": "/framework/gridsome.svg",
"url": "https://gridsome.org"
},
"detectors": {
"html": "<meta [^>]*name=\"gridsome:hash\""
}
},
"iles": {
"metas": {
"slug": "iles",
"name": "îles",
"imgPath": "/framework/iles.svg",
"url": "https://iles-docs.netlify.app"
},
"detectors": {
"html": "<meta property=\"generator\" content=\"îles\""
}
},
"quasar": {
"metas": {
"slug": "quasar",
"name": "Quasar",
"imgPath": "/framework/quasar.svg",
"url": "https://quasar.dev"
},
"detectors": {
"html": "<div [^>]*id=\"q-app\"",
"js": "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$q)).filter(Boolean).length"
}
},
"vuestorefront": {
"metas": {
"slug": "vuestorefront",
"name": "Vue Storefront",
"imgPath": "/framework/vue-storefront.svg",
"url": "https://www.vuestorefront.io/"
},
"detectors": {
"script": [
"vsf-layout(?:-\\w*)?\\.?(?:[0-9a-fA-F]{7,40}|[\\d]+(?:.[\\d]+(?:.[\\d]+)?)?)(?:\\.min)?\\.js"
]
}
},
"TresJs": {
"metas": {
"slug": "tres-js",
"name": "Tresjs",
"imgPath": "/framework/tres.svg",
"url": "https://tresjs.org/"
},
"detectors": {
"html": [
"<canvas [^>]*data-tres=\"tresjs.[0-9].[0-9].[0-9]"
]
}
}
}