{
  "nuxt": {
    "metas": {
      "slug": "nuxtjs",
      "name": "NuxtJS",
      "imgPath": "/framework/nuxt.svg",
      "url": "https://nuxtjs.org"
    },
    "detectors": {
      "html": [
        "<div [^>]*id=\"__nuxt\"",
        "<script [^>]*>window\\.__NUXT__"
      ],
      "js": "window.__NUXT__ || window.$nuxt || Boolean([...document.querySelectorAll('*')].find((el) => Boolean(el.__vue__?.nuxt)))",
      "script": [
        "/_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)).filter(Boolean).length"
    }
  },
  "gridsome": {
    "metas": {
      "slug": "gridsome",
      "name": "Gridsome",
      "imgPath": "/framework/gridsome.svg",
      "url": "https://gridsome.org"
    },
    "detectors": {
      "html": "<meta [^>]*name=\"gridsome:hash\""
    }
  },
  "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"
    }
  }
}
