{
  "vue-router": {
    "metas": {
      "slug": "vue-router",
      "name": "vue-router",
      "imgPath": null,
      "url": "https://router.vuejs.org/"
    },
    "detectors": {
      "js": [
        "window.$nuxt?.$router && window.$nuxt?.$route",
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$router && el.__vue__?.$route)).filter(Boolean).length",
        "[...document.querySelectorAll('*')].map((el) => el.__vue_app__?.config?.globalProperties?.$router).filter(Boolean).length"
      ]
    }
  },
  "vuex": {
    "metas": {
      "slug": "vuex",
      "name": "vuex",
      "imgPath": null,
      "url": "https://vuex.vuejs.org"
    },
    "detectors": {
      "js": [
        "window.$nuxt?.$store?.dipatch && window.$nuxt?.$store?.commit",
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$store?.dispatch && el.__vue__?.$store?.commit)).filter(Boolean).length"
      ]
    }
  },
  "vue-meta": {
    "metas": {
      "slug": "vue-meta",
      "name": "vue-meta",
      "imgPath": null,
      "url": "https://vue-meta.nuxtjs.org"
    },
    "detectors": {
      "js": [
        "window.$nuxt?.$meta && window.$nuxt.$meta() && window.$nuxt.$meta().getOptions",
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$meta && el.__vue__.$meta() && el.__vue__.$meta().getOptions)).filter(Boolean).length"
      ]
    }
  },
  "vue-apollo": {
    "metas": {
      "slug": "vue-apollo",
      "name": "vue-apollo",
      "imgPath": null,
      "url": "https://apollo.vuejs.org"
    },
    "detectors": {
      "js": "window.$nuxt?.$apollo || [...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$apollo)).filter(Boolean).length"
    }
  },
  "vue-warehouse": {
    "metas": {
      "slug": "vue-warehouse",
      "name": "vue-warehouse",
      "imgPath": null,
      "url": "https://marquez.co/docs/vue-warehouse"
    },
    "detectors": {
      "js": "window.$nuxt?.$warehouse || [...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$warehouse)).filter(Boolean).length"
    }
  },
  "vue-i18n": {
    "metas": {
      "slug": "vue-i18n",
      "name": "vue-i18n",
      "imgPath": null,
      "url": "https://kazupon.github.io/vue-i18n/"
    },
    "detectors": {
      "js": [
        "[...document.querySelectorAll('*')].map((el) => Boolean(el.__vue__?.$i18n)).filter(Boolean).length",
        "window.__VUE_I18N_LEGACY_API__ || window.__VUE_I18N_FULL_INSTALL__"
      ]
    }
  },
  "@braid/vue-formulate": {
    "metas": {
      "slug": "vue-formulate",
      "name": "@braid/vue-formulate",
      "imgPath": "/plugins/vue-formulate.svg",
      "url": "https://vueformulate.com/"
    },
    "detectors": {
      "js": "Boolean([...document.querySelectorAll('*')].find((el) => Boolean(el.__vue__?.$formulate)))"
    }
  },
  "@inertiajs/inertia-vue": {
    "metas": {
      "slug": "inertia-vue",
      "name": "@inertiajs/inertia-vue",
      "imgPath": "/plugins/inertiajs.svg",
      "url": "https://inertiajs.com/"
    },
    "detectors": {
      "js": "Boolean([...document.querySelectorAll('*')].find((el) => Boolean(el.__vue__?.$inertia)))"
    }
  },
  "vee-validate": {
    "metas": {
      "slug": "vee-validate",
      "name": "vee-validate",
      "imgPath": "/plugins/vee-validate.svg",
      "url": "https://vee-validate.logaretm.com/"
    },
    "detectors": {
      "js": "Boolean([...document.querySelectorAll('*')].find((el) => Boolean(el.__vue__ && ('$_veeObserver' in el.__vue__ || (el.__vue__.$validator && 'attach' in el.__vue__.$validator)))))"
    }
  }
}
